Содержание
- 2. © С.В.Кухта, 2009 Основные определения и понятия Этапы разработки программ Методы проектирования алгоритмов и программ Принципы
- 3. © С.В.Кухта, 2009 1. Проектирование программ
- 4. © С.В.Кухта, 2009 Этапы разработки программ Постановка задачи определить цель и категорию программы (системная, прикладная) определить
- 5. © С.В.Кухта, 2009 Этапы разработки программ Разработка модели данных Анализ существующих аналогов формальная модель типы данных
- 6. © С.В.Кухта, 2009 Этапы разработки программ Отладка программы (поиск и исправление ошибок) отладчик (точки останова, пошаговый
- 7. © С.В.Кухта, 2009 Отладка программы – это процесс поиска и устранения ошибок в программе, производимый по
- 8. © С.В.Кухта, 2009 Отладка и тестирование – это два четко различимых и непохожих друг на друга
- 9. © С.В.Кухта, 2009 Английский термин debugging ("отладка") буквально означает "вылавливание жучков". Термин появился в 1945г., когда
- 10. © С.В.Кухта, 2009 Этапы разработки программ Разработка документации справочная система руководство пользователя (User Manual) руководство разработчика
- 11. © С.В.Кухта, 2009 Методы проектирования программ основная программа процедуры 1-ого уровня процедуры 2-ого уровня снизу вверх
- 12. © С.В.Кухта, 2009 Проектирование «снизу вверх» сначала составляются процедуры нижнего уровня, из которых затем «собираются» процедуры
- 13. © С.В.Кухта, 2009 Проектирование «сверху вниз» метод последовательного уточнения: начинаем с основной программы; она разбивается на
- 14. © С.В.Кухта, 2009 Структурное программирование Существовавшие проблемы: увеличилась сложность программ сократилось время на разработку Цели: повысить
- 15. © С.В.Кухта, 2009 Структурное программирование Принципы: абстракции: программу можно рассматривать на любом уровне без лишних подробностей
- 16. © С.В.Кухта, 2009 Модуль Модуль – это программный блок (процедура или функция), отделенный от кода других
- 17. © С.В.Кухта, 2009 Основные определения и понятия Алгоритмизация – это процесс построения алгоритма решения задачи, результатом
- 18. © С.В.Кухта, 2009 Основные определения и понятия Свойства алгоритма дискретность: состоит из отдельных шагов (команд); возможность
- 19. © С.В.Кухта, 2009 Основные определения и понятия Свойства алгоритма массовость: может применяться многократно при различных исходных
- 20. © С.В.Кухта, 2009 Основные определения и понятия Программа – это алгоритм, записанный на каком-либо языке программирования
- 21. © С.В.Кухта, 2009 Основные определения и понятия Программа – алгоритм, записанный в форме, воспринимаемой машиной. Программа
- 22. © С.В.Кухта, 2009 Основные определения и понятия Переменная – это объект, который в ходе выполнения программы
- 23. © С.В.Кухта, 2009 Основные определения и понятия Данные – это факты и идеи, представленные в формализованном
- 24. © С.В.Кухта, 2009 Основные определения и понятия Предметом курса являются методы и средства составления алгоритмов и
- 25. © С.В.Кухта, 2009 Системы программирования Системы программирования (или инструментальные средства) – это ПО, предназначенное для разработки
- 26. © С.В.Кухта, 2009 Языки программирования Всего более 600, широко используется примерно 20. Машинно-ориентированные языки: машинные коды:
- 27. © С.В.Кухта, 2009 Языки программирования Языки высокого уровня (алгоритмические): для обучения: Бейсик (1965), Паскаль (1970), Лого,
- 28. © С.В.Кухта, 2009 Трансляторы Транслятор – это программа, которая переводит текст других программ в машинные коды.
- 29. © С.В.Кухта, 2009 Типы трансляторов интерпретатор – переводит в коды 1 строчку программы и сразу ее
- 30. © С.В.Кухта, 2009 Компоновщик Компоновщик (редактор связей, Linker) – это программа, которая объединяет части одной программы
- 31. © С.В.Кухта, 2009 Другие программы Отладчик (англ. debugger) – это программа, которая облегчает поиск ошибок в
- 32. © С.В.Кухта, 2009 Среда быстрой разработки Среда быстрой разработки программ (англ. RAD = Rapid Application Development)
- 33. © С.В.Кухта, 2009 Основные определения и понятия Предметом курса являются методы и средства составления алгоритмов и
- 34. © С.В.Кухта, 2009 2. Средства изображения алгоритмов
- 35. © С.В.Кухта, 2009 Средства изображения алгоритмов Основными изобразительными средствами алгоритмов являются следующие способы их записи: словесный;
- 36. © С.В.Кухта, 2009 Словесный способ Словесный – содержание этапов вычислений задается на естественном языке в произвольной
- 37. © С.В.Кухта, 2009 Словесный способ Пример 1. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных
- 38. © С.В.Кухта, 2009 Словесный способ Пример 2. Пусть задан массив чисел. Требуется проверить, все ли числа
- 39. © С.В.Кухта, 2009 Формульно-словесный способ Формульно-словесный – задание инструкций с использованием математических символов и выражений в
- 40. © С.В.Кухта, 2009 Блок-схемный способ Блок-схемный – это графическое изображение логической структуры алгоритма, в котором каждый
- 41. © С.В.Кухта, 2009 Основные символы блок-схем
- 42. © С.В.Кухта, 2009 Основные символы блок-схем
- 43. © С.В.Кухта, 2009 Основные символы блок-схем
- 44. © С.В.Кухта, 2009 Основные символы блок-схем
- 45. © С.В.Кухта, 2009 Основные символы блок-схем
- 46. © С.В.Кухта, 2009 Пример блок-схемы Рассмотрим пример блок-схемы той же задачи, для которой приведен словесный алгоритм.
- 47. © С.В.Кухта, 2009 Псевдокод Псевдокод - позволяет формально изображать логику программы, не заботясь при этом о
- 48. © С.В.Кухта, 2009 Псевдокод Шаги алгоритма и последовательность их выполнения задаются с помощью набора специальных ключевых
- 49. © С.В.Кухта, 2009 Пример псевдокода Выбираем первый элемент (i=1) IF A>xi или xi печать сообщения и
- 50. © С.В.Кухта, 2009 Структурные диаграммы Структурные диаграммы - могут использоваться в качестве структурных блок-схем, для показа
- 51. © С.В.Кухта, 2009 Структурные диаграммы Пример диаграммы МЭСИД
- 52. © С.В.Кухта, 2009 Языки программирования Языки программирования - изобразительные средства для непосредственной реализации программы на ЭВМ.
- 53. © С.В.Кухта, 2009 Языки программирования Наиболее часто встречающимся транслятором интерпретирующего типа является транслятор с языка Бейсик,
- 54. © С.В.Кухта, 2009 Языки программирования Любой компилятор требует, чтобы программа, подаваемая ему для перевода, была абсолютно
- 55. © С.В.Кухта, 2009 3. Базовые канонические структуры алгоритмов
- 56. © С.В.Кухта, 2009 Доказано, что любую программу можно написать, используя комбинации трех управляющих структур: следование (линейный
- 57. © С.В.Кухта, 2009 Линейные алгоритмы Линейными называют алгоритмы, в которых операции выполняются последовательно одна за другой,
- 58. © С.В.Кухта, 2009 Линейные алгоритмы Начало 4. Принести мел Конец
- 59. © С.В.Кухта, 2009 Линейные алгоритмы Задача: Даны A, B Найти S=A+B Схема алгоритма:
- 60. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы При составлении схем алгоритмов часто возникает необходимость проведения анализа исходных данных
- 61. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы Каждое возможное направление вычислений называется ветвью. Каждая из ветвей ведет к
- 62. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы Полная форма ветвления
- 63. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы Неполная форма ветвления
- 64. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы Выбор Оператор выбора варианта проверяет поочередно условия и выбирает для исполнения
- 65. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы
- 66. © С.В.Кухта, 2009 Разветвляющиеся алгоритмы Даны два числа а и b. Найти
- 67. © С.В.Кухта, 2009 Циклические алгоритмы Алгоритм циклической структуры предусматривает многократное повторение действий в одной и той
- 68. © С.В.Кухта, 2009 Циклические алгоритмы Специально изменяемый по заданному закону параметр, входящий в тело цикла, называется
- 69. © С.В.Кухта, 2009 Циклические алгоритмы Следовательно, при организации циклических вычислений необходимо предусмотреть: задание начального значения переменной
- 70. © С.В.Кухта, 2009 Циклические алгоритмы Циклы, в теле которых нет разветвлений и других встроенных в них
- 71. © С.В.Кухта, 2009 Циклические алгоритмы Существуют следующие разновидности циклических алгоритмов: оператор цикла с параметром (типа счетчик);
- 72. © С.В.Кухта, 2009 Цикл типа счетчик Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра
- 73. © С.В.Кухта, 2009 Цикл типа счетчик Блок-схема алгоритма нахождения суммы N первых натуральных чисел.
- 74. © С.В.Кухта, 2009 Цикл с предусловием Тело цикла выполняется до тех пор, пока условие истинно. Если
- 75. © С.В.Кухта, 2009 Цикл с постусловием Оператор используется, когда количество повторений заранее неизвестно, а задано некоторое
- 76. © С.В.Кухта, 2009 Итерационные циклы Особенностью итерационного цикла является то, что число повторений операторов тела цикла
- 77. © С.В.Кухта, 2009 Пример 1 итерационного цикла Составить алгоритм вычисления бесконечной суммы с заданной точностью ε.
- 78. © С.В.Кухта, 2009 Пример 1 итерационного цикла Особенностью задачи является то, что число слагаемых (а, следовательно,
- 79. © С.В.Кухта, 2009 Пример 1 итерационного цикла Решая эту задачу "в лоб" путем вычисления на каждом
- 80. © С.В.Кухта, 2009 Пример 1 итерационного цикла При составлении алгоритма нужно учесть, что знаки слагаемых чередуются,
- 81. © С.В.Кухта, 2009 Пример 1 итерационного цикла
- 82. © С.В.Кухта, 2009 Пример 2 итерационного цикла Вычислить значение многочлена (отрезка степенного ряда для ex): Здесь
- 83. © С.В.Кухта, 2009 Пример 2 итерационного цикла Обозначим общий член ряда через ui, так что Найдем
- 85. Скачать презентацию