Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 4
з дисципліни
“Основи програмування та алгоритмічні мови”
Заданий одновимірний масив В(n) дійсних чисел, серед яких є і від’ємні. Знайти величину і індекс максимального серед його від’ємних чисел. Поміняти місцями знайдений і мінімальний елемент масиву. Надрукувати вхідний масив, визначені величини та вихідний масив.
В даній програмі би будемо використовувати стандартний модуль uses crt.
І процедуру Randomize для генерування віпадкових чисел, якими ми будемо заповнювати масив.
Блок-схема
Текст програми
Program lab_5_1;
uses crt;
type
mas=array [1..20000] of integer;
var
povtor:char;
B:mas;
i,n,min,max:integer;
procedure Input;
begin
Randomize;
for i:=1 to n do B[i]:=Random(2000)-1000;
writeln;
end;
procedure Output;
begin
for i:=1 to n do Write(B[i]:5);
WriteLn;
end;
function Minimum(n:integer):integer;
begin
min:=B[1];
writeln;
for i:=1 to n do
if B[i]<min then
begin
min:=B[i];
Minimum:=i;
end;
end;
function Maximum(Min_ind,n:integer):integer;
begin
max:=B[Min_ind];
for i:=1 to n do
if ((B[i]<0) and (B[i]>max)) then
begin
max:=B[i];
Maximum:=i;
end;
end;
procedure Zamina(Max_el,Min_el:integer);
begin
B[Max_el]:=B[Max_el]+B[Min_el];
B[Min_el]:=B[Max_el]-B[Min_el];
B[Max_el]:=B[Max_el]-B[Min_el];
writeln;
end;
begin
povtor:='y';
While ((povtor='y') or (povtor='Y')) do
begin
Write('vvedit rozmir masiva, n=');
Readln(n);
Input;
writeln('Bxidnuy masiv');
Output;
min:=Minimum(n);
writeln('min=',B[Min]:5);
max:=Maximum(min,n);
Writeln('max=',B[Max]:5);
Zamina(Max,Min);
writeln('Buxidnuy masiv');
Output;
Readln;
writeln('Type "y" to start over or "n" to exit');
Readln(povtor);
clrscr;
end;
end.
Як ми можемо побачити з наведеного прикладу програма згенерувала масив випадкових чисел, потім знайшла найбільший і найменший відємні елементи, в масиві і поміняла їх місцями.