Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 5_1
з дисципліни
“Основи програмування та алгоритмічні мови”
Тема: одновимірні масиви.
Постановка задачі
Для масиву A(n) дійсних чисел, серед яких є і від’ємні, обчислити найбільше та найменше значення модуля різниці між його сусідніми елементами. Всі додатні елементи масиву А зменшити на першу отриману величину, всі від’ємні елементи – збільшити на другу отриману величину. Надрукувати вхідний масив, визначені різниці та вихідний масив.
Текст програми з коментарями
uses crt;
const n=10;
type mas=array [1..n] of real;
var a,b:mas;
i:integer;
k:word;
max_mod,min_mod:real;
function min:real;
var x:real;
begin
x:=abs(a[1]-a[2]);
for i:=1 to n-1 do
if abs(a[i]-a[i+1])<x then
x:=abs(a[i]-a[i+1]);
min:=x;
end;
function max:real;
var x:real;
begin
x:=abs(a[1]-a[2]);
for i:=1 to n-1 do
if abs(a[i]-a[i+1])>x then
x:=abs(a[i]-a[i+1]);
max:=x;
end;
procedure schet_min_max;
begin
min_mod:=min;
max_mod:=max;
for i:=1 to n do
if a[i]<0
then
b[i]:=a[i]+min_mod
else
b[i]:=a[i]-max_mod;
end;
procedure vvod;
begin
writeln('vvvedite diapozon chisel');
readln(k);
randomize;
for i:=1 to n do
a[i]:=random*2*k-k;
end;
BEGIN
repeat
clrscr;
writeln('Result of laboratory work 5_1');
writeln('variant 4');
writeln('Executed student of group IP-02 Bondur Vladislav');
vvod;
schet_min_max;
for i:=1 to n do
write(a[i]:7:2);
writeln;
for i:=1 to n do
write(b[i]:7:2);
writeln;
writeln('nai6ol`shaya razniza=',max_mod:8:3,' naimen`shaya razniza=',min_mod:8:3);
writeln('vi xotite povtoritb? Esli net-nagmite Esc');
until ord(readkey)=27;
END.
Блок-схема алгоритму
Результат виконання програми у вигляді відеокопії екрана
/
Висновки
Отже, перевіримо, чи правильно працює моя програма:
В якості діапазону випадкових чисел ми обрали число 10. Як бачимо серед чисел масиву немає таких що більшу 10 або менше -10.
Найбільша різниця між 8 та 9 елементами масиву. Вона складає 9.54-(-5.82)(15.36, а найменша різниця між 5 та 6 елементами: -4.53-(-8) (3.47
Віднімаючи від додатних елементів найбільшу різницю (15.36) , а до від’ємних додаючи найменшу (3.47), отримаємо таку ж саму послідовність.
Отже програма працює правильно.