Алгоритмы. Типы алгоритмических структур
Алгоритм.Основные типы алгоритмических структур.
IХ в. Мухаммеда аль-Хорезми узбекский математикопределенные приемы выполнения математических вычислений с многозначными числамиАль Хорезми «АЛГОРИФМ» «АЛГОРИТМ»
Понятие алгоритмаАлгоритм — это метод (способ) решения задачи, записанныйпо определенным правилам, обеспечивающим однозначностьего понимания и механического исполнения при всехзначениях исходных данных (из некоторого множествазначений)Алгоритм — точное предписание, определяющеевычислительный процесс, ведущий от варьируемыхначальных данных к искомому результату.(в толковомсловаре по информатике (1991 г.)Алгоритм –последовательность действий, описывающаяпроцесс преобразования объекта из начального состояния вконечное, записанная с помощью понятных исполнителюкоманд.
Примеры алгоритмовИнструкция по эвакуации во время пожараРешение математических задачРецепт блюдаПДДРаспорядок дняВывод: Алгоритм – это способ фиксации ипередачи знаний, накопленных человечеством
Исполнителем алгоритма может быть человек или автоматическое устройство – компьютеры, роботы, станки, спутники, сложная бытовая техника и даже детские игрушки. Каждый алгоритм создается в расчете на вполне конкретного исполнителя.Исполнителя характеризуют: Среда (или обстановка) Элементарные действия Система команд - строго заданный набор команд Отказы - команда вызывается при недопустимом состоянии средыИсполнитель выполняет алгоритм формально
Свойства алгоритмовПонятность алгоритмаДискретность алгоритмаОпределенность алгоритмаРезультативность алгоритмаМассовость алгоритма
Для создания алгоритма необходимо знать:полный набор исходных данных задачи (начальное состояние объекта)цель создания алгоритма (конечное состояние объекта)систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может выполнить)
Способы задания (описания) алгоритмовОписание словами и формуламиОписание на алгоритмическом языкеГрафическое описание
Описание алгоритма словами и формуламиПример 1Правила (алгоритм) перехода пешеходом дороги на нерегулируемого пешеходном переходеПодойти к краю догориПосмотреть налевоУбедиться, что нет транспортного средстваПерейти дорогу до серединыПосмотреть направоУбедиться, что нет транспортного средстваПерейти дорогу
Описание алгоритма словами и формуламиПример 2Вычисление площади круга, если известен его радиусВвести значение радиуса R, перейти в п. 2.Вычислить S= r2, перейти в п. 3.Вывести (отпечатать) значение S, перейти в п. 4.Вычисления прекратить.
Описание алгоритма на алгоритмическом языкеПримерЗадача на расчет площади круга (при исходных данных r = 8 м) наалгоритмическом языке будет выглядеть:Алгоритм-программа на языке ВАSIС10 R1 = 820 Р = 3.1430 R2 = R1 * R140 S = Р*R250 РRINT S60 ENDПрограмма – это алгоритм, записанный на языке Программирования.
Графическое описание алгоритмаПрямоугольник с закругленными углами, применяется для обозначения начала или конца алгоритма.Параллелограмм, предназначен для описания ввода или вывода данных, имеет один вход вверху и один выход внизу.Прямоугольник, применяется для описания линейной последовательности команд, имеет один вход вверху и один выход внизу.Ромб, служит для обозначения условий в алгоритмических структурах «ветвление» и «выбор», имеет один вход верху и два выхода (налево, если условие выполняется, и направо, если условие не выполняется).Прямоугольник со срезанным углом, применяется для объявления переменных или ввода комментариев.
Графическое описание алгоритма
ПримерДаны длины сторон треугольника A, B, C. Найти площадь треугольника S. Составьте блок-схему алгоритма решения поставленной задачи.
Правила построения схемы алгоритмаВыявить исходные данные, результаты, дать им именаВыбрать порядок (метод) решения задачиРазбить метод решения задачи на этапыИзобразить каждый этап в виде соответствующей блок-схемы и указать стрелкам порядок их выполненияВ полученной схеме предусмотреть выдачу результатов или сообщений об их отсутствии
Основные типы алгоритмических структурЛинейныеРазветвляющиесяЦиклические
Линейные алгоритмыБлоки выполнятся последовательно друг за другом, в порядке, заданном схемойДействие 1Действие nДействие 2
Разветвляющиеся алгоритмыБлоки выполнятся в зависимости от некоторого логического условияПолное ветвлениеНеполное ветвлениеУсловиеДействие 1Действие 2ДаНетДаНетУсловиеДействие 1
Пример: Вычислите модуль числа хНачалоВвод хх<0F=-хF=xКонецВывод хМатематическая запись:Блок-схема
Циклические алгоритмы Многократно повторяемые участки вычислительного процессаПеременная, изменяемая в цикле – параметр цикла
Виды циклова – с заданным числом повторенийб - с неизвестным числом повторений ( с предусловием)в – с неизвестным числом повторений ( с постусловием)
Домашнее заданиесреднего арифметического трех чиселменьшего из двух чиселВариант 1Вариант 2Составьте алгоритм в виде блок-схемы нахождения:
Домашнее заданиесреднего арифметического трех чиселменьшего из двух чиселВариант 1Вариант 2Составьте алгоритм в виде блок-схемы нахождения: НАЧАЛОВВОД а , ba<bmin:=amin:=bВВОД а , bКОНЕЦНАЧАЛОВВОД a, b, cSr:=(a+b+c)/3ВЫВОД SrКОНЕЦ