Скачать презентацию АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ Алгоритм линейной структуры Линейным называется Скачать презентацию АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ Алгоритм линейной структуры Линейным называется

Л3_Алгоритмические конструкции.ppt

  • Количество слайдов: 30

АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

Алгоритм линейной структуры Линейным называется такой алгоритмический процесс, при котором все этапы решения задачи Алгоритм линейной структуры Линейным называется такой алгоритмический процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов. Для линейной структуры характерно, что порядок выполнения этапов не зависит n ни от исходных данных, n ни от результатов выполнения предыдущих этапов.

Пример: Этап 1. n Вычислить высоту треугольника, опущенную на сторону а, по известным значениям Пример: Этап 1. n Вычислить высоту треугольника, опущенную на сторону а, по известным значениям длин сторон a, b, c. n Входными данными являются длины сторон треугольника a, b, c (вещественного типа). n Выходным данным является значение высоты треугольника hа, опущенной на сторону а (вещественного типа).

Этап 2. Математическое описание решения задачи. Площадь треугольника можно вычислить по формуле (1) или Этап 2. Математическое описание решения задачи. Площадь треугольника можно вычислить по формуле (1) или по формуле Герона , (2) где ha – высота, опущенная на сторону a; a, b, c – длины сторон; p = (a+b+c)/2 – полупериметр треугольника.

Из выражений (1) и (2) получаем формулу для вычисления высоты треугольника: (3) Математическое описание Из выражений (1) и (2) получаем формулу для вычисления высоты треугольника: (3) Математическое описание решения задачи выполнено.

Этап 3. Разработка алгоритма решения задачи. Словесное описание алгоритма решения 1. Запросить значения длин Этап 3. Разработка алгоритма решения задачи. Словесное описание алгоритма решения 1. Запросить значения длин сторон треугольника a, b, c. 2. Присвоить переменной р значение полупериметра треугольника p : = (a+b+c)/2 3. Присвоить переменной h значение высоты треугольника, опущенной на сторону а: 4. Сообщить значение высоты треугольника h.

