Название: Алгоритмы и программы (Афанасьева Т. В.)

Жанр: Информационные системы и технологии

Просмотров: 1424


1.1. анализ постановки задачи и ее предметной области

 

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

         Какие данные являются исходными?

         Какие данные являются результирующими?

         Какие отношения между исходными данными и требуемым результатом?

         Являются ли исходные данные достаточными?

         К какому виду следует отнести исходные данные?

         К какому типу следует отнести исходные и результирующие данные?

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

Модель  –  это  упрощенное  представление  о  реальном  объекте,

процессе или явлении.

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

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

Различают  исходные  данные  трех  видов:  постоянные,  условно-

постоянные и переменные.

свои  значения  в  процессе  решения  задачи  (математические константы,

координаты неподвижных объектов) и не зависят от внешних факторов.

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

Переменные   данные   –   это   данные,   которые   изменяют   свои значения в процессе решения задачи.

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

Данное относят к простому типу, если в любой момент времени оно

определяет одно и только одно значение.

На рис. 1 представлена классификация типов данных по структурному признаку.

 

Классификация данных по структурному признаку

 

Простые         Структурированные

 

Нечисловые   Числовые       Однородные  Неоднородные

 

Рис. 1. Классификация типов данных

 

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

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

Классическим примером однородной структуры является некоторая последовательность однотипных данных, заданная    в виде массива значений, таких как, например (2, 51, 3, 7, 88).

Массив характеризуется фиксированным количеством входящих в него значений, эти значения  упорядочены по номерам следования. Номер элемента в массиве является средством адресации, доступа к конкретному элементу, например в вышеприведенном массиве чисел значение 51 имеет номер  два,  а  значение  7  –  номер  четыре.  Неоднородная  структура  в отличие от однородной содержит значения различных типов, относящихся к одному понятию или объекту, и, значит, такое структурированное данное несет в себе больше информации. Для представления неоднородных структур используют запись. Запись – это структура, предназначенная для представления данных преимущественно различного типа. Значения, составляющие запись, называются полями записи. По-другому запись можно представить как совокупность полей, каждое из которых имеет свое наименование.   Имя   поля   является   средством   адресации,   доступа   к значению этого поля в записи.

Рассмотрим простой пример. Задача заключается в определении в

некоторой стране города с максимальным количеством жителей. Данные, которые необходимо проанализировать, это нечисловые данные, содержащие информацию о названии города, и числовые данные, содержащие информацию о численности в этом городе. В качестве структуры, содержащей данные о названии города и количестве в нем жителей, следует выбрать неоднородную структуру – запись, пример которой  изображен  в  таблице  1.  Запись  содержит  два  поля:  Название города и Количество жителей. В первой строке табл. 1 указаны названия полей, во второй строке – типы полей, в третьей строке значения полей, образующие запись.

 

 

 

Пример записи

Таблица 1

 

 

Название города

Количество жителей

Строковый тип

Числовой тип

Москва

8 578 676

 

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

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

модель,  в  которой определены данные, их  свойства через  виды,  типы,

ограничения и возможные соотношения между ними.

 

Задания для самостоятельного выполнения

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

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

 

1. В  книжном  магазине  вы  желаете  купить  три  книги.  У  вас  имеется небольшая сумма наличных денег и пластиковая карта, на счету которой большая сумма денег. Вам бы не хотелось сегодня пользоваться пластиковой картой, так как Вы в дальнейшем запланировали крупную покупку. Определите способ покупки.

2. Определите   вариант пути от дома до места учебы, в зависимости от времени выхода из дома и времени начала учебных занятий.

3. В  избирательной  компании  в  органы  власти  участвуют  две  партии: зеленых и прозрачных. Какая информация будет опубликована в СМИ по итогам голосования?

4. Подсчитать количество цифр в целом числе.

5. В  процессе  обучения  студент  группы  сдавал  экзамены.  Определить средний балл за сданные им экзамены.

6. Некоторая    группа    студентов    сдавала    экзамен    по    дисциплине

«Редакторское дело». Определить средний балл группы по этой дисциплине.

7. В группе учатся как девушки, так и юноши. Определить, кто лучше сдал экзамен по дисциплине «Информатика» – юноши или девушки?

8. Определить среднюю и общую стоимость книг в книжном магазине для каждого автора.

9. Определить    объем    выпуска    книжной    продукции    издательства

«Эдельвейс»  в  печатных  листах,  учитывая  коэффициент  перевода авторских страниц в печатные листы.

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

 

Контрольные вопросы

1. К  какому  классу  задач  относятся  проблемы,  требующие  решения средствами прикладного программного обеспечения ЭВМ?

2. Какой     подход     рекомендуется     применять     для     обоснованного решения проблем?

3. На решении каких задач основан системный подход?

проблем имеет ряд преимуществ. Перечислите их.

5. Опишите    обобщенный  процесс          решения          проблемы       на        основе системного подхода.

6. Перечислите  основные  вопросы,  на  которые  требуется  ответить  при анализе постановки задачи.

7. Дайте определение модели.

8. Как можно определить структурную модель?

9. Что понимают под свойствами данных?

10. Какие существуют виды исходных данных?

11. Что определяет тип данных?

12. Приведите классификацию типов данных по структурному признаку.

13. Приведите примеры типов и видов данных.