Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб1 и далее.doc
Скачиваний:
7
Добавлен:
18.11.2019
Размер:
2.98 Mб
Скачать

2.Анализ условий задач

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

Задача 1

Например, нам необходимо создать приложение, позволяющее формировать и обрабатывать итоговые ведомости сессии групп студентов одного курса (осуществлять различные типы поисков).

Начнем с того, что уточним возможности данного приложения. Приложение должно позволять:

  • заносить данные о сдаче той или ной дисциплины каждым студентом;

  • осуществлять поиск по фамилии студента результатов сдачи им сессии;

  • осуществлять поиск фамилии студентов сдавших указанную дисциплину на определенную оценку;

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

Задача 2

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

Задание 1

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

Какие возможности должно реализовывать будущее приложение?

Какие объекты присутствуют в данном приложении?

Каких из них непосредственно касаются перечисленные возможности?

Какие возможности имеют общий характер, а какие частный?

Какие возможности стоит реализовать в библиотеке динамической компоновки, а какие в клиентском приложении?

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

  • Интерфейс подпрограммы – формат заголовка подпрограммы.

Иначе говоря, необходимо четко представить, какое имя будет у каждой из подпрограмм, какие будут входные данные, а какие выходные.

Например, для задачи №1 давайте договоримся подпрограммы обозначать так, как указано ниже.

Интерфейсы процедур:

поиск по имени

procedure Searsh_Fam(Fam:string;mas:array of string;var num_fam:integer);

где Fam – фамилия для поиска, mas – массив среди, которого нужно искать, num_fam – номер нужной фамилии в массиве

поиск по дисциплине

procedure searsh_subject(subject:array of string; mark:string; var fams:array of integer);

где Subject – это массив оценок по предмету.