2) напишите программу, вычисляющуюплощадь и периметр прямоугольника. если х=1,то s=a*b; если х=2, то p=2*(a+b); если х=3, то«выход».3) создать и напечатать одномерный массивслучайными числами от 0 до 15 и вывести наэкран те из них, которые больше 10.4) имеются данные об успеваемости 10учащихся. определите средний уровеньуспеваемости. решить с применениямассива.5) чему будут равны переменныеx: =0for i: =-2 to 0 don: =iti; x: =x+n;
Если что, часть программы не нужна для построения цепочки. Она просто иллюстрирует, что полученный результат верен.
}
var
sq : array[0..999] of array[0..9] of boolean;
co : array[0..999] of integer;
ar : array[1..10003] of 0..9;
i,j: integer;
x: integer;
t : boolean;
begin
for i := 0 to 999 do
begin
for j := 0 to 9 do
sq[i][j] := false;
co[i] := 0;
end;
for i := 1 to 3 do
ar[i] := 0;
i := 3;
t := true;
{write('000');}
while t do
begin
i := i + 1;
x := ar[i-3]*100 + ar[i-2]*10 + ar[i-1];
if co[x] >= 10 then t := false
else
begin
j := 1;
while sq[x][j] do
j := (j + 1) mod 10;
ar[i] := j;
sq[x][j] := true;
co[x] := co[x] + 1;
{write(j)}
end;
end;
{writeln;}
writeln('Length: ',i - 1);
{просто чтобы убедиться}
for i := 0 to 999 do
for j := 0 to 9 do
sq[i][j] := false;
t := true;
j := 0;
i := 1;
while (i <= 10000) and t do
begin
x := ar[i] * 100 + ar[i+1] * 10 + ar[i+2];
if sq[x][ar[i+3]] then t := false
else
begin
sq[x][ar[i+3]] := true;
j := j + 1;
end;
i := i + 1
end;
if t and (j = 10000) then
write('Confirmed')
end.
const n=10;
var a:array [1..n] of real;
i:byte;
max:real;
nmax:byte;
begin
//начало цикла ввода
For i:=1 to n do
//ввод
Readln(a[i])
//берём за максимальный 1ый элемент
max:=a[1];
//берём количество = 1
nmax:=1; /
/начало цикла проверки
For i:= 2 to n do
if a[i]> max then
begin
max:=a[i];
nmax:=1;
end else
if a[i]= max then
nmax:=nmax+1;
//вывод
Writeln('Максимальный элемент = ', max,', количество таких элементов = ',nmax); end.