Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GetAttachment.doc
Скачиваний:
6
Добавлен:
05.09.2019
Размер:
494.08 Кб
Скачать

5. Рекомендации по выполнению лабораторной работы.

5.1. Разработка тестового примера по формированию выходной ведомости.

Разработка тестового примера крайне важна для программиста. Правильно составленный тестовый пример позволяет:

  • осмыслить заданную проблему (что, как и на основании чего необходимо получить, разрабатывая программу);

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

  • продумать диалог с пользователем;

  • отработать и отобразить алгоритм решения задачи;

  • сформировать конкретные тестовые данные (наборы с исходной переменной и нормативно-справочной информацией) для проверки работоспособности алгоритма;

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

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

  • подготовить демонстрационную версию для презентации продукта труда программиста.

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

Реквизиты делятся на реквизиты-признаки (или просто – признаки) и реквизиты-основания (или просто – основания).

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

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

Для примера рассмотрим реквизиты «Товар» и «Выручка».

Первый выражается либо своим наименованием, либо кодом, которые вряд ли придет кому-то в голову использовать в арифметических операциях. Однако можно (что обычно и делается) вокруг этого реквизита группировать другие данные. Например, выручку от продажи товара «Обувь детская» во всех магазинах за месяц. Эта порция информации будет качественно отличаться от другой, допустим, по товару «Обувь мужская» или «Обувь женская», представленную по всем магазинам за этот же период. Поэтому реквизит «Товар» является признаком.

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

В задании в составе исходной информации можно увидеть 7 реквизитов. Причем первые шесть – признаки.

Реквизиты-признаки приобретают статус группировочных в зависимости от того, участвуют ли они в объединении (группировке) данных, представляемых в выходной ведомости или нет? Служат ли они целям последующего анализа этих данных пользователями или нет? Если да, то такие реквизиты крайне важны для организации вычислений и построения алгоритма решения задачи. За их поведением нужен особый контроль и внимание. Именно вокруг них будут группирорваться элементарные данные, именно по ним будут, как правило, подсчитываться итоги разных степеней. И поэтому их считают группировочными.

Замечание: обычно в исходной информации, на основе которой

формируется выходная ведомость, присутствует несколько

реквизитов-признаков. Но не все из них можно считать

группировочными по вышеуказанным обстоятельствам.

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

- общую (ОГ) – самую старшую;

- промежуточную (ПГ);

- частную (ЧГ) – самую младшую.

Если группировочных реквизитов больше трех, то ПГ расчленяют на более мелкие: ПГ1, ПГ2 и т.д.

Как определить, какой группировочный реквизит самый старший, а какой самый младший? И как, вообще, они соотносятся?

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

ЧЕМ ВЫШЕ И ЛЕВЕЕ РАСПОЛАГАЕТСЯ РЕКВИЗИТ В

ЗАГОЛОВКЕ И «ШАПКЕ» ВЫХОДНОЙ ВЕДОМОСТИ,

ТЕМ ОН СТАРШЕ, ГЛАВНЕЕ.

Рассмотрим пример. Пусть требуется составить программу формирования следующей выходной ведомости:

В Е Д О М О С Т Ь

реализации товара __________ в магазинах города ____________

по месяцам за I квартал года

Магазин

Месяц

Выручка

(руб., коп.)

2

1

2

3

120000.00

130000.00

250000.00

Итого по магазину 2

500000.00*

3

1

2

3

50000.00

75000.00

125000.00

Итого по магазину 3

250000.00*

В С Е Г О по товару

750000.00**

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

В таблице представлены 4 группировочных признака: по алфавиту - город, магазин, месяц, товар. Анализируя их месторасположение можно заключить, что самым старшим здесь является «товар» (он выше и левее всех размещается в ведомости). Следующий по старшинству – «город». Затем «магазин» и самый младший – «месяц» квартала. Соответственно они получают следующие обозначения:

Товар …… ОГ,

Город …… ПГ1,

Магазин .... ПГ2,

Месяц …… ЧГ.

Таким же образом, с такой же градацией они определяются и для исходной информации.

При этом, заметим, остальные реквизиты-признаки («число» и «единица измерения») не являются группировочными и во внимание при формировании ведомости не принимаются (!!!).

Следует учитывать очень важное обстоятельство:

общее количество разновидностей (значений) каждого из

группировочных реквизитов, представленных в заголовке

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

этих ведомостей, формируемых в ходе решения экономической

задачи.

Поясним:

