Tuesday, December 24, 2019

ЛР3 Программирование (1.4.1 В22) - I

LabWork3
I. Внешняя спецификация
1. Условие задачи
Разработать алгоритм и программу с единственным циклом обработки одномерного массива для решения указанной задачи.
При заданных R1, R2 , ..., Rn и H1, H2, ..., Hn найти суммарный объем горючего, хранящегося в n шарообразных резервуарах, если Rk - внутренний радиус k-ого резервуара, а Hk определяет уровень наполнения по отношению к низшей точке дна. 
Указание: объем соответствующего шарового сегмента равен



2. Состав данных
Тип
Имя
Смысл
Структура
Исходные данные
вещественный
R
внутренние радиусы резервуаров
одномерный массив
вещественный
H
уровени наполнения резеруаров по отношению к низшей точке дна
одномерный массив
целый
N
количество резервуаров
простая переменная
Выходные данные
вещественный
V
суммарный объем в N резервуарах
простая переменная
Промежуточные данные
целый
i
номер резервуара
простая переменная
целый
c
индекс выполнения условий корректности данных (0 - выполняется, 1 - не выполняется)
простая переменная


3. Форма ввода
1 3
<N>
1 5
<R[1]>
1 5
<H[1]>
...
1 5
<R[N]>
1 5
<H[N]>


4. Выходная форма
1 3
<N>
1 5
<R[1]>
1 5
<H[1]>
...
1 5
<R[N]>
1 5
<H[N]>
1 15
<V>


5./ 6.
Вычисления производятся после проверки условий:
1) все исходные данные - неотрицательные величины



2) уровень горючего не превышает удвоенный радиус резервуара.



7. Аномалии
Хотя бы для одного резервуара:
1) отрицательная величина радиуса или уровня горючего;
2) уровень горючего превышает диаметр резервуара (удвоенный радиус).


8. Тесты
1) с отрицательным результатом


2
97.12
-32.7
115.3
22.23




2
318.65
252.72
11.75
151.69




2) с положительным результатом


5
282.26
112.35
246.19
184.01
943.02
0
902.51
1414.61
245.93
91.32


No comments:

Post a Comment