Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура? Как выглядит команда вызова процедуры?
Что такое локальные и глобальные переменные. Приведите примеры. Что такое формальные и фактические параметры. Приведите примеры. В каком случае фактический параметр может быть константой или выражением? В каком случае фактический параметр может быть только переменной? Как взаимодействуют формальные и фактические параметры между собой?
Команда вызова процедуры Блок/схема процедуры записывается отдельно от основной программы.
Составить программу нахождения наибольшего элемента в линейном массиве, используя вспомогательные процедуры нахождения наибольшего из двух чисел и создания массива случайных чисел. Начало Создание массива Tabl i= 2, n Z:=a[1] Max(z, a[i],z) Вывод Мах Конец
Tabl (x) Массив: i:=1, n X[i]:=random(100) X[i] Конец Max (x1, x2, x3) X3:=x1 Конец X1>x2 X3:=x2 +-
Процедура создания массива случайных чисел содержит один параметр – массив. Т.к. – это результат работы процедуры, то этот параметр должен быть параметром-переменной. Процедура нахождения наибольшего из двух чисел содержит три параметра, один из которых должен быть параметром-переменной – результатом, и два – параметрами значениями – аргументами.
В ЯП Паскаль в описании процедур в списке параметров нельзя описывать массивы таким образом: procedure Tabl(var x: array[1..n] of integer); Поэтому в основной программе до описания массивов можно указать тип данных массив: type arr = array[1..n] of integer; И затем этот тип данных использовать при описании массивов в самой программе и в процедурах при описании формальных параметров type arr = array[1..n] of integer; var i, k, z: integer; а :arr; procedure Tabl(var x: arr);
Program max_tabl; Uses Crt; const n=10; type arr = array[1..n] of integer; var i, k, z: integer; а :arr; procedure Tabl(var x: arr); begin writeln ('Massiv'); for i:=1 to n do begin x[i]:=random(100); write (x[i]:5); end; writeln; end;{Tabl} procedure max(x1,x2 : integer; var x3:integer); begin if x1>x2 then x3:=x1 else x3:=x2; end;{max} {***** Main*****} begin clrscr; randomize; tabl (a); z:= a[1]; for i:=2 to n do max(z,a[i],z); writeln('max= ', z:6); readln; end.
Составить блок-схему и написать программу, которая каждому элементу массива Z присваивает значение суммы соответствующих элементов массивов X и Y. В программе должны быть три процедуры: 1.Создания массива случайных чисел. 2.Вывода массива на экран компьютера. 3.Вычисления элементов массива Z
Мы сегодня узнали, что Подпрограммы оформляются на блок/схемах отдельно от основной программы. Вызов подпрограммы из основной программы обозначаются блоком: При использовании в качестве параметра массива, его нужно описать в разделе описания типов TYPE перед описанием массава в основной программе.