1 / 23

Языки и методы программирования

Лекция 8. Языки и методы программирования. Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Содержание. Построение модели Разработка и анализ алгоритмов. проектирование и разработка программ состоит из этапов:. 1)постановка задачи; 2) проектирование программы; 3) построение модели;

Download Presentation

Языки и методы программирования

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекция 8 Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М.

  2. Содержание • Построение модели • Разработка и анализ алгоритмов

  3. проектирование и разработка программ состоит из этапов: 1)постановка задачи; 2) проектирование программы; 3)построение модели; 4) разработка алгоритма; 5) реализация алгоритма; 6) анализ алгоритма и его сложности; 7) тестирование программы; 8)документирование.

  4. Построение модели • 1. Какие математические структуры больше всего подходят для решения задачи? • 2. Существуют ли решенные аналогичные задачи?

  5. Задача коммивояжера • Джек – агент по продаже компьютеров (коммивояжер). На его территории 20 городов, разбросанных по всему штату. Компания возмещает ему только 50% стоимости деловых поездок. Джек вычислил, сколько ему будет стоить переезд на машине между каждыми двумя городами на его территории. Ему, естественно, хотелось бы снизить свои дорожные расходы. • Дано: двумерный массив с элементами cij, равными стоимости переезда из города i в город j. • Дополнительная информация: маршрут должен начинаться и заканчиваться в одном городе, каждый город посещается один раз. • Найти: самый выгодный маршрут!

  6. Задача коммивояжера с 5 городами: • граф — это совокупность объектов со связями между ними. • Сеть - множество точек на плоскости вместе с линиями, соединяющими некоторые или все пары точек; над линиями могут быть проставлены веса.

  7. Построение модели (принципы): • дедуктивный (от общего к частному) • индуктивный (от частного к общему). Схема построения модели при дедуктивном способе Схема построения модели при индуктивном способе

  8. Индуктивный способ • предполагает выдвижение гипотез, декомпозицию сложного объекта, анализ, затем синтез. • широко используется подобие, аналогичное моделирование, умозаключение с целью формирования каких-либо закономерностей в виде предположений о поведении системы.

  9. Технология построения модели при индуктивном способе: • эмпирический этап • умозаключение; • интуиция; • предположение; • гипотеза. • постановка задачи длямоделирования; • оценки; количественное и качественное описание; • построение модели.

  10. Разработка алгоритма • Выбор метода разработки зависит от постановки задачи, ее модели. необходимо провести анализ правильности алгоритма, что очень непросто и трудоемко (прогон его на множестве различных тестов). • методика доказательства правильности алгоритма : алгоритм описан в виде последовательности шагов. Для каждого шага предлагается некое обоснование его правильности для всех подходящих входных (условиях до данного шага) и выходных данных (условиях после этого шага). Затем предлагается доказательство конечности алгоритма с окончательными исходными входными и выходными данными.

  11. Конструирование и реализация алгоритма • • кодирование; • • интеграцию; • • тестирование (сертификацию). • Этот этап зависит от того, какой язык программирования выбран, на каком компьютере алгоритм будет реализован. С этим связаны выбор типов данных, вводимых структур данных, связь с окружающей средой и т.п.

  12. Анализ алгоритма • необходим для оценки ресурсов компьютеров, на которых он будет работать, времени обработки конкретных данных, приспособления в работе в локальных сетях и телекоммуникациях.

  13. ПРИНЦИПЫ РАЗРАБОТКИ И АНАЛИЗА АЛГОРИТМОВ • При построении алгоритма для сложной задачи используют системный подход с использованием декомпозиции (нисходящее проектирование сверху-вниз) и синтеза (программирование снизу-вверх). • При формировании алгоритма используют дедуктивный и индуктивный методы.

  14. Дедуктивный подход • рассматривается частный случай общеизвестныхалгоритмических моделей. • при заданных предположениях известный алгоритм приспосабливается к условиям решаемой задачи. • В настоящее время получили распространение специализированные пакеты, позволяющие решать многие задачи (Mathcad, Eureka, Reduce— Autocad и т.п.).

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

  16. структурное программирование • - один из системных методов разработки алгоритмов. • основано на использовании блок-схем, формируемых с помощью управляющих структурных элементов. • Блок-схема - это ориентированная сеть, у которой могут быть функциональные, предикатные или объединяющие вершины. Функциональные (а), предикатные (б) и объединяющие (в) вершины

  17. управляющие структуры • композиция, • альтернатива, • итерация.

  18. Композиция • - это линейная конструкция алгоритма, составленная из последовательно следующих друг за другом функциональных вершин. begin S1;S2; end Структура «композиция»

  19. Альтернатива • - это конструкция ветвления, имеющая предикатную вершину. Конструкция ветвления в алгоритмах может быть представлена в виде развилки (а), неполной развилки (б) и выбора (в) Структура «альтернатива».

  20. Итерация • - это циклическая конструкция алгоритма, которая, вообще говоря, является составной структурой, состоящей из композиции и альтернативы. Структура «итерация»

  21. Идея структурного программирования сверху-вниз • - если для некоторой функции f существует ее композиция через две другие функции g и h, т.е. f=h(g(х)), то проблема разработки алгоритма для f сводится к проблемам разработки алгоритмов для h и g. • В структурном программировании сверху-вниз на каждом шаге пытаются текущую функцию выразить как композицию двух (или более) других функций, которые представимы в виде рассмотренных выше управляющих структур.

  22. Пошаговая детализация построения алгоритма

  23. С. Гудман, С. Хидетниеми Введение в разработку и анализ алгоритмов. , 1981, Изд-во «Мир» • Левитин Ананий В. Алгоритмы: введение в разработку и анализ,  2006, Изд-во: Диалектика-Вильямс

More Related