Песни о Паскале | страница 134
D>i+1 = (D>i + S/D>i)/2
Так, при S=9 получим D>1=(1+9/1)/2= 5, D>2=(5+9/5)/2= 3.4 и так далее, пока абсолютная разность между двумя последовательными значениями D станет пренебрежимо мала. Функция MySQRT должна принять число и вычислить его корень с точностью 0.0001. Внутри функции напечатайте промежуточные значения D. Подсказка: для D>i и D>i+1 вам потребуются лишь две локальные переменные.
Ж) В тесто кладут четырех главных ингредиента: муку, сахар, яичный порошок и молоко. Все это смешивается в пропорции, заданной рецептом. Например, рецепт 100:5:7:500 означает, что на 100 граммов муки кладут 5 граммов сахара, 7 граммов яичного порошка и 500 граммов молока. У пекаря есть некоторое количество всех ингредиентов, и он хочет замесить из них максимально возможное количество теста, соблюдая рецепт. Ваша программа должна ввести:
• Рецепт – это 4 целых числа.
• Исходное количество ингредиентов – это 4 действительных числа.
Программа должна напечатать:
• Общее количество полученного теста с точностью два знака после точки.
• Остатки ингредиентов – 4 числа с точностью два знака после точки.
Глава 34
Структура программы
В этой главе мы рассмотрим структуру программы, и завершим тем самым боевое построение нашего войска, начатое в 32-й главе.
Управляющие структуры составляют основу языков программирования. Ключевых структур всего три:
• линейная последовательность – это естественный порядок выполнения операторов друг за другом, то есть слева направо и сверху вниз;
• альтернатива – выбор одного из двух или нескольких направлений исполнения операторов;
• цикл – повторное исполнение операторов до соблюдения некоторого условия.
Альтернатива и цикл представлены в Паскале несколькими операторами, из которых программист выбирает тот, что лучше подходит к решаемой задаче (рис. 77).
Итак, для организации альтернативы может быть использован один из трех операторов:
• неполный условный оператор IF-THEN;
• полный условный оператор IF-THEN-ELSE;
• оператор выбора CASE-OF-ELSE-END.
Для организации циклов программист также применяет три оператора:
• цикл с проверкой условия в конце REPEAT-UNTIL;
• цикл с проверкой условия в начале WHILE-DO;
• цикл со счетчиком FOR-TO-DO и FOR-DOWNTO-DO.
Обратите внимание на условия продолжения циклов WHILE-DO и REPEAT-UNTIL, – они взаимно противоположны! Первый из них выполняется, пока условие истинно, а второй – пока оно ложно.