Слайд 1Понятие алгоритма. Основные алгоритмические конструкци
Слайд 2Основные вопросы:
Понятие алгоритма, свойства алгоритмов. Исполнители алгоритмов, система команд исполнителя.
Способы
записей алгоритмов. Формальное исполнение алгоритмов.
Основные алгоритмические структуры (линейная, ветвления, выбор,
цикл).
Этапы решения задач с использованием компьютера: формализация, программирование и тестирование.
Слайд 3Само слово «алгоритм» происходит от algorithmi - латинской формы написания
имени великого математика IX века Абдулла (или Абу Джафар) Мухаммед
Бен Мусса аль-Хорезми, который сформулировал правила выполнения арифметических действий.
Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами.
Слайд 4Алгоритм
– это описание некоторой последовательности действий, которую нужно совершить
для достижения определенной цели
Слайд 5Каждый алгоритм предназначен для определенного исполнителя.
Слайд 6Исполнитель алгоритма
– это человек , живое существо или автомат
(в частности им может быть процессор ЭВМ), умеющий выполнять некоторый
набор действий которые можно назвать командами.
Слайд 7Исполнителя характерезуют
Среда – это «место обитания» исполнителя.
Элементарные действия –
это действия, которые исполнитель способен выполнять.
Слайд 8Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд
исполнителя.
Исполнителя характерезуют
Слайд 9Отказы – возникают если по каким-либо причинам (неизвестная команда, недопустимое
состояние среды и т.д.) исполнитель не может выполнить очередную команду
алгоритма.
Исполнителя характерезуют
Слайд 10Свойства алгоритма
Дискретность - разбиение алгоритма на последовательность отдельных законченных действий.
Понятность
– однозначное понимание каждого шага алгоритма для исполнителя.
Точность - свойство,
когда алгоритм не должен содержать команды, смысл которых может восприниматься неоднозначно.
Слайд 114. Результативность (конечность) – свойство, при котором любой алгоритм в
процессе выполнения должен приводить к определённому результату. Отрицательный результат также
является результатом.
5. Массовость - свойство, когда по данному алгоритму должна решаться не одна, а целый класс подобных задач.
Свойства алгоритма
Слайд 126. Универсальность. Алгоритм должен быть составлен так, чтобы им мог
воспользоваться любой исполнитель для решения аналогичной задачи.
Свойства алгоритма
Слайд 13Способы записи алгоритмов
Словесно – формульный, описание алгоритма с помощью слов
и формул.
Слайд 14A x2 + B x + C = 0
Начать.
Ввод A,
B, C.
D = B2 - 4 A C.
Если D
0, то идти к п. 6.
Если D > 0, то идти к п. 8.
Действительных корней нет.
Идти к п. 10.
X1 = (- B - ) / 2 A ; X2 = (- B + ) / 2 A .
Вывести значения X1 и X2.
Закончить.
Слайд 152. Алгоязык (псевдокод)- это средство для записи алгоритмов в аналитическом
виде, промежуточном между записью алгоритма на естественном (человеческом) языке и
записью на языке ЭВМ (языке программирования).
Алг имя алгоритма
Дано условия выполнимости алгоритма
Надо цель выполнения алгоритма
Нач
| тело алгоритма (последовательность команд)
Кон
Способы записи алгоритмов
Слайд 163. Графический способ (Блок-схема) служит для графического изображения структуры алгоритма.
Способы записи алгоритмов
Любая блок-схема представляет набор геометрических фигур или блоков,
в этих фигурах можно записывать текст, формулу и вообще любую информацию о том, что надо делать на данном этапе выполнения алгоритма. Последовательность действий указывается стрелкой. Основное преимущество блок-схемы - это наглядность.
Слайд 204. Алгоритм, записанный на понятном компьютеру языке программирования, называется программой.
Способы
записи алгоритмов
Слайд 21Виды алгоритмов
Линейный
Разветвляющийся
Циклический
Слайд 22Основные алгоритмические структуры
Линейным называется алгоритм, в котором все этапы
решения задачи выполняются строго последовательно.
Слайд 23Задача № 1
Составить алгоритм вычисления среднеарифметического и среднегеометрического двух
чисел и записать его в виде блок-схемы.
Слайд 24Даны длины сторон треугольника A, B, C. Найти площадь треугольника
S. Составьте блок-схему алгоритма решения поставленной задачи.
Задача № 2
Слайд 252. Ветвление - это алгоритмическая конструкция, в которой в зависимости
от условия выполняется та или иная последовательность действий.
Основные алгоритмические структуры
Слайд 26Полная форма ветвления если условие истинно, выполняется Серия 1, иначе
- выполняется Серия 2.
УСЛОВИЕ
СЕРИЯ 1
СЕРИЯ 2
да
нет
Основные алгоритмические структуры
Слайд 27Неполная форма ветвления если условие истинно, выполняется Серия 1, иначе
- ничего не делается, управление переходит к следующим командам.
УСЛОВИЕ
СЕРИЯ 1
да
нет
Основные
алгоритмические структуры
Слайд 28Составьте схемы алгоритмов вычисления значения функции:
Задача № 3
Слайд 29 Алгоритмическая структура ВЫБОР применяется для реализации ветвления со многими
вариантами серий команд.
Основные алгоритмические структуры
Слайд 30Задача №4. Алгоритм решения уравнения ах=b в общем случае может
быть описан схемой, изображенной на рис.
Слайд 313. Цикл - это алгоритмическая конструкция, в которой в зависимости
от условия повторяется определённая последовательность действий.
Основные алгоритмические структуры
Слайд 32Любой цикл характеризуется тремя стадиями:
началом цикла;
телом цикла;
концом
цикла.
Слайд 33Начало цикла – это условие вхождения в цикл. Цикл может
никогда не наступить, если не выполняется условие вхождения в цикл.
Слайд 34Телом цикла называют последовательность действий, которые выполняются многократно в цикле.
В теле цикла может быть всего одно действие, может быть
несколько действий, может не быть ни одного действия.
Слайд 35Конец цикла – это условие выхода из цикла или прекращение
цикла. Если условие выхода из цикла нарушено – цикл может
никогда не кончится, произойдет зацикливание (бесконечный цикл).
Слайд 36Виды циклических алгоритмов:
Цикл с постусловием –
ЦИКЛ «ДО»
Цикл с параметром
–
Арифметические циклы
Цикл с предусловием
– ЦИКЛ «ПОКА»
Слайд 39Вычислите и их 20 первых членов последовательности сумму, если общий
член последовательности
Задача № 5
где (k=1,2,3…20).
Слайд 40 в) Цикл с параметром
арифметический цикл
Слайд 41Нахождение произведения 15 вещественных чисел.
Дано: К -
счётчик чисел (1;15), х - произвольные вещественные числа.
Найти: Р - произведение 15 чисел.
Задача № 6
Слайд 42Этапы решения задач с использованием компьютера: формализация, программирование и тестирование.
Слайд 43Решение задачи на компьютере
- это процесс автоматического преобразования информации в
соответствии с поставленной целью.
Под процессом решения задачи на ЭВМ надо
понимать совместную деятельность человека и компьютера.
Слайд 44ПОСТАНОВКА ЗАДАЧИ
Это этап работы человека, хорошо представляющего предметную область задачи.
Он должен:
определить цель решения задачи;
определить необходимый объем информации;
дать точную формулировку
задачи;
предложить идею решения задачи;
описать исходные данные и указать способы их хранения;
определить форму выдачи результатов.
Слайд 45ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
Чтобы решить задачу, связанную с исследованием реального объекта,
необходимо описать этот объект в математических терминах, связанных определенными соотношениями
(формулами), то есть построить его математическую модель.
Этот этап выполняет человек, способный разработать математическое описание поставленной задачи. При этом он должен выполнить:
анализ похожих решённых задач;
анализ технических и программных возможностей;
анализ условий существования решения.
Слайд 46РАЗРАБОТКА АЛГОРИТМА.
Алгоритм решения задачи разрабатывается на основе построенной математической модели
и представляет конечную последовательность предписаний (правил), которая определяет процесс преобразования
исходных данных в результаты решения задачи.
Алгоритм разрабатывается одним из существующих способов, чаще всего в виде блок-схемы. Этот этап выполняет человек, умеющий программировать. Уровень его квалификации определяет эффективность разработанного алгоритма.
Слайд 47СОСТАВЛЕНИЕ ПРОГРАММЫ.
Этот этап также выполняет человек, умеющий программировать, так как
программа - это один из способов представления алгоритма с использованием
языка программирования, наиболее удобного для решения данной задачи.
Составление программы - это кодирование алгоритма для реализации его в компьютере.
Слайд 48ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ
Отладка программы - это проверка ее
на наличие технических, грамматических и, возможно, алгоритмических ошибок. Кроме того,
отладка предполагает совершенствование (оптимизацию) программы. Ошибки в ходе отладки исправляют путем контрольного тестирования.
Тесты (контрольные примеры) составляются так, чтобы проверить все возможные варианты работы алгоритма. Проверка осуществляется путем сравнения заранее известных результатов тестов с результатами, полученными компьютером. Этот этап - совместная работа программиста и машины.
Слайд 49ПОЛУЧЕНИЕ И АНАЛИЗ РЕЗУЛЬТАТОВ.
После устранения всех ошибок, выявленных отладкой и
тестированием, получают результаты решения поставленной задачи.
Получение результатов может быть
многократным в зависимости от смены исходных данных, поскольку решение должно быть универсальным для задач подобного класса. На этом этапе машина работает совместно с человеком, выдающим задание.
Слайд 50Домашнее задание:
Лекционный материал