- •Задача 1
- •Задача 2
- •Задача 3.
- •I : integer; { параметр цикла }
- •Задача 4.
- •I : integer; { параметр цикла }
- •Задача 5
- •I : integer; { параметр цикла }
- •Задача 6.
- •I, j : integer; { параметры циклов }
- •Задача 7.
- •Задача 8.
- •I, j : integer; { параметры циклов }
- •Задача 9
- •I : integer; { параметр цикла }
- •Задача 10
Задача 4.
const
MAX = 100;
type
TArray = array[1..MAX] of real;
var
n : integer; { количество элементов массива }
I : integer; { параметр цикла }
A : TArray; { массив исходных данных }
min_positive : real; { минимальный положительный элемент массива }
f : boolean;
begin
{ ввод исходных данных }
repeat
write('Введите количество элементов массива, N: ');
readln(n);
until (n > 1) and (n <= MAX);
writeln('Ввод элементов массива:');
for i:=1 to n do read(A[i]);
writeln;
{ установить флаг в False,
значение переменной min_positive не определено }
f := False;
for i:=1 to n do
begin
if f then
begin
if (A[i] >= 0) And (A[i] < min_positive) then
min_positive := A[i];
end
else
if A[i] >= 0 then
begin
f := True;
min_positive := A[i];
end;
end;
{ вывод результата }
if f then
writeln('Минимальный положительный элемент массива равен ',
min_positive:0:4)
else
writeln('Элемент не найден.');
end.
Задача 5
const
MAX = 100;
type
TArray = array[1..MAX] of integer;
var
n : integer; { количество элементов массива }
I : integer; { параметр цикла }
X, Y : TArray; { массивы координат точек }
len : real; { расстояние до точки }
imin : integer; { индекс наименее удаленной точки }
min_len : real; { расстояние до наименее удаленной точки }
begin
{ ввод исходных данных }
repeat
write('Введите количество точек, N: ');
readln(n);
until (n > 0) and (n <= MAX);
writeln('Ввод точек:');
for i:=1 to n do
begin
write('Точка ', i, ' (x, y): ');
read(X[i], Y[i]);
end;
writeln;
{ инициализация переменных }
imin := 1;
min_len := sqrt(X[1] * X[1] + Y[1] * Y[1]);
for i:=2 to n do
begin
len := sqrt(X[i] * X[i] + Y[i] * Y[i]); { расстояние до i-ой точки }
if len < min_len then
begin
imin := i;
min_len := len;
end;
end;
writeln('Наименее удаленная точка ', imin,
' (', X[imin], ', ', Y[imin], ')',
' с расстоянием до нее равным ', min_len:0:4);
end.
Задача 6.
const
MAX = 100;
type
TArray = array[1..MAX] of real;
var
n : integer; { количество элементов массива }
I, j : integer; { параметры циклов }
A : TArray; { массив исходных данных }
f : boolean;
k : integer; { количество барьерных элементов }
begin
{ ввод исходных данных }
repeat
write('Введите количество элементов массива, N: ');
readln(n);
until (n > 2) and (n <= MAX);
writeln('Ввод элементов массива:');
for i:=1 to n do read(A[i]);
writeln;
k := 0; { количество барьерных элементов }
for i:=2 to n-1 do
begin
f := True; { полагаем что i-ый элемент является барьерным }
for j:=1 to n do
begin
if j < i then
begin
if A[j] > A[i] then f := False;
end
else
if j > i then
begin
if A[j] < A[i] then f := False;
end;
if Not f then break;
end;
{ вывести элемент если он барьерный }
if f then
begin
write(A[i]:0:4, ' ');
k := k + 1;
end;
end;
if k = 0 then writeln('Барьерные элементы не найдены.')
else writeln;
end.