program lab4 APPTYPE CONSOLE Для PascalABC закомментированы некоторые

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
program lab4;
{$APPTYPE CONSOLE}
//Для PascalABC закомментированы некоторые строки
uses
SysUtils,
Windows;
//Объявление переменных
var xs, ys : array[1..20] of integer;
var n, i, num, sum : integer;
var avg : real;
var src, dest: TextFile;
begin
setConsoleCP(1251);
setConsoleOutputCP(1251);
AssignFile(src, 'lab4in.txt');
Reset(src);
AssignFile(dest, 'lab4out.txt');
Rewrite(dest);
read(src, n);
for i := 1 to n do begin
read(src, xs[i]);
read(src, ys[i]);
end;
for i := 0 to 60 do write(dest, '-'); // Вывод исходных
writeln(dest);
//readln;
writeln(dest,'Исходные данные:');
write(dest,'Число точек (n): ');
writeln(dest,n);
writeln(dest,'Абсциссы и ординаты(x, y):');
for i := 1 to n do begin
write(dest,xs[i]:3);
write(dest,' ');
write(dest,ys[i]:3);
writeln(dest);
end;
writeln(dest);
for i := 0 to 60 do write(dest,'-');
writeln(dest); // Конец вывода исх
num := 0;
sum := 0;
for i := 1 to n do begin // Вычисление num и sum в соответствии с алгоритмом
if (xs[i] > 0) and (ys[i] > 0) then
num := num + 1
else
sum := sum + ys[i];
end;
writeln(dest,'Результат:'); // Начало вывода "результатов"
write(dest,'num: ');
writeln(dest,num:2);
if (num = n) then
writeln(dest,'Невозможно найти среднее значение ординат (avg)') // При n = num (2)
else begin
avg := sum / (n - num); // В принципе можно обойтись и без этой переменной
write(dest,'avg: ');
writeln(dest,avg:7:3);
end;
CloseFile(src);
CloseFile(dest);
end.