Лекции.Орг


Поиск:




Выбор метода решения и проектирование. Введем обозначения: I – номер команды (I принимает целочисленные значения из интервала от 1 до 3), j – номер участника (j принимает целочисленные значения из




Введем обозначения: I – номер команды (I принимает целочисленные значения из интервала от 1 до 3), j – номер участника (j принимает целочисленные значения из интервала от 1 до 10), tji – время, за которое пробежал дистанцию j-й участник I-й команды. Для вычисления si – времени, с которым подошла к финишу I-я команда необходимо просуммировать результаты всех десятерых ее участников:

. (8.1.)

Наиболее подходящей (из изученных нами) структурой для хранения результатов каждого участника представляется двумерный массив, у которого первый индекс – номер команды, второй – номер участника. Результаты команд удобнее всего хранить в одномерном массиве, индексированном по номеру команды.

Первая проблема, с которой придется столкнуться – это ввод двумерного массива. Возможны два подхода, зависящие от того, какую форму имеет протокол соревнований.

1) Протоколы составляются для каждой команды отдельно и обрабатываются последовательно. Сначала вводятся все 10 результатов участников первой команды в соответствии с первым протоколом. Завершив эту операцию, переходим к вводу результатов участников второй команды в соответствии со вторым протоколом, затем третей. Фрагмент блочной схемы, организующий ввод данных по предложенной схеме показан на рисунке 8.3 а и реализует построчный ввод матрицы.

2) Отдельные протоколы не составляются, ведется единый сводный протокол, отражающий результаты в таблице, сгруппированной по номерам участников и командам. В этом случае сначала вводятся результаты участников, идущих под первым номером для каждой из команд. В соответствии с условием задачи таких участников трое. Затем точно также вводятся результаты вторых номеров, затем – третьих, четвертых, пятых и т.д., до тех пор, пока не будут введены результаты последних троих соперников, идущих под номером 10. Фрагмент блочной схемы, организующий ввод данных по предложенной схеме показан на рисунке 8.3 б и реализует ввод матрицы по столбцам.

Право на существование имеет как первый, так и второй подход: результаты ввода будут идентичными. Реализации будут отличаться на уровне организации удобного пользовательского интерфейса.

После того, как массив исходных данных введен, можно приступить к расчетам по формуле (8.1). Здесь уже выбор варианта перебора элементов матрицы не зависит от требований интерфейса. Мы должны вычислять суммы для каждой из трех команд, поэтому в качестве внешнего цикла следует использовать тот, параметром которого является номер команды. Блочная схема алгоритма решения задачи 8.4. представлена на рисунке 8.4.

 

Текст программы [10]:

program Сompetitions;

var

I,J:Integer;

S:array[1..3] of Real;

T:array[1..3,1..10] of Real;

begin

for I:=1 to 3 do

begin

WriteLn(‘Команда N ’,I);

for J:=1 to 10 do

begin

Write(‘Время ’,J,‘-го участника? ’);

ReadLn(T[I,J]);

end;

end;

for I:=1 to 3 do

begin

S[I]:=0;

for J:=1 to 10 do

S[I]:=S[I]+T[I,J];

end;

for I:= 1 to 3 do

Write(‘Время ’,I,‘-й команды ’,S[I]);

end.

Задание 8.5.

Постановка задачи

Заполнить квадратную матрицу A порядка n таким образом, чтобы выше главной диагонали располагались нули, ниже – единицы, а по главной диагонали – двойки (рисунок 8.5).

 





Поделиться с друзьями:


Дата добавления: 2016-12-29; Мы поможем в написании ваших работ!; просмотров: 344 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Люди избавились бы от половины своих неприятностей, если бы договорились о значении слов. © Рене Декарт
==> читать все изречения...

1025 - | 840 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.