Предмет: Информатика,
автор: crazycat2
Напишите пожалуйста программу в Pascal ))
Для некоторой группы учащихся (всего в группе 25 чел.) известны данные о скорости ввода текстовой информации с клавиатуры (количество введённых символов за 10 минут).
Требуется составить отчёт в следующем виде: напечатать фамилию и скорость ввода самого результативного учащегося; среднюю скорость ввода в данной группе; фамилии тех учащихся, скорость ввода которых ниже средней.
Ответы
Автор ответа:
0
PascalABC.Net
const
n=25; { число учащихся }
type
inform=record
fio:string;
kols:integer
end;
var
minf:array[1..n] of inform;
i,j,t:integer;
vs,v:real;
ts:string;
begin
{ ввод исходных и накопление суммы для среднего }
Writeln('Введите исходные данные');
t:=0;
for i:=1 to n do
With minf[i] do begin
Write(i:2,') Фамилия И.О. '); Readln(fio);
Write(i:2,') количество знаков '); Readln(kols);
t:=t+kols
end;
vs:=t/n/10;
{ сортировка по убыванию kols }
for i := 1 to n-1 do
for j := 1 to n-i do
if minf[j].kols < minf[j+1].kols then
begin
t := minf[j].kols; minf[j].kols:=minf[j+1].kols; minf[j+1].kols:=t;
ts := minf[j].fio; minf[j].fio:=minf[j+1].fio; minf[j+1].fio:=ts
end;
{ результаты }
Writeln('Самый результативный: ',minf[1].fio,' (',minf[1].kols/10:0:1,
' симв/мин)');
Writeln('Средняя скорость ввода составила ',vs:0:2,' симв/мин');
Writeln('Скорость ввода ниже средней имеют: ');
for i:=2 to n do begin
v:=minf[i].kols/10;
if v<vs then Writeln(minf[i].fio, v:0:1,' симв/мин)')
end
end.
Тестовое решение для 5 человек (было указано n=5):
Введите исходные данные
1) Фамилия И.О. Иванов И.И.
1) количество знаков 360
2) Фамилия И.О. Петров П.П.
2) количество знаков 410
3) Фамилия И.О. Сидоров С.С.
3) количество знаков 270
4) Фамилия И.О. Козлов К.К.
4) количество знаков 390
5) Фамилия И.О. Поляков П.П.
5) количество знаков 385
Самый результативный: Петров П.П. (41.0 симв/мин)
Средняя скорость ввода составила 36.30 симв/мин
Скорость ввода ниже средней имеют:
Иванов И.И.36.0 симв/мин)
Сидоров С.С.27.0 симв/мин)
const
n=25; { число учащихся }
type
inform=record
fio:string;
kols:integer
end;
var
minf:array[1..n] of inform;
i,j,t:integer;
vs,v:real;
ts:string;
begin
{ ввод исходных и накопление суммы для среднего }
Writeln('Введите исходные данные');
t:=0;
for i:=1 to n do
With minf[i] do begin
Write(i:2,') Фамилия И.О. '); Readln(fio);
Write(i:2,') количество знаков '); Readln(kols);
t:=t+kols
end;
vs:=t/n/10;
{ сортировка по убыванию kols }
for i := 1 to n-1 do
for j := 1 to n-i do
if minf[j].kols < minf[j+1].kols then
begin
t := minf[j].kols; minf[j].kols:=minf[j+1].kols; minf[j+1].kols:=t;
ts := minf[j].fio; minf[j].fio:=minf[j+1].fio; minf[j+1].fio:=ts
end;
{ результаты }
Writeln('Самый результативный: ',minf[1].fio,' (',minf[1].kols/10:0:1,
' симв/мин)');
Writeln('Средняя скорость ввода составила ',vs:0:2,' симв/мин');
Writeln('Скорость ввода ниже средней имеют: ');
for i:=2 to n do begin
v:=minf[i].kols/10;
if v<vs then Writeln(minf[i].fio, v:0:1,' симв/мин)')
end
end.
Тестовое решение для 5 человек (было указано n=5):
Введите исходные данные
1) Фамилия И.О. Иванов И.И.
1) количество знаков 360
2) Фамилия И.О. Петров П.П.
2) количество знаков 410
3) Фамилия И.О. Сидоров С.С.
3) количество знаков 270
4) Фамилия И.О. Козлов К.К.
4) количество знаков 390
5) Фамилия И.О. Поляков П.П.
5) количество знаков 385
Самый результативный: Петров П.П. (41.0 симв/мин)
Средняя скорость ввода составила 36.30 симв/мин
Скорость ввода ниже средней имеют:
Иванов И.И.36.0 симв/мин)
Сидоров С.С.27.0 симв/мин)
Похожие вопросы
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: mirvovsemmire28
Предмет: Химия,
автор: annadkmay5
Предмет: Математика,
автор: torbarov
Предмет: История,
автор: korolevaucom