
Вопрос задан 28.06.2019 в 19:57.
Предмет Информатика.
Спрашивает Смирнов Евгений.
Создать файл содержащий структуру записи человек: пол, имя, рост. Вывести на экран средний женский
рост и имя самого высокого мужчины

Ответы на вопрос

Отвечает Друченко Миша.
Const
gend = ['м', 'ж'];
type
tMan = record
gender: char;
fio: string;
height: integer
end;
var
man: tMan;
max1, max2: integer;
mfio: string;
f: file;
begin
{ Заполнение файла }
Assign(f, 'manfile.txt');
Rewrite(f);
Writeln('Введите через Enter пол (м/ж), фамилию и рост в см');
Writeln('Для отказа введите 0');
repeat
Readln(man.gender);
if man.gender in gend then
begin
Readln(man.fio);
Readln(man.height);
Write(f, man);
Writeln('Данные приняты, продолжайте')
end
until not (man.gender in gend);
Close(f);
{ Работа с файлом }
Assign(f, 'manfile.txt');
Reset(f);
max1 := 0; max2 := 0;
while not Eof(f) do
begin
Read(f, man);
with man do
if (gender = 'м') and (max1 < height) then
begin
max1 := height;
mfio := fio
end
else if (gender = 'ж') and (max2 < height) then max2 := height;
end;
Writeln('Самый высокий- ', mfio, ', рост самой высокой равен ', max2);
Close(f);
end.
Тестовое решение:
Введите через Enter пол (м/ж), фамилию и рост в см
Для отказа введите 0
м
Иванов И.И.
176
Данные приняты, продолжайте
ж
Егорова К.С.
169
Данные приняты, продолжайте
ж
Старова Г.К.
168
Данные приняты, продолжайте
м
Минкин Р.Т.
179
Данные приняты, продолжайте
0
Самый высокий- Минкин Р.Т., рост самой высокой равен 169
gend = ['м', 'ж'];
type
tMan = record
gender: char;
fio: string;
height: integer
end;
var
man: tMan;
max1, max2: integer;
mfio: string;
f: file;
begin
{ Заполнение файла }
Assign(f, 'manfile.txt');
Rewrite(f);
Writeln('Введите через Enter пол (м/ж), фамилию и рост в см');
Writeln('Для отказа введите 0');
repeat
Readln(man.gender);
if man.gender in gend then
begin
Readln(man.fio);
Readln(man.height);
Write(f, man);
Writeln('Данные приняты, продолжайте')
end
until not (man.gender in gend);
Close(f);
{ Работа с файлом }
Assign(f, 'manfile.txt');
Reset(f);
max1 := 0; max2 := 0;
while not Eof(f) do
begin
Read(f, man);
with man do
if (gender = 'м') and (max1 < height) then
begin
max1 := height;
mfio := fio
end
else if (gender = 'ж') and (max2 < height) then max2 := height;
end;
Writeln('Самый высокий- ', mfio, ', рост самой высокой равен ', max2);
Close(f);
end.
Тестовое решение:
Введите через Enter пол (м/ж), фамилию и рост в см
Для отказа введите 0
м
Иванов И.И.
176
Данные приняты, продолжайте
ж
Егорова К.С.
169
Данные приняты, продолжайте
ж
Старова Г.К.
168
Данные приняты, продолжайте
м
Минкин Р.Т.
179
Данные приняты, продолжайте
0
Самый высокий- Минкин Р.Т., рост самой высокой равен 169


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili