Similar presentations:
Алгоритмы и исполнители
1. Алгоритмы и исполнители
2. Основные вопросы:
• Понят ие алгорит ма, свойст ва алгорит мов.Исполнит ели алгорит мов, сист ема команд
исполнит еля.
• Способы записей алгорит мов. Формальное
исполнение алгорит мов.
• Основные алгорит мические ст рукт уры
(линейная, вет вления, выбор, цикл).
• Эт апы решения задач с использованием
компьют ера: формализация,
программирование и т ест ирование.
3.
«алгоритм»4.
– это описание некоторойпоследовательности действий,
которую нужно совершить для
достижения определенной цели
5.
6.
– это человек , живое существо илиавтомат (в частности им может быть
процессор ЭВМ), умеющий
выполнять некоторый набор
действий которые можно назвать
командами.
7. Исполнителя характерезуют
• Среда –• Элементарные действия –
8.
системой командисполнителя.
9. Исполнителя характерезуют
• Отказы –10. Свойства алгоритма
1. Дискретность - разбиениеалгоритма на последовательность
отдельных законченных действий.
2. Понятность – однозначное
понимание каждого шага алгоритма
для исполнителя.
3. Точность - свойство, когда алгоритм
не должен содержать команды, смысл
которых может восприниматься
неоднозначно.
11. Свойства алгоритма
4. Результативность (конечность) –свойство, при котором любой
алгоритм в процессе выполнения
должен приводить к определённому
результату. Отрицательный
результат также является
результатом.
5. Массовость - свойство, когда по
данному алгоритму должна решаться
не одна, а целый класс подобных
задач.
12. Свойства алгоритма
6. Универсальность. Алгоритмдолжен быть составлен так,
чтобы им мог
воспользоваться любой
исполнитель для решения
аналогичной задачи.
13. Способы записи алгоритмов
1. Словесно –формульный,
14.
DD
15.
2. Алгоязык (псевдокод)-Алг
имя алгоритма
Дано
условия выполнимости алгоритма
Надо
цель выполнения алгоритма
Нач
| тело алгоритма (последовательность команд)
Кон
16.
3. Графический способ (Блоксхема)Любая
блок-схема
представляет
набор
геометрических фигур или блоков, в этих
фигурах можно записывать текст, формулу и
вообще любую информацию о том, что надо
делать на данном этапе выполнения алгоритма.
Последовательность
действий
указывается
стрелкой. Основное преимущество блок-схемы это наглядность.
17. Блок-схема
ОбозначениеНазвание блоков
начало
конец
Ввод/Вывод данных
18. Блок-схема
Выполнение операций(действий)
Условие
Нет
Да
19.
НачалоВвод A, B, C
D = B2 - 4 A C
D<0
X1 = (- B -
X2 = (- B +
D) / 2 A
Действительных
корней нет
D) / 2 A
Вывод X1, X2
Конец
20. Способы записи алгоритмов
4.программой.
21.
22. Основные алгоритмические структуры
1. Линейным23. Задача № 1
Составитьалгоритм
вычисления
и
и
записать его в виде
блок-схемы.
24.
началоДаны длины сторон
треугольника A, B, C.
ввод: A, B, C
P=
S=
A B C
2
P( P A)( P B)( P C )
вывод: S
.
конец
25. Основные алгоритмические структуры
2. Ветвление -26.
данет
УСЛОВИЕ
СЕРИЯ 1
СЕРИЯ 2
Полная форма ветвления если
условие истинно, выполняется Серия 1, иначе выполняется Серия 2.
27.
данет
УСЛОВИЕ
СЕРИЯ 1
Неполная форма ветвления если
условие истинно, выполняется Серия 1, иначе - ничего не
делается, управление переходит к следующим командам.
28. Задача № 3
Составьте схемыалгоритмов
вычисления
значения
функции:
1
у
х
29. Основные алгоритмические структуры
ВЫБОР30. Задача №4. Алгоритм решения уравнения ах=b в общем случае может быть описан схемой, изображенной на рис.
уравнения. Алгоритм решения
в общем случае может
31. Основные алгоритмические структуры
3. Цикл -.
32.
33.
этоусловие вхождения в цикл.
34.
называютпоследовательность
действий, которые
выполняются многократно в
цикле.
• В теле цикла может быть всего
одно действие, может быть
несколько действий, может не
быть ни одного действия.
35.
этоусловие выхода из цикла
или прекращение цикла.
Если условие выхода из
цикла нарушено – цикл
может никогда не
кончится, произойдет
зацикливание
(бесконечный цикл).
36. Виды циклических алгоритмов:
Цикл с предусловием– ЦИКЛ «ПОКА»
Циклическая
структура
Цикл с постусловием –
ЦИКЛ «ДО»
Цикл с параметром –
Арифметические циклы
37. А) Цикл с предусловием
УсловиеДа
Серия
команд
Нет
38. б) Цикл с постусловием
Сериякоманд
Нет
Условие
Да
39. Задача № 5
• Вычислите и ихсумму,
если общий член
последовательн
ости
где (k=1,2,3…20).
40. в) Цикл с параметром
арифметический циклПЦ:= НЗ,КЗ,Шаг
Серия
команд
41. Задача № 6
Нахождениепроизведения 15
вещественных
чисел.
Рпроизведение 15
чисел.
42.
43. Решение задачи на компьютере
это процесс автоматическогопреобразования информации в
соответствии с поставленной
целью.
Под процессом решения задачи на ЭВМ
надо понимать совместную
деятельность человека и компьютера.
44. ПОСТАНОВКА ЗАДАЧИ
- Это этап работы человека,хорошо представляющего
предметную область задачи.
45. ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
Чтобы решить задачу, связанную сисследованием реального объекта,
необходимо описать этот объект в
математических терминах, связанных
определенными соотношениями
(формулами), то есть построить его
математическую модель.
Этот этап выполняет человек, способный разработать
математическое описание поставленной задачи. При
этом он должен выполнить:
46. РАЗРАБОТКА АЛГОРИТМА.
Алгоритм решения задачиразрабатывается на основе построенной
математической модели и
представляет конечную
последовательность предписаний
(правил), которая определяет процесс
преобразования исходных данных в
результаты решения задачи.
47. СОСТАВЛЕНИЕ ПРОГРАММЫ.
Этот этап также выполняет человек,умеющий программировать, так как
программа - это один из способов
представления алгоритма с
использованием языка
программирования, наиболее удобного
для решения данной задачи.
48. ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ
Отладка программы - это проверка ее на
наличие технических, грамматических и,
возможно, алгоритмических ошибок.
• Тесты (контрольные примеры) составляются
так, чтобы проверить все возможные
варианты работы алгоритма. Проверка
осуществляется путем сравнения заранее
известных результатов тестов с
результатами, полученными компьютером.
49. ПОЛУЧЕНИЕ И АНАЛИЗ РЕЗУЛЬТАТОВ.
После устранения всех ошибок,выявленных отладкой и
тестированием, получают
результаты решения поставленной
задачи.
Получение результатов может быть
многократным в зависимости от
смены исходных данных, поскольку
решение должно быть универсальным
для задач подобного класса. На этом
этапе машина работает совместно с
человеком, выдающим задание.