- •Методические указания по выполнению домашних заданий для студентов 1 курса специальности иу-10.
- •Введение.
- •Домашнее задание 1. Практикум 6. Приближенные вычисления.
- •Задача 6.1.
- •Var a, b, c : real;
- •Iter : longword;
- •Inc(iter);
- •Задания.
- •Задача 6.2.
- •Inc(n); inc(iter);
- •Задания.
- •Практикум 7. Процедурные типы.
- •Задача 7.1.
- •Var a, b, X, dx, y1, y2, s1, s2 : real;
- •Var a, b, X, dx, y1, y2, s1, s2 : real;
- •Inc(iter);
- •Задания.
- •Задача 7.2.
- •Var s1, s2 : real;
- •Задания.
- •Домашнее задание 2. Практикум 13. Типизированные файлы.
- •Задача 13.1.
- •Var I : word;
- •Var I, j : word; buf : tSportMan;
- •If fSort(a[I], a[j]) then
- •Var I : word;
- •Var I : word;
- •Var aHi : Ta; Var nHi : word);
- •Var I : word;
- •Задания.
- •Домашнее задание 3. Практикум 18. Использование объектной технологии для построения движущихся фигур.
- •X, y : real;
- •2*T0.X-border, 2*t0.Y-border);
- •X3, y3 : real;
- •X1, y1, x2, y2, x3, y3 : real;
- •Inherited Init(fx0, fy0, fmx, fcnv);
- •Var t : array[1..3] of tPoint; I : byte;
- •Var t0 : tPoint; tc : trPoint; tri:cTri;
- •0,0, 1,0, 0,1, Tc, clRed);
- •Var I : byte; r, a : real;
- •Var t0 : tPoint; tc : trPoint;
- •0,0, 1,0, 0,1, Tc, clRed);
- •Var I : word;
- •Var dx : real; tr : trPoint; tp: tPoint; I : word;
- •Inherited Init(fx0, fy0, fmx, fcnv);
- •Var dx : real;
- •Var t : array[1..3] of tPoint; tr : trPoint;
- •I : byte;
- •Var dx : real;
- •Var list : cList;
- •Var I : word;
Var I, j : word; buf : tSportMan;
Begin
for i:=1 to n-1 do
for j:=i to n do
If fSort(a[I], a[j]) then
begin
buf:=a[i]; a[i]:=a[j]; a[j]:=buf;
end;
End;
// Критерий сортировки по полю FIO.
Function SortFIO(r1, r2 : TSportMan) : Boolean;
Begin
if r1.FIO>r2.FIO then Result:=True else Result:=false;
End;
// Критерий сортировки по полю Time.
Function SortTime(r1, r2 : TSportMan) : Boolean;
Begin
if r1.Time>r2.Time then Result:=True else Result:=false;
End;
// Функция подсчета суммы баллов на трех рубежах.
Function SumB(r : TSportMan) : byte;
Begin Result:=r.bh+r.bm+r.bl; End;
// Критерий сортировки по сумме баллов.
Function SortBall(r1, r2 : TSportMan) : Boolean;
Begin
if SumB(r1)>SumB(r2) then Result:=True else Result:=false;
End;
// Среднее арифметическое времени на дистанции.
Function AverTime(a : Ta; n : word) : real;
Var I : word;
Begin
result:=0;
for i:=1 to n do
result:=result+a[i].Time;
result:=result/n;
End;
// Среднее арифметическое суммы баллов.
Function AverBall(a : Ta; n : word) : real;
Var I : word;
Begin
result:=0;
for i:=1 to n do
result:=result+SumB(a[i]);
result:=result/n;
End;
// Процедура формирования массива спортсменов, чьи
// результаты выше средних.
Procedure Atop(a : Ta; n : word; aT, aB : real;
Var aHi : Ta; Var nHi : word);
Var I : word;
Begin
nHi:=0;
for i:=1 to n do
if (a[i].Time<at) and (SumB(a[i])>aB) then
begin inc(nHi); aHi[nHi]:=a[i]; end;
End;
// Глобальные переменные и основная программа.
Var a, aHi : Ta;
SportMan : TSportMan;
ns, nHi : word;
fs : File of TSportMan;
ch : char;
aT, aB : real;
BEGIN
AssignFile(fs, 'Biathlon.dat');
Reset(fs); Seek(fs, FileSize(fs));
write('Input data? y/n '); Readln(ch);
if ch <> 'n' then
while True do
begin
writeln('Continue Input? No: Enter/'+
'Yes: Any String');
with SportMan do
begin
write('FIO = '); readln(FIO);
if FIO = '' then Break;
write('Club = '); readln(Club);
write('Time (min.sec) ='); readln(Time);
write('bh bm bl (0..5)='); readln(bh, bm, bl);
end;
write(fs, SportMan);
end;
CloseFile(fs);
// Чтение из файла и формирование массива.
Reset(fs);
ns:=0;
while not EoF(fs) do
begin
inc(ns);
read(fs, a[ns]);
end;
CloseFile(fs);
// Вывод файла.
OutA('Results', a, ns);
// Сортировка по полю FIO.
SortR(a, ns, SortFIO);
OutA('Results Sort FIO', a, ns);
// Сортировка по полю TIME.
SortR(a, ns, SortTime);
OutA('Results Sort Time', a, ns);
// Сортировка по сумме баллов.
SortR(a, ns, SortBall);
OutA('Results Sort Ball', a, ns);
// Формирование и вывод массива спортсменов, имеющих
// результаты выше средних значений.
aT:=AverTime(a, ns);
aB:=AverBall(a, ns);
writeln(' Aver Time=', aT:7:3,
' Aver Ball=', aB:7:3);
Atop(a, ns, aT, aB, aHi, nHi);
OutA('Results Half Hi ', aHi, nHi);
readln;
END.
Задания.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, средний балл успеваемости у которых выше 3.5.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести названия фильмов по возрастанию времени сеанса, на которые есть билеты.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, успеваемость у которых не ниже 4 по всем предметам.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести в алфавитном порядке по названию фильма сведения о сеансах, на которых нет билетов.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о неуспевающих студентах, у которых есть хотя бы одна двойка.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, имеющим хотя бы одну тройку при среднем балле 3.5 и выше.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести названия фильмов по возрастанию времени сеанса, на которые есть билеты.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести в алфавитном порядке по названию фильма сведения о сеансах, на которых нет билетов.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, имеющим только одну тройку.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести названия фильмов по возрастанию времени сеанса, на которые есть билеты.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах с наличием свободных мест в заданный (с клавиатуры) аэропорт назначения в порядке возрастания времени вылета.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах, на которые билеты проданы в алфавитном порядке по аэропорту назначения.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести в алфавитном порядке по названию фильма сведения о сеансах, на которые есть билеты, после заданного времени.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах, на которые есть билеты в алфавитном порядке по аэропорту назначения.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах, на которые есть билеты в порядке возрастания времени вылета.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах, на которые есть не менее 10 билетов в алфавитном порядке по аэропорту назначения.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести в алфавитном порядке по названию фильма сведения о сеансах, на которые есть билеты, после заданного времени.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах до заданного (с клавиатуры) аэропорта, на которые есть билеты по возрастанию времени вылета.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах до заданного (с клавиатуры) аэропорта, на которые есть билеты по возрастанию времени вылета.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах до заданного (с клавиатуры) времени, на которые есть билеты по возрастанию времени вылета.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах после заданного (с клавиатуры) времени, на которые есть билеты по возрастанию времени вылета.
Создать пополняемый файл, содержащий расписание вылета самолетов с полями: <Аэропорт назначения>; <время вылета (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Выдать сведения о всех рейсах в алфавитном порядке по аэропорту назначения в заданном (с клавиатуры) интервале времени.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, средний балл успеваемости у которых выше 3.5.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести названия фильмов по возрастанию количества нераспроданных билетов с указанием времени сеанса..
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, успеваемость у которых не ниже 4 по всем предметам.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о неуспевающих студентах, у которых есть хотя бы одна двойка.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, имеющим хотя бы одну тройку при среднем балле 3.5 и выше.
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, имеющим хотя бы одну тройку.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести названия фильмов по возрастанию количества нераспроданных билетов с указанием времени сеанса..
Создать пополняемый файл, содержащий сведения об успеваемости студентов с полями: <Фамилия И.О. студента>; <индекс группы>; <оценка по математике>; <оценка по физике>; <оценка по химии>. Вывести в алфавитном порядке по фамилиям сведения о студентах, имеющим только одну тройку.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести в алфавитном порядке по названию фильма сведения о сеансах, на которые есть билеты.
Создать пополняемый файл, содержащий сведения о расписании сеансов кинофильмов в кинотеатре с полями: <Название фильма>; <время сеанса (REAL формат “час.мин”, например 11.40)>; <количество свободных мест>. Вывести названия фильмов по возрастанию времени сеанса, на которые есть билеты.