предположим, что фирма в 3-х городах Подмосковья торгует определенным набором из 10-и видов товаров. Тогда общее количество выходных ведомостей установленной формы, которое максимально может быть получено, составит 10 х 3 = 30 (!!!):

  1. «Ведомость реализации товара 1 в городе 1…»;

  2. «Ведомость реализации товара 1 в городе 2…»;

  3. «Ведомость реализации товара 1 в городе 3…»;

  4. «Ведомость реализации товара 2 в городе 1…»;

  5. «Ведомость реализации товара 2 в городе 2…»;

  6. «Ведомость реализации товара 2 в городе 3…»;

( и т. д.)

30. «Ведомость реализации товара 10 в городе 3…».

Однако, если бы в магазинах 3-х городов товары реализовывались не всего ассортимента, а частично, то максимальное общее количество получаемых выходных ведомостей рассчитывалось бы иначе. Допустим, пятью разновидностями товаров торговали во всех городах, 3-мя – только в 2-х, а 2-мя – в одном. Тогда всего можно было бы сформировать 5 х 3 + 3 х 2 + 2 = 23 ведомости.

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

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

Тогда потребуется получить следующую ведомость:

В Е Д О М О С Т Ь

реализации товаров за ___________ месяц года

по городам

Город

Выручка

(руб., коп.)

Апрелевка

Истра

Одинцово

140000.00

560000.00

1050000.00

В С Е Г О за месяц

1750000.00*

Здесь всего два группировочных признака. Это «месяц» (ОГ) и «город» (ЧГ). Реквизиты-признаки «число», «магазин», «товар» и «единица измерения» выступают при таком задании в роли «статистов» и в расчет не принимаются.

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

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

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

При разработке тестового примера необходимо придерживаться

следующих принципов:

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

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

  3. заранее включать в тестовый пример предполагаемые неверные данные (например, алфавитную информацию вместо цифровой, или несуществующие коды признаков, которым нет аналогов в нормативно-справочной информации, или которые лежат вне диапазона допустимых значений и т.д.);

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

Рассмотрим общий пример.

Пусть требуется разработать тестовый пример для проверки правильности выбранного алгоритма получения следующей ведомости:

В Е Д О М О С Т Ь

учета вкладов банка по их видам

за ___________ месяц 2007 г.

Наименование вклада

Отделение банка

Сумма вкладов

Руб./коп.

--------------------

---------------------------

---------------------------

---------------------------

-----------------------------

-----------------------------

-----------------------------

ИТОГО по вкладу

----------------------------- *

--------------------

---------------------------

---------------------------

---------------------------

----------------------------

----------------------------

----------------------------

ИТОГО по вкладу

---------------------------- *

--------------------

---------------------------

---------------------------

----------------------------

----------------------------

ИТОГО по вкладу

---------------------------- *

В С Е Г О за месяц

---------------------------- **

Исходная переменная информация содержится в файле со следующей структурой записей:

Число

Месяц

(ОГ)

Код отделения банка

(ЧГ)

счета клиента

Код вида вклада

(ПГ)

Сумма вкладов

Руб./коп.

(SUM)

2 ц.

8 симв.

3 ц.

5 ц.

1 ц.

12 цел.+2 др.

Имеется справочная информация двух видов:

А) Наименований видов вкладов со следующей структурой записей:

Код вида вклада

Наименование вклада

1 ц.

16 симв.

Б) Наименований отделений банка со следующей структурой записей:

Код отделения банка

Наименование отделения

3 ц.

16 симв.

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

Месяц

(ОГ)

Код вида вклада

(ПГ)

Код отделения банка

(ЧГ)

Число

счета клиента

Сумма вкладов

Руб./коп.

(SUM)

Январь

Январь

1

1

100

100

1

15

10

20

100000

50000

Январь

Январь

1

1

110

110

7

20

10

25

50000

75000

Январь

Январь

1

1

120

120

5

20

15

16

100000

100000

Январь

Январь

2

2

100

100

2

11

25

38

20000

30000

Январь

Январь

2

2

110

110

1

10

12

20

50000

40000

Январь

Январь

2

2

120

120

4

18

10

15

10000

10000

Январь

Январь

3

3

100

100

4

4

6

9

20000

20000

Январь

Январь

3

3

120

120

7

17

4

5

10000

80000

Февраль

Февраль

1

1

100

100

1

5

5

10

50000

25000

Февраль

Февраль

1

1

120

120

1

27

4

5

100000

150000

Февраль

Февраль

3

3

100

100

3

10

3

12

150000

