Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции на экзамен.doc по информатике.doc
Скачиваний:
313
Добавлен:
05.02.2016
Размер:
732.16 Кб
Скачать

2. Технология проектирования программ

При включении компьютера в тот или иной информационный процесс для решения некоторой прикладной задачи, как следует из предыдущего изложения, он должен быть снабжен соответствующим ПО.

Для разработки программы в целях решения конкретной прикладной задачи сложилась традиционная технология, показанная на рис. 12.1.

Заказчик Математик или Программист

системотехник

Рис. 12.1. Традиционная технология подготовки задачи к решению на ЭВМ

Здесь связи означают:

1 – заказчик на естественном (например, русском) языке объясняет математику или системотехнику, какую прикладную задачу он хочет решить. Эта задача из некоторой предметной области, например, задача бухгалтерского учета или зачисления абитуриентов в ВУЗ;

2 – математик (или системотехник) формализует задачу, представляя ее в виде математической модели или составляя строгое формальное описание процедуры ее решения, входных и выходных данных. Этот этап называется формализацией задачи;

3 - программист на основании математической модели или другого формального описания поставленной задачи разрабатывает программу. Он выполняет также отладку программы, используя для этого ЭВМ. Этот этап называется программированием задачи;

4 – результаты решения задачи на ЭВМ сообщаются заказчику для определения того, удовлетворен ли он решением. Результаты решения задачи, будучи доведены до заказчика, могут его не удовлетворить в силу ряда причин. Это означает, что процесс, изображенный на рис. 12.1, является циклическим: он завершается тогда, когда заказчик примет результаты решения задачи автоматизированным образом. В этом случае оформляется документация на эксплуатацию программного продукта. В ней описываются следующие характеристики программного продукта:

  • основные характеристики программы, сведения об ее эксплуатации;

  • сведения о назначении программы, области ее применения, используемых методах решения, ограничениях на применение, минимальной конфигурации технических средств;

  • сведения для проверки работоспособности и корректности выполнения программы, для обеспечения функционирования и настройки программы на условия конкретного применения;

  • сведения о необходимых запросах со стороны программы и форматах ответов пользователя;

  • данные о нештатных ситуациях и поведении пользователя в них.

Этот этап называется сдачей программы в эксплуатацию.

Как видно, все связи на рис. 12.1 двунаправлены. Это означает, что в процессе проектирования программы идет диалог, в ходе которого уточняется и/или корректируется предмет общения.

3. Разработка алгоритма

Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от исходных данных к искомому результату.

Алгоритм обладает следующими свойствами (они следуют из определения):

  1. определенность (детерминированность) – каждая команда (или предписание) понятна исполнителю (человеку или компьютеру) и исключает неоднозначность исполнения;

  2. результативность – реализация вычислительного процесса, предусмотренного алгоритмом, должна через определенное число шагов привести к результату или сообщению о невозможности его получения;

  3. массовость – если алгоритм разработан для решения определенной задачи, он должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных;

  4. дискретность – пошаговый характер процесса получения результата, состоящий в последовательном выполнении конечного числа заданных алгоритмом действий.

Различают следующие простейшие виды алгоритмов:

  1. линейный, когда предписания алгоритма выполняются в той последовательности, в которой они представлены в алгоритме;

  2. разветвляющийся, когда ход исполнения предписаний может меняться относительно их нахождения в алгоритме в зависимости от значений исходных или промежуточных данных;

  3. циклический, когда предписания алгоритма выполняются многократно. В зависимости от характера повторений различают циклические алгоритмы с заданным и незаданным числом повторений (в этом случае такие алгоритмы называют итерационными).

Основные виды алгоритма.

Способы задания алгоритма:

  • Словесный (описание на естественном человеческом языке)

  • табличный

  • графический (блок-схемы)

Блок-схема — это графическая интерпретация алгоритма, представ­ляющая набор геометрических фигур, каждая из которых изображает какую-либо операцию или действие. Форма символов и правила со­ставления схем алгоритмов установлены государственными стандарта­ми Основные элементы, используемые при построении блок-схем, представлены в табл. 1.

Таблица 7.1. Основные блочные символы

Обозначение

Функция

1.

Начало-конец программы – Начало, конец процесса обработки данных или выполнения программы.

2.

Ввод-вывод данных – преобразование данных в форму пригодную для обработки (ввод) или отображение результатов обработки (вывод).

3.

Линия потока – указание последовательности обработки символов.

4.

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

5.

Решение – выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий.

Базовые алгоритмические структуры  

1. Линейные алгоритмы — последовательность блоков, каждый из которых имеет по одному входу и одному выходу, и выполняется в программе один раз. (Рис.7.1)

Рис. 7.1. Алгоритм линейной структуры Рис.7.2. Алгоритм «Разветвления»

2. Алгоритм разветвляющегося вычислительного процесса — алго­ритм, в котором в зависимости от значений некоторого признака про­изводится выбор одного из нескольких направлений, называемых вет­вями. В основе организации разветвления лежит проверка логического условия, которое может быть истинно или ложно. (Рис.2)

3. Алгоритм циклического вычислительного процесса включает в себя многократно повторяющиеся участки вычислений для различных значений данных.

Рис.7.3. Алгоритм циклического вычислительного процесса