Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по программированию.doc
Скачиваний:
8
Добавлен:
29.04.2019
Размер:
176.13 Кб
Скачать

Вопрос 17 Массивы

Массив - упорядоченная по индексу совокупность однотипных элементов. кажд. элементу массива соответ. 1 или несколько индексов, определяемых положение элемента в массиве. В качестве типа индекса может быть использован любой порядковый тип кроме longint. В зависимости от типа индекса различают одномерные и двумерные и тд многомерные массивы. В качестве базового типа элементов массива может быть использован любой тип кроме файлового. Объявление массива: Var имя массива: array[тип индексов] of базовый тип.

Одномерные массив: Var M: array[byte] of real;-вещ тип. Var N: array[1..10] of char;- тип диапазон. Var A: array[‘a’..’m’] of real; тип диапазон.

Двумерный: Var B: array[0..5,0..3] of real;(0..5-строки, 0..3-столбцы)

Массив может быть объявлен, как константа: const M:array[1..3]of char=(‘a’,’*’,’x’);

В программе знач эл-в массива могут быть 1)Присвоены 2)Введены с клавиатуры или из файла 3)Сгенерированы случ образом. Пример: Var M:=array[1..3]of char; N:=array[1..5]of byte; begin 1)M[1]:=’a’; M[2]:=’*’; M[3]:=’b’; 2)а. For i:=1 to 5 do N[i]:=stringGrid1.Cells[i,0]; 2)б. For i:=1 to 5 do For j:=1 to 2 do A[i,j]:=stringGrid1. Cells[i,j]; 3)Randomize; for i:=1 to 5 do N[i]:=Random(100); For :=1 to 3 do M[i]:=chr(Random(50)); for i:=1 to n do A[i]:=Random(30)/Random(20);

Вывод массива: For i:=1 to 3 do Edit1.Text:=Edit1.Text+inttostr(M[i]);

Вопрос 18 Множества

Структурированный тип данных из элементов одинакового типа. Количество эл-в в множестве не более 256, порядок эл-в не имеет начения, к элементу мн-ва нельзя обратиться по индексу. set of (базовый тип). Var имя мн-ва:set of (byte, char,boolean, тип –диапазон, перечисляемый тип); Type имя типа = set of базовый тип; var имя типа: имя типа; var Miset of 1..10;(тип-диапазон). В программе элементы заключаются в [ ](M:=[1,2,7,9];). Пересечение мн-в A и В(А*В)-это мн-во С, состоящее из элементов, входящих одновременно в оба мн-ва А и В.(А:=[]; B:=[]; C:=A*B; C= ). Объединение мн-в _//_, состоящее из элементов обоих подмножеств. Операции над мн-ми: 1)Разность мн-в А и В- _//_, состоящее из эл-в мн-ва А, не входящих в состав мн-ва В. 2) Добавление элемента х ко мн-ву А- процедура Include(A,x)(пример: A:=[1,2,7]; x:=6; Include(A,x); A =[1,2,6,7] или А+[x]) 3)Удаление эл-та из мн-ва-Exclude(пример). Операции сравнения 1) Проверка на равенство(Равны если состоят из одних и тех же элементов, при чем порядок следования элементов и количество дублирующих элементов значения не имеют)(пример: A:=[1,2,3]; B:=[2,3,1]; A=B )результат логического типа. Неравны, если отличаются хотя бы одним элементом(A<>B) True или False. 2)Подмножество(как в математике)(пример: A:=[1,7,2]; B:=[1,2,3,7]; A<=B;)

3) Надмножество 4) Проверка принадлежности эл-та х мн-ву А (х in A)(пример: A:=[1,4,5]; x:=1; y:=2; V:=x in A; W:=y in A; V=true; W=false;) 5) Проверка непринадлежности эл-та х мн-ву А (not(х in A))(пример: A:=[1,4,5]; x:=1; y:=2;

V:=not(x in A); W:=not(y in A); V=true; W=false;).

Вопрос 11 Выражения и операции в языке Object Pascal.

Выражения конструируются из констант, переменных и операций. Делятся на арифметические, логические и отношения. Используемые отношения делятся на унарные(относятся к одному оператору) и бинарные. Арифметические и логические операции делятся на мультипликативные(*,/,целочисленное div, остаток от деления mod) и аддетивные(+,-). Логические операции: унарные,

отрицание(not A), логическое умножение(А and B); аддитивные логические:or,

A xor B-исключающее или. Логич операции выполняются только над логич типами данных, и результатом является логический тип. Операции отношения:=,<>,<,>,≥, ≤