Информатика (паскаль) / лаб.6 / лаб4
.docx2. Техническое задание
Подсчитать по отдельности суммы С1 и С2 и количества М1 и М2 отрицательных и положительных элементов заданного массива X(n).
-
Анализ технического задания
Для того чтобы подсчитать по отдельности суммы С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) Имя модуля 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. Заключение
В результате выполнения лабораторной работы освоены способы выполнения элементарных программ, ввод одномерных массивов, повторила написание блок-схем. Также повторила виды циклов и написание программ для них.