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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

12.1. Формализация задачи

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

Пример 12.1. Пусть в качестве предметной области рассматривается процесс зачисления абитуриентов в ВУЗ, который хорошо знаком читателю, а потому не требует пространных комментариев. Попробуем формализовать его, определив исходные данные, требуемые для решения задачи, результаты решения, а также сам процесс решения (при этом возможны некоторые упрощения относительно реального положения дел, которые не должны смущать читателя).

Итак, процесс зачисления происходит описанным ниже образом:

  1. в приемную комиссию поступают сведения об абитуриенте, включающие данные о его оценках из аттестата о среднем образовании;

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

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

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

Таким образом, для решения задачи требуются следующие исходные данные: фамилия, имя, отчество студента (для различения в списке), оценки из аттестата, оценки за вступительные экзамены, объем набора на первый курс.

Результат решения – список студентов первого курса в виде списка фамилий, имен, отчеств.

Формализация выполнена. Ее результат – описание решения в виде последовательности шагов, входные и выходные данные.

Пример 12.2. Пусть на первый курс по некоторой специальности зачислено N студентов. По результатам каждой сессии в течение первых четырех семестров часть студентов отчисляется за неуспеваемость в указанных среднестатистических количествах:

семестр, x 1 2 3 4

число отчисленных, y 20 5 2 1.

Построить модель изменения численности студентов для определения их количества к дипломному проектированию.

Эта задача относится к классу задач экстраполяции функций: определить значение функции y в точке x (xx0, xn), если известны (n+1) значений функции y в точках x0, x1 x2, …, xn.

Решим задачу двумя способами.

П ервый способ. Используем возможности табличного процессора EXCEL, который позволяет аппроксимировать функцию y, если известны значения функции и ее аргументов в определенном количестве точек. Для этого занесем в таблицу EXCEL исходные данные, построим диаграмму точечного типа и сформируем линию тренда, запросив вывод в диаграмму установленной табличным процессором функциональной зависимости (см. рис. 12.2).

Рис. 12.2. Диаграмма для задачи 12.2

Как видно из рис. 12.2, сформированная функциональная зависимость имеет вид:

y(x) = 20,777 x-2,1513,

где y – число отчисленных студентов;

x – номер семестра.

Тогда для определения числа оставшихся студентов к пятому курсу (дипломному проектированию) может быть построена модель:

st = N – y (10),

где st – число оставшихся к дипломному проектированию студентов.

Формальная постановка задачи выполнена.

Второй способ. Используем интерполяционный многочлен Лагранжа для формализации задачи (несмотря на то, что этот многочлен решает задачу интерполяции, его можно использовать и для экстраполяции, если экстраполяционная точка не слишком отдалена от исходных точек).

В соответствии с принятыми выше обозначениями имеем:

где yi – число отчисленных студентов в i-м семестре;

p i(10) – коэффициент Лагранжа, который рассчитывается по формуле:

и имеет значения из множества {p1(10), p2(10), p3(10), p4(10)}.

Задача решена.