vshumilov
?>

Pascalabc: составьте программу определяющую относится ли введённое с клавиатуры год к 21 веку.

Информатика

Ответы

rigina82

Программа на скриншоте.


Pascalabc: составьте программу определяющую относится ли введённое с клавиатуры год к 21 веку.
maxim-xx38

Считаем, что вначале данные неупорядочены. Полагаем, что первый элемент находится на своем месте, поэтому граница между отсортированными и неотсортированными элементами находится после первого элемента. На каждом шаге, начиная от границы, ищем максимальный элемент и определяем его место в отсортированной части последовательности, после чего сдвигаем необходимую часть отсортированных элементов вправо и производим вставку элемента на освободившееся место. Алгоритм выполняем до тех пор, пока не граница отсортированных данных не выйдет за границу массива.

PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018Внимание! Если программа не работает, обновите версию!

procedure SortByInsert(a: array of real);

// сортировка простыми вставками

begin

 for var Граница := 1 to a.Length - 1 do

   if a[Граница - 1] < a[Граница] then

   begin

     // сдвиг вправо

     var (Элемент, Позиция) := (a[Граница], Граница - 1);

     while (Позиция >= 0) and (a[Позиция] < Элемент) do

       (a[Позиция + 1], Позиция) := (a[Позиция], Позиция - 1);

     // вставка на нужное место

     a[Позиция + 1] := Элемент

   end

end;


begin

 var a := ReadArrReal(8);

 SortByInsert(a); a.Println

end.

Пример2.9 -25 8.1 31.9 -30.9 20.9 47.6 6.647.6 31.9 20.9 8.1 6.6 2.9 -25 -30.9
Aleksei Aleksandrovna649

А что тут собственно понимать?

Расстояние от начала координат до точки - фактически, гипотенуза треугольника с катетами, равными отрезкам по осям координат. Обычная теорема Пифагора. Более того, можно сравнивать не гипотенузы, а их квадраты, чтобы не пользоваться вычислением квадратного корня.

OM² = OMx²+OMy² (см. вложение)

Во втором вложении - тестовый файл in.txt. Поскольку ответ выводится в этот же файл, для повторного запуска программы файл становится непригоден, в связи с чем следует хранить его исходную копию.

PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018Внимание! Если программа не работает, обновите версию!

begin

 var a := ReadAllText('in.txt').ToReals.Batch(2).ToArray;

 var i := a.Select(t -> Sqr(t.First) + Sqr(t.Last)).ToArray.IndexMax;

 var f := OpenAppend('in.txt');

 Writeln(f, NewLine, 'ответ', NewLine, a[i].First, ', ', a[i].Last,

     NewLine, Sqrt(Sqr(a[i].First) + Sqr(a[i].Last)));

 f.Close

end.


Не в файле хранятся 8 целых чисел. в каждой строке расположены два числа через пробел – координаты т

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Pascalabc: составьте программу определяющую относится ли введённое с клавиатуры год к 21 веку.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Антонович937
Шиловский126
petrova-kate3
dashkevich-76611
ali13zakup5064
Nadirovich1317
anusha33325
Nazart44446
yok887062
adrinalin991
sttig
ganorussia
boyarinovigor
lsyrbu
alexandrxzx09