- •Основные этапы решения задач на компьютере
- •Контрольные вопросы и задания
- •Язык программирования Паскаль
- •Запуск и настройка среды
- •Набор и редактирование исходного текста программы
- •Компиляция и запуск программы
- •Структура программы на Паскале
- •Арифметические операции
- •Основные стандартные функции, определенные в Паскале:
- •Логические операции
- •Типы данных
- •Операторы ввода и вывода
- •Read (список переменных) – этим оператором вводятся последовательно значения переменных из списка;
- •Readln (список переменных) – тоже что и read, но с переводом курсора на новую строку после ввода последней переменной;
- •2. Оператор вывода
- •Линейный алгоритм
- •Раздел var?
- •Разветвляющиеся вычислительные процессы
- •2.Оператор выбора case
- •Циклические вычислительные процессы
- •Операторы цикла могут быть вложены один в другой:
- •Отличие цикла for от while и repeat.
- •Массивы
- •Типовые алгоритмы обработки массивов.
- •Процедуры и функции
- •Функции
- •Строковые переменные
- •Стандартные процедуры и функции для работы со строковыми переменными
- •Множества
- •Формирование множеств
- •Отношения и операции над множествами
- •Список использованной литературы:
Множества
Наряду с численными типами множества являются фундаментальным понятием в математике (конечные, бесконечные, состоящие из разных (произвольных) элементов). В Pascalрассматриваются только конечные множества, состоящие из небольшого числа элементов имеющие один и тот же тип.
Множества в Pascal– это ограниченный, упорядоченный набор различных элементов одного базового типа.
Базовый тип– это совокупность значений из которых могут быть образованы множества. Всего может быть не более 256 различных элементов. (Идет то же самое расширение, что и по строке.)
Значение переменной множественного типа может содержать любое количество элементов базового типа (от 0 до всех возможных значений базового типа) и в качестве базового может использоваться любой тип, кроме вещественного.
Постоянные множества и в Pascalи в математике задаются путем их перечисления.
-
Математика
Pascal
0
[]
{1, 2, 3}
[1, 2, 3]
{A,B,C,D}
['A', 'B', 'C', 'D']
{1, 2, …, N}
[1..N]
В квадратных скобках могут указываться не только константы, но и выражения типа элементов множества.
Множества в Pascalописываются:
TYPE имя типа = SET OF базовый тип;
VARимя переменной: имя типа;
или
VARимя переменной:SETOFбазовый тип;
или
CONSTимя переменной = [элементы множества];
Пример:
VAR A: SET OF INTEGER;
B: SET OF 'A'..'Z';
C: SET OF CHAR;
В отличие от массивов к элементам множества нет прямого доступа, поэтому ввод и вывод элементов множества осуществляется:
Ввод с помощью операции сложения (объединения)
Вывод с помощью проверки принадлежности IF.
Формирование множеств
Если элементы множества идут подряд друг за другом, то можно использовать диапазон. Например, множество описанное: VARA:SETOF1..5; может принимать значения:
A = [];
A[1], [2], [3], [4], [5]
A[1, 2], [1, 3], [1, 4], [1, 5]…
A[1, 2, 3]…
A[1, 2, 3, 4]…
A[1, 2, 3, 4, 5]
Отношения и операции над множествами
Отношения рассматриваются, как операции, вырабатывающие логическое выражение.
-
Математика
Pascal
В Pascalопределены три операции над множествами:
1. Операция объединения.
Математика:
Pascal:
Объединением двух множеств называется множество элементов принадлежащих обоим множествам.
Пример:
['A', 'B'] + ['C', 'D'] = ['A', 'B', 'C', 'D']
2. Пересечение
Математика:
Pascal:
Пересечением двух данных множеств называется множество элементов принадлежащих одновременно и первому и второму множеству, общие элементы.
Пример:
['A', 'B']*['C', 'D'] = [];
3. Математика:
Pascal:
Вычитанием двух множеств называется множество, состоящее из тех элементов первого множества, которые не являются элементами второго множества.
Пример: 'A', 'B'] – ['C', 'D'] = ['A', 'B'];
Над элементами множества определены операции сравнения (=, ,). Над элементами допустим оператор присваивания.
Пример:
VAR A,B: SET OF 1..10;
BEGIN
A:=[1, 5, 7];
B:=A;
Оператор B:=A означает, что переменной B-типа множество присваивается текущее значение множества А и вместо А может использоваться выражение типа множество.
Ввод элементов во множество:
A:=[];
READ (C); {C базовому типу}
WHILE C<>0 DO
BEGIN
A:=A+C;
READ (C); END;
Пример: Пусть дана строка символов с точкой в конце строки. Необходимо определить число различных букв входящих в эту строку.
PROGRAM MNO;
var m: set of char;
str: string;
c: char;
i,n: integer;
begin
m:=[ ]; n:=0;
readln (str);
for i:=1 to length (str) do
m:=m+str[ i ];
for c:='a' to 'я' do
if c in m then n:=n+1;
writeln (n);
end.