Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Основные алгоритмические конструкции





Действие 2
Действие 1
Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (последовательные), разветвляющиеся и циклические.

Линейная алгоритмическая конструкция

Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i -го действия (шага) выполняется (i +1)-е действие (шаг), если i -е действие - не конец алгоритма (рис. 1).

 

Рис. 1. Линейный

алгоритм

Пример.

Ввод a, b
S=a+b
Начало
Вывод S
Конец
Выполнить сложение двух чисел. Опишем алгоритм сложения чисел на псевдокоде (алгоритмическом языке) и в виде блок-схемы (рис. 2).

Алгоритм на псевдокоде:

Начало

Ввод a, b

S=a+b

Вывод S

Конец

 

Рис. 2. Блок-схема алгоритма

сложения двух чисел

 

Упражнения для самостоятельной работы.

1. Вычислить периметр квадрата, площадь которого равна S.

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

3. Поменять местами значения двух переменных a и b.

4. Какое значение примет переменная d после выполнения фрагмента линейного алгоритма:

a =3, b =4, c =1, d =2,

c = a + b, d = b + c, a = b * b,

b = a - c, d = b * c.

3.2. Разветвляющаясяалгоритмическая конструкция

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

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

Алгоритм на псевдокоде:

Если условие

то действие 1

иначе действие 2

Все

Ложь (Нет)
Истина (Да)
Действие 1
Действие 2
Условие

Рис. 3. Полное ветвление

 

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

Алгоритм на псевдокоде:

Истина (Да)
Действие 1
Условие
Если условие

то действие 1

Все

 

 

Рис. 4. Неполное ветвление


Пример 1.

Вычислить значение функции

Опишем алгоритм вычисления значения функции y на псевдокоде и в виде блок-схемы (рис. 5).

Алгоритм на псевдокоде:

Начало

Ввод х

Если

то

иначе

Все

Вывод y

Конец

Да
Нет
Конец
Вывод y
Ввод х
y=x 2
Начало
y=x 3
x< 0

Рис. 5. Блок-схема алгоритма вычисления значения функции


Пример 2.

Даны два различных числа x и y. Наибольшее из двух значений x и y уменьшить на 0,5.

Опишем алгоритм задачи на псевдокоде и в виде блок-схемы (рис. 6).

Алгоритм на псевдокоде:

Начало

Ввод х, y

Если x > y

то x = x -0.5

иначе y = y -0.5

Все

Вывод x, y

Конец

Да
Нет
Конец
Вывод х, y
Ввод х, y
x = x -0.5
Начало
y=y -0.5
x>y

Рис. 5. Блок-схема алгоритма вычисления значения числа

Пример 3.

Решить квадратное уравнение .

Обозначим: коэффициенты квадратного уравнения a, b, c; дискрими-нант d и корни уравнения x (если d =0) и х 1, х 2 (если d >0).

Опишем алгоритм решения квадратного уравнения на псевдокоде и в виде блок-схемы (рис. 7).


 

Алгоритм на псевдокоде:

Начало

Ввод a, b, с

d = b * b -4* a * c

Если

то

Если d =0

то

Вывод х

иначе ,

Вывод х 1, х 2

Все

Иначе

Вывод "Корней нет"

Все

Конец

Нет
Нет
Конец
Корней нет
Ввод a, b, c
d=b2-4ac
Начало
Да
Да
d ³0
Вывод х1, х2
Вывод х
d =0

Рис. 7. Блок-схема алгоритма решения квадратного уравнения

Рассмотрим стандартный алгоритм поиска наибольшего (наименьшего) значения среди нескольких заданных. Основная идея алгоритма сводится к следующему: за наибольшее (наименьшее) принимаем значение любого из данных. Поочередно сравниваем оставшиеся данные с наибольшим (наименьшим). Если окажется, что очередное значение входного данного больше (меньше) наибольшего (наименьшего), то наибольшему (наименьшему) присваиваем это значение. Таким образом, сравнив все входные данные, найдем наибольшее (наименьшее) среди них. Алгоритм использует неполное ветвление.

Пример 4.

Нет
Нет
Ввод a, b, c
max=a
Начало
Да
max=b
b>max
Да
max = c
c > max
Вывод max
Конец
Заданы три числа. Найти значение наибольшего из них.

Обозначим: заданные числа а, b, с; результирующее наибольшее – тax.

Опишем алгоритм поиска наибольшего значенияна псевдокоде и в виде блок-схемы (рис. 8).

Алгоритм на псевдокоде:

Начало

Ввод a, b, с

max = a

Если b > max

то max = b

Все

Если c>max

то max = c

Все

Вывод max

Конец

Рис. 8. Блок-схема алгоритма поиска наибольшего значения

Упражнения для самостоятельной работы.

1. Вычислить значения функции y по значению x:

2. Даны три числа x, y, z. Найти max (x + y + z, xyz).

3. Даны два числа x и y (x ¹ y). Меньшее из этих двух чисел увеличить в 5 раз, а большее уменьшить в 2 раза.

Замечание. Описание алгоритма следует начинать с проверки неравенства чисел x и y.

4. Даны два числа x и y. Меньшее из двух значений переменных x и y заменить нулем, а в случае их равенства – заменить нулями оба.

Замечание. Описание алгоритма следует начинать с проверки равенства чисел x и y.

5. Заданы три числа x, y, z. Если x <0, то P задать как максимальное из y и z. Если x ³0, то Р задать как минимальное из y и z.

6. Какие значения примут переменные a и b в результате выполнения разветвляющего алгоритма, если начальные значения a =0.5, b =1.7.

Ввод a, b

Если a < b

то a = b

иначе b = a

Все

Вывод a, b







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.