Примеры решаемых задач

Пример 1. Составить программу, которая обрабатывает информацию о студентах (фамилия, номер группы, рейтинг):

а) вводит такую информацию;

б) выводит список студентов заданной группы;

в) выводит список студентов в порядке убывания рейтинга.

Пояснение: Для хранения данных будем использовать массив записей с информацией о студентах. (При решении этой задачи можно и не использовать тип запись, а написать программу, обрабатывающую три массива. Без использования типа Record трудно обойтись при обработке файлов – см. следующую тему.)

Программа:

Program Record_Student;

Uses Crt;

Const N = 100; { N - максимальное количество студентов }

Type Stud = Record {данные об одном студенте–запись из трех полей:}

Name: String; { фамилия}

Group: Integer; { номер группы}

Rating: Real { рейтинг }

End;

Students = Array [1..N] Of Stud; { данные обо всех студентах - }

{ это массив записей }

Var St: Students; { список студентов – массив записей }

K, M, L, Gr: Integer;

Pst: Stud; { промежуточная переменная, необходимая для того, }

{чтобы менять местами два элемента массива при его сортировке}

Begin

ClrScr;

{ а) Ввод данных о студентах }

Write (‘Сколько студентов ’);

Readln (M);

For K:= 1 To M Do

With St [K] Do { вводим все поля записи St[K] }

Begin

Write (‘Введите фамилию ’,K,’ студента ‘);

Readln (Name);

Write (‘Введите номер его группы ‘);

Readln (Group);

Write (‘Введите его рейтинг ‘);

Readln (Rating)

End;

{ б) Вывод списка заданной группы }

Write (‘Список какой группы требуется ’);

Readln (Gr);

Writeln(‘Список группы № ‘,Gr);

For K:= 1 To M Do { просматриваем весь список }

With St [K] Do

If Group = Gr { если номер группы студента равен требуемому}

Then Writeln (Name:20); { то печатаем его фамилию }

{ в) Сортировка студентов по их рейтингу }

For K:= 1 To M – 1 Do

For L:= K + 1 To M Do

If St[L]. Rating > St[K]. Rating

Then Begin

Pst:= St[L];

St[L]:=St[K];

St[K]:=Pst

End;

{ вывод отсортированного списка}

Writeln (‘Список студентов в порядке убывания рейтинга:’);

For K:= 1 To M Do

Writeln (Name:20, Group:5, Rating:7:2);

Readln

End.

Контрольные задания

13.1. Составить программу, которая обрабатывает информацию о

a.) книгах;

b.) товарах на складе;

c.) кинофильмах;

d.) школах города;

e.) факультетах университета;

f.) сотрудниках фирмы.

Информация об объекте должна представлять собой совокупность разнотипных полей (не менее четырех). Программа должна:

1. вводить информацию;

2. выводить информацию на экран;

3. позволять редактировать ее (т.е. изменять значения некоторых полей);

4. осуществлять поиск по нескольким признакам;

5. выполнять сортировку по нескольким полям.


Тема 13. Работа с файлами в языке Паскаль


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: