Лабораторная работа № 1. Проектирование алгоритмов. Оценка корректности и эффективности алгоритма. Алгоритм определения корня квадратного уравнения. Формула Герона для определения площади треугольника.
1. Цель работы
Сформировать представление об алгоритме и его свойствах, о способах их описания алгоритмов; сформировать представление о типах алгоритмов.
2. Теоретический материал
Слово алгоритм происходит от латинской формы написания имени великого математика IX век Аль-Хорезми, который сформулировал правила выполнения арифметических действий.
Первоначально под алгоритмами понимали только правила выполнения четырёх арифметических действий над многозначными числами.
Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Алгоритмизация – процесс разработки алгоритма (плана действий) для решения задачи.
Шаг алгоритма – это каждое отдельное действие алгоритма.
Исполнитель – это объект, умеющий выполнять определенный набор действий. Исполнителем может быть человек, робот, животное, компьютер.
Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять.
Среда исполнителя – обстановка, в которой функционирует исполнитель.
Свойства алгоритма:
Во многих отраслях человеческой деятельности для достижения требуемого результата используются алгоритмы, содержащие четкие описания последовательности действий. Примерами алгоритмов являются кулинарные рецепты, в которых подробно описана последовательность действий по приготовлению пищи.
Пример 1: Алгоритм приготовления блюда быстрого питания:
Высыпать в емкость содержимое пакетика.
Налить в емкость 200 мл горячей воды.
Тщательно перемешать.
Мир алгоритмов очень разнообразен. В связи с этим алгоритмы обладают определенными свойствами:
Дискретность.
Алгоритмы кулинарных рецептов состоят из отдельных действий, которые обычно нумеруются. Разделение алгоритма на последовательность шагов является важным свойством алгоритма и называется дискретностью.
Алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно. Каждому действию соответствует предписание (команда). Образованная структура алгоритма оказывается дискретной: только выполнив одну команду, исполнитель сможет приступить к выполнению следующей.
Результативность.
Алгоритмами известные из начальной школы являются правила сложения, вычитания, умножения и деления столбиком. Применение этих алгоритмов независимо от количества разрядов в числах и, соответственно, количества вычислительных шагов алгоритма всегда приводит к результату.
Получение из исходных данных результата за конечное число шагов называется результативностью алгоритма. Это означает, что неправильный алгоритм, который не достигает цели, вообще не нужно считать алгоритмом.
Таким образом, алгоритм должен обеспечивать возможность получения результата после конечного, возможно, очень большого, числа шагов. При этом результатом считается не только обусловленный постановкой задачи ответ, но и вывод о невозможности продолжения по какой-либо причине решения данной задачи.
Do'stlaringiz bilan baham: |