Скачать презентацию Тема лекции Алгоритмы Вопросы 1 Этапы решения задач Скачать презентацию Тема лекции Алгоритмы Вопросы 1 Этапы решения задач

Алгоритмы_20.ppt

  • Количество слайдов: 43

Тема лекции: Алгоритмы Вопросы: 1. Этапы решения задач на ЭВМ 2. Понятие алгоритма 3. Тема лекции: Алгоритмы Вопросы: 1. Этапы решения задач на ЭВМ 2. Понятие алгоритма 3. Свойства алгоритма 4. Способы записи алгоритма 5. Блок-схема алгоритма 6. Ход выполнения алгоритма 7. Примеры 1

Этапы решения задач на ЭВМ 1. Постановка задачи. 2. Математическая формализация. 3. Алгоритмизация. 4. Этапы решения задач на ЭВМ 1. Постановка задачи. 2. Математическая формализация. 3. Алгоритмизация. 4. Программирование. 5. Отладка и тестирование программы. Работа без применения ЭВМ Работа на ЭВМ 6. Проведение расчетов и анализ результатов 3

I этап Постановка задачи и её содержательный анализ ① Формируется условие задачи: 1. Что I этап Постановка задачи и её содержательный анализ ① Формируется условие задачи: 1. Что дано? → аргументы 2. Что необходимо определить? → результат 3. Какие данные допустимы и в каких единицах измерения ? 4. Какие результаты и в каком виде должны быть получены? ② Всем величинам присвоить имена. 4

II этап Математическая формализация Реально существующие объекты, предметы, явления заменяются математическими формулами. 5 II этап Математическая формализация Реально существующие объекты, предметы, явления заменяются математическими формулами. 5

III этап Алгоритмизация (построение алгоритма) При разработке алгоритма решения сложной задачи следует использовать метод III этап Алгоритмизация (построение алгоритма) При разработке алгоритма решения сложной задачи следует использовать метод структурного подхода: 1. Алгоритм собирается из 3 -х основных базовых структур. 2. Разработка алгоритма «сверху вниз» . 3. Сквозной структурный контроль. 6

IV этап Программирование • выбор языка программирования; • запись алгоритма на выбранном языке программирования IV этап Программирование • выбор языка программирования; • запись алгоритма на выбранном языке программирования 7

V этап Отладка и тестирование программы Ошибки программы: • • Синтаксические Логические Тест – V этап Отладка и тестирование программы Ошибки программы: • • Синтаксические Логические Тест – набор исходных данных, для которых заранее известен результат. 8

VI этап Проведение расчетов и анализ результатов Расчет программы (выполнение на ЭВМ). После выполнения VI этап Проведение расчетов и анализ результатов Расчет программы (выполнение на ЭВМ). После выполнения программы необходимо провести обработку и осмысление результатов. 9

Распределение общего времени между этапами, необходимое для разработки сложных программ 10 Распределение общего времени между этапами, необходимое для разработки сложных программ 10

Общие рекомендации 1. Необходимо универсальной создать программу 2. Вместо констант использовать переменные. лучше 3. Общие рекомендации 1. Необходимо универсальной создать программу 2. Вместо констант использовать переменные. лучше 3. Программа комментарии иметь должна 11

Пример 1 Определить расстояние от пункта А до пункта В, если автобус, двигаясь со Пример 1 Определить расстояние от пункта А до пункта В, если автобус, двигаясь со скоростью 60 км/час, проезжает это расстояние за 30 минут. А В 12

Этапы решения задачи I этап 1. Что дано? Скорость автобуса – 60 км/ч, время Этапы решения задачи I этап 1. Что дано? Скорость автобуса – 60 км/ч, время в пути – 30 мин. 2. Что необходимо найти? Расстояние от А до В. Анализ исходных данных: 3. Какие данные допустимы? скорость (км/час) время (мин) ➾ 30 мин : 60 = 0, 5 час Присвоим имена переменным: V – скорость t – время S – расстояние 13