Свойства команды присваивания: n Пока переменной не присвоено значение, она остается неопределенной (не положа Свойства команды присваивания: n Пока переменной не присвоено значение, она остается неопределенной (не положа не берут) n Значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующей команды присваивания этой переменной n Новое значение, присвоенное переменной, заменяет (затирает) ее предыдущее значение.

Графическое описание алгоритма. начало А Ввод a, b, c Вывод h А конец Графическое описание алгоритма. начало А Ввод a, b, c Вывод h А конец

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

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

Пример: Этап 1. n Найти корни квадратного уравнения вида ax 2+bx+c=0. n Входными данными Пример: Этап 1. n Найти корни квадратного уравнения вида ax 2+bx+c=0. n Входными данными являются коэффициенты a, b, c (вещественного типа) при степенях х. n Выходными данными являются значения корней Х 1, Х 2 (вещественного типа) или сообщение о невозможности решения.

Этап 2. Математическое описание решения задачи. Решение уравнения зависит от значений коэффициентов а, b, Этап 2. Математическое описание решения задачи. Решение уравнения зависит от значений коэффициентов а, b, с: n если а = 0, b = 0, с = 0, то любое х — решение уравнения; {0=0} n если а = 0, b = 0, с <> 0, то уравнение действительных решений не имеет; {3=0} n если а = 0, b <> 0 , с <> 0, то это линейное уравнение, которое имеет одно решение х = -с/b; {3 x+5=0}

n если а <> 0 и d =b 2 - 4 ac < 0, n если а <> 0 и d =b 2 - 4 ac < 0, то уравнение не имеет вещественных корней n если a<>0 и d=b 2 - 4 ac >= 0, то уравнение имеет два вещественных корня:

Этап 3. Разработка алгоритма решения задачи Этап 3. Разработка алгоритма решения задачи

Словесное описание алгоритма Запросить а, b, c Если а=0 то Если b=0 то Если Словесное описание алгоритма Запросить а, b, c Если а=0 то Если b=0 то Если с=0 то Сообщить «Решение – любое х» иначе Сообщить «Нет решений» кв { конец ветвления} иначе х: =-c/b, Сообщить х кв

Словесное описание алгоритма иначе d: =b 2 -4 ac Если d<0 то Сообщить «Нет Словесное описание алгоритма иначе d: =b 2 -4 ac Если d<0 то Сообщить «Нет вещественных корней» иначе Сообщить «Х 1=» , Х 1, «Х 2=» , Х 2 кв кв

Алгоритм циклической структуры Циклический процесс представляет собой алгоритмическую структуру, реализующую многократно повторяющиеся однотипные этапы Алгоритм циклической структуры Циклический процесс представляет собой алгоритмическую структуру, реализующую многократно повторяющиеся однотипные этапы обработки данных. Многократно повторяющийся участок алгоритма называется телом цикла. В качестве тела цикла могут выступать линейные, ветвящиеся и циклические структуры, а также сочетания этих структур.

При разработке алгоритма циклической структуры выделяют следующие понятия: n параметр цикла – величина, с При разработке алгоритма циклической структуры выделяют следующие понятия: n параметр цикла – величина, с изменением которой связано количество повторов; n начальное и конечное значения параметра цикла; n шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.

Составные части цикла: n Подготовка цикла: задание начального значения, определение конечного значения и шага Составные части цикла: n Подготовка цикла: задание начального значения, определение конечного значения и шага изменения для параметра цикла. n Тело цикла: выполнение повторяющейся последовательности действий; n Увеличение (уменьшение) параметра цикла на величину шага n Проверка условия продолжения цикла.

В зависимости от способа завершения цикла различают: n циклы с заранее известным количеством повторений В зависимости от способа завершения цикла различают: n циклы с заранее известным количеством повторений (цикл с параметром) n циклы с заранее неизвестным количеством повторений (итераций).

По способу организации проверки условия выхода из цикла различают: n циклы с предусловием (предварительная По способу организации проверки условия выхода из цикла различают: n циклы с предусловием (предварительная проверка условия повторения) n циклы с постусловием (проверка условия повторения после выполнения тела цикла)

Работа цикла с предусловием (ЭТО НЕ ОБОЗНАЧЕНИЕ В БЛОК-СХЕМЕ!!!) нет Проверка условия да Тело Работа цикла с предусловием (ЭТО НЕ ОБОЗНАЧЕНИЕ В БЛОК-СХЕМЕ!!!) нет Проверка условия да Тело цикла Изменение параметра

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

Работа цикла с постусловием (ЭТО НЕ ОБОЗНАЧЕНИЕ В БЛОК-СХЕМЕ!!!) Тело цикла Изменение параметра нет Работа цикла с постусловием (ЭТО НЕ ОБОЗНАЧЕНИЕ В БЛОК-СХЕМЕ!!!) Тело цикла Изменение параметра нет Проверка условия да

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

Работа цикла с параметром Задание начала, конца, проверка конца Тело цикла Изменение параметра Работа цикла с параметром Задание начала, конца, проверка конца Тело цикла Изменение параметра

Пример: Этап 1. n Вычислить n! (n-факториал) n Входным данным является целое положительное число Пример: Этап 1. n Вычислить n! (n-факториал) n Входным данным является целое положительное число n. n Выходным данным является значение F=n!

Этап 2. Математическое описание решения задачи. Этап 2. Математическое описание решения задачи.

Этап 3. Разработка алгоритма решения задачи начало n F: =1 i<=n F: =F*i i: Этап 3. Разработка алгоритма решения задачи начало n F: =1 i<=n F: =F*i i: =i+1 F конец

Словесное описание алгоритма решения 1. Запросить значение n 2. Присвоить переменной F значение 1 Словесное описание алгоритма решения 1. Запросить значение n 2. Присвоить переменной F значение 1 3. Присвоить переменной i значение 1 4. Пока i<=n повторять: Присвоить переменной F значение F*i Присвоить переменной i значение i+1 5. Сообщить значение F.