Тема урока «АЛГОРИТМЫ» © Нечаева Ольга Ивановна 2006 год
СОДЕРЖАНИЕ ПРЕЗЕНТАЦИИ История возникновения. Понятие алгоритм. Примеры алгоритмов. Исполнители алгоритмов. Что такое программа. Свойства алгоритма. Типы алгоритмов. Способы описания алгоритмов. Основные блоки графического описания алгоритма. На главную © Нечаева Ольга Ивановна 2006 год
НЕМНОГО ИСТОРИИ Аль-Хорезми (786—850 гг. н.э.) — основатель алгебры, от его имени произошел термин «алгоритм». В мировой науке он был известен своим трактатом по математике, основанном на позиционном принципе. Благодаря переводу этого труда с арабского на латинский язык, «арабские» цифры навсегда вошли в мировую математику. Имя автора в латинизированной форме Algorismus и Algorithmus первоначально дало название правилам четырех арифметический действий, при десятичной системе счисления. Впоследствии слово «алгоритм» стало обозначать всякий регулярный процесс, за конечное число шагов дающий решение определённого класса задач.
А Л Г О Р И Т М Понятие алгоритм – одно из фундаментальныхв информатике. Алгоритм — это совокупность правил выполнения определенных действий, обеспечивающих решение задачи. В жизни мы постоянно выполняем разные алгоритмы. Составляем распорядок дня, чтобы многое успеть.
ПРИМЕРЫ АЛГОРИТМОВ Достаем кулинарную книгу и строго следуем рецепту, написанному в ней, чтобы блюдо удалось и можно было угостить своих друзей. Соблюдаем правила дорожного движения при переходе через улицу.
ИСПОЛНИТЕЛИ АЛГОРИТМОВ Алгоритм составляется с учетом исполнителя. Исполнителем может быть человек, автомат, компьютер.
ПРОГРАММА Каждый исполнитель имеет свою систему команд (СКИ). Программа — это алгоритм, записанный на языке исполнителя. Рассмотрим пример: возьмем учебного исполнителя Черепашку. Пусть этот исполнитель имеет три команды: вперед(1 см), направо(900), налево (900). Исходное положение исполнителя: Какой код программы надо написать, чтобы Черепашка начертила букву Г ? Код программы будет выглядеть так:налево (900)вперед(1 см)вперед 1 смнаправо(900)вперед(1см)
СВОЙСТВА АЛГОРИТМА (Требования к составлению алгоритма) Дискретность. Процесс решения задачи должен быть разбит на последовательность отдельных шагов. Однозначность (точность). Команды алгоритма должны быть точно определены (например, нельзя написать 3-4 стакана муки, надо указать 3 стакана). Результативность. После выполнения всех команд алгоритма, должен быть получен результат. Универсальность (массовость). Важное свойство при решении задач на ЭВМ. Алгоритм должен быть применим для решения ни одной конкретной задачи, а для некоторого класса задач. Например, для решения квадратного уравнения с разными коэффициентами). Понятность. Алгоритм должен быть написан на языке понятном исполнителю.
ТИПЫ АЛГОРИТМОВ Линейный. Команды такого алгоритма выполняются последовательно сверху вниз.Например, нахождение гипотенузы прямоугольного треугольника по двум его катетам. Разветвляющийся. В зависимости от поставленного условия алгоритм позволяет выбрать один из вариантов решения задачи. Примерами могут быть нахождение корней квадратного уравнения или богатырь на распутье из русских сказок. Циклический. В алгоритме встречаются повторяющиеся действия. Например, при заучивании стихотворения вам приходится перечитывать и повторять одни и те же строки.
СПОСОБЫ ОПИСАНИЯ АЛГОРИТМА Так часто бывает, что алгоритм составляет один автор, а пишет программу другой человек. Алгоритмы бывают очень сложными и большими по объему. Бывает, что над алгоритмом трудятся сразу несколько человек. Учитывая все эти причины и еще ряд других, алгоритмы записывают или описывают на бумажных или электронных носителях. Как можно описать алгоритм? Словами. Например, распорядок дня. Графически (блок-схемой). Так делают программисты. Алгоритмическим языком (псевдокод) – это учебный язык. Он применяется во многих тестах по информатике. Таблицей.
ОСНОВНЫЕ БЛОКИ ГРАФИЧЕСКОГО ОПИСАНИЯ АЛГОРИТМА Блоки Что ими обозначают Начало/конец алгоритма Ввод/вывод данных Обработку данных
ОСНОВНЫЕ БЛОКИ ГРАФИЧЕСКОГО ОПИСАНИЯ АЛГОРИТМА Блоки Что ими обозначают Проверку условия Начало цикла FOR/ NEXT Подпрограмму