Алгоритм
– это точное и понятное предписание выполнить конечную последовательность действий, направленную на решение поставленной задачи.
Синонимы слова «алгоритм»:
план;
инструкция;
рецепт;
предписание.
Свойства алгоритма
Дискретность (прерывность, раздельность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов.
Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Свойства алгоритма
Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола.
Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Свойства алгоритма
Массовость - алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Правила построения алгоритма
Первое правило – при построении алгоритма прежде всего необходимо задать множество объектов, с которыми будет работать алгоритм.
Формализованное (закодированное) представление этих объектов носит название данных.
Алгоритм приступает к работе с некоторым набором данных, которые называются входными, и в результате своей работы выдает данные, которые называются выходными.
Правила построения алгоритма
Второе правило – для работы алгоритма требуется память. В памяти размещаются входные данные, с которыми алгоритм начинает работать, промежуточные данные и выходные данные, которые являются результатом работы алгоритма. Память является дискретной, т.е. состоящей из отдельных ячеек. Поименованная ячейка памяти носит название переменной.
Виды алгоритмов
Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.
Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов.
Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными.
Циклический алгоритм
В данном алгоритме, в зависимости от некоторого условия, одна и та же последовательность шагов (команд) может выполняться несколько раз.
Последовательность команд, которая многократно повторяется называется телом цикла.
Алгоритмический язык
Алгоритмические языки - это специальное средство, предназначенное для записи алгоритмов в аналитическом виде. Алгоритмические языки близки к математическим выражениям и к естественным языкам. Каждый алгоритмический язык имеет свой словарь. Алгоритм, записанный на алгоритмическом языке, выполняется по строгим правилам этого конкретного языка.
Алгоритм Структура с ветвлением (вычисление функции)
Начало
ввод (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 и др.)
© ООО «Знанио»
С вами с 2009 года.