Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Понятие об алгоритмах Алгоритм – это порядок действий, которые необходимо выполнить, чтобы от исходных данных перейти к результату. Алгоритм – точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Исполнитель алгоритма – это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. 1 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Историческая справка Происхождение слова «алгоритм» связано со словом «algorithmi» - латинским написанием имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. 2 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Свойства алгоритмов Детерминированность (определенность). Исполнитель должен выполнять команды алгоритма в строго определенной последовательности. Дискретность. Означает разделение вычислительного процесса, определяемого алгоритмом, на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений. Выполнимость и понятность команд. Алгоритм должен содержать команды, входящие в систему команд исполнителя и записанные на понятном для исполнителя языке. Результативность. Алгоритм должен обеспечивать преобразование объекта из начального состояния в конечное состояние за определенное число шагов. Массовость. Один и тот же алгоритм может применяться к большому количеству объектов одного типа. 3 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Формы записи алгоритма словесно-формульный (на естественном языке) блок-схемный или графический(из графических символов) программный (на языке программирования) 4 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Пример словесного способа описания алгоритма 1. Задать два числа. 2. Если числа равны, то взять любое из них в качестве ответа, в противном случае продолжить выполнение алгоритма. 3. Определить большее из чисел. 4. Заменить большее из чисел разностью большего и меньшего из чисел. 5. Повторить алгоритм с шага 2. 5 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Графический способ описания алгоритма Наибольшее распространение благодаря своей наглядности получил графический (блок-схемный) способ записи алгоритмов. При блок-схемном описании алгоритм изображается геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий. Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ. Он наиболее нагляден: каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Кроме того, графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и Другие детали. 6 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Блок – схема Блок-схема – это графическое изображение алгоритма. В блок – схеме каждому типу действий: Вводу исходных данных Вычислению значений выражений Проверке условий Управлению повторением действий Окончанию обработки и т. д. соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями. 7 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Условные обозначения блоков схем алгоритмов начало и конец алгоритма ввод исходных данных, вывод результатов работы программы действие условие Выполните задание 1 а, б, в >> 8 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Виды алгоритмов. Одним из свойств алгоритма является дискретность — возможность разделения процесса вычислений на отдельные этапы, а также возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры: последовательность двух или более операций; выбор направления; повторение. Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида: линейные; разветвляющиеся; циклические. Выполните задание 2 а, б >> 9 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Линейный алгоритм Линейный алгоритм - это алгоритм, в котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов. Линейный алгоритм – это алгоритм, в котором нет условий и повторений. 10 Начало Ввод N F = Fact(N) Печать F Конец Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Линейный алгоритм. Пример блок-схемы линейного алгоритма Y-? х Вычислить значение функции y ax 2 bx c в любой точке х, если а= 3b+c, b=4c, c =0,5. с=0,5, b=4c, a=3b+c y ax 2 bx c y Выполните задание 3 а >> конец 11 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Разветвляющийся алгоритм Разветвляющийся алгоритм – это алгоритм, в котором выбор направления обработки информации зависит от исходных или промежуточных данных. Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от определенного условия, выполняется то или иное действие. 12 Да A>B Fact = Нет Fact = 1 I*Fact(I-1) Возврат Выполните задание 1 а, б >> Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Разветвляющийся алгоритм. Пример блок-схемы разветвляющегося алгоритма y x да x<2 нет Найти значение функции у 3 x, если х 2 y x 1, если х 2 y x - 3, если х 2 в любой точке х. Выполните задание 3 б >> 13 y = 3x да x=2 нет y=x-3 y конец y = x +1 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Начало Циклический алгоритм Ввод N Циклом называется многократно повторяемый участок вычислений. Алгоритм, содержащий один или несколько циклов, называется циклическим. По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Циклический алгоритм – это алгоритм, в котором некоторые шаги могут повторяться несколько раз. S=0 i=1 S=S+i 2 i=i+1 Нет i> N Да Печать S Конец Выполните задание 2 а, б, в >> 14 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Таблица Циклический алгоритм. Пример блок-схемы циклического алгоритм а, b, h x=a да x<2 Найти таблицу значений функции y x 2 если х изменяется на интервале a,b с шагом h. нет y x2 x, y x=x+h Выполните задание 3 в >> нет конец 15 да x<b Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Задания к теме 2 Задание 1 а) Смотрите, слушайте и повторяйте Блок-схема, элементы блок-схемы, графическое изображение, словесно-пошаговый способ б) Прочитайте текст При блок-схемном описании алгоритм изображается геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий. Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ. Он наиболее нагляден: каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Кроме того, графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали. в) Ответьте на вопросы по тексту задания б) 1) Как изображается алгоритм при блок-схемном описании? 2) Какие преимущества имеет блок-схемный способ описания алгоритма? 3) Как изображается каждая операция при блок-схемном описании алгоритма? 4) Что можно наглядно увидеть при блок-схемном описании алгоритма? Вернитесь к изучению темы>> 16 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Задание 2. а) Смотрите, слушайте и повторяйте: Алгоритм, свойства алгоритма, виды алгоритмов, линейный алгоритм, разветвляющийся алгоритм, циклический алгоритм, блок-схема. б) Закончите предложения: Алгоритм – это… Блок-схема – это Есть три вида алгоритмов - Вернитесь к изучению темы>> 17 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Задание 3 Нарисуйте блок схемы следующих задач. а) Вычислить значение функции y ax 3 bx 2 cx в любой точке х, если а= 4b – c, b = 8c, c =0,2 Вернитесь к изучению темы >> б) Найти значение функции в любой точке х 3 y x 1, если x 3 y x 8, если 3 x 5 y x 6, если x 5 в) Найти таблицу значений функции интервале a, b с шагом h Вернитесь к изучению темы >> y x x4 , если х изменяется на Перейдите к итоговому тесту >> 18 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Выполните итоговый тест по теме 2 1. Что такое алгоритм? а) порядок действий, которые нужно выполнить, чтобы от исходных данных перейти к результату; б) результат работы программы на компьютере; в) набор команд для написания программы на языке программирования; г) набор операций для программирования алгоритма. 2. Сколько свойств алгоритма Вы знаете? а) 2; б) 4; в) 5; г) 6; 3. Массовость – это… а) выполнение команды алгоритма в строго определенной последовательности; б) разделение вычислительного процесса, определяемого алгоритмом, на отдельные этапы; в) команды на понятном для исполнителя языке; г) обеспечение преобразование объекта из начального состояния в конечное состояние за определенное число шагов; д) применение к большому количеству объектов одного типа. 4. При блок-схемном описании алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий. а) нет; б) да. Продолжение 19 >> Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема 5. 3 вида алгоритмов – это а) словесно-пошаговый, графический, блок-схемный; б) программный, пошаговый, алгоритмический; в) прямой, повторяющийся, неповторяющийся; г) линейный, разветвляющийся, циклический 6. Линейный алгоритм – это а) алгоритм, в котором действие повторяется насколько раз; б) алгоритм, в котором есть условие; в) алгоритм, в котором нет условий и повторений; г) алгоритм, в котором получен результат. 7. Алгоритм, в котором есть условие называется… а) линейным; б) разветвляющимся; в) циклическим. 8. Циклический алгоритм –это алгоритм, в котором некоторые шаги могут повторяться несколько раз. а) да; б) нет Ответы >> 20 Тема 2. Понятие алгоритма. Виды алгоритмов. Блок-схема Ответы Номер вопроса Правильный ответ 21 1 2 3 4 5 6 7 8 а в д а г в б а