Б23.Организация подпрог. Процедуры. Описание процедур и обращение к ним.
(1)Подпрограмма – относительно самостоятельный фрагмент программы оформленный особым образом и снабжённый именем.
При решении многих задач возникает необходимость одни и те же последовательности операторов для различных данных. При этом для уменьшения размеров программ целесообразно выделить эти операторы в отдельную подпрограмму. Кроме того использование подпрог. позволяет реализовать принцип структурного программирования.
(2)Процедуры используются в тех случаях, когда необходимо получить один или несколько результатов.
(3)Описание процедур происходит в разделе описание процедур и функций.
Procedure…имя...список формальных параметров…;…блок…;
Формальные параметры – это те объекты, над которыми описаны действия в процедуре и которые заменяются фактическими параметрами при обращении к ней. Параметры:
1.Значения (копия значения);
2.Перемещения (передача адреса);
3.Процедуры;
4.Функции.
1.Определяют исходные данные для работы процедуры, которые не желательно изменять в процессе её выполнения.
2.Определяют, как правило, выходные данные процедуры, которые передаются в основную программу.
Фактические параметры должны соответствовать формальным параметрам по количеству, типу и месту расположения.
Б21.Структурированные типы данных: массивы.
Структурированные типы данных составляются из других типов данных, т.е. имеют в своём составе некоторые компоненты.
Массив – группа данных одинакового типа, имеющая одно имя.
Индекс – обозначение порядкового номера элемента.
Элемент массива – индексированная переменная.
Массив М1 (одномерный, вектор); М[1], М[2],…
Массив М2 (двумерный, матрица); М[1,1], М[1,2], М[2,1], М[2,2].
Описание массива.
Array[...тип индекса...] of...тип элемента
Для ввода и вывода используются циклы.
Пример!!!
Б24.Функции. Описание функций и обращение к ним.
В результате выполнения некоторых операций вычисляется одно единственное значение, присваиваемое имени функции.
Обращение к ф-ии ,как и к стандартным ф-ям, осуществляется из выражения, в котором в качестве операнда записывается имя ф-ии и фактические параметры.
После выполнения ф-ии вычисленные значения присваиваются имени ф-ии и передаётся выражение.
Function Fun(a, b: real): real;
…end; {fun}
…y:=Fun(x, 2); writeln(fun(k, l));
if fun(m, n) > 0 then…
Б26.Записи. Описание записей. Оператор присоединения (а).
Данные типа запись представляют собой совокупность логически связанных элем-ов различного типа, которые называются полями.
Для обращения к полю записи используется составное имя, в котором необходимо указать путь от вершины до нужного поля.
Ввод, вывод и др. операции над записью выполняются для отдельных полей, в соответствии с их типами.
(а)Позволяет сократить текст программы за счёт исключения повторяющихся частей: имён полей, записей.
With...имя поля, имя записи(,)...do...оператор
Б27.Записи с вариантной частью(1).
Case имя сектора (:) тип of конст. (,)
(:) ( список полей )
Б28.Множества.
Множества – ограниченный, не упорядоченный набор различных элементов базового типа.
Set…of…порядковый тип
Z:=[0,2..4,8]; b:=[‘a’..‘d’, ‘k’];
g:=[Penza, Moscow].
Элементы множества не упорядочены, поэтому:
[1,3,7]=[3,7,1]=[1,7,3,1,3,7];
a:=[3..6,8..10]; b:=[2..5,8..9];
a*b---[3..5,8]; a+b---[1..6,8..10];
a - [4,6,8]---[1,3,5,10];
Реализовать вычисление первых простых чисел до заданного n методом “решета Эратосфена”; n=15.
ISH=[2,3,4,5,6,7,8,9,10,11,12,13,14,15];REZ[?]
m=2 REZ[2]
m=3 REZ[2,3]
m=5 REZ[2,3,5]
m=7 REZ[2,3,5,7]
m=11 REZ[2,3,5,7,11]
m=13 REZ[2,3,5,7,11,13]