Основы алгоритмизации: Практическое пособие к контрольным работам по курсу «Информатика», страница 3

Решение. Высоту h и площадь S такого треугольника можно рассчитать по следующим формулам           

Следовательно, исходными данными, которые нужно ввести, являются здесь значения а и a, а результатами, подлежащими выводу – hи s. Схема алгоритма представлена на рис. 3.2.

 


Рис. 3.2. Схема алгоритма к примеру 3.2.

4.  Разветвляющийся алгоритм

Пример 4.1.  Даны численные значения двух величин  aиb. Если b=0, то найти наименьшее из aилиb;если b <0, то найти наибольшее из aилиb. В противном случае, каждое значение увеличить на 20%.

Решение. Нахождение наименьшего (наибольшего) из двух чисел осуществим их простым сравнением a<b (или a>b), причем для упрощения задачи будем считать, что если числа равны, то любое из них можно принять за минимальное. Схема алгоритма приводится на рис.4.1.

Рис.4.1. Схема алгоритма примера 4.1.

           Замечание. Для выбора направления решения по условиям b=0, b<0 иb>0 вместо структуры "ветвление" можно было воспользоваться структурой "выбор".

          Пример 4.2. Вычислить функцию

Кроме значения функции вывести номер формулы, по которой производился расчет.

          Решение. Обозначим номер формулы, по которой производился расчет через n. В схеме алгоритма предусмотрим присваивание n значения 1,2 или 3, в зависимости от того, по какой формуле производился расчет. Выбор расчетной формулы проведем на основе следующего анализа:

 


 
             

Схема алгоритма представлена на рис.4.2

     5. Циклические алгоритмы

5.1. Организация циклов с предусловием и постусловием

Как уже отмечалось в разделе 2, в типовую структуру цикл входит две разновидности: цикл с предусловием и цикл с постусловием. Обе они реализуются одним и тем же набором символов (рис.5.1.), которые выполняют следующие действия:

§  – задание начального значения параметру цикла;

§  – проверка условия: для а) – возможности выполнения цикла; для б) – возможности выхода из цикла;

§  – рабочая часть цикла (тело цикла);

§  – блок модификации (изменения) параметра цикла; если этот блок в схеме будет пропущен, то, как правило, возникает ситуация, когда цикл будет выполняться бесконечно долго, т.к. значение параметра цикла остается неизменным. Говорят, что в этом случае имеет место бесконечный цикл.

Как видно из приведенных схем, в случае а) сначала проверяется условие: можно ли выполнить цикл, и, если ответ положительный, то цикл выполняется. В случае б) сначала выполняется цикл, а затем проверяется условие: можно ли выйти из цикла, и, если ответ положительный, то работа цикла завершается.

          Рис.4.2. Схема алгоритма примера 4.2.

а)                                     б)

Рис.5.1. Организация цикла: а) – с предусловием; б) – с постусловием

          В отличие от цикла с предусловием, цикл с постусловием выполняется хотя бы один раз, каким бы не было задано начальное значение параметра цикла, а вот цикл с предусловием при неверно заданном начальном значении параметра может быть не выполнен ни разу.

          5.2. Табуляция функции одной переменной

          Пример 5.1. Табулировать функцию  на  заданном отрезке [xнач.,xкон.] с шагом Δx.  Результаты оформить в виде таблицы

Подпись: Х	y
 ………
……………
……………
……………
	……………..
………………
………………
………………

} Заголовок                        

   Основная

     часть

} подножие

Решение. Табулировать функцию – значит рассчитать ряд ее значений в зависимости от значений аргумента x, который принимает значения:

           Можно заранее определить, сколько значений аргумента и функции нужно будет вывести в таблицу, если применить для подсчета формулу

,

где [ ] – означает, что у полученного в результате деления числа нужно выделить целую часть. Таким образом, нужно n раз повторить одни и те же действия: вычислять  и выводить в таблицу x и y. Есть смысл для этой цели использовать циклический алгоритм, построенный на базе цикла с предусловием (рис.5.1(а)) (хотя можно и с постусловием). Параметром цикла будет являться переменная x, значения которой на каждом шаге цикла будут

вычисляться следующим образом: .

Проиллюстрируем постановку этой задачи графически (рис.5.2.).

Чтобы оформить таблицу необходимо учесть, что такие элементы, как заголовок и  подножие таблицы выводятся только один раз (т.е. вне цикла), а вот основная часть, состоящая из отдельных строк, содержащих значения xиy -  внутри цикла. С учетом этого получим схему программы, приведенную на рис.5.3.