150000

Февраль

Февраль

3

3

110

110

6

19

6

18

30000

20000

Февраль

Февраль

3

3

120

120

11

16

3

30

25000

25000

Февраль

Февраль

5

5

100

100

18

19

4

29

125000

75000

Февраль

Февраль

5

5

110

110

3

20

11

19

10000

140000

Февраль

Февраль

5

5

120

120

2

10

8

23

40000

60000

В приведенном примере видно, как в пределах старшего группировочного признака меняются младшие:

- в рамках каждого «месяца» меняются «виды вкладов»,

- а внутри каждого «вклада» меняется «отделение банка».

При этом обеспечена изменяемость каждого группировочного признака не менее 2 -3 раз.

Замечание: для непосредственного использования в расчетах

структура данного тестового примера должна быть приведена

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

быть возвращены на прежние места. При этом содержимое

каждой строки обязательно должно быть сохранено (!!!).

Исходный тестовый набор данных (файл) с переменной информацией в результате примет следующий вид:

Число

Месяц

(ОГ)

Код отделения банка

(ЧГ)

счета клиента

Код вида вклада

(ПГ)

Сумма вкладов

Руб./коп.

(SUM)

1

15

Январь

Январь

100

100

10

20

01

01

100000

50000

7

20

Январь

Январь

110

110

10

25

01

01

50000

75000

5

29

Январь

Январь

120

120

15

16

01

01

100000

100000

….

И т.д.

Поскольку при решении задачи задействуются и справочники 2-х видов (для распечатки по кодам признаков их наименований), то их необходимо также наполнить конкретным содержанием:

Справочник наименований видов вкладов:

Код вида вклада

Наименование вклада

1

Депозит

2

До востребования

3

Пенсионный

4

Рождественский

5

Срочный

Справочник наименований отделений банка:

Код отделения банка

Наименование отделения

100

Новослободское

110

Марьинорощинское

115

Ростокинское

120

Савеловское

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

Итоги будут подсчитываться трех степеней:

  1. частный итог (ЧИ) по «отделению банка»;

;

при ОГ, ПГ и ЧГ = const;

или

;

  1. промежуточный итог (ПИ) по ««виду вклада»;

,

при ОГ и ПГ = const;

или

;

  1. общий итог (ОИ) по «месяцу»;

,

при ОГ= const;

или

,

где: i – номер отчетного месяца;

j – вид вклада;

k –отделение банка;

l – совокупный признак «число - № счета клиента».

В Е Д О М О С Т Ь № 1

учета вкладов банка по их видам

за Январь месяц 2007 г.

Наименование вклада

Отделение банка

Сумма вкладов

Руб./коп.

Депозитный

Новослободское

Марьинорощинское

Савеловское

150`000.00

125`000.00

200`000.00

(ЧИ111)

(ЧИ112)

(ЧИ114)

ИТОГО по вкладу

«Депозитный»

475`000.00*

(ПИ11 )

До востребования

Новослободское

Марьинорощинское

Савеловское

50`000.00

90`000.00

20`000.00

(ЧИ121)

(ЧИ122)

(ЧИ124)

ИТОГО по вкладу «До востребования»

160`000.00*

(ПИ12 )

Рождественский

Новослободское

Савеловское

40`000.00

90`000.00

(ЧИ141)

(ЧИ144)

ИТОГО по вкладу «Рождественский»

130`000.00*

(ПИ14 )

В С Е Г О за месяц

765`000.00**

(ОИ1 )

В Е Д О М О С Т Ь № 2

учета вкладов банка по их видам

за Февраль месяц 2007 г.

Наименование вклада

Отделение банка

Сумма вкладов

Руб./коп.

Депозитный

Новослободское

Савеловское

75`000.00

250`000.00

(ЧИ211)

(ЧИ214)

ИТОГО по вкладу

«Депозитный»

325`000.00*

(ПИ21 )

Пенсионный

Новослободское

Марьинорощинское

Савеловское

300`000.00

50`000.00

50`000.00

(ЧИ231)

(ЧИ232)

(ЧИ234)

ИТОГО по вкладу «Пенсионный»

400`000.00*

(ПИ23 )

Срочный

Новослободское

Марьинорощинское

Ростокинское

200`000.00

150`000.00

100`000.00

(ЧИ251)

(ЧИ252)

(ЧИ253)

ИТОГО по вкладу «Срочный»

450`000.00*

(ПИ25 )

В С Е Г О за месяц

1`175`000.00**

(ОИ2 )

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]