Основы алгоритмизации и программирования
Алгоритм. Свойства алгоритма. Исполнители. Алгоритм - это чёткое описание последовательности действий, которые должен выполнить исполнитель для достижения конкретной цели. Примеры: 1) кулинарные рецепты 2) правило решения квадратного уравнения. 3) инструкция по подключению Интернета… Алгоритм содержит несколько шагов. Шаг – отдельное законченное действие.
Историческая справка Происхождение термина «алгоритм» связывают с именем великого узбекского математика и астронома аль-Хорезми (жившего в 9 веке). Он в своих трудах по арифметике и алгебре разработал правила выполнения четырёх арифметических операций над многозначными десятичными числами. Эти правила определяют последовательность действий, которые необходимо выполнить, чтобы получить сумму чисел, произведение и т. д. Первоначально только эти правила и назывались алгоритмами. В дальнейшем термин «алгоритм» стали использовать вообще для обозначения последовательности действий, приводящей к решению проблемы.
Свойства алгоритма Дискретность (прерывность, раздельность) – разбиение алгоритма на шаги; Понятность – каждый шаг алгоритма должен быть понятен исполнителю; Точность - указание последовательности шагов; Результативность - получение результата за конечное число шагов; Массовость – использование алгоритма для решения однотипных задач.
Будет ли следующий набор действий алгоритмом? –Налить воду в чашку, добавить заварку, вскипятить воду. –Измерить длины двух сторон треугольника, измерить градусную меру угла между этими сторонами, вычислить половину произведения сторон на синус угла между ними, (какую задачу решают с помощью этого алгоритма?). –Определить значение а, в, с, вычислить Х1, Х2, сравнить дискриминант с нулём, определить количество корней, дать ответ: уравнение имеет … корней, Х = ….. В каком порядке нужно выполнить набор действий в этой задаче, чтобы получить алгоритм?
Исполнители алгоритмов. Исполнитель - это объект, умеющий выполнять определенный набор действий (человек, животное, робот, компьютер). Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять. Среда исполнителя – обстановка, в которой функционирует исполнитель.
1. Составить алгоритм, с помощью которого можно научить ребёнка открывать дверь ключом А) Достать ключ. Б) Вставить ключ в замочную скважину. В) Повернуть ключ два раза против часовой стрелки. Г) Вынуть ключ. 2. Составить алгоритм нахождения периметра прямоугольника. 3. Разведывательный дозор в составе двух человек подошёл к реке. Мост был разрушен, а река слишком глубока и широка, чтобы переправится вплавь. Около берега в маленькой лодке проплывали 2 мальчика. Как переправится в этой лодке через реку, если она может выдержать либо одного взрослого, либо двух детей? Составьте алгоритмы решения следующих задач:
Формальное исполнение алгоритма. Исполнитель может выполнять алгоритмы, не вникая в содержание задачи, а только строго выполняя последовательность действий. Например, возведение в степень числа 5 может выполнить учащийся 4 – го класса если алгоритм составлен соответствующим образом. Компьютер является исполнителем формально выполняющим алгоритм.
Алгоритм для компьютера должен быть написан на машинном языке. Перевод на машинный язык осуществляют специальные программы – трансляторы. Человек составляет алгоритм для компьютера на языке программирования (Basic, Pascal, Delphi). Алгоритм записанный на языке программирования (формальном языке) называется программой. Он состоит из отдельных шагов – команд (операторов).
Способы описания алгоритма. 1. На естественном языке. 2. В виде блок – схемы. 3. На специальном языке для записи алгоритмов. 4. Табличное описание (способ, наиболее часто используемый в экономических задачах).
Блок – схема алгоритма Схема алгоритма представляет собой систему связных геометрических фигур. Каждая фигура означает один этап процесса решения задачи и называется блоком. Порядок выполнения этапов указывается стрелками, соединяющими блоки. - н ачало, конец обработки данных - ввод, вывод данных - вычислительное действие - проверка условия - блок счетчика
Пример блок – схемы алгоритма:
Линейный алгоритм. Линейным алгоритмом называют алгоритм, в котором команды выполняются последовательно одна за другой. Например: А) Достать ключ. Б) Вставить ключ в замочную скважину. В) Повернуть ключ два раза против часовой стрелки. Г) Вынуть ключ. 2. Алгоритм вычисления значения У по формуле У=(7Х+4)(2Х-2) при Х=3. Составьте алгоритм самостоятельно, выделяя каждое действие как отдельный шаг. 3. Вычислите площадь треугольника по формуле Герона, если заданы длины его сторон а, в, с. 4. Составить блок – схему алгоритма вычисления значения выражения: выделяя каждое арифметическое действие в отдельный блок. Выполните полученный алгоритм по шагам при x = 0; - 1; 3.
Алгоритм структуры «ветвление». Алгоритм в котором в зависимости от поставленного условия выполняется та или иная последовательность команд. Условие (условное выражение) – высказывание на естественном или формальном языке, которое может быть истинным или ложным. Примеры: «погода солнечная» или «А=В». Например: Пойдет направо песнь заводит, налево сказку говорит… Идёт налево Песнь заводитСказку говорит истина ложь
Найдите значение выражения Нет решения ложь истина А= х0 Пример фрагмента блок – схемы алгоритма.
Прочитайте блок - схему алгоритма:.
Составьте фрагмент блок – схемы для следующих выражений: а) если будет штормовое предупреждение, то уроки отменят; б) если будет тепло и на календаре 2 июня, то наступили летние каникулы. Учтите, что в этом случае используется сложное условие, которое записывается как 2 простых объединённых связкой OR или END.
Сформулируйте следующие понятия: определение алгоритма; исполнители алгоритмов; формальное исполнение алгоритма; свойства алгоритма; способы записи алгоритма; блок – схема алгоритма; назначение основных блоков блок – схемы; линейный алгоритм; алгоритм структуры «ветвление»; условие в алгоритме ветвления.
Задание 1. Опишите структуру алгоритма. Назовите, чему будет равно a 10, если а 1 = 4 и а 2 =9. Сформулируйте задачу которую реализует данная блок – схема. начало конец Ввод а 1, а 2 d = a 2 – a 1 a 10 = a 1 + d(n-1) Вывод а 10 начало Ввод а 1, а 2
Задание 2. Опишите структуру алгоритма. Назовите, чему будет равно a 10, если а= 0, а=9. Сформулируйте задачу которую реализует данная блок – схема. конец Вывод Y начало Ввод а a(a-2)0 Y= Выражение не имеет смысла истина ложь