Слово «алгоритм» происходит от имени великого среднеазиатского ученого 8–9 вв. Аль-Хорезми. Из математических работ Аль-Хорезми до нас дошли только две – алгебраическая и арифметическая. Вторая книга долгое время считалась потерянной, но в 1857 в библиотеке Кембриджского университета был найден ее перевод на латинский язык. В ней описаны четыре правила арифметических действий, практически те же, что используются и сейчас. Первые строки этой книги были переведены так: «Сказал Алгоритми. Воздадим должную хвалу Богу, нашему вождю и защитнику». Так имя Аль-Хорезми перешло в «Алгоритми», откуда и появилось слово «алгоритм».
Определение: Алгоритм – понятное и точное предписание исполнителю совершить определенную последовательность действий для достижения поставленной цели за конечное число шагов.
Характеристики исполнителя: Сpеда — это «место обитания» исполнителя. Система команд – некоторый строго заданный список команд. После вызова команды исполнитель совеpшает соответствующее элементаpное действие. Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.
Свойства алгоритма: Понятность - исполнитель алгоритма должен знать, как его выполнять.
Свойства алгоритма: Дискpетность - алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых шагов.
Свойства алгоритма: Опpеделенность - каждое пpавило алгоpитма должно быть четким и однозначным.
Свойства алгоритма: Pезультативность - алгоpитм должен пpиводить к pешению задачи за конечное число шагов.
Свойства алгоритма: Массовость – алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными.
Способы записи алгоритмов: словесный (запись на естественном языке); графический (изображения из графических символов); программный (тексты на языках программирования).
Блок-схема Типы блоков: блок начала / конца блок ввода / вывода блок действия блок условия
Линейный алгоритм – это алгоритм, в котором команды выполняются последовательно одна за другой.
Запись линейного алгоритма в виде блок-схемы: действие 1 действие n … начало конец
Разветвляющийся алгоритм – это алгоритм, в котором та или иная серия команд выполняется в зависимости от истинности условия.
Ветвление Полное если то иначе Неполное если то
Запись полного ветвления в виде блок-схемы: условие серия команд 1 серия команд 2 да нет
Запись неполного ветвления в виде блок-схемы: условие серия команд 1 да нет
Условие – это высказывание, которое может быть либо истинным, либо ложным. Условия Определение: простые сложные
Простое условие Включает в себя одно предложение; два числа, две переменных или два арифметических выражения, которые сравниваются между собой Например: Идет дождь; 5>4; x*y=3+8).
Сложное условие Последовательность простых условий, объединенных между собой знаками логических операций И (AND), ИЛИ (OR). Например: (10>0) AND (8>9); (x=10) OR (x>=0).
Построить блок-схему разветвляющегося алгоритма, используя сложное условие. Принадлежит ли точка x отрезку [a, b]? Задание:
Задания: Лежит ли x вне отрезка [a, b]; Принадлежит ли x отрезку [a, b] или отрезку [c, d]; Является ли k трехзначным числом; Какое из чисел a, b, c является меньшим; Есть ли среди чисел a, b, c взаимно противоположные; Равны ли треугольники со сторонами a1, b1, c1 и a2, b2, c2; Является ли четырехугольник со сторонами a, b, c и d ромбом.
(x < a) and (x > b); ((x>=a) and (x=c) and (x 99) and (k < 1000); (c < a) and (b > a); (a=-b) or (a=-c) or (b=-c); (a1=a2) and (b1=b2) and (c1=c2); (a=b) and (c=d) and (b=c). Ответы:
Выбор - это такая алгоритмическая структура, в которой выполняется одна из нескольких последовательностей команд при истинности соответствующего условия. Определение:
Полный выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N иначе действия N+1
Неполный выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N
Запись полного выбора в виде блок-схемы: да серия команд 1 серия команд n да … нет нет серия команд n+1
Запись неполного выбора в виде блок-схемы: да нет серия команд 2 да серия команд 1 серия команд n да … нет нет
Определение: Цикл - это такая алгоритмическая структура, в которой серия команд (тело цикла) выполняется многократно.
Цикл с предусловием пока истинно условие, предписывает выполнять тело цикла. Словесный способ записи: пока условие тело цикла
Запись цикла с предусловием в виде блок-схемы: условие тело цикла да нет
Цикл с постусловием предписывает выполнять тело цикла до тех пор, пока не выполнится условие выхода из цикла. Словесный способ записи тело цикла до условие
Запись цикла с постусловием в виде блок-схемы: условие тело цикла да нет
Цикл со счетчиком предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. Словесный способ записи для i от i1 до i2 тело цикла
Запись цикла со счетчиком в виде блок-схемы:
Список литературы: Ефимова О. В. Курс компьютерных технологий с основами информатики.- М.: Издательство АСТ, 2011. Макарова Н. В. Информатика и ИКТ 10 кл.- СПб.: ПИТЕР, 2009. Макарова Н. В. Информатика и ИКТ 11 кл.- СПб.: ПИТЕР, 2011. Макарова Н. В. Информатика и ИКТ 10-11 кл. СПб.: ПИТЕР, 2009.