- 31 -
при тщательном и глубоком анализе условия задачи. Оценка, получаемая
участником олимпиады, зависит от того, сумел ли он их обнаружить и учесть
при составлении алгоритма или программы.
Известно правило, что ни одна, впервые составленная, программа не на-
чинает работать сразу, с первого раза. В программе могут быть допущены
ошибки при ее разработке
, при вводе с клавиатуры, поэтому программу при-
ходится «доводить до ума» уже на компьютере.
Поиск ошибок в сложной программе больше всего напоминает работу
Шерлока Холмса над запутанным делом или охоту на очень хитрого зверя.
Программист по крупицам собирает «улики», выдвигает различные версии
появления ошибки и организует для их проверки «следственные»
экспери-
менты, подстраивает ошибкам ловушку за ловушкой, устраивает на них об-
лавы, идет «по следам», выявляет подозрительные предписания и придумы-
вает для них проверки. Умение программировать заключается в том, чтобы
любую программу «заставить» работать.
РЕШЕНИЕ СОДЕРЖАТЕЛЬНЫХ ЗАДАЧ
Содержательные задачи, обычно на несколько арифметических и ал-
гебраических действий, берутся из задачников по алгебре для 5-6 классов. В
этих задачах требуется найти рабочую формулу, обеспечить ввод и вывод
вычисляемых величин. Исходные данные вводятся либо вместе с текстом
программы (операторы LET, DATA/READ), либо с клавиатуры (оператор
INPUT), а результаты выводятся на экран дисплея
с помощью команды
PRINT. Для примера возьмем задачу с коровами и лошадьми (11 кл., 1997г.).
Задача. Одна корова за сутки съедает A кг сена, одна лошадь – B кг.
Составить программу вычисления наибольшего числа коров, которых мож-
но прокормить совместно с L лошадьми в течение N дней. Сколько сена при
этом останется, если запас сена составляет P кг
?
Программа или алгоритм решения этой задачи основаны на аналитиче-
ском решении, как на обычном уроке математики, и вывод рабочей формулы
основывается на цепочке рассуждений:
1 лошадь за 1 день съедает В кг сена;
L лошадей за 1 день съедают BL кг сена;
L лошадей за N дней съедают BLN кг сена.
P-BLN – количество сена, предназначенного для кормления К коров в тече-
ние тех же N дней вместе с лошадьми. Учитывая, что одна корова за 1 день
съедает А кг сена, а за N дней она съедает AN кг сена, можно вычислить, на
сколько
коров этого остатка хватит. Это – частное от деления P-BLN на AN
(целая часть дроби): K=int
)(
NA
NLBP
⋅
. Может оказаться так, что этого сена