1. Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 6. Система команд Кузнечика:
Вперед 8 – Кузнечик прыгает вперёд на 8 единиц,
Назад 5 – Кузнечик прыгает назад на 5 единицы.
Какое наименьшее количество раз должна встретиться в программе команда «Назад 5», чтобы Кузнечик оказался в точке 79?
Решение
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(80,1,35); a.Println;
var amin:=a.Min;
var amax:=a.Max;
Writeln('Минимум ',amin,', максимум ',amax,', их произведение ',amin*amax)
end.
Пример
35 15 30 3 4 15 7 28 9 16 31 28 22 33 9 19 16 17 20 11 19 30 2 34 21 10 3 21 26 9 1 11 23 27 4 22 16 13 4 15 4 31 10 25 11 13 8 14 14 33 24 14 7 26 20 6 14 32 17 30 13 21 3 35 16 20 6 31 29 23 3 4 14 6 7 24 20 13 24 9
Минимум 1, максимум 35, их произведение 35
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger('Вводите',ReadInteger('n='));
a:=a.Where(x->x>=0).ToArray; a.Println
end.
Пример
n= 5
Вводите 3 -2 0 -1 5 8
3 0 5
То же, в терминах Pascal ABC ("по-школьному")
const
k=50;
var
n,i,m:integer;
a,t:array[1..k] of integer;
begin
Write('n='); Read(n);
Write('Вводите: ');
for i:=1 to n do Read(a[i]);
m:=0;
for i:=1 to n do
if a[i]>=0 then begin
m:=m+1;
t[m]:=a[i]
end;
n:=m;
for i:=1 to n do begin
a[i]:=t[i];
Write(a[i],' ')
end;
Writeln
end.
Думаю, есть о чем подумать: почему в школе учат писать длинно и сложно?