Судейский рейтинг по трем программам
Курсовая работа, 03 Декабря 2013, автор: пользователь скрыл имя
Краткое описание
Обработку результатов по каждому из видов осуществлять в подпрограмме. Результаты соревнований фигуристов по одному из видов многоборья представлены оценками судей в баллах от 0 до 6. По результатам оценок судьи определяется место каждого участника у этого судьи. Места участников определяются далее по сумме мест, которые каждый участник занял у всех судей. Составить программу, определяющую по исходной таблице оценок фамилии и сумму мест участников в порядке занятых или мест.
Прикрепленные файлы: 1 файл
записка.doc
— 281.00 Кб (Скачать документ)
Белорусский Национальный Технический Университет
Кафедра «Материаловедение в машиностроении»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту
по дисциплине
«Информатика»
Выполнил
Проверил
Минск 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]<max then
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 Описание структуры программы.
Программа имеет не сложный набор процедур, которые выполняют требуемый расчет.
В программе задействованы
Переменная |
Описание |
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 Анализ данных и результатов.
Титульный лист программы:
Ввод количества участников и судей:
Выбор пользователя:
Результаты вычисления
6 Список использованных источников
- Ставровский А.Б. Турбо Паскаль 7.0. Учебник. – К.: Издательская группа BHV, 2000. – 400с.
- Бондарев В. М., Рублинецкий В. И., Качко Е. Г. Основы программирования , Феникс, 1997г. – 350 c.
- Пестриков В.М., Маслобоев А.Н. Составление программ в Turbo Pascal, основы программирования в среде Delphi – СПб.:БХВ-Петербург, 2005– 496с.: