Разработка программы для обработки результатов соревнований по фигурному катанию
После запуска программы будет выведен титульный лист. После нажатия клавиши Enter программа вступит в цикл решения задачи. Белорусский Национальный Технический Университет Кафедра «Материаловедение в машиностроении». Бондарев В. М., Рублинецкий В. И., Качко Е. Г. Основы программирования, Феникс, 1997 г. — 350 c. Ставровский А. Б. Турбо Паскаль 7.0. Учебник. — К.: Издательская группа BHV, 2000… Читать ещё >
Разработка программы для обработки результатов соревнований по фигурному катанию (реферат, курсовая, диплом, контрольная)
Белорусский Национальный Технический Университет Кафедра «Материаловедение в машиностроении»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к курсовому проекту по дисциплине
«Информатика»
Выполнил Логвин В.Н.
Гр. 104 510
Проверил Мельниченко В. В.
Минск 2012 г.
1. Постановка задачи Составить программу для обработки результатов соревнований по фигурному катанию, проводившихся по трем видам многоборья (обязательная, короткая и произвольная).
Обработку результатов по каждому из видов осуществлять в подпрограмме. Результаты соревнований фигуристов по одному из видов многоборья представлены оценками судей в баллах от 0 до 6. По результатам оценок судьи определяется место каждого участника у этого судьи. Места участников определяются далее по сумме мест, которые каждый участник занял у всех судей. Составить программу, определяющую по исходной таблице оценок фамилии и сумму мест участников в порядке занятых или мест.
Примечание: число участников не более 15, число судей не более 10.
2. Текст Pascal — программы
uses crt;
var
i, j, k, n, m, v, pr, max, poz, per, nom: integer;
put, s: string;
mest:array[1.15,1.10] of byte;
ms:array[1.15] of integer;
y4as:array[1.15] of string;
bal:array[1.15,1.10] of byte;
zan:array[1.10] of boolean;
t:text;
procedure tityl;
begin
clrscr;
gotoxy (27,10);
writeln ('KYRSOVOI PROEKT PO INFORMATIKE');
gotoxy (35,25);
writeln (' Minsk 2012');
readln;
clrscr;
end;
procedure meny;
begin
clrscr;
write ('Koli4estvo y4astnikov: ');
readln (n);
write ('Koli4estvo sydei: ');
readln (m);
writeln;
writeln ('V6iberite ny}I{n6Ii pynkt:');
writeln ('1. Rezyl''tat6I obyazatel''noi programm6I.');
writeln ('2. Rezyl''tat6I korotkoi programm6I.');
writeln ('3. Rezyl''tat6I proizvol''noi programm6I.');
writeln ('4. V6Iiti');
readln (v);
if v=4 then halt;
end;
procedure rez;
begin
randomize;
for i:=1 to 3 do
begin
str (i, s);
put:='d:'+s+'.txt';
assign (t, put);
rewrite (t);
for j:=1 to n do
begin
for k:=1 to m do write (t, random (7),' ');
writeln (t);
end;
close (t);
end;
end;
procedure ras4_viv;
begin
str (v, s);
put:='d:'+s+'.txt';
assign (t, put);
reset (t);
for j:=1 to n do for k:=1 to m do read (t, bal[j, k]);
for i:=1 to m do
begin
for j:=1 to n do
begin
max:=-1;
for k:=1 to n do if (bal[k, i]>=max)and (zan[k]=false) then
begin
max:=bal[k, i];
poz:=k;
pr:=1;
end;
if pr=1 then
begin
zan[poz]: =true;
inc (nom);
mest[poz, i]:=nom;
pr:=0;
end;
end;
for j:=1 to m do zan[j]: =false;
nom:=0;
end;
close (t);
for i:=1 to n do for j:=1 to m do ms[i]: =ms[i]+mest[i, j];
for i:=1 to n do
begin
str (i, s);
y4as[i]: ='Y4astnik '+s;
end;
for i:=1 to n-1 do
begin
max:=ms[i];
pr:=0;
for j:=i+1 to n do if ms[j]
begin
max:=ms[j];
poz:=j;
pr:=1;
end;
if pr=1 then
begin
per:=ms[poz];
ms[poz]:=ms[i];
ms[i]:=per;
s:=y4as[poz];
y4as[poz]:=y4as[i];
y4as[i]:=s;
pr:=0;
end;
end;
writeln ('Rezyl''tat6I sorevnovanii (mesto — y4enik):');
for i:=1 to n do writeln (i,'. ', y4as[i]);
end;
begin
tityl;
meny;
rez;
ras4_viv;
end.
3. Описание структуры программы
Программа имеет не сложный набор процедур, которые выполняют требуемый расчет.
программа pascal данные обработка
В программе задействованы следующие переменные и массивы:
Переменная | Описание | |
i, j, k | Переменные-счетчики | |
n, m | Количество участников и судей соответственно | |
V | Выбор пользователя | |
pr | Проверочная переменная | |
max | Переменная для отыскания максимального места | |
poz | Переменная-позиция | |
nom | Место участника | |
put, s | Текстовые переменные для создания имен файлов 3-х видов соревнований | |
Mest | Массив распределение мест у судей | |
Ms | Массив итоговых мест | |
Y4as | Строковый массив с именами участников | |
bal | Массив баллов судей | |
Zan | Проверочный массив | |
t | Текстовая переменная | |
После запуска программы будет выведен титульный лист. После нажатия клавиши Enter программа вступит в цикл решения задачи.
Для работы программы нужно ввести следующие данные: количество участников многоборья и количество судей. Далее программа выведет список соревнований. При выборе пунктов 1 — 3 будет произведен расчет. При выборе пункта 4 программа завершит работу.
Данные соревнований (баллы каждого участника) будут созданы с помощью генератора случайных чисел и занесены в текстовые файлы.
После выбора вида соревнований программа считает данные результаты из файла и произведет их оценку. Далее на экран будет выведена информация о местах.
После нажатия клавиши Enter программа завершиться.
4. Блок-схема программы
Процедура tityl
Процедура meny
Процедура rez
Процедура ras4_viv
Основная программа
5. Анализ данных и результатов
Титульный лист программы:
Ввод количества участников и судей:
Выбор пользователя:
Результаты вычисления:
Список использованных источников
1. Ставровский А. Б. Турбо Паскаль 7.0. Учебник. — К.: Издательская группа BHV, 2000. — 400с.
2. Бондарев В. М., Рублинецкий В. И., Качко Е. Г. Основы программирования, Феникс, 1997 г. — 350 c.
3. Пестриков В. М., Маслобоев А. Н. Составление программ в Turbo Pascal, основы программирования в среде Delphi — СПб.: БХВ-Петербург, 2005; 496с.