Этапы решения задачи II этап Построение математической модели: заменим описание задачи свернутой формулой. S Этапы решения задачи II этап Построение математической модели: заменим описание задачи свернутой формулой. S = V· t 14

Этапы решения задачи III этап Построение алгоритма задачи. решения Алг расстояние вещ V, t, Этапы решения задачи III этап Построение алгоритма задачи. решения Алг расстояние вещ V, t, S нач Нач Ввод V, t Ввести скорость автобуса, Ввести время в пути, Вычислить расстояние S = V · t Вывести результат S S=Vt Вывод S Кон кон 15

Этапы решения задачи IV этап VI этап – результат одно число : S = Этапы решения задачи IV этап VI этап – результат одно число : S = 30 Ответ: 30 километров. 16

Пример 2 На научный семинар собрались ученые. Каждый из них оставил коллегам визитные карточки. Пример 2 На научный семинар собрались ученые. Каждый из них оставил коллегам визитные карточки. Всего карточек – 132. Сколько всего ученых собралось на семинар? 17

Этапы решения задачи I этап Анализ исходных данных: 1. Что дано? Количество оставленных учеными Этапы решения задачи I этап Анализ исходных данных: 1. Что дано? Количество оставленных учеными карточек – 132. 2. Что необходимо найти? Количество ученых. 3. Какие данные допустимы? карточка (штука) ученые (человек) Присвоим имена переменным: x – количество ученых 18

Этапы решения задачи II этап Построение математической модели: заменим описание задачи свернутой формулой. x Этапы решения задачи II этап Построение математической модели: заменим описание задачи свернутой формулой. x · (x-1) = 132 ➾ x 2 – x – 132 = 0 аргументы ➾ a =1, b = -1, c = -132 результат ➾ Промежуточная величина D = b 2 – 4 ac 19

Этапы решения задачи Нач III этап Построение алгоритма решения задачи. Ввести a, b, c Этапы решения задачи Нач III этап Построение алгоритма решения задачи. Ввести a, b, c D = b 2 – 4 ac + D=0 + x 1 = x 2 D>0 Вывести « Нет решения» Вывести x 1, x 2 Кон 20

Этапы решения задачи IV этап VI этап – результат: x 1 = 12 x Этапы решения задачи IV этап VI этап – результат: x 1 = 12 x 2 = -11 – отрицательное число не подходит Ответ: на семинаре было 12 ученых. 21

2. Понятие алгоритма 22 2. Понятие алгоритма 22

2. Понятие алгоритма Алгоритм – понятное и точное предписание (указание) исполнителю совершить последовательность действий, 2. Понятие алгоритма Алгоритм – понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи. 23

ИСПОЛНИТЕЛИ АЛГОРИТМОВ ЧЕЛОВЕК РОБОТ КОМПЬЮТЕР ИСПОЛНИТЕЛЬ ВЫПОЛНЯЕТ АЛГОРИТМ ФОРМАЛЬНО 24 ИСПОЛНИТЕЛИ АЛГОРИТМОВ ЧЕЛОВЕК РОБОТ КОМПЬЮТЕР ИСПОЛНИТЕЛЬ ВЫПОЛНЯЕТ АЛГОРИТМ ФОРМАЛЬНО 24

Бездумные Исполнители Вспомним забавный диалог из мультфильма «Вовка в Тридевятом царстве» 25 Бездумные Исполнители Вспомним забавный диалог из мультфильма «Вовка в Тридевятом царстве» 25

Может он меня сам укусит? ! 26 Может он меня сам укусит? ! 26

Он думает, что мы летим домой. Как бы не так! 27 Он думает, что мы летим домой. Как бы не так! 27

Система команд исполнителя (СКИ) совокупность команд, которые данный исполнитель умеет выполнять. Совокупность всех действий, Система команд исполнителя (СКИ) совокупность команд, которые данный исполнитель умеет выполнять. Совокупность всех действий, которые исполнитель может выполнить в ответ на эти команды, называется системой допустимых действий Исполнителя. 28

