
- •Задача 1
- •Задача 6
- •Задача 17
- •Задача 20
- •Задача 26
- •Задача 48
- •Задача 51
- •Задача 52
- •Задача 70
- •Задача 84
- •Задача 85
- •Задача 86
- •Задача 87
- •Задача 88
- •Задача 89
- •Задача 90
- •Задача 91
- •Задача 92
- •Задача 93
- •Задача 94
- •Задача 95
- •Задача 96
- •Задача 97
- •Задача 98
- •Задача 99
- •Задача 100
- •Задача 101
- •Задача 102
- •Задача 103
- •Задача 104
- •Задача 105
- •Задача 106
- •Задача 107
- •Задача 108
- •Задача 109
- •Задача 110
- •Задача 111
- •Задача 112
- •Задача 113
- •Задача 114
- •Задача 115
- •Задача 116
- •Задача 117
- •Задача 118
- •Задача 119
- •Задача 120
Задача 115
program pr115;
{
115. Дана матрица А, имеющая 30 строк и 10 столбцов,
содержащая оценки группы за первый семестр.
Напечатать номера отличников (оценки не ниже 8).
}
Type
tmas2=array [1..30,1..10] of byte;
var
i:byte;
a:tmas2;
fl:boolean;
fout:text;
procedure VvodM(filename:string; Var a:tmas2);
var
fin:text;
i,j: byte;
begin
assign(fin,filename);
reset(fin);
for i:=1 to 30 do
for j:=1 to 10 do
read(fin,a[i,j]);
close(fin);
end;
procedure VivodM(filename:string; a:tmas2);
var
fout:text;
i,j: byte;
begin
assign(fout,filename);
rewrite(fout);
writeln(fout,'Ishodnye dannye:');
for i:=1 to 30 do
begin
for j:=1 to 10 do
write(fout,a[i,j],' ');
writeln(fout);
end;
close(fout);
end;
procedure Find(i:byte; a:tmas2);
var
j: byte;
begin
fl:=true;
for j:=1 to 10 do
if a[i,j]<8 then
fl:=false;
if fl then
writeln(fout,i,' ');
end;
begin
VvodM('L7_IN.TXT',a);
VivodM('L7_OUT.TXT',a);
assign(fout,'L7_OUT.TXT');
append(fout);
writeln(fout,'Otlichniki:');
for i:=1 to 30 do
Find(i,a);
close(fout);
end.
Задача 116
program pr116;
{116. Дана матрица А, имеющая 30 строк и 10 столбцов,
содержащая оценки группы за первый семестр.
Определить средний балл каждого студента.}
Type
tmas2=array [1..30,1..10] of byte;
var
i:byte;
a:tmas2;
fout:text;
procedure VvodM(filename:string; Var a:tmas2);
var
fin:text;
i,j: byte;
begin
assign(fin,filename);
reset(fin);
for i:=1 to 30 do
for j:=1 to 10 do
read(fin,a[i,j]);
close(fin);
end;
procedure VivodM(filename:string; a:tmas2);
var
fout:text;
i,j:byte;
begin
assign(fout,filename);
rewrite(fout);
writeln(fout,'Ishodnye dannye:');
for i:=1 to 30 do
begin
for j:=1 to 10 do
write(fout,a[i,j],' ');
writeln(fout);
end;
close(fout);
end;
function AvMark(i:byte; a:tmas2): real;
var
j:byte;
sum: integer;
begin
sum:=0;
for j:=1 to 10 do
sum:=sum+a[i,j];
AvMark:=sum/10;
end;
begin
VvodM('L7_IN.TXT',a);
VivodM('L7_OUT.TXT',a);
assign(fout,'L7_OUT.TXT');
append(fout);
writeln(fout,'Srednii bally studentov:');
for i:=1 to 30 do
Writeln(fout,i,' student:', ' Sredniy ball =',AvMark(i,a):0:3);
close(fout);
end.
Задача 117
program pr117;
{117. Дана матрица А, имеющая 30 строк и 10 столбцов,
содержащая оценки группы за первый семестр.
Подсчитать количество единиц, двоек и троек у каждого студента.}
Type
tmas2=array [1..30,1..10] of byte;
var
i: byte;
a: tmas2;
fout: text;
procedure VvodM(filename:string; Var a:tmas2);
var
fin: text;
i,j: byte;
begin
assign(fin,filename);
reset(fin);
for i:=1 to 30 do
for j:=1 to 10 do
read(fin,a[i,j]);
close(fin);
end;
procedure VivodM(filename:string; a:tmas2);
var
fout: text;
i,j: byte;
begin
assign(fout,filename);
rewrite(fout);
writeln(fout,'Ishodnye dannye:');
for i:=1 to 30 do
begin
for j:=1 to 10 do
write(fout,a[i,j],' ');
writeln(fout);
end;
close(fout);
end;
function Count(i:integer; a:tmas2): string;
var
j: byte;
k1,k2,k3: byte;
begin
k1:=0;
k2:=0;
k3:=0;
for j:=1 to 10 do
if a[i,j]=1 then
inc(k1)
else
if a[i,j]=2 then
inc(k2)
else
if a[i,j]=3 then
inc(k3);
Count:=' Kolichestvo 1: '+IntToStr(k1)+'; 2: '+IntToStr(k2)+'; 3: '+IntToStr(k3);
end;
begin
VvodM('L7_IN.TXT',a);
VivodM('L7_OUT.TXT',a);
assign(fout,'L7_OUT.TXT');
append(fout);
writeln(fout,'Srednii bally studentov:');
for i:=1 to 30 do
Writeln(fout,i,' student:', Count(i,a));
close(fout);
end.