Практическая часть Задача №1
В одномерном массиве X заданы координаты п точек, лежащих на вещественной числовой оси. Точки пронумерованы. Их номера соответствуют последовательности в массиве X. Определить номер первой точки, наиболее удаленной от начала координат.
Словесный алгоритм:
Объявляем константы в разделе констант
В разделе переменных объявляем переменные и массив
Прописываем в коде программы циклическую структуру для полного перебора элементов массива
Выводим результат на экран
Листинг:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const N=100;
var
X: array [1..N] of Real;
I, number: 1..N;
begin
{ввод массива X}
Number:=1;
for i:=2 to N do
if Abs (x[i]) > Abs (x[number])
then number:=i;
Writeln (number);
readln;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Задача 2
Исходные данные — те же, что и в предыдущей; требуется определить пару точек, расстояние между которыми наибольшее.
Применяя метод перебора, эту задачу можно решать так: перебрать все пары точек из Ладанных и определить номера тех, расстояние между которыми наибольшее (наибольший модуль разности координат).
Словесный алгоритм:
Объявляем константы в разделе констант
В разделе переменных объявляем переменные и массив
Прописываем в коде программы циклическую структуру для полного перебора элементов массива
Выводим результат на экран
Листинг:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const N=100;
var
X: array [1..N] of Real;
I,j, number1,number2: 1..N;
begin
{ввод массива X}
Number1:=1;
Number2:=2;
for i:=1 to N do
for j:=1 to N do
if Abs (x[i]-x[j]) > Abs ((x[number1])-x[number2])
then
begin
number1:=i;
number2:=j;
end;
Writeln ( number1);
Writeln (number2);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Задача №3
Исходные данные — те же, что и в предыдущей; требуется определить пару точек, расстояние между которыми наибольшее.
Применяя метод перебора, эту задачу можно решать так: перебрать все пары точек из Ладанных и определить номера тех, расстояние между которыми наибольшее (наибольший модуль разности координат). Для исключения повторений изменить начало внутреннего цикла на i+1.
Словесный алгоритм:
Объявляем константы в разделе констант
В разделе переменных объявляем переменные и массив
Прописываем в коде программы циклическую структуру для полного перебора элементов массива
Выводим результат на экран
Листинг:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const N=100;
var
X: array [1..N] of Real;
I,j, number1,number2: 1..N;
begin
{ввод массива X}
Number1:=1;
Number2:=2;
for i:=1 to N do
for j:=i+1 to N do
if Abs (x[i]-x[j]) > Abs ((x[number1])-x[number2])
then
begin
number1:=i;
number2:=j;
end;
Writeln (number1);
Writeln (number2);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
