Судейский рейтинг по трем программам

Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 00:21, курсовая работа

Краткое описание

Обработку результатов по каждому из видов осуществлять в подпрограмме. Результаты соревнований фигуристов по одному из видов многоборья представлены оценками судей в баллах от 0 до 6. По результатам оценок судьи определяется место каждого участника у этого судьи. Места участников определяются далее по сумме мест, которые каждый участник занял у всех судей. Составить программу, определяющую по исходной таблице оценок фамилии и сумму мест участников в порядке занятых или мест.

Прикрепленные файлы: 1 файл

записка.doc

— 281.00 Кб (Скачать документ)

 

Белорусский Национальный Технический  Университет 

 

Кафедра «Материаловедение в машиностроении»

 

 

 

 

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

 

 

 к курсовому проекту 

по дисциплине

«Информатика»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнил                                                             Логвин В.Н.

 

                                                                       Гр. 104510  

 

Проверил                                                               Мельниченко В. В.

 

 

 

 

 

 

 

 

 

Минск 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 Список использованных источников


  1. Ставровский  А.Б. Турбо Паскаль 7.0. Учебник. – К.: Издательская группа BHV, 2000. – 400с.
  2. Бондарев В. М., Рублинецкий В. И., Качко Е. Г. Основы программирования , Феникс, 1997г. – 350 c.
  3. Пестриков В.М., Маслобоев А.Н. Составление программ в Turbo Pascal, основы программирования в среде Delphi – СПб.:БХВ-Петербург,    2005–   496с.:

    


Информация о работе Судейский рейтинг по трем программам