Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Задание 7. Работа с комбинированными типами данных




 

Составить список учебной группы, включающей 25 человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокуп­ность записей объединить в массив.

Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также упорядочить список студентов по среднему баллу и распечатать его.

 

program dz7;

type ev=record

alg:1..5;

ist:1..5;

evm:1..5;

end;

type student=record

fio: string;

birthdae:1965..1975;

date:1985..1995;

evaluation: ev;

sredniy: real;

end;

 

const count=11;

var

group:array[1..count] of student;

s1,t:student;

i,j,indexMin:integer;

sr: array [1..count] of real;

s: char;

function Average(s: student): real;

var max: integer;

begin

Average:=(s.evaluation.alg+s.evaluation.ist+s.evaluation.evm)/3;

end;

begin

s1.fio:='Иванов';

s1.birthdae:=1966;

s1.date:=1985;

s1.evaluation.alg:=5;

s1.evaluation.ist:=5;

s1.evaluation.evm:=3;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[1]:=s1;

s1.fio:='Петров';

s1.birthdae:=1970;

s1.date:=1988;

s1.evaluation.alg:=3;

s1.evaluation.ist:=4;

s1.evaluation.evm:=3;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[2]:=s1;

s1.fio:='Сидоров';

s1.birthdae:=1969;

s1.date:=1989;

s1.evaluation.alg:=3;

s1.evaluation.ist:=2;

s1.evaluation.evm:=5;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[3]:=s1;

s1.fio:='Гришин';

s1.birthdae:=1968;

s1.date:=1988;

s1.evaluation.alg:=5;

s1.evaluation.ist:=3;

s1.evaluation.evm:=4;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[4]:=s1;

s1.fio:='Третьяков';

s1.birthdae:=1972;

s1.date:=1990;

s1.evaluation.alg:=4;

s1.evaluation.ist:=5;

s1.evaluation.evm:=3;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[5]:=s1;

s1.fio:='Нестеров';

s1.birthdae:=1970;

s1.date:=1985;

s1.evaluation.alg:=4;

s1.evaluation.ist:=4;

s1.evaluation.evm:=4;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[6]:=s1;

s1.fio:='Третьяков';

s1.birthdae:=1966;

s1.date:=1985;

s1.evaluation.alg:=4;

s1.evaluation.ist:=5;

s1.evaluation.evm:=3;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[7]:=s1;

s1.fio:='Савельев';

s1.birthdae:=1966;

s1.date:=1986;

s1.evaluation.alg:=3;

s1.evaluation.ist:=3;

s1.evaluation.evm:=4;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[8]:=s1;

s1.fio:='Панов';

s1.birthdae:=1968;

s1.date:=1985;

s1.evaluation.alg:=4;

s1.evaluation.ist:=2;

s1.evaluation.evm:=2;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[9]:=s1;

s1.fio:='Рыбаков';

s1.birthdae:=1966;

s1.date:=1989;

s1.evaluation.alg:=4;

s1.evaluation.ist:=5;

s1.evaluation.evm:=4;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[10]:=s1;

s1.fio:='Воронов';

s1.birthdae:=1968;

s1.date:=1988;

s1.evaluation.alg:=4;

s1.evaluation.ist:=2;

s1.evaluation.evm:=3;

s1.sredniy:= (s1.evaluation.alg+s1.evaluation.ist+s1.evaluation.evm)/3;

group[11]:=s1;

{

with s1 do

begin

for i:=1 to count do

begin

writeln('ФИО:');

readln(fio);

writeln('дата рождения, дата поступления:');

readln(birthdae,date);

writeln('алгебра, история, ЭВМ');

with evaluation do readln (alg, ist, evm);

sredniy:= (evaluation.alg+evaluation.ist+evaluation.evm)/3;

group[i]:=s1;

end;

end;

}

writeln('-- до сортировки --');

for i:=1 to count do with group[i], group[i].evaluation do

begin

writeln('Фамилия: ',fio,', дата рождения: ',birthdae,', дата поступления: ',date);

writeln('средний бал: ',group[i].sredniy);

end;

for i:= 1 to count - 1 do

begin

indexMin:= i;

for j:= i + 1 to count do

begin

if Average(group[j]) <Average(group[indexMin]) then indexMin:= j;

end;

if i <> indexMin then

begin

t:= group[indexMin];

group[indexMin]:= group[i];

group[i]:= t;

end;

end;

writeln('-- после сортировки --');

for i:=1 to count do with group[i],group[i].evaluation do

begin

writeln('Фамилия: ',fio,', дата рождения: ',birthdae,', дата поступления: ',date);

writeln('средний бал: ',group[i].sredniy);

end;

end.

 

Результаты выполнения программы:

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 606 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2173 - | 2121 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.