1) Sort(arrau moditifed in place)
program myprog(input, output);
type
dataset = array[1..3] of integer;
var
mydata: dataset;
i: integer;
procedure sortArray(var srcdata: dataset);
var
i, j: integer;
temp: integer;
begin
for i := 1 to 2 do
for j := 1 to 3 – i do
if srcdata[j] > srcdata[j + 1] then
begin
temp := srcdata[j];
srcdata[j] := srcdata[j + 1];
srcdata[j + 1] := temp;
end;
end;
begin
mydata[1] := 49;
mydata[2] := 8;
mydata[3] := 45;
sortArray(mydata);
writeln(‘Sorted Array:’);
for i := 1 to 3 do
write(mydata[i], ‘ ‘);
writeln;
end.
Output:
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
41 lines compiled, 0.0 sec
Sorted Array:
8 45 49
…Program finished with exit code 0
Press ENTER to exit console.
2) FindLargestEven (array -> real
program myprog(input, output);
type
dataset = array[1..4] of real;
var
mydata: dataset;
largestEven: real;
function FindLargestEven(srcdata: dataset): real;
var
index: integer;
largestEven: real;
begin
largestEven := -1;
for index := 1 to 4 do begin
if (trunc(srcdata[index]) mod 2 = 0) then begin
if (srcdata[index] > largestEven) then
largestEven := srcdata[index];
end;
end;
FindLargestEven := largestEven;
end;
begin
mydata[1] := 2.5;
mydata[2] := 7.0;
mydata[3] := 6.0;
mydata[4] := 5.8;
largestEven := FindLargestEven(mydata);
if largestEven = -1 then
writeln(‘No even number.’)
else
writeln(‘largest even number: ‘, largestEven, ‘ ‘);
end.
Output:
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
44 lines compiled, 0.0 sec
largest even number: 6.0000000000000000E+000
…Program finished with exit code 0
Press ENTER to exit console.
3) Distance (array -> real)
program myprog(input, output);
type
dataset = array[1..2] of real;
var
mydata: dataset;
mydistance: real;
function Distanceformula(srcdata: dataset): real;
var
distance: real;
begin
distance := sqrt(sqr(srcdata[1]) + sqr(srcdata[2]));
Distanceformula := distance;
end;
begin
mydata[1] := 400.0;
mydata[2] := 750.0;
mydistance := Distanceformula(mydata);
writeln(‘distance from start (0.0,0.0) to (‘, mydata[1], ‘,’, mydata[2], ‘) is: ‘, mydistance, ‘ ‘);
end.
Output:
Free Pascal Compiler version 3.2.2+dfsg-9ubuntu1 [2022/04/11] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
29 lines compiled, 0.0 sec
distance from start (0.0,0.0) to ( 4.0000000000000000E+002, 7.5000000000000000E+002) is: 8.5000000000000000E+002
…Program finished with exit code 0
Press ENTER to exit console.
4) Multiply (array num, var array)
program myprog(input, output);
type
dataset = array[1..4] of integer;
var
mydata: dataset;
i: integer;
procedure Multiply(srcdata: array of integer; var ans: array of integer);
var
i: integer;
begin
for i := 1 to 4 do
ans[i] := srcdata[i] * 70;
end;
begin
mydata[1] := 2;
mydata[2] := 78;
mydata[3] := 22;
mydata[4] := 45;
Multiply(mydata, mydata);
for i := 1 to 4 do
writeln(‘mydata[‘, i, ‘] = ‘, mydata[i], ‘ ‘);
end.
Output:
Free Pascal Compiler version 3.2.2+dfsg-9ubuntu1 [2022/04/11] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
33 lines compiled, 0.0 sec
mydata[1] = 2
mydata[2] = 5460
mydata[3] = 1540
mydata[4] = 3150
…Program finished with exit code 0
Press ENTER to exit console.
5) AddElements (array array, var array)
program myprog(input, output);
type
dataset = array[1..3] of integer;
var
array1, array2, resultArray: dataset;
i: integer;
procedure AddElements(srcdata1, srcdata2: dataset; var result: dataset);
var
i: integer;
begin
for i := 1 to 3 do
result[i] := srcdata1[i] + srcdata2[i];
end;
begin
array1[1] := 50;
array1[2] := 26;
array1[3] := 24;
array2[1] := 1022;
array2[2] := 472;
array2[3] := 334;
AddElements(array1, array2, resultArray);
for i := 1 to 3 do
writeln(‘resultArray[‘, i, ‘] = ‘, resultArray[i]);
End.
Output:
Free Pascal Compiler version 3.2.2+dfsg-9ubuntu1 [2022/04/11] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
37 lines compiled, 0.0 sec
resultArray[1] = 1072
resultArray[2] = 498
resultArray[3] = 358