Переписать программу с процедурами и функциями - PascalABC.NET
Формулировка задачи:
Решение задачи: «Переписать программу с процедурами и функциями»
textual
Листинг программы
var
a: array[1..1000] of integer;
q, n, k, i, r: integer;
begin
read(r, n);
if r = 0 then
begin
for i := 1 to n do
read(a[i]);
end
else
if r = 1 then
begin
for i := 1 to n do
begin
a[i] := random(500) - 500;
writeln(a[i], ' ');
end;
end;
for i := 1 to n - 2 do
begin
if ((a[i] > 0) and (a[i + 1] > 0) and (a[i + 2] > 0)) or
((a[i] < 0) and (a[i + 1] < 0) and (a[i + 2] < 0))
then
begin
q := 1;
break;
end
else
begin
q := 0;
break;
end;
end;
if q = 1 then writeln('yes') else writeln('no');
end.
Объяснение кода листинга программы
- Ввод начального значения переменной
rи числаn - Если
rравно 0, то считываниеnэлементов в массивa - Если
rравно 1, то заполнение массиваaслучайными числами от -500 до 500 и их вывод - Если
rне равно 0 иrне равно 1, то итерационный цикл по массивуaот 1 доn-2 - Проверка условия для определения наличия требуемого паттерна в массиве
a - Если условие выполняется, то присвоение переменной
qзначения 1 и выход из цикла - Если условие не выполняется, то присвоение переменной
qзначения 0 и выход из цикла - Вывод значения переменной
qв консоль - Если
qравно 1, то вывод строкиyes - Если
qравно 0, то вывод строкиno