алгоритм.ppt
- Количество слайдов: 42
Обучающая программа
Алгоритм – определенная, формальная, общепонятная конечная последовательность предписаний (указаний, правил, этапов), выполняя которые шаг за шагом, можно прийти от варьируемых исходных данных к числу (группе чисел), представляющему результат решения задачи.
Каждый алгоритм должен обладать следующими основными свойствами:
1. Дискретность. Это свойство состоит в том, что алгоритм должен представлять собой процесс решения задачи как последовательность простых шагов. При этом для выполнения каждого шага алгоритма требуется некоторый конечный отрезок времени, т. е. преобразование исходных данных в результат осуществляется во времени дискретно.
2. Определенность Это свойство состоит в том, что каждая команда алгоритма должна быть четкой, однозначной и не оставлять места для произвола
3. Конечность Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов
4. Массовость Это свойство состоит в том, что алгоритм решения задачи разрабатывается не для одной конкретной задачи, а для целого класса однотипных задач, различающихся лишь исходными данными
Задачи могут быть самые разнообразные, но набор команд, которые может выполнить компьютер, вполне определен и ограничен. Последовательность команд, однозначно приводящих от исходных данных к правильному результату, составляет алгоритм решения задачи. Языки программирования содержат основные команды (манипулируют данными вывод, ввод, присваивание) и команды управляющих структур (управляют последовательностью выполнения команд программы).
Алгоритм любой задачи можно описать, используя 4 типа управляющих структур: 1. Следование – команды выполняются одна за другой в том порядке, в котором записаны в программе 2. Ветвление (выбор) – данные влияют на ход выполнения программы. В программе заложены разные пути следования, по ходу действия выбирается один из возможных вариантов. 3. Цикл (повторение) – в процессе работы программы определенный набор команд выполняется многократно. 4. Подпрограмма – набор команд. Записан отдельно от основной программы. Может быть вызван из любого места основной программы
Разрабатывая алгоритм решения, следует: 1. Записать – что дано в задаче, и продумать, какие исходные данные и под какими именами будут введены в ячейки памяти. 2. Записать – что требуется найти и продумать, как и под какими именами в ячейках памяти разместятся полученные результаты (промежуточные и конечные). Продумать, с какой точностью должен быть введен конечный числовой результат. 3. Продумать основные шаги решения задачи. Сформулировать в форме приказа и записать цель выполнения каждого шага. 4. Записать команды полученного алгоритма на выбранном языке программирования
Алгоритмический язык - формальный язык, предназначенный для записи алгоритмов. Он определяется заданием алфавита (словаря исходных данных), точным описанием его синтаксиса (грамматики) и семантики.
Языки программирования Машинозависимые Машинонезависимые Машинно-ориентированные Мнемокоды Процедуроориентированные Макроязыки Проблемноориентированные
Алгоритм можно описать с помощью схем, словесно или по правилам какого-либо языка программирования. При решении задач на ЭВМ необходимо наличие ряда обязательных и взаимосвязанных этапов, опустить которые нельзя. Совокупность этих этапов образует блок-схему решения задачи. Машина поймет инструкцию на языке программирования, а человек наиболее ясно увидит ход решения задачи по схеме.
Блок-схема должна содержать обязательные элементы, отражающие: начало и конец решения задачи; ввод исходных (необходимых для решения) данных; реальный процесс решения задачи (согласно выбранному алгоритму); вывод полученных результатов.
Основные элементы (символы) блок-схемы изображаются графически следующим образом:
Пуск (начало, конец, прерывание) Процесс (блок обработки) Данные (ввод-вывод информации) Решение (блок условий) Подпрограммы (типовой процесс) Документ (блок вывода информации на печать) Несколько документов Подготовка Магнитный диск Соединитель
Блок-схема решения задач на ЭВМ Начало Математическая постановка задачи, выделение аргументов и результатов Поиск метода решения и построение алгоритма Запись алгоритма на языке программирования Ввод программы в ЭВМ
Отладка программы Если есть ошибки Редактирование программы Пуск программы Анализ полученных результатов Конец
1. Большинство блоков условно вписаны в прямоугольник, со сторонами А и В Аmin =10 мм Увеличение А производится на число, кратное 5 мм. В = 1, 5 А Для отдельных блоков допускается В = 2 А В пределах полной схемы рекомендуется изображать блоки одинаковых размеров. 2. Все блоки нумеруются
3. Линии, соединяющие блоки и указывающие последовательность связей проверить параллельность линиям рамки. Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз. 4. В блок может входить несколько линий (т. е. блок может являться преемником любого числа блоков). Из блока (кроме логического) может выходить только одна линия. Логический блок может иметь в качестве продолжения один из двух блоков, из него выходят две линии
5. Если на схеме имеет место слияние линий, то место их пересечения выделяется точкой. В том случае, если слияние явно выражено, точку можно не ставить. 6. Схему алгоритма следует выполнять как единое целое, однако, в случае необходимости допускается обрывать линии, соединяющие блоки. 7. Если при обрыве линии продолжение схемы находится на этом же листе, то на одном и другом конце линии изображаются специальный символ «соединитель» окружность диаметром 1 А. Внутри парных окружностей указывается один и тот же идентификатор (обычно это порядковый номер блока, к которому направлена соединительная линия)
8. Если схема занимает более одного листа, то в случае разрыва линии вместо окружности используется междустраничный соединитель. Внутри каждого соединителя указывается адрес – откуда и куда направлена соединительная линия. Адрес записывается в две строки: в первой – номер листа, во второй - порядковый номер блока. 9. схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащимся в программе.
Программу на конкретном алгоритмическом языке (при безусловном знании основных элементов, конструкций и операторов языка) целесообразно составлять в той последовательности, которая определена алгоритмом: шаг за шагом. Как правило, каждому блоку на схеме соответствует одна или несколько строк в программе. Но иногда содержимое нескольких однотипных блоков следует объединять в одну строку, это делает программу компактной. Разнотипные блоки объединять в программе на первых порах нежелательно. Со временем, когда у вас появится первый практический опыт, можно на конкретных примерах использовать различные варианты компоновки программы в зависимости от тех или иных предъявляемых к ним требований.
Алгоритмический язык – это система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения Правила алгоритмического языка лежат в основе языков программирования для ЭВМ. В курсе информатики принято следующее толкование терминов: Алгоритмический язык – это средство описания алгоритмов, ориентированное на использователячеловека Язык программирования – средство описания алгоритмов, ориентированное на исполнителя-ЭВМ.
Алгоритмический язык имеет свой словарь. Это слова, употребляемые для записи команд, входящих в систему команд исполнителя того или иного алгоритма. Такие команды называются простыми командами. Обычно это повелительные предложения, включающие формулы и символы.
В алгоритмическом языке используется ограниченное число слов, смысл и способ употребления которых задан раз и навсегда. Эти слова выделяются и записываются в сокращенной форме: АЛГ (алгоритм) НАЧ (начало) КОН (конец) Служебные слова – служат для оформления алгоритмов ДАНО НАДО АЛГ: - заголовок алгоритма НАЧ: (тело алг) Часть алгоритма между словами НАЧ и КОН: называется телом алгоритма
Линейными называют процессы, в которых операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки располагаются в линейной последовательности. На блок-схеме линейный алгоритм представлен в виде последовательности шагов, выполняемых друг за другом от начала до конца.
Линейный алгоритм Начало Ввод Шаг 1 (Действие) Шаг 2 (Действие) Вывод Конец
В разветвленном алгоритме последовательность выполнения действий (шагов) изменяется в зависимости от некоторых условий. Условие – логическое выражение, которое может принимать 2 значения: ДА – если условие верно, НЕТ – если условие неверно. Проверка условий Ветвь 1 Ветвь 2 Ветвящийся процесс, включающий в себя 2 ветви, называется простым, более двух ветвей - сложным
Алгоритмы циклической структуры Цикл – многократно повторяемый участок программы Циклическим называется алгоритм, содержащий цикл В любом циклическом алгоритме, чтобы он мог закончится, должен быть указан параметр. Цикл заканчивается, когда параметр принимает определенное значение. Этапы организации цикла: 1. Подготовка (инициализация цикла) «И» 2. Выполнение вычислений – тело цикла «Т» 3. Модификация параметров «М» 4. Проверка условия окончания цикла «У»
В зависимости от расположения проверки условия окончания цикла (т. е. значений параметров), различают циклы с нижним и верхним окончанием цикла И И Да Т У Нет Т М Нет У М Да П С нижним окончанием П С верхним окончанием
В цикле с верхним окончанием тело цикла может не выполниться ни разу, если сразу соблюдаются условия выхода. В цикле с нижним окончанием тело цикла выполняется как минимум один раз, т. к сначала производится вычисление, а затем проверяется условие выхода из цикла.
Пример составления алгоритма Задача: Определить кислотность раствора Раствор Цвет лакмусовой бумажки Кислотный Щелочной Красный Синий Нейтральный Без изменений (исходный)
АЛГ: Определить кислотность раствора НАЧ: 1. Налить в пробирку раствор 1 мл 2. Опустить лакмусовую бумажку ЕСЛИ: бумажка красная ТО ответ: раствор кислотный ИНАЧЕ: ЕСЛИ: бумажка синяя ТО: ответ: раствор щелочной ИНАЧЕ: ответ: раствор нейтральный ВСЕ КОН:
Блок-схема Начало Налить в пробирку 1 мл р-ра Опустить лакмусовую бумажку Да Нет Бумажка красная Да Ответ: р-р кислотный Ответ: р-р щелочной Конец Бумажка синяя Нет Ответ: р-р нейтральный
алгоритм.ppt