В некотором вузе абитуриенты проходили предварительное тестирование, по результатам...

0 голосов
143 просмотров

В некотором вузе абитуриенты проходили предварительное тестирование, по результатам которого они могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тестирование проводится по трём предметам, по каждому предмету абитуриент может набрать от 0 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из трёх предметов, причём сумма баллов должна быть не менее 140. На вход программы подаются сведения о результатах предварительного тестирования. Известно, что общее количество участников тестирования не превосходит 500. В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат: <Фамилия> <Имя> <Баллы> Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов, <Баллы> – строка, содержащая два целых числа, разделенных пробелом – баллы, полученные на тестировании по каждому из трёх предметов. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом. Пример входной строки: Романов Вельямин 48 39 55 Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, допущенных к сдаче экзаменов в первом потоке. При этом фамилии должны выводиться в алфавитном порядке.


Информатика (19 баллов) | 143 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Uses crt;
type oc=record
       per,bt,tr:integer;
end;
ab=record
fam,im:string;
ocen:oc;
end;
var b:array [1..50] of ab;
l:ab;
i,n,g,k,h:integer;
begin
clrscr;
writeln ('введи количество абитуриентов');
readln (n);
Writeln ('Вводи фамилии, имена и 3 оценки');
for i:=1 to n do
with b[i] do
begin
readln (fam);
readln (im);
readln (ocen.per,ocen.bt,ocen.tr);
end;
clrscr;
for j:=1 to n do
for i:=1 to n-1 do
if b[i].fam>b[i+1].fam then
begin
l:=b[i];
b[i]:=b[i+1];
b[i+1]:=l;
end;
writeln ('Список всех аббитуриентов:');
for i:=1 to n do
writeln (b[i].fam,' ',b[i].im,' ',b[i].ocen.per,' ',b[i].ocen.bt,' ',b[i].ocen.tr);
writeln ('Список допущенных аббитуриентов');
for i:=1 to n do
with b[i] do
begin
with ocen do
if (per>30) and (bt>30) and (tr>30) and (per+bt+tr>140) then writeln (fam,' ',im,' ',ocen.per,' ',ocen.bt,' ',ocen.tr);
end;
readln;
end.

(844 баллов)
0

а это на Бейсике?

0

это паскаль

0

у вас так замудренно, в школы мы пишем на много проще

0

Я в техникуме на техника-программиста учусь. Как нас научили, так я тут и пишу

0

ммм...понятно)