Задания уровня 1


Упражнение 1.

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

1. Наберите текст программы:

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;
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);
end.

2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P11PR1

Задания уровня 2

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

Задания уровня 3

3. Известна информация о сотрудниках некоторого предприятия:
• фамилия, инициалы;
• год рождения;
• должность;
• стаж;
• оклад.
Сформировать таблицу, записав в нее известную информацию о каждом сотруднике. Создать поле «Зарплата», добавляя 10% к окладу, если стаж работы более 10 лет, и 15%, если более 20. Отсортировать таблицу в алфавитном порядке. Сохранить программу под именем P11PR4
4. Создайте массив записей, содержащий информацию о машинах:
• марка;
• год выпуска;
• цвет;
• номер;
Выведите на экран информацию о машинах черного цвета. Выведите на экран марки машин, номера которых начинаются на букву М. Упорядочьте записи в массиве по возрастанию года выпуска. Сохранить программу под именем P11PR4


Контрольные вопросы:
1. Понятие записи в Паскале.
2. Что называют комбинированным типом данных?
3. Как описывается комбинированный тип данных?
4. Назовите основные типы операций работы с записями.
5. С помощью какой процедуры производится прямой доступ к записям файла?
6. С помощью какого оператора осуществляется доступ к полям записи?