Хелпикс

Главная

Контакты

Случайная статья





Практическая работа: «Структуры (комбинированный тип данных)».



Практическая работа: «Структуры (комбинированный тип данных)».

Задание: О каждом студенте известна следующая информация:

    • фамилия, инициалы;

    • год рождения;

    • группа;

    • отметка по математике;

    • отметка по истории;

    • отметка по ВТ;

    • отметка по статистике.

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

1. Наберите текст программы. 2. Проверьте работоспособность, правильность расчётов. 3. Перепишите задание и программу в тетрадь без ошибок. Отправьте учителю фото конспекта и набранную и выполненную программу: sanina_e_v@mail.ru

 

program stud;

uses crt;

Type tablica=record {Описание записи о каждом студенте}

name: string[15];

group: string[8];

god: integer;

vt, history, stat, math: byte;

sr_bal: real;

end;

var i,j,n: integer; a:tablica;

mas:array[1..30] of tablica; {Таблица - массив записей}

s_vt, s_history, s_stat, s_math: real; {Переменные для хранения средних значений по предметам}

begin

write('n='); readln(n); {Ввод количества записей (студентов)}

for i:=1 to n do {Ввод элементов массива записей}

with mas[i] do

begin

writeln('i=',i:4);

writeln('FIO');

readln(name);

writeln('Group');

readln(group);

writeln('Year');

readln(god);

writeln('Otsenki');

readln(vt,history,stat,math);

sr_bal:=(vt+history+stat+math)/4; {Вычисление среднего балла студента}

end;

s_vt:=0; s_history:=0; s_stat:=0; s_math:=0;

for i:=1 to n do {Вычисление среднего балла по каждому предмету}

begin

s_vt:=s_vt+mas[i].vt;

s_history:=s_history+mas[i].history;

s_stat:=s_stat+mas[i].stat;

s_math:=s_math+mas[i].math;

end;

s_vt:=s_vt/n;

s_history:=s_history/n;

s_stat:=s_stat/n;

s_math:=s_math/n;

for i:=1 to n do {Упорядочивание записей (фамилий) студентов в алфавитном порядке}

for j:=1 to n-1 do

if mas[j].name>mas[j+1].name then

begin

a:=mas[j];

mas[j]:=mas[j+1];

mas[j+1]:=a;

end;

clrscr;

write(' ':4, 'FIO',' ':4); {Вывод результатов}

write(' ':2, 'GROUP',' ':2);

write(' ':2, 'GOD',' ':2);

write(' ':5, 'OTSENKI',' ':5);

writeln('Sr/Bal');

for i:=1 to n do

with mas[i] do

begin

write(name:7);

write(' ',group:10);

write(' ',god:10);

writeln(' ',vt:6, ' ',history:3, ' ',stat:3, ' ',math:3, ' ',sr_bal:6:2);

end;

writeln('Sr.Bal:', ' ', s_vt:26:1, ' ', s_history:3:1, ' ', s_stat:3:1, ' ',s_math:3:1);

readln;

end.

 

Задание уровня 2 (Для сдающих экзамен)

1. Создайте массив записей, содержащий сведения об альбомах различных групп:
• название группы;
• название альбома;
• год выпуска;
• стиль.
Выведите на экран все альбомы в стиле pop и rock. Сохранить программу под именем P11PR2
2. О сотрудниках некоторого предприятия известно следующее:
• фамилия, инициалы;
• год рождения;
• должность;
• пол.
Сформировать таблицу, записав в нее известную информацию о каждом сотруднике. Вывести на печать информацию о количестве пенсионеров – женщин старше 55 лет и мужчин старше 60 лет.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.