Проблемы информатики 4

<

110413 2158 1 Проблемы информатики 4 Постановка задачи

 

Выполнить расчет величины Т товарного обеспечения оборота по формуле:

110413 2158 2 Проблемы информатики 4

где n — количество наименований товаров;

Pi — количество i-го товара, поставленного за отчетный период;

Ki , Hi — остатки i-го товара на конец и начало отчетного периода соответственно.

 

Для этого необходимо отдельно вычислить суммы

Sp =110413 2158 3 Проблемы информатики 4,

Sk = 110413 2158 4 Проблемы информатики 4,

Sh = 110413 2158 5 Проблемы информатики 4

а затем вычислить Т по формуле:

T = Sp + Sk – Sh.

 

  1. Список идентификаторов

 

T – величина товарного обеспечения оборота, тип вещественный;

N – количество наименований товаров, тип целый;

i – порядковый номер товара, тип целый;

P – количество товара, поставленного за отчетный период, тип вещественный;

K – остаток товара на конец периода, тип вещественный;

H – остаток товара на начало периода, тип вещественный;

Sp – сумма значений P для всех товаров, тип вещественный;

Sk – сумма значений K для всех товаров, тип вещественный;

Sh – сумма значений H для всех товаров, тип вещественный.

 

  1. Алгоритм программы

 

Блок-схема алгоритма показана на рисунке 1. В программе необходимо выполнить следующие шаги:

  1. Обнуляем значения Sp, Sk, Sh, т.к. в дальнейшем будем накапливать в них суммы.
  2. Запрашиваем ввод с клавиатуры значения N.
  3. Организуем цикл, в котором i изменяется от 1 до N. В этом цикле:
    1. Запрашиваем ввод с клавиатуры значений P, K, H;
    2. Накапливаем суммы Sp, Sk, Sh по формулам (2), (3), (4).
  4. По окончании цикла вычисляем значение Т согласно формуле (5).
  5. Выводим значение Т на экран.

 

Рисунок 1. Блок-схема программы

 

  1. Текст программы на языке Паскаль

 

program Variant13;

uses crt;

var N,i:integer;

Sp,Sk,Sh,P,K,H,T:real;

110413 2158 6 Проблемы информатики 4

 

begin

clrscr; {Очистить экран}

Sp:=0; {Обнулить переменные Sp, Sk, Sh}

Sk:=0;

Sh:=0;

write(‘Введите кол-во наименований товара: ‘); {Запросить ввод N}

readln(N);

for i:=1 to N do {Цикл по i от 1 до N}

begin

writeln(‘Товар N’,i); {Запросить ввод P,K,H}

write(‘Введите значение P: ‘);

readln(P);

write(‘Введите значение K: ‘);

readln(K);

write(‘Введите значение H: ‘);

readln(H);

Sp:=Sp+P; {В Sp накапливаем сумму всех значений P}

Sk:=Sk+K; {В Sk накапливаем сумму всех значений K}

Sh:=Sh+H; {В Sh накапливаем сумму всех значений H}

end;

T:=Sp+Sk-Sh; {Вычисляем значение Т}

writeln(‘Значение товарного обеспечения оборота Т=’,T:5:2); {Выводим значение Т на экран}

end.

 

  1. Результаты тестирования программы
    <

 

Используем исходные данные:
N=3, P1 = 250, K1 = 100, H1 = 50, P2 = 300, K2 = 0, H2 = 250, P3 = 500, K3 = 50, H3 = 100.

 

Вычислим Т по формуле (1):

Т = (250+300+500) + (100+0+50) – (50+250+100) = 1050 + 150 – 400 = 800.

 

Проверим вычисление в программе (рисунок 2).

 

110413 2158 7 Проблемы информатики 4

Рисунок 2. Результат выполнения программы с тестовыми данными

 

 

ВАРИАНТ 17

 

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

 

Расчет уровня Y выполнения плана розничного товарооборота:

110413 2158 8 Проблемы информатики 4110413 2158 9 Проблемы информатики 4

где n — количество месяцев;

Fi — фактический розничный товарооборот в i — том месяце;

Pi — план розничного товарооборота в i — том месяце.

Для этого необходимо отдельно вычислить суммы

110413 2158 10 Проблемы информатики 4SF = 110413 2158 11 Проблемы информатики 4,

 

110413 2158 12 Проблемы информатики 4SP = 110413 2158 13 Проблемы информатики 4,

А затем вычислить значение Y по формуле:

 

110413 2158 14 Проблемы информатики 4110413 2158 15 Проблемы информатики 4

 

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

 

  1. Список идентификаторов

 

Y – уровень выполнения плана, тип вещественный;

N – количество месяцев, тип целый;

i – порядковый номер месяца, от 1 до N, тип целый;

F – фактический товарооборот в i-том месяце, тип вещественный;

P – план товарооборота в i-м месяце, тип вещественный;

SF – сумма фактического товарооборота, тип вещественный;

SP – сумма планового товарооборота, тип вещественный.

 

  1. Алгоритм программы

 

 

Блок-схема алгоритма показана на рисунке 3. В программе необходимо выполнить следующие шаги:

  1. Обнуляем значения SF, SP, т.к. в дальнейшем будем накапливать в них суммы.
  2. Запрашиваем ввод с клавиатуры значения N.
  3. Организуем цикл, в котором i изменяется от 1 до N. В этом цикле:
    1. Запрашиваем ввод с клавиатуры значений F, P;
    2. Накапливаем суммы SF, SP по формулам (7), (8).
  4. По окончании цикла проверяем значение SP: если SP=0, то выводим сообщение об ошибке. Если SP≠0, то вычисляем значение Y согласно формуле (9), и выводим значение Y на экран.

 

 

 

110413 2158 16 Проблемы информатики 4

  1. Текст программы на языке Паскаль

 

program Variant17;

uses crt;

var N,i:integer;

SF,SP,F,P,Y:real;

 

begin

clrscr; {Очистить экран}

SF:=0; {Обнулить суммы SF, SP}

SP:=0;

write(‘Введите кол-во месяцев: ‘); {Запросить ввод N}

readln(N);

for i:=1 to N do {Цикл по i от 1 до N}

begin

writeln(‘Месяц N’,i); {Ввод значений F,P для каждого месяца}

write(‘Введите значение факта F: ‘);

readln(F);

write(‘Введите значение плана P: ‘);

readln(P);

SF:=SF+F; {В SF накапливаем сумму всех значений F}

SP:=SP+P; {В SP накапливаем сумму всех значений P}

end;

IF SP<>0 THEN {Предотвращение деления на 0: если SP не равно нулю,}

begin

Y:=SF/SP*100; {то вычисляем Y}

writeln(‘Уровень выполнения плана Y=’,Y:5:2,’%’); {и выводим результат на экран,}

end

else

writeln(‘Ошибка! План не должен быть равен 0!’); {иначе сообщаем об ошибке}

end.

 

  1. Результаты тестирования программы

 

Используем следующие тестовые данные:

N=3, F1 = 120, P1 = 100, F2 = 1500, P2=1000, F3 = 800, P3 = 1000

 

Вычислим значение Y по формуле (1):

 

110413 2158 17 Проблемы информатики 4

 

Результат подстановки тестовых данных в программу:

 

110413 2158 18 Проблемы информатики 4

Рисунок 4. Результат выполнения программы с тестовыми данными

<

Комментирование закрыто.

WordPress: 22.9MB | MySQL:120 | 1,339sec