// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadArrInteger(ReadlnInteger); Println(a.Max-a.Min,a.Where(p->p<=30).Count); end.
2. Школьный вариант в стиле "ТурбоПаскаль 1983г."
var n,i,a,k,max,min:integer; begin Readln(n); max:=0; min:=301; k:=0; for i:=1 to n do begin Read(a); if a>max then max:=a; if a<min then min:=a; if a<=30 then k:=k+1 end; Writeln(max-min,' ',k) end.
1. Современный вариант (коротко, быстро и наглядно, кто знает). Так уже начали учить в некоторых школах.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ArrRandom(ReadInteger('n='),1,300).Println. Where(k->(k>=100) and ((k mod 100) div 10=0)); if s.Count>0 then Writeln(s.Max) else Writeln('Нет элементов') end.
2. А так по-прежнему учат в большинстве школ. Стиль "80-х годов века". Долго, длинно, можно наделать ошибок, но по-другому эти учителя сами не могут.
const nn=100; var i,n,max:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; max:=0; for i:=1 to n do begin a[i]:=Random(300)+1; Write(a[i],' '); if (a[i]>=100) and ((a[i] mod 100) div 10=0) then if a[i]>max then max:=a[i] end; Writeln; if max>0 then Writeln(max) else Writeln('Нет элементов') end.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger(ReadlnInteger);
Println(a.Max-a.Min,a.Where(p->p<=30).Count);
end.
2. Школьный вариант в стиле "ТурбоПаскаль 1983г."
var
n,i,a,k,max,min:integer;
begin
Readln(n);
max:=0;
min:=301;
k:=0;
for i:=1 to n do begin
Read(a);
if a>max then max:=a;
if a<min then min:=a;
if a<=30 then k:=k+1
end;
Writeln(max-min,' ',k)
end.