Здравствуйте! Помогите пожалуйста решить задачу по теме Паскаль : В группе определить самого высокого мальчика и самую маленькую девочку. - вопрос №1291214

12.12.14
1 ответ

Лучший ответ по мнению автора

Здравствуйте, Евгения.

Как пример вот вам простые задачки:

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.

На основе данных примеров, если хоть немного разбираетесь в паскале без труда решите свою задачку. Удачи!

12.12.14
Лучший ответ по мнению автора

Глеб Черняк

от 55 p.
Сейчас на сайте
Читать ответы

Олег Николаевич

от 50 p.
Читать ответы

Arturk16

от 50 p.
Эксперт месяца
Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store