3. Свойства алгоритма 1. 2. 3. 4. 5. 6. 7. Дискретность Понятность Определённость (детерминированность) 3. Свойства алгоритма 1. 2. 3. 4. 5. 6. 7. Дискретность Понятность Определённость (детерминированность) Конечность (результативность) Выполнимость (эффективность) Массовость (универсальность) Однозначность 29

4. Способы записи алгоритма 1. 2. 3. 4. Словесный (вербальный) Графический Математический (формулами) Алгоритмические 4. Способы записи алгоритма 1. 2. 3. 4. Словесный (вербальный) Графический Математический (формулами) Алгоритмические языки(программа) 30

5. Блок-схема алгоритма Блок-схема - графическое изображение структуры алгоритма, в котором каждый этап процесса 5. Блок-схема алгоритма Блок-схема - графическое изображение структуры алгоритма, в котором каждый этап процесса переработки данных представляется в виде геометрических фигур (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых при этом операций. 32

5. Блок-схема алгоритма Ввод и/ или вывод Дисплей Процесс (линейные вычисления) Предопределённый процесс (процедура, 5. Блок-схема алгоритма Ввод и/ или вывод Дисплей Процесс (линейные вычисления) Предопределённый процесс (процедура, подпрограмма) Решение: выбор направления вычислительного процесса Ручной ввод ( ввод с клавиатуры) Соединитель (для одной страницы) 33

Блок-схема алгоритма Начало и конец обработки данных Линии потока Межстраничный соединитель Комментарий Документ: ввод-вывод Блок-схема алгоритма Начало и конец обработки данных Линии потока Межстраничный соединитель Комментарий Документ: ввод-вывод данных на бумажный носитель Пересечение линий потока Модификация 34

6. Ход выполнения алгоритма • • • последовательный разветвлённый циклический Различают три основных типа 6. Ход выполнения алгоритма • • • последовательный разветвлённый циклический Различают три основных типа структур алгоритма: линейный (следование), альтернативный (разветвление) циклический (повторение, итерация) 35

Алгоритмы линейного типа структуры действия выполняются последовательно одно за другим. 36 Алгоритмы линейного типа структуры действия выполняются последовательно одно за другим. 36

Примеры алгоритма линейной структуры Начало R S= R 2 L=2 R S, L Конец Примеры алгоритма линейной структуры Начало R S= R 2 L=2 R S, L Конец 37

Алгоритмы разветвленного типа структуры в зависимости от выполнения или невыполнения какоголибо условия производятся различные Алгоритмы разветвленного типа структуры в зависимости от выполнения или невыполнения какоголибо условия производятся различные последовательности действий 38

Примеры алгоритмов разветвляющейся структуры Начало А, В Нет В=0 Да С=А/1, 4 С=А/В С Примеры алгоритмов разветвляющейся структуры Начало А, В Нет В=0 Да С=А/1, 4 С=А/В С Конец 39

Алгоритмы циклического типа структуры Условные С постусловием Безусловные С предусловием 42 Алгоритмы циклического типа структуры Условные С постусловием Безусловные С предусловием 42

43 43

Задача (цикл с предусловием «пока» ). Вывести квадраты чисел, находящихся в диапазоне от 0 Задача (цикл с предусловием «пока» ). Вывести квадраты чисел, находящихся в диапазоне от 0 до 1 с шагом 0, 2 44

Задача (цикл с постусловием «до» ). Требуется вводить с клавиатуры числа и подсчитывать их Задача (цикл с постусловием «до» ). Требуется вводить с клавиатуры числа и подсчитывать их сумму, до первого введенного отрицательного числа. 45

Безусловный циклический алгоритм (цикл со счётчиком «для» ) Задача. Требуется ввести массив чисел А Безусловный циклический алгоритм (цикл со счётчиком «для» ) Задача. Требуется ввести массив чисел А состоящий из 10 элементов в ПК. Начало J=1, 10, 1 A(j) …. Конец 46

Определите значение целочисленной переменной х после выполнения следующего фрагмента алгоритма: x=55, y=75 нет x Определите значение целочисленной переменной х после выполнения следующего фрагмента алгоритма: x=55, y=75 нет x <> y нет y=y-x да x>y да x=x-y 47