
- •Основные этапы решения задач на компьютере
- •Контрольные вопросы и задания
- •Язык программирования Паскаль
- •Запуск и настройка среды
- •Набор и редактирование исходного текста программы
- •Компиляция и запуск программы
- •Структура программы на Паскале
- •Арифметические операции
- •Основные стандартные функции, определенные в Паскале:
- •Логические операции
- •Типы данных
- •Операторы ввода и вывода
- •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 имя переменной: SET OF базовый тип;
или
CONST имя переменной = [элементы множества];
Пример:
VAR A: SET OF INTEGER;
B: SET OF 'A'..'Z';
C: SET OF CHAR;
В отличие от массивов к элементам множества нет прямого доступа, поэтому ввод и вывод элементов множества осуществляется:
Ввод с помощью операции сложения (объединения)
Вывод с помощью проверки принадлежности IF.
Формирование множеств
Если элементы множества идут подряд друг за другом, то можно использовать диапазон. Например, множество описанное: VAR A: SET OF 1..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.