Рейтинг@Mail.ru
Menu
Скачать картинки на телефон бесплатно.
Заставки для телефона, аватарки.
(Вырезать из фотографии)

Роза `Гренд Могул` Яхта `Алиса` Лесное озеро Музей `Пирогово` Белочка
Выберите рубрику (тему)

Структурированный тип - множество

Программирование на Паскале
Программа 8

Используя тип множество, напечатать в порядке уменьшения все целые числа в диапазоне 1÷4900, которые можно представить в виде n2+2k2, но нельзя представить в виде 7ij+j+3 (n,k,i,j>0).


Текст программы


program Prg8;



{ http://nataliya.kiev.ua/?id=108 }



uses


  crt;

type


  t = set of byte;
  ar = array[0..20] of t;

var


  p, q, v: byte;
  i, j, k, u, s, f: integer;
  a: ar;

begin


  u := 4900;
  v := u div 255;
 
for i := 1 to v do

    a[i] := [];
 
for i := 1 to u do

   
begin

      j := i;
      k := i;
      p := 0;
      q := 0;
      while s <= u do
        begin
          s := sqr(i) + 2 * sqr(j);
          q := s div 255;
          p := s mod 255;
          Include(a[q], p);
          Inc(j);
        end;
      while f <= u do
        begin
          f := 7 * i * k + k + 3;
          q := f div 255;
          p := f mod 255;
          a[q] := a[q] - [p];
          Inc(k);
        end;
    end;
 
ClrScr;

 
for i := u downto 1 do

   
if i mod 255 in a[i div 255] then

      Write(i, ' ');
  ReadKey;
end.

Print

Печатать текст программы!



Source code: «Структурированный тип - множество».

Редактировать, копировать

(WYSIWYG редактор «NicEdit»)
Загрузить файл с текстом программы: «Структурированный тип - множество». Печатать текст программы!

Загрузить файл с текстом программы

(Prg8.pas - Windows-1251)

Результат работы программы


4609 4233 3873 3529 3201 2889 2593 2313 2049 1801 1569 1353 1153 969 801 649 513 393 289 201 129 73 33 9 3


Теория к программе


Структурированный тип - множество



 

Множество

- предоставляется конечными наборами элементов, которые помещаются в квадратных скобках и перечисленные через запятую. Элементы множества неупорядочены
  (неупорядоченный набор разных элементов одного из базовых типов)

    Пример:
      [5,3,9] ~ [3,5,9] ~ [9,3,5] и т.д.
      [] - пустое множество

 

Тип множества

- определяет все возможные значения, то есть мощность множества, для определенного перечислимого типа

   

TYPE <идентификатор типа> = SET OF <тип компонента>;



     
<тип компонента>
- базовый тип, обязательно перечислимый, не может иметь более как 256 возможных значений. Порядковые номера верхней и нижней границ не могут выходить за диапазон 0..255. Поэтому из стандартных целочисленных типов базовым может быть только тип BYTE.

 

Определение значения переменной типа множество

выполняется через оператор предоставления:

   

<переменная типа SET>:=<описание множества>;



    [] -
пустое множество

    [
<группа элементов через запятую>
]
    [
<выражения через запятую>
]

 

При определении переменной надо придерживаться правил

:

    1)
все элементы множества должны быть одного типа
,
    2)
тип пустого множества соединяется с любым другим типом множества
,
    3)
группа элементов X..Y определяет элементами множества все значения, которые принадлежат диапазону X..Y
. Если X>Y - пустое множество

 

Операции над множествами



    1) * -

срез множеств А∩В


    2) + -

объединение множеств А∪В


    3) - -

разность множеств А\В


    4)

Сравнение множеств

- результат - BOOLEAN:

      = -
полное совпадение

      <> -
полное несовпадение

      >= -
проверка на подмножество

      <= -
проверка на подмножество

      IN -
проверка на принадлежность элемента множеству


     
<выражение или отдельный элемент> IN <множество>


    Все выражения сравнения (типа 4), как и другие сравнения, могут использоваться в условных операторах и операторах цикла.


Дата: 2007-11-10   Автор: Admin
Случайный анекдот

Идет экзамен, преподаватель говорит студенту:
- Вопрос на "пять". Как меня зовут?
Студент краснеет, бледнеет, смотрит в потолок (а вдруг там чего написано?), лихорадочно вспоминает имя препода и, в конце концов, отвечает:
- Не знаю.
- Вопрос на "четыре". Какого цвета учебник?
Ситуация аналогичная предыдущей.
- Ладно, вопрос на "три". Что мы сдаем?
Студент поняв, всю безнадежность, понурив голову, выходит за дверь, а про себя думает: "Во валит, гад!"
Дата: 05-05-2005   Автор: Admin   Подрубрика: Сессия