1)
program zadacha1;
uses crt;
var b,i,j:integer;
c,pr:real;
a:array [1..4,1..7] of integer;
begin
clrscr;
pr:=1;
for i:=1 to 4 do
begin
for j:=1 to 7 do
begin
readln(a[i,j]);
end;
end;
for i:=1 to 4 do
begin
for j:=1 to 7 do
begin
if (a[i,j] mod 3) = 0 then pr:=pr*a[i,j];
end;
end;
pr:=pr/3;
writeln(pr:2:3);
readkey;
end.
2)
program zadacha2;
uses crt;
const k=8;
var b,i,j,sum:integer;
c,pr:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
pr:=1;
for i:=1 to k do
begin
for j:=1 to k do
begin
a[i,j]:=random(36)+10;
end;
end;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
for j:=1 to k do
begin
if (a[k,j] mod 5) = 0 then pr:=pr*a[i,j];
end;
for i:=1 to k do
begin
for j:=1 to k do
begin
if (i=j) and (a[i,j] > 0) then sum:=sum+a[i,j];
end;
end;
writeln('Prozvedenie ',pr:2:2);
writeln('Summa ',sum);
writeln('Raznostb ',pr-sum:2:2);
readkey;
end.
3)
program zadacha3;
uses crt;
const k=9;
var b,i,j:integer;
sred,sum,l:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
for i:=1 to k do
begin
for j:=1 to k do
begin
a[i,j]:=random(55-12+1)+12;
end;
end;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
for i:=1 to k do
begin
if (a[i,k] mod 2) = 1 then
begin
l:=l+a[i,k];
b:=b+1;
end;
end;
sred:=l/b;
for i:=1 to k do
begin
if a[i,i]>25 then sum:=sum+a[i,i];
end;
writeln;
writeln('Srednee ',sred:2:2);
writeln('Summa ',sum:2:1);
readkey;
end.
4)
program zadacha4;
uses crt;
const k=5;
var b,i,j:integer;
sred,sum,l:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
for i:=1 to k do
begin
for j:=1 to k do
begin
a[i,j]:=random(91)-20;
end;
end;
j:=k;
for i:=1 to k do
begin
if (a[i,j] mod 2)<> 0 then
begin
l:=l+a[i,j];
b:=b+1;
end;
j:=j-1;
end;
sred:=l/b;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
writeln;
writeln('Srednee ',sred:4:2);
readkey;
end.
5)
program zadacha5;
uses crt;
const k=5;
var b,i,j:integer;
sred,sum,l:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
for i:=1 to k do
begin
for j:=1 to k do
begin
a[i,j]:=random(31)-40;
end;
end;
j:=k;
for i:=1 to k do
begin
if (a[i,j] mod 2)<> 0 then
begin
l:=l+a[i,j];
b:=b+1;
end;
j:=j-1;
end;
sred:=l/b;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
writeln;
writeln('Srednee ',sred:4:2);
readkey;
end.
6)
program zadacha6;
uses crt;
const k=6;
var b,i,j:integer;
sred,sum,l:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
for i:=1 to k do
begin
for j:=1 to k do
begin
a[i,j]:=random(21);
end;
end;
j:=k;
for i:=1 to k do
begin
if a[i,j]>5 then
begin
l:=l+a[i,j];
end;
j:=j-1;
end;
l:=l/2;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
writeln;
writeln('Sum ',l:2:2);
readkey;
end.
7)
program zadacha7;
uses crt;
const k=5;
var b,i,j:integer;
pred,sum,l:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
for i:=1 to k do
begin
for j:=1 to k do
a[i,j]:=random(10);
end;
j:=k;
for i:=1 to k do
begin
l:=l+a[i,j];
j:=j-1;
end;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
for i:=1 to k do
begin
sum:=sum+a[i,i];
end;
pred:=sum+l;
writeln('Sum ',pred/10:2:2);
readkey;
end.
8)
program zadacha8;
uses crt;
const k=5;
var b,i,j:integer;
pred,sum,l:real;
a:array [1..k,1..k] of integer;
begin
randomize;
clrscr;
for i:=1 to k do
begin
for j:=1 to k do
a[i,j]:=random(10);
end;
j:=k;
for i:=1 to k do
begin
l:=l+a[i,j];
j:=j-1;
end;
l:=l/k;
for i:=1 to k do
begin
for j:=1 to k do
write(a[i,j],' ');
writeln;
end;
for i:=1 to k do
begin
sum:=sum+a[i,i];
end;
sum:=sum/2;
writeln('Sum ',sum:2:2);
writeln('Sred',l:2:2);
readkey;
end.
Поделитесь своими знаниями, ответьте на вопрос:
20 б измените текст программы примера так, чтобы решалась следующая : есть информация по студентам (фамилия, курс (1-5), 5 оценок за последнюю сессию вывести через запятую фамилии первокурсников, которые имеют средний , больший или равный 4. program pr2; type student = record {объявление нового типа данных student} lastname: string ; {фамилия студента} bal: array [1..5] of integer; {массив для 5-ти оценок} average: real {средний студента} end; var pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student} n, i, j, s : integer; {переменные целого типа} begin write ('введите количество студентов: '); readln(n); for i: =1 to n do begin {запрос данных по n студентам} with pupil[i] do begin write ('введите фамилию студента №', i , ': '); {запрос фамилии студента под номером i} readln (lastname); s: =0; {целочисленная переменная для определения суммы студента} for j: = 1 to 5 do begin {цикл для обработки 5-ти оценок каждого студента} write ('введите оценку за экзамен №: ', j, ': ' ); readln (bal [j] ); s : = s+ bal[j]; {суммирование 5-ти оценок студента} end; average: = s/5; {определение среднего значения и запись в переменную average} end; end; writeln; writeln ( 'студенты, имеющие средний больший или равный 4'); for i: =1 to n do begin if pupil[i].average > =4 then {если средний студента > =4} writeln (pupil[i].lastname, ' (средний ', pupil[i].average: 4: 1, ')'); {то вывод на экран фамилии студента и его среднего } end; end
2. Меняется всего одна строка в программе:
program pr2;
type
student = record {объявление нового типа данных student}
LastName: string; {фамилия студента}
bal: array [1..5] of integer; {массив для 5-ти оценок}
average: real {средний студента}
end;
var
pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student}
n, i, j, s: integer;{переменные целого типа}
begin
write('Введите количество студентов: ');
readln(n);
for i := 1 to n do
begin{запрос данных по n студентам}
with pupil[i] do
begin
Write('Введите фамилию студента №', i, ': '); {запрос фамилии студента под номером i}
Readln(LastName);
s := 0; {целочисленная переменная для определения суммы студента}
for j := 1 to 5 do
begin{цикл для обработки 5-ти оценок каждого студента}
write('Введите оценку за экзамен №:', j, ': ' );
readln(bal[j] );
s := s + bal[j]; {суммирование 5-ти оценок студента}
end;
average := s / 5; {определение среднего значения и запись в переменную average}
end;
end;
writeln;
writeln( 'Студенты, имеющие средний больший или равный 4');
for i := 1 to n do
begin
if pupil[i].average >= 4 then {если средний студента >=4}
write(pupil[i].LastName,', ');
end;
end.