ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ Линейный алгоритм
ВОПРОСЫ. 1. Алгоритм. Исполнители алгоритмов. 2. Свойства алгоритмов. 3. Способы описания алгоритмов. 4. Основные символы блок-схем. 5. Этапы решения задач на ЭВМ. 6. Линейные алгоритмы
§Термин АЛГОРИТМ обязан своим происхождением великому учёному средневекового Востока Мухаммеду ибн Мусса аль Хорезми. (783 по 850 года н.э.) §АЛГОРИТМ – это точное предписание исполнителю в понятной для него форме, определяющее процесс достижения поставленной цели. §Алгоритм – это организованная последовательность действий. §Это понятие является фундаментальным для информатики. §Алгоритм может представлять собой некоторую последовательность вычислений, или последовательность действий нематематического характера. Но в любом случае должны быть четко определены начальные условия и то, что требуется получить.
ВОПРОС 1. Алгоритм. Исполнители алгоритмов.
Алгоритм- это точное и понятное предписание (указание) исполнителю совершить определенную последовательность действий за конечное число шагов для достижения указанной цели или решение поставленной задачи.
ИСПОЛНИТЕЛИ АЛГОРИТМОВ ЧЕЛОВЕК РОБОТ КОМПЬЮТЕР ИСПОЛНИТЕЛЬ ВЫПОЛНЯЕТ АЛГОРИТМ ФОРМАЛЬНО
Указание выполнить конкретное действие называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем называется системой команд исполнителя.
ВОПРОС 2. Свойства алгоритмов.
СВОЙСТВА АЛГОРИТМА: §1. Дискретность – любой алгоритм должен приводить к конкретному результату за конечное число шагов §2.Понятность – алгоритм разбивается на конечное число понятных действий, позволяющих любому исполнителю правильно выполнить алгоритм, не вдумываясь в смысл команды. §3. результативность(конечность) – исходные данные должны приводить к предполагаемому результату за конечное число шагов. §4. однозначность (точность)– каждое действие алгоритма должно быть однозначно определено §5. массовость – алгоритм должен работать при различных начальных данных.
§Имея полный набор данных, можно решить задачу. §Программа – это алгоритм, записанный на языке исполнителя.
ВОПРОС 3. Способы описания алгоритмов.
СПОСОБЫ ОПИСАНИЯ СЛОВЕСНО- ПОШАГОВЫЙ ГРАФИЧЕСКИЙ- БЛОК-СХЕМА АЛГОРИТМИЧЕСКИЙ ЯЗЫК или ПРОГРАММА
СЛОВЕСНО-ПОШАГОВЫЙ 1. Прочесть значение R. 2. Умножить значение R на R. 3. Умножить результат второго действия на значение 3, Записать полученный в предыдущей команде результат как значение S.
НАЧАЛО ВВОД R S:=3,14*R 2 КОНЕЦ S ВЫВОД S
ВОПРОС 4. Основные символы блок- схем
БЛОК НАЧАЛА ИЛИ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ АЛГОРИТМА НАЧАЛО КОНЕЦ
БЛОКИ ВВОДА-ВЫВОДА ВВОД А ВЫВОД С
БЛОК ПРИСВАИВАНИЯ Х:=У+120 ОБРАБАТЫВАЕТ ДАННЫЕ И РАЗМЕЩАЕТ РЕЗУЛЬТАТЫ В ЯЧЕЙКИ ПАМЯТИ С УКАЗАННЫМ ИМЕНЕМ
ПАРАМЕТР УСЛОВИЕ Да Нет БЛОК ПРОВЕРКИ УСЛОВИЯ БЛОК ЦИКЛА С ПАРАМЕТРОМ
ВОПРОС 5. Этапы решения задач на ЭВМ.
ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ 1.Постановка задачи. 2.Математическая модель. 3. Конструирование алгоритма. 4. Перевод алгоритма в программу. 5. Тестирование и отладка программы. 6. Получение и анализ результатов задачи.
ЗАДАЧА Определить время встречи двух пешеходов, идущих навстречу друг другу, если известно, что расстояние между пешеходами L, скорость первого пешехода V1, скорость второго пешехода V2.
ПОСТАНОВКА ЗАДАЧИ. Дано: L, V1, V2. Найти: t. L>0, V1>0, V2>0, T>0 L V1 V2
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ. L=S1+S2 S1=V1*T S2=V2*T L= V1*T +V2*T = T*( V1 + V2) T=L / (V1 + V2)
АЛГОРИТМ НАЧАЛО ВВОД L, V1,V2 T:=L/(V1+V2) КОНЕЦ S ВЫВОД T
Отладка – процесс обнаружения и устранения ошибок. Они возникают при вызове команды в недопустимом для данной команды состоянии среды. Можно выделить два вида ошибок: 1.Синтаксические – вызов команды, не входящей в систему команд исполнителя. Эти ошибки обнаруживает ЭВМ и сообщает о них. 2.Логические – §Программа не продолжает работу, формируется программное прерывание(/0) §Программа работает, но находится в состоянии бесконечного цикла §Программа выдаёт результат, но он не совпадает с контрольным.
ВОПРОС 6. Линейные алгоритмы
ЛИНЕЙНЫЙ - ЭТО ТАКОЙ АЛГОРИТМ, В КОТОРОМ ВСЕ КОМАНДЫ ВЫПОЛНЯЮТСЯ СТРОГО ПОСЛЕДОВАТЕЛЬНО ДРУГ ЗА ДРУГОМ.
НАЧАЛО ВВОД R S:=3,14*R 2 КОНЕЦ S ВЫВОД S