//Pascal ABC.NET v3.1 сборка 1172
var
ar: array of integer;
n, k2, k3, k4, k5, i: integer;
r: real;
begin
write('Сколько учеников?');
readln(n);
setlength(ar, n);
writeln('Введите оценки:');
for i := 0 to n - 1 do
begin
readln(ar[i]);
case ar[i] of
2: inc(k2);
3: inc(k3);
4: inc(k4);
5: inc(k5);
else
writeln('Не оценка');
exit;
end;
end;
writeln('2:', k2);
writeln('3:', k3);
writeln('4:', k4);
writeln('5:', k5);
write('Успеваемость=', (k3 + k4 + k5) / n * 100:0:1);
end.
Пример ввода:
Сколько учеников?6
Введите оценки:
2
2
3
4
5
5
Пример вывода:
2:2
3:1
4:1
5:2
Успеваемость=66.7
( 1Мбайт = 1 000 000 байт ) приставка Мега = 1 000 000.
8Мбайт = 8 000 000 байт
Можно более корректно описать ситуацию?
program raf105;
var
i,n: integer;
s: real;
begin
write('Введите N: ');
readln(n);
repeat
i:= i+1;
s:= s + 1/i;
until i = n;
writeln('S = ',s);
end.
<h3><u>PascalABC 3.4.2</u></h3>
Const
n = 8;
var
i, j, umax, lmax: integer;
a: array[1..n, 1..n] of integer;
begin
Randomize;
writeln('Исходный массив');
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := Random(40) - 20;
write(a[i, j]:4)
end;
writeln;
end;
umax := -100;
for i := 1 to n do
for j := i to n do
if umax < a[i, j] then umax := a[i, j];
lmax := -100;
for i := 1 to n do
for j := 1 to i do
if lmax < a[i, j] then lmax := a[i, j];
writeln('Разность максимумов равна ', umax - lmax)
end.
Тестовое решение:
Исходный массив
-5 18 -13 1 -16 5 0 -13
4 -18 -17 -14 2 10 -2 -15
-15 -8 -6 -16 -10 -12 -18 -17
-18 6 11 -5 4 -6 -1 1
10 14 3 -7 2 11 10 -1
6 -2 -20 1 4 9 13 -4
-9 -7 4 -6 -12 3 1 -14
15 -16 -1 -3 13 -15 3 -10
Разность максимумов равна 3