Содержание


1. Постановка задачи………………………………………………………….3

2. Расчет вручную..................................................................................... 3

3. Описание структурной схемы алгоритма............................................. 4

4. Проектирование программы................................................................ 4

Приложение 1. Структурная схема алгоритма........................................ 6

Приложение 2. Экранные формы программы......................................... 7

Приложение 3. Листинг программы на языке бейсик............................. 8

Используемая литература....................................................................... 11

 

1.  Постановка задачи

Внедрение сети укрупненных доставочных отделений связи потребовало дополнительных капитальных вложений в К тысяч рублей. При этом эксплуатационные расходы сократились на С тысяч рублей, а численность работников уменьшилось с Т1 до Т2 человек.

Исходные данные

С

К

Т1

Т2

73

24

58

25

Задания:

1.   Составить программу расчета годового экономического эффекта Т и уменьшения трудзатрат М в %. Программа должна вводить значения К, С, Т1, Т2.

Расчетные формулы:

Т = С - 0,15К

М = [(T1 – T2) / T2] ∙ 100%

2.   Результаты представить в виде таблицы

3.   Построить график зависимости  и  при К = 2, 4, 6, 8, 10; Т2 = 2, 12, 18, 20, 30.

2. Расчет вручную

 Пусть К = 24, а Т2 = 26. Тогда рассчитаем для этих значений функции Т и М.

                                      Т = 73 – 0,15 * 24 = 69,4

                                      М = [(58 - 25) / 25] * 100 = 132

Для К = 2 и Т2 = 2, получим:

                                      Т = 73 – 0,15 * 2 = 72,7

                                      М = [(58 - 2) / 2] * 100 = 2800

Для К = 4 и Т2 = 12, получим:

                                      Т = 73 – 0,15 * 4 = 72,4

                                      М = [(58 - 12) / 12] * 100 = 383,33

Для К = 6 и Т2 = 18, получим:

                                      Т = 73 – 0,15 * 6 = 72,1

                                      М = [(58 - 18) / 18] * 100 = 222,22

Для К = 8 и Т2 = 20, получим:

                                      Т = 73 – 0,15 * 8 = 71,8

                                      М = [(58 - 20) / 20] * 100 = 190

Для К = 10 и Т2 = 30, получим:

                                      Т = 73 – 0,15 * 10 = 71,5

                                      М = [(58 - 30) / 30] * 100 = 93,33

3. Описание структурной схемы алгоритма

Структурная схема алгоритма приведена в приложении 1.

Опишем подробно каждый шаг алгоритма.

Шаг 1

Ввод исходных данных: К – объем дополнительных капитальных вложений, С – сокращение эксплуатационных расходов. Т1 – начальная численность работников, Т2 – конечная численность работников

Шаг 2

Ввод массивов заданных исходных данных К – объем дополнительных капиталов за каждый период и С – сокращение эксплуатационных расчетов в каждом году, для которых программа должна рассчитать выходные параметры М и Т

Шаг 3

Взятие очередного номера параметров (от 1 до 5)

Шаг 4

Чтение из массива К параметра с очередным номером

Шаг 5

Чтение из массива Т2 параметра с очередным номером

Шаг 6

Вычисление годового экономического эффекта T=f(K)=C-0.15K и его вывод на экран

Шаг 7

Вычисление трудозатрат M=f(T2)=[(T1-T2)/T2]∙100%

Шаг 8

Построение графиков функций Т и М по рассчитанным данным

Шаг 9

Завершение работы

4. Проектирование программы

В программе используются следующие переменные:

К(6) – массив для хранения  данных о капитальных вложениях за 6 периодов;

Т2(6) – массив для хранения конечной численности по каждому из 6 периодов;

Т(6), М(6) – массивы для хранения рассчитанных параметров.

Строки 2 – 5 содержат объявление массивов.

Строки 6 – 7 содержат значения параметров К и Т2 для каждого периода.

Строка 8 очистка экрана.

Строки 9 – 12 требуют ввод параметров С, К, Т1 и Т2 выводя на экран поясняющий текст.

Строки 13 – 15 – цикл для ввода в переменные массива К(i) значение, заданных в строке 6.

Строки 16 – 18 – выводят заголовок таблицы.

Строки 19 – 21 читают значения параметра Т2, заданных в строке 7.

Строки 23 – 27 содержат цикл для расчета T(I) и M(I). А также выводит полученные результаты в форматированном виде. В котором после запятой выводится 4 знака.

