Определение
Алгоритм – это предписание исполнителю выполнить последовательность команд, приводящую от исходных данных к искомому результату.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Свойства алгоритма
дискретность: состоит из отдельных шагов (команд)
результативность: применение алгоритма обязательно приводит к конечному результату за конечное число шагов
массовость: может применяться многократно при различных исходных данных
детерминированность: выполнение команд в строго определенной последовательности
понятность: должен включать только команды, известные исполнителю
определенность: при одинаковых исходных данных всегда выдает один и тот же результат
корректность: дает верное решение при любых допустимых исходных данных
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Способы записи алгоритмов
Словесный – на естественном языке;
На языке блок – схем;
На языке программирования.
Блок-схема – это графическое изображение алгоритма в виде определенным образом связанных между собой нескольких типов блоков.
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Основные элементы блок-схемы
Элемент блок-схемы | Назначение элемента |
Обозначение начала и конца алгоритма | |
Описание ввода или вывода данных, имеет один вход - сверху и один выход - снизу. | |
Описание линейной последовательности команд, имеет один вход – сверху и один выход – снизу. | |
Обозначение условий в структурах «ветвление» и «выбор», имеет один вход – сверху и два выхода – налево, направо | |
Применяется для объявления переменных или ввода комментариев |
Начало
Данные
Последовательность команд
Условие
Да
Нет
Объявление переменных
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Решение задачи на компьютере - это процесс автоматического преобразования информации в соответствии с поставленной целью.
Под процессом решения задачи на ЭВМ надо понимать совместную деятельность человека и компьютера. Этот процесс остается пока достаточно сложным и трудоемким, поэтому представляется в виде нескольких последовательных этапов. При этом на долю человека приходится творческая деятельность, а на долю машины - автоматическая обработка информации в соответствии с заданным ей алгоритмом.
ОПРЕДЕЛЕНИЕ
NEW
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Решение задач на ЭВМ состоит из следующих этапов:
1. ПОСТАНОВКА ЗАДАЧИ.
2. ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
3. РАЗРАБОТКА АЛГОРИТМА.
4. СОСТАВЛЕНИЕ ПРОГРАММЫ.
5. ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ.
6. ПОЛУЧЕНИЕ И АНАЛИЗ РЕЗУЛЬТАТОВ.
Этапы решения задач на ЭВМ
Примеры и задачи
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Это этап работы человека, хорошо представляющего предметную область задачи. Он должен:
определить цель решения задачи;
определить необходимый объем информации;
дать точную формулировку задачи;
предложить идею решения задачи;
описать исходные данные и способы их хранения;
определить форму выдачи результатов.
ПОСТАНОВКА ЗАДАЧИ.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Чтобы решить задачу необходимо описать объект в математических терминах (формулах), то есть построить его модель, которая позволяет математически строго решить задачу его исследования.
Этот этап выполняет человек, способный разработать математическое описание поставленной задачи. При этом он должен выполнить:
анализ похожих решённых задач;
анализ технических и программных возможностей;
анализ условий существования решения.
ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Алгоритм решения задачи разрабатывается на основе построенной математической модели и представляет конечную последовательность предписаний (правил), которая определяет процесс преобразования исходных данных в результаты решения задачи.
Алгоритм разрабатывается одним из существующих способов, чаще всего в виде блок-схемы.
Этот этап выполняет человек, умеющий программировать. Уровень его квалификации определяет эффективность разработанного алгоритма.
РАЗРАБОТКА АЛГОРИТМА
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Этот этап также выполняет человек, умеющий программировать, так как программа - это один из способов представления алгоритма с использованием языка программирования, наиболее удобного для решения данной задачи.
Составление программы - это кодирование алгоритма для реализации его в компьютере.
СОСТАВЛЕНИЕ ПРОГРАММЫ
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Отладка программы - это проверка ее на наличие технических, грамматических и, возможно, алгоритмических ошибок. Отладка предполагает совершенствование (оптимизацию) программы.
Ошибки в ходе отладки исправляют путем контрольного тестирования.
Проверка осуществляется путем сравнения заранее известных результатов тестов с результатами, полученными компьютером.
Этот этап - совместная работа программиста и машины.
ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
После устранения всех ошибок, выявленных отладкой и тестированием, получают результаты решения поставленной задачи.
Получение результатов может быть многократным в зависимости от смены исходных данных, поскольку решение должно быть универсальным для задач подобного класса.
На этом этапе машина работает совместно с человеком, выдающим задание.
ПОЛУЧЕНИЕ И АНАЛИЗ РЕЗУЛЬТАТОВ
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Линейный алгоритм
Линейный алгоритм – это набор команд, выполняемых последовательно во времени, друг за другом.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Задача №1
Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.
Решение:
Входные данные: a, b, c.
Выходные данные: S, P.
Решение по формуле Герона
где х – полупериметр (вспомогательная переменная).
В знак "=" означает не математическое равенство, а операцию присваивания. Переменной, стоящей слева от оператора, присваивается значение, указанное справа.
Внимание!
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Алгоритмическая структура «ветвление»
Алгоритм, содержащий хотя бы одно условие, в результате которого обеспечивается переход на один из двух возможных шагов, называется разветвляющимся.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Задача №2
Заполните шаблон блок-схемы алгоритма исследования квадратного уравнения ax²+bx+c=0 (a≠0)
Начало
a, b, c
D=b²-4*a*c
D<0
Нет
Нет
Да
Корней нет
D=0
Да
Х= - b/2*a
Х
X1= (- b+√D)/2*a
X2= (- b-√D)/2*a
X1, X2
Конец
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
Необходимо отметить, что роль и вклад человека и компьютера на каждом из приведенных этапов решения задач постоянно меняются из-за стремительного прогресса в сфере вычислительной техники.
Перейти к выполнению задания.
© Государственное бюджетное профессиональное образовательное учреждение города Москвы "Политехнический колледж имени П.А. Овчинникова", преподаватель высшей категории Никитин М.Е., 2015
© ООО «Знанио»
С вами с 2009 года.