- •Лабораторная работа №1
- •Целый тип
- •Вещественный тип
- •Символьный тип
- •Булевский тип
- •Перечисляемый тип
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Оператор цикла с предусловием:
- •Оператор цикла с постусловием:
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №6
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №7
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №8
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №9
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №10
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №11
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
Лабораторная работа №9
Работа с множественными типами данных
Вариант №2
Постановка задачи.
Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности: буквы от ‘A’ до ‘F’ и от ‘X’ до ‘Z’.
Решение.
Текст программы № 9
Program Lab9{ вариант № 2};
const
Length = 255;
var m1,m2 : array [1..Length] of Char;
i,a : Integer;
Begin
Randomize;
For i:=1 to Length do
m1[i]:=Chr(Random(255));
a:=1;
For i:=1 to Length do
Begin
Case m1[i] of
'A': Begin m2[a]:=m1[i]; Inc(a); End;
'B': Begin m2[a]:=m1[i]; Inc(a); End;
'C': Begin m2[a]:=m1[i]; Inc(a); End;
'D': Begin m2[a]:=m1[i]; Inc(a); End;
'E': Begin m2[a]:=m1[i]; Inc(a); End;
'F': Begin m2[a]:=m1[i]; Inc(a); End;
'X': Begin m2[a]:=m1[i]; Inc(a); End;
'Y': Begin m2[a]:=m1[i]; Inc(a); End;
'Z': Begin m2[a]:=m1[i]; Inc(a); End;
end;
End;
For i:=1 to a do
Write(m2[i],' ');
ReadLn;
End.
Распечатка результатов выполнения программы.
Программы №9
Z A X Y D Z C D F C A A B B D X E
Лабораторная работа №10
Операции над множествами
Вариант №2
Множества.
Множества - это наборы однотипных логически связанных друг с другом объектов.
Количество элементов, входящих в множество, может меняться в пределах от 0 до 256 (множество, не содержащие элементов, называется пустым). Именно непостоянством количества своих элементов множества отличаются от массивов и записей.
Два множества являются эквивалентными тогда и только тогда, когда все элементы одинаковы причем порядок следования элементов в множестве безразличен.
Описание типа множества имеет вид:
<имя типа>=SET OF <базовый тип>,
где <имя типа> - правильный идентификатор;
SET,OF - зарезервированные слова;
<базовый тип> - базовый тип элементов множества, в качестве
которого может использоваться любой порядковый тип, кроме
WORD, LONGINT, INTEGER.
Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми, список обрамляется квадратными скобками.
Операции над множествами:
- Пересечение множеств. Результатом операции пересечения двух множеств А*В будет множество С, состоящее только из тех элементов которые принадлежат, как множеству А, так и множеству В.
Пример: [1,2,3,4]*[3,4,5,6] результат [3,4]
С = А * В
А В С: = А * В
+ - Объединение множеств. Результатом операции объединения множеств А+В будет множество С , включающее как все элементы множества А, так и все элементы множества В.
Пример: [1,2,3,4]+[3,4,5,6] результат [1,2,3,4,5,6]
А В С = А В
С: = А + В
- Разность множеств. Результатом операции разности двух множеств А-В, будет множество С, состоящее только из тех элементов множества А, которые не входят в множество В.
Пример: [1,2,3,4]-[3,4,5,6] результат [1,2]
С = А \ В
А В С: = А - В
Результатом операции сравнения А=В будет TRUE, а операции
А< >В будет FALSE, только тогда, когда А и В содержат одни и те же элементы.
Результатом операции сравнения А<=B будет TRUE, если множество А является подмножеством множества В.
Результатом операции сравнения A>=B будет TRUE, если множество А включает в себя все элементы множества В.
Результатом операции принадлежности Х in A будет TRUE, если значение Х какого либо порядкового типа Т является элементом множества А того же типа Т.
A Х А
If X in A thin
Пример операций принадлежности и объединения множеств.
PROGRAM Dem_Set_Type;
USES Crt;
TYPE SetType =set of char;
{объявление отдельного типа для передачи параметров в My function}
VAR Myset, Set1, Set2 :Settype;
CH :char;
FUNCTION Myfunction (Var set: Set type) : char;
VAR Flag: char;
BEGIN
REPEAT
Flag:=UpCase(ReadKey);
UNTIL Flag IN Var Set;
Writeln(‘ Правильно!!!’);
Myfunction := Flag;
END;
BEGIN
MySet:= [‘Y’,’N’];
Writeln(‘Допускаются ответы только Y или N’);
CH:= Myfunction (myset);
Set1:=[‘K’];
Myset := Set1 + Myset; {Слияние двух множеств}
Writeln(‘Допускается также К’);
CH :=Myfunction (Myset);
REPEAT
UNTIL KeyPressed; {Ожидается нажатие клавиши для возврата в ИИО}
END.