Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVYeT_K_EKZAMYeNU.doc
Скачиваний:
6
Добавлен:
21.12.2018
Размер:
211.97 Кб
Скачать

29.Полная структура программы в Турбо Паскаль.

То же самое что 30

30.Структура сложной программы в Паскаль:

PROGRAM<имя программы >;

USES<имя модуля>;

TYPE<раздел типов>;

LABEL<метки>;

CONST<константы>;

VAR<переменные и их типы>;

FUNCTION<имя функции>(имя переменной: тип)

BEGIN

операторы

END;

PROCEDURE<имя процедуры>( параметры)

BEGIN

операторы

END;

BEGIN

Текст основной программы

END.

31 Подпрограммы. Структура описания. Отличие процедуры от функции.

Самостоятельные, законченные фрагменты программы, оформленные особым образом, снабжённые именем – называются подпрограммами Использование подпрограмм позволяет разбить программу на ряд независимых частей. Подпрограммы используются:

1.Для экономии памяти, когда некоторая последовательность действий встречается неоднократно на разных участках программы. Каждая подпрограмма существует в ед. экземпляре, но обращаться к ней можно неоднократно из разных точек программы.

2. В сложных программах при модульном проектировании. Подпрограммы делятся на процедуры и функции Результатом исполнения функции является единственное значение простого, строкового или указательного типа. Поэтому обращение к функции можно использовать выраженное наряду с константой и переменные. Процедура обычно возвращает несколько значений, подпрограмма состоит из заголовка и тела подпрограммы. Тело подпрограммы состоит из раздела описаний и раздела операторов.

Структура:

PROCEDURE<имя процедуры >;

FUNCTION<имя функции>(параметр: тип);

USES<модули>;

LABEL<метки>;

CONST<константы>;

TYPE<типы>;

VAR<переменные>;

BEGIN

Тело подпрограммы

END;

32 Вложенные подпрограммы. Принципы локализации имен (локальные и глобальные).

Принципы локализации имен (локальные и глобальные переменные). Вложенными являются подпрограммы, вызываемые из других подпрограмм. Если какая либо программа использует некоторые переменные подпрограммы, То данные переменные должны быть описаны не в подпрограмме, а в самой программе.

Данные переменные называются глобальными, а переменные, объявленные в модуле или подпрограмме являются локальными, и значения этих временных нельзя использовать в главной программе.

33 Вызов подпрограмм (формальные и фактические параметры). Оформление на са.

Подпрограммы могут быть вызваны как из тела основной программы,так и из тела другой подпрограммы. Для вызова необходимо написатьимя процедуры или функции, а также, если надо, ряд переменных передаваемых в подпрограмму.

Пример:

PROCEDURE<имя>[(<формальные параметры>)];

FUNCTION<имя>[(<формальные параметры>)]:<тип>

Сразу за заголовками может следовать одна стандартных директив:

ASSEMBLER <тело подпрограммы на ассемблере>, EXTERNAL<объявление

внешней подпрограммы>, FAR, FORWARD, INLINE<встроенные машинные

инструменты>, INTERRUPT,NEAR.

PROCEDURE SB(a: real<формальный параметр>);

Фактические параметры – это глобальные переменные подставленные в

формальные

ТИП ФАКТ=ТИП ФОРМ.

34 Процедуры без параметров и с параметрами.

В языке Паскаль существует два вида процедур: процедуры с параметрами и без параметров. Обращение к процедуре осуществляется по имени процедуры, за которым могут быть указаны фактические параметры. Все формальные параметры являются локальными для данной процедуры и глобальными для каждой процедуры в ней. При вызове процедуры устанавливаетcя взаимно однозначное соответствие между фактическими и формальными параметрами, затем управление передается процедуре. После выполнения процедуры управление передается следующему, после вызова процедуры, оператору вызывающей программы.

Пример 1. Процедура без параметров, которая печатает строку из 60 звездочек.

procedure pr;

var i : integer ;

begin

for i :=1 to 60 do write (‘ * '); writeln;

end.

Пример 2. Процедура c параметрами.

Даны 3 различных массива целых чисел (размер каждого не превышает 15). В каждом массиве найти сумму элементов и среднеарифметическое значение.

program proc;

var i , n , sum: integer;

sr : real;

procedure work (r:integer; var s:integer; var s1:real); {процедура work}

var mas : array [1..15] of integer ; { объявление массива мas}

j : integer;

begin

s:=0;

for j:=1 to r do begin {ввод элементов массива mas}

write(' Vvedite element - ', j,': ') ;

read (mas[j]);

s:=s+mas [j];

end;

s1:=s/r;

end;

begin { главная программа}

for i:=1 to 3 do begin

write ('Vvedite razmer ',i, ' masiva: ');

readln(n);

work (n, sum, sr); {вызов процедуры work}

writeln ('Summa elementov = ',sum);

writeln ('Srednearifmeticheskoe = ',sr:4:1);

end;

readln;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]