В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
baby134
baby134
20.11.2022 07:45 •  Информатика

Укажи, какому информационному действию соответствует осмотр места достопримечательностей вашего города. сбор
обработка
хранение
передача
представление


сведений

Показать ответ
Ответ:
Ijorik
Ijorik
11.08.2020 19:08
Program array15numbers;
var a:array [1..15] of integer; b:array [1..15] of real; i:integer;
begin
for i:=1 to 15 do
begin
a[i]:=-20 + Random(41); {почему не 40? такова особенность паскаля}
writeln(a[i]); {чтобы увидеть созданный массив}
end;
writeln(); {нужен, чтобы сделать отступ}
for i:=1 to 15 do
begin
if abs(a[i] mod 2) = 1 then {abs - модуль от числа, mod - остаток от деления}
begin
b[i]:=a[i]*3;
end
else
begin
b[i]:=a[i]/2;
end;
writeln(b[i]);
end;
end.

Остались вопросы? - спрашивай в комментах.
Нужно более подробное объяснение - пиши в лс vkcom/ilyahard
0,0(0 оценок)
Ответ:
mauzeriss
mauzeriss
16.05.2022 20:31

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

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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота