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

2. Техническое задание

Подсчитать по отдельности суммы С1 и С2 и количества М1 и М2 отрицательных и положительных элементов заданного массива X(n).

  1. Анализ технического задания

Для того чтобы подсчитать по отдельности суммы С1 и С2 и количества М1 и М2 отрицательных и положительных элементов заданного массива X(n), необходимо задать одномерный массив и использовать цикл for.

4. Блок-схема

Н

ввод X

вывод X

ввод n

C1=0

C2=0

M1=0

M2=0

i=1

i:n

>

<=

C1,C2, M1,M2

X[n]:0

>

<=

C1=C1+X[n]

C2=C2+X[n]

M1=M1+1

M2=M2+1

i=i+1

К

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

5. Модульная структура программы

Программа состоит из одного модуля - самой программы.

  1. Спецификация на программные модули

1) Имя модуля pr1.

2) Имя вызывающего модуля – нет.

3) Выполняемые функции- вычисление значения.

4) Входные данные: n типа Integer.

5)Выходные данные: c1,c2,m1,m2 типа Integer.

6)Особенности, ограничения – нет.

7.Текст программы

Program Pr1;

Uses crt;

Var X:array [1..10] of Integer;

n,c1,c2,m1,m2,i:Integer;

Begin

clrscr;

Randomize;

writeln('n=');

readln(n);

for i:=1 to n do

Begin

X[i]:=-50+Random(100);

write(X[i]:4);

End;

c1:=0;

c2:=0;

m1:=0;

m2:=0;

for n:=1 to n do

If X[n]>0 then

begin

c1:=c1+X[n];

m1:=m1+1;

end

else

begin

c2:=c2+X[n];

m2:=m2+1;

end;

writeln;

writeln('c1=',c1,' ','m1=',m1);

writeln('c2=',c2,' ','m2=',m2);

Readln;

End.

8.Результаты тестирования:

1)

Режим тестирования

n

Результат:

Корректные значения

2

Корректные значения

8

Некорректные значения

-6

Некорректные значения

a

Ошибка ввода

Граничные

значения

0

ВЫВОД: программа работает некорректно в случае ввода символа вместо числового значения или отрицательного числа. Во всех остальных случаях результаты соответствуют действительности.

9. Заключение

В результате выполнения лабораторной работы освоены способы выполнения элементарных программ, ввод одномерных массивов, повторила написание блок-схем. Также повторила виды циклов и написание программ для них.