Wednesday, January 1, 2020

ЛР6 Программирование (1.4.3 В21) - IV

LabWork6

IV. Программа SageMath (Python)
N=10; A=[round(random()*100-50,2) for i in [0..N-1]] 
pretty_print('input: %s'%str(A))
minabs,maxabs=10**20,0; s='max: %.2f, min: %.2f, difference: %.2f'
pretty_print('With one loop')
for a in A:
    if abs(a)<minabs: minabs=abs(a)
    if abs(a)>maxabs: maxabs=abs(a)    
pretty_print(s%(maxabs,minabs,maxabs-minabs))
AA=matrix(A).apply_map(lambda x:abs(x))
pretty_print('With matrix & list operations')
pretty_print(s%(max(AA.list()),min(AA.list()),
                max(AA.list())-min(AA.list())))


ЛР6 Программирование (1.4.3 В21) - III

LabWork6
📑 Compile Pascal Online
III. Программа Pascal
Program Lab6;
var A: array [1..1000] of real;
    D,minabs,maxabs: real;
    N,i: integer;
begin
    writeln('Лаб.6':38);
    write('Количество элементов N: '); 
    readln(N); writeln(N:3);
    minabs:=10000; maxabs:=0; 
    i:=1; writeln('Массив A: ');
    while i<N+1 do
    begin
        readln(A[i]); writeln(A[i]:5:2);
        if abs(A[i])<minabs then
            minabs:=abs(A[i]);
        if abs(A[i])>maxabs then
            maxabs:=abs(A[i]);
        i:=i+1;
    end;
    D:=maxabs-minabs;
    write('Разность D: '); writeln(D:5:2);
end.

STDIN
10
29.91
-28.16
-20.54
30.04
47.51
-45.37
-0.91
-29.1
-17.03
-41.28


ЛР6 Программирование (1.4.3 В21) - II

LabWork6
II. Алгоритм

ЛР6 Программирование (1.4.3 В21) - I

I. Внешняя спецификация
1. Условие задачи
Составить программу находжения экстремального элемента или его порядкового номера при заданном одномерном массиве А из N элементов (или массивах А и С по N элементов в каждом):
  • определить разность наибольшей и наименьшей абсолютной величины элемента в заданном массиве А.

2. Состав данных
Тип
Имя
Смысл
Структура
Исходные данные
вещественный
A
массив данных
одномерный массив
целый
N
количество элементов
простая переменная
Выходные данные
вещественный
D
значение разности наибольшей и наименьшей абсолютной величины элемента
простая переменная
Промежуточные данные
вещественный
maxabs
значение наибольшей абсолютной величины
простая переменная
вещественный
minabs
значение наименьшей абсолютной величины
простая переменная
целый
i
номер шага итерации
простая переменная

3. Форма ввода
1 3
<N>
1 5
<A1>
1 5
<...>
1 5
<АN>

4. Выходная форма

1 3
<N>
1 5
<A1>
1 5
<...>
1 5
<АN>
1 5
<D>

5. / 6. Проработка фрагментов программы
Значение разности наибольшей и наименьшей абсолютной величины элемента существует для любого вещественного массива.
Проверки дополнительных условий не требуется.

7. Аномалии
Ошибки программы возможны при некорректном вводе данных пользователем.
Сообщение об ошибке в таких случаях выдает компилятор.

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

10
29.91
-28.16
-20.54
30.04
47.51
-45.37
-0.91
-29.1
-17.03
-41.28

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

5
43.21
-19.06
0.03
m
n