Строка 28 выводит горизонтальную разделительную линию таблицы.

Строка 29 ожидает нажатие клавиши Enter после которого происходит очистка экрана оператором CLS.

Строка 30 выводит заголовок графика зависимости T=f(K).

Цикл в строках 33 – 35 выводят подписи оси.

Строки 39 – 45 содержат вложенные циклы для расчета координат вывода точки.

Строка 46 ожидает нажатие клавиши Enter для последующей очистки экрана оператором CLS.

Строка 48 выводит заголовок следующего графика.

Цикл в строках 50 – 53 выводит градацию оси.

Вложенные циклы в строках 55 – 61 выводят символ «*» в рассчитанных точках экрана для построения графика.

Приложение 1. Структурная схема алгоритма

Приложение 2. Экранные формы программы

                          Окно с данными, рассчитанными программой


            Окно с графиком изменения годового экономического эффекта


                           Окно с графиком зависимости трудозатрат

Приложение 3. Листинг программы на языке бейсик

OPTION BASE 1

DIM K(6)

DIM T2(6)

DIM T(6)

DIM M(6)

 DATA 2,4,6,8,10

 DATA 2,12,18,20,30

 CLS

 INPUT "Введите С - сокращение эксплуатационных расходов "; C

 INPUT "Введите K - объем допольнительных кап. вложений"; K(1)

 INPUT "Введите Т1 - начальная численность работников "; T1

INPUT "Введите Т2 - конечная численность работников "; T2(1)

FOR I = 2 TO 6

 READ K(I)

NEXT I

PRINT "                      РЕЗУЛЬТАТЫ РАСЧЕТОВ"

PRINT "   ----------------------------------------------------------------"

PRINT "        C          K         T1         T2         T         M"

FOR I = 2 TO 6

 READ T2(I)

NEXT I

PRINT "   ----------------------------------------------------------------"

FOR I = 1 TO 6

 T(I) = C - .15 * K(I)

 M(I) = ((T1 - T2(I)) / T2(I)) * 100

 PRINT USING "######.####"; C; K(I); T1; T2(I); T(I); M(I)

NEXT I

 PRINT "   ----------------------------------------------------------------"

INPUT "НАЖМИТЕ ENTER ДЛЯ ПРОДОЛЖЕНИЯ", A

CLS

PRINT "                      ГРАФИК ЗАВИСИМОСТИ T=f(K)"

PRINT

FOR I = 0 TO 80

 IF ((I = 0) OR (I MOD 10 = 0)) THEN PRINT I;

 IF (I MOD 2 = 0) THEN PRINT " ";

NEXT I

PRINT "T  "

PRINT

FOR I = 2 TO 6

 PRINT K(I)

 FOR G = 1 TO INT(T(I)) - 5

  PRINT " ";

 NEXT G

 PRINT "*"

NEXT I

INPUT "НАЖМИТЕ ENTER ДЛЯ ПРОДОЛЖЕНИЯ", A

CLS

PRINT "                      ГРАФИК ЗАВИСИМОСТИ M=f(T2)"

PRINT

FOR I = 0 TO 3000 STEP 500

 IF ((I = 0) OR (I MOD 100 = 0)) THEN PRINT I;

 IF (I MOD 100 = 0) THEN PRINT " ";

NEXT I

PRINT "M  ": PRINT

FOR I = 2 TO 6

PRINT K(I);

 FOR G = 1 TO M(I) / 100

  PRINT " ";

 NEXT G

 PRINT "*": PRINT

NEXT I

Используемая литература


1.                          Михайлов В.Ю., Степанников В.М. Современный бейсик для IBM PC. Среда, язык, программирование. Москва, издательство «Май», 2003, с. 288

2.                          Дьяконов В.П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ. Москва, издательство «НАУКА» главная редакция физико-математической литературы, 2002, с. 240

3.                          Кнут Д. Искусство программирования. Издательство «Вильямс», 2000, с. 2472

4.                          Кармен Т., Лей        зерсон Ч., Ривест Р. Алгоритмы: построение и анализ. Издательство «Центр непрерывного математического образования», 2000, с. 960

5.                          Альфред В. Ахо, Джон Э. Хонкрофт, Джеффри Д. Ульман. Структуры данных и алгоритмы. Издательский дом «Вильямс», 2000, с. 384