1. Определить средний рост девочек и мальчиков одного класса. Количество учеников в классе заранее неизвестно.
Код Pascal:
Uses crt;
Var
b,g: Array[1..100] of Integer;
d,m,s1,s2,i: Integer;
sr1,sr2: Real;
BEGIN
Clrscr;
Writeln('Количество мальчиков: '); Readln(m);
Writeln('ВВОД:');
For i:=1 to m do
begin
Readln(b[i]);
s1:=s1+b[i];
end;
sr1:=s1/m;
Writeln('Количество девочек: '); Readln(d);
Writeln('ВВОД:');
For i:=1 to d do
begin
Readln(g[i]);
s2:=s2+g[i];
end;
sr2:=s2/d;
Writeln('Ср. рост мальчиков: ',sr1:2:2);
Writeln('Ср. рост девочек: ',sr2:2:2);
Readln
END.
2. В ЭВМ вводятся по очереди данные о росте N учащихся класса. Определить средний рост учащихся класса.
Код Pascal:
Var m:integer; i,n:byte; s:real;
begin
s:=0;
Writeln('Vveddite kol-o uchenikov');
readln(n);
for i:=1 to n do
begin
readln(m);
Writeln(i ,' chlen = ',m);
s:=s+m;
end;
Writeln('srednee ',s/n:1:1);
readln;
end.
3. По данным свединием об участниках класса определить среднюю массу мальчиков и средний рост девочек.Кто из участников класса самый высокий?
Код Pascal:
TYPE student=record
fam,pol:string;
rost:100..220;
mas:30..200;
end;
var
s:array[1..100] of student;
i,n,u:integer; sr,sv,kd,km,max:real;
begin
write('Количество учеников= ');
readln(n);
writeln('Введите данные об учениках');
for i:=1 to n do
begin
writeln(i,' ученик');
with s[i] do
begin
write('Фамилия: '); readln(fam);
write('Пол (М/Ж): '); readln(pol);
write('Рост: '); readln(rost);
write('Вес: '); readln(mas);
end;
end;
sv:=0;
sr:=0;
kd:=0;
km:=0;
for i:=1 to n do
begin
with s[i] do
begin
if pol='М' then
begin
km:=km+1;
sv:=sv+mas;
end;
if pol='Ж' then
begin
kd:=kd+1;
sr:=sr+rost;
end;
end;
end;
sv:=sv/km;
sr:=sr/kd;
writeln('Средняя масса мальчиков= ',sv);
writeln('Средний рост девочек= ',sr);
max:=100;
for i:=1 to n do
begin
with s[i] do
if rost>max then
begin
max:=rost;
u:=i;
end;
end;
with s[u] do
writeln('Самый высокий = ',fam);
END.
4. Рост 20 учеников класса представлен в виде массива. Рост мальчиков условно задан отрицательными числами. Определить средний рост мальчиков и средний рост девочек.
Код Pascal:
Program fff;
Const
n = 20;
type
mas = array[1..n] of real;
var
M,D,m1,d1: integer;
a: mas;
i: byte;
begin
randomize;
for i:=1 to n do a[i] := Random(450)-300;
for i:=1 to n do
if a[i] > 0 then
begin
D := D + Trunc(a[i]);
d1 := d1 + 1;
end
else
begin
M := M + Trunc(a[i]);
m1 := m1 + 1;
end;
writeln ('Средний рост девушек:= ', D/d1:0:2);
writeln ('Средний рост мальчиков:= ', M/m1*-1:0:2);
end.
На основе данных примеров, если хоть немного разбираетесь в паскале без труда решите свою задачку. Удачи!