- •Автономная некоммерческая организация высшего профессионального образования «Брянский институт управления и бизнеса»
- •Методические пособие по изучению алгометрического языка pascal
- •Оглавление
- •Введение
- •Глава 1 основные понятия .
- •Алфавит языка.
- •Основные определения языка.
- •Составные части программы.
- •Вопросы для самоконтроля
- •Глава 2 стандартные типы данных
- •Данные целого типа.
- •Вычисление об"ема шара
- •Данные действительного типа.
- •Данные логического типа.
- •Данные символьного типа.
- •`Теплоход``маяк``` или `д``артаньян`
- •Описание констант и переменных.
- •Var_имя переменной: тип;
- •Вопросы для самоконтроля
- •Глава 3 выражения.
- •3.1. Стандартные функции.
- •3.2. Арифметические выражения.
- •3.3. Логические выражения.
- •Вопросы для camokohtpoля
- •Глава 4 основы программирования простых задач.
- •4.1. Оператор присваивания.
- •4.2. Понятие о составном и пустом операторах. Назначение символа точки с запятой.
- •Простейший ввод данных.
- •5 Позиций
- •8 Позиций
- •Примеры программирования простых задач.
- •Вопросы для самоконтроля
- •5.1. Условный оператор.
- •Оператор выбора.
- •Оператор перехода.
- •Go to метка
- •Lавеl метка;
- •Label метка 1, метка 2,…, метка n;
- •5.4.Примеры программирования вычислительных процессов с разветвлениями.
- •Глава 6 организация циклических прцессов.
- •Оператор цикла с предварительным условием.
- •Оператор цикла с последующим условием.
- •Операторы циклической части программы
- •Оператор цикла с параметром.
- •Вложенные циклы.
- •Глава 7 основы ввода и вывода.
- •7.1. Оператор ввода.
- •7.2. Оператор вывода
- •Программирование циклических вычислительных процессов.
- •Вопросы для самоконтроля
- •Глава 8 Переменные типы.
- •Перечислимый тип данных.
- •Var а: (зима, весна, лето, осень);
- •Ограниченный тип данных.
- •Вопросы для самоконтроля
- •Глава 9 Сложный тип данных – массивы.
- •Понятие массива.
- •Var_имя массива: array [t1] of_t2;
- •Тип массива.
- •Упакованные массивы.
- •Понятие многомерных массивов.
- •Глава 10 Сложный тип данных – множества.
- •10.1. Множества в языке Паскаль.
- •Var _имя множества: set_of_ базовый тип;
- •Примеры программирования задач с использованием множества
- •Вопросы для самоконтроля
- •Глава 11 Сложный тип данных – записи.
- •Понятие записи.
- •Оператор присоединения.
- •Вопросы для самоконтроля
- •Глава 12 Подпрограммы.
- •Общие сведения.
- •Процедуры и функции.
- •Вопросы для самоконтроля
- •Глава 13 Файлы
- •13.1. Понятие файла.
- •13.2. Чтение файла.
- •13.3. Запись файла.
- •13.4 Чтение и запись файла
- •Вопросы для самоконтроля
Var _имя множества: set_of_ базовый тип;
Например,
VAR
ГОД: SET OF 2000...2009;
С: SET OF CHAR;
Объявление множества с использованием раздела типов имеет вид:
TYPE имя типа = SET_OF_базовый тип;
VAR_имя множества: имя типа;
Примером такого описания может служить множество РАДИОСХЕМА, элементами которого являются данные типа РАДИОДЕТАЛЬ;
TYPE РАДИОДЕТАЛЬ =(РЕЗИСТОР, КОНДЕНСАТОР ИНДУКТИВНОСТЬ, РАНЗИСТОР, ТРАНСФОРМАТОР, ТУМБЛЕР, ДИОД);
РАДИОСХЕМА = SET OF РАДИОДЕТАЛЬ;
Теперь можно представить себе переменные этого типа, например
VAR
РАДИОКОНТУР, ДЕТЕКТОР, УСИЛИТЕЛЬ : РАДИОСХЕМА;
Значения переменных и констант множества задаются в разделе операторов с помощью конструктора. Конструктор представляет собой список элементов базового типа, заключенный в квадратные скобки. Например:
ФИГУРА: = [РОМБ];
или
ФИГУРА : = [КРУГ, РОМБ, КВАДРАТ];
М1: = ['А'/В', 'С'];
М2: = [1, 3, 2, 5];
МЗ: = [ ]; (*ПУСТОЕ МНОЖЕСТВО*)
В языке ПАСКАЛЬ имеются следующие операции над множествами:
+ объединение множеств;
* пересечение множеств;
- вычитание множеств;
= , < > проверка множеств на равенство, неравенство. Множество А равно множеству В, если каждый элемент А является элементом множества В и, наоборот, каждый элемент множества В является элементом множества А. В противном случае множества А и В не равны друг другу;
<=, > = проверка множеств на включение. Множество А включено в множество В (А < = В или В > = А), если все элементы множества А являются также элементами множества В. Результат операции А<=В (В> = А) в этом случае будет истинным (TRUE);
IN - проверка на принадлежность элемента множеству. Эта операция (C_IN_А) служит для проверки, принадлежит ли элемент базового типа С множеству А.
Примеры программирования задач с использованием множества
Пример 10. Из мнржества целых чисел 1…20 выделить:
множество чисел, делящихся на 6 без остатка;
множество чисел, делящихся без остатка или на 2 или на 3.
Введем обозначение для приведенной ниже программы 10.: N- размерность множества; N2 - множество чисел, делящихся на 2; N3 - множество чисел, делящихся на 3; N6 - множество чисел, делящихся на 6; N23 - множество чисел, делящихся или на 2 или на 3; K-параметр цикла.
(*Множество кратных чисел*)
PROGRAM A23 ;
CONST N=20; (* РАЗМЕРНОСТЬ МНОЖЕСТВА *)
. VAR
N2, N3, N6, N23 : SET OF INTEGER;
K: INTEGER;
BEGIN
N2 : = [ ]; (* НАЧАЛЬНОЕ ЗНАЧЕНИЕ*);
N3 : = [ ]; (* НАЧАЛЬНОЕ ЗНАЧЕНИЕ*);
FOR K : =1 TO N DO
BEGIN
IF K MOD 2 =0 THEN N2 : = N2+K;
IF K MOD 3 =0 THEN N3 : = N2+K
END;
N6 : = N2*N3;
N23 : = N2+N3;
WRITELN (‘ НА 6 ДЕЛЯТСЯ ЧИСЛА : ’);
FOR K : =1 TO N DO
IF K IN N6 THEN WRITE ( K:3 );
WRITELN;
WRITELN (‘ НА 2 ИЛИ НА 3 ДЕЛЯТСЯ ЧИСЛА :’);
FOR K : =1 TO N DO
IF K IN N23 THEN WRITE ( K:3 )
END.
