1) Дана процедура-функция: function f (n: integer) : integer; begin
if (n=1) or (n=2) then f:=1
else f:=f(n-1)+f(n-2);
end.
Чему равно f(7)?
2) Параметры, описанные в заголовке подпрограммы, называют …
1.формальными
2.глобальными
3.фактическими
4.локальными
3) Как производится вызов подпрограммы-процедуры? 1.procedurе <имя_процедуры> 2.Указанием её имени со списком формальных параметров
3.Указанием её имени 4.Указанием её имени со списком фактических параметров
4) Запись вс алгоритмов в языках программирования осуществляется с функций
2.произвольный фрагмент программы
3.рекурсий
4.процедур
5) Заголовок подпрограммы-функции начинается со слова ...
1.function
2.program
3.нет правильного ответа 4.procedure
6) ….. – подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.
1.Процедуры
2.Функция
7) Где описываются подпрограммы? (язык программирования Паскаль)
1.В любом месте программы
2.В начале программы после оператора begin
3.В начале программы до оператора begin
4.Между разделом var и программным блоком главной программы
8) Какой вид подпрограммы применяют, если в результате получается несколько величин? 1.Подпрограмму-процедуру 2.Подпрограмму-функцию 3.Нельзя использовать подпрограмму
4.И подпрограмму-функцию, и подпрограмму-процедуру
9) Заголовок процедуры вычисления наибольшего общего делителя может быть описан так: procedure nod (a,b:integer; var c:integer); При вызове процедуры nod (x,a, z) в качестве параметров-значений использованы …
1.выражения и константы 2.имена переменных 3.выражения
4.константы
const n=100;
var ar:array of array of integer;
ars:array of array of string;
i:integer;
procedure complection(var ar:array of array of integer;var ars:array of array of string);
var
i,j:integer;
begin;
for i:=1 to n do
begin;
for j:=1 to n do
begin;
ar[i,j]:=random(9);
str(ar[i,j],ars[i,j]);
end;
end;
end;
procedure burning(ars:array of array of string);
var
i,j:integer;
t:text;
begin;
assign(t,'text.txt');
rewrite(t);
for i:=1 to n do
begin;
writeln(t,' ');
for j:=1 to n do
write(t,ars[i,j],' ');
end;
end;
begin;
randomize;
setlength(ar,n+1);
setlength(ars,n+1);
for i:=1 to n do
begin;
setlength(ar[i],n+1);
setlength(ars[i],n+1);
end;
complection(ar,ars);
burning(ars);
end.
const
MAX_SIZE = 100;
var
size, n: integer;
stack: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
inc(size);
stack[size] := a;
end;
procedure view;
var
i: integer;
begin
for i := 1 to size do
write(stack[i], ' ');
writeln;
end;
Для очереди:
const
MAX_SIZE = 100;
var
head, tail: integer;
queue: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
queue[tail] := a;
inc(tail);
end;
procedure view;
var
i: integer;
begin
for i := head to tail - 1 do
write(queue[i], ' ');
writeln;
end;
И стек и очередь реализованы с массива. Нужно следить, чтобы размер структуры не был больше размера массива