Алгоритм
и его свойства
Составитель: Кудинова Л.Г., учитель математики и информатики
Филиала МОУ «Новомичуринская СОШ №2» «Мамоновская ОШ»
Алгоритм
– это точное и понятное предписание выполнить конечную последовательность действий, направленную на решение поставленной задачи.
Синонимы слова «алгоритм»:
план;
инструкция;
рецепт;
предписание.
Алгоритм представляет из себя последовательно выполняемые
команды
Простые:
Шагни
Прыгни
Улыбнись
Составные:
Если темно,
то включи свет
Режим дня школьника
Подъём
Зарядка
Завтрак
Дорога в школу
Занятия в школе
Дорога домой
Время игр или прогулки
Выполнение домашних заданий
Прогулка на свежем воздухе
Ужин
Сон
Свойства алгоритма
Дискретность (прерывность, раздельность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов.
Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Свойства алгоритма
Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола.
Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Свойства алгоритма
Результативность (конечность) - алгоритм должен приводить к решению задачи за конечное число шагов.
Свойства алгоритма
Массовость - алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Правила построения алгоритма
Первое правило – при построении алгоритма прежде всего необходимо задать множество объектов, с которыми будет работать алгоритм.
Формализованное (закодированное) представление этих объектов носит название данных.
Алгоритм приступает к работе с некоторым набором данных, которые называются входными, и в результате своей работы выдает данные, которые называются выходными.
Правила построения алгоритма
Второе правило – для работы алгоритма требуется память. В памяти размещаются входные данные, с которыми алгоритм начинает работать, промежуточные данные и выходные данные, которые являются результатом работы алгоритма. Память является дискретной, т.е. состоящей из отдельных ячеек. Поименованная ячейка памяти носит название переменной.
Правила построения алгоритма
Третье правило – дискретность. Алгоритм строится из отдельных шагов (действий, операций, команд). Множество шагов, из которых составлен алгоритм, конечно.
Правила построения алгоритма
Четвертое правило – детерменированность. После каждого шага необходимо указывать, какой шаг выполняется следующим, либо давать команду остановки.
Правила построения алгоритма
Пятое правило – сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считать результатом работы алгоритма.
Виды алгоритмов:
Линейный
Разветвляющийся
Циклический
Чаще всего алгоритм представляет собой комбинацию линейных, разветвляющихся и циклических структур.
Виды алгоритмов
Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.
Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов.
Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными.
Способы записиалгоритмов
Словесный, в виде текста
Графический, в виде блок-схем
Программный, в виде программы
на языке программирования
начало/конец
простые команды
ввод / вывод
данных
условие
Линейный алгоритм
В данном алгоритме все шаги (команды) выполняются по порядку друг за другом и только один раз.
Начало
команда1
команда2
…
Конец
Разветвляющийся алгоритм
В данном алгоритме, в зависимости от некоторого условия, может выполняться одна или другая последовательность шагов (команд).
Циклический алгоритм
В данном алгоритме, в зависимости от некоторого условия, одна и та же последовательность шагов (команд) может выполняться несколько раз.
Последовательность команд, которая многократно повторяется называется телом цикла.
Цикл-ПОКА (цикл с предусловием)
Пока выполняется условие будет выполняться тело цикла. Как только условие перестает выполняться, управление передается следующей команде.
Цикл-ДО (цикл с постусловием)
Тело цикла будет выполняться до выполнения условия. У такого цикла тело цикла всегда выполнится хотя бы один раз.
Алгоритмический язык
Алгоритмические языки - это специальное средство, предназначенное для записи алгоритмов в аналитическом виде. Алгоритмические языки близки к математическим выражениям и к естественным языкам. Каждый алгоритмический язык имеет свой словарь. Алгоритм, записанный на алгоритмическом языке, выполняется по строгим правилам этого конкретного языка.
Алгоритм Структура с ветвлением (вычисление функции)
Начало
ввод (H) A := Sin( 2 H ) B := Cos( 2 H ) если ( A > B ) и ( B > 0 )то F := A / B иначе
если (A < B ) и ( B <= 0 ) то F := A B иначе F := abs( A - B ) { абсолютная величина} все
вывод (F)
Конец
Алгоритм Структура цикл
Задача: путь дано ведёрко с белыми и красными шарами, назовём это ведёрко Первым. И ещё два пустых ведра, которые назовём Второе и Третье. Пусть нужно все белые шары положить во второе ведёрко, а все красные в третье. Алгоритм решения этой задачи будет выглядеть так:
Пока Первое ведёрко не пустое делать
Начало
Вынуть шар из первого ведёрка
Если вынутый шар белый
То положить его во второе ведёрко
Иначе положить его в третье ведерко
Конец
Языки программирования
Классификация языков программирования
В общем, языки программирования делятся на две группы: операторные и функциональные. К функциональным относятся ЛИСП, ПРОЛОГ и т.д. Операторные языки делятся на процедурные и непроцедурные (Smalltalk, QBE).
Процедурные делятся на
машино - ориентированные и
машино – независимые.К машино – независимым языкам относятся:
Процедурно – ориентированные (Паскаль, Фортран и др.)
Проблемно – ориентированные (ЛИСП и др.)
Объектно-ориентированные (Си++, Visual Basic, Java и др.)
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.