Работа 3.6 Упр.12 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 12. Дана последовательность действительных чисел а1 < = а2 < = ... < = аn Вставить действительное число b в нее так, чтобы последовательность осталась неубывающей. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-6/12 98
Чтобы вставить число $$b$$ в неубывающую последовательность, нужно найти такое место, где выполняется
$$a_{i-1} \le b \le a_i.$$
Тогда число $$b$$ ставится на позицию $$i$$, а все элементы, начиная с этой позиции, сдвигаются вправо на один шаг.
Если подходящее место не найдено, то число $$b$$ добавляется в конец последовательности.
var n,f,z,x,j,i,b: integer; a: array[1..100] of integer;
begin
f := 0;
writeln;
write(‘введите кол-во элементов ‘); read(n);
for i := 1 to n do begin
write(‘Введите A[‘, i, ‘]’); read(a[i]);
end;
write(‘Введите b ‘); read(b);
for i := n downto 1 do begin
if (f = 0) and (b <= a[i]) and (b >= a[i-1]) then begin
x := a[i];
a[i] := b;
z := i;
f := 1;
end;
end;
a[z] := x;
for i := n+1 downto z do begin
a[i] := a[i-1];
end;
for i := 1 to n+1 do writeln(‘A[‘, i, ‘] = ‘, a[i]);
end.
В этом решении программа:
- считывает количество элементов и саму последовательность;
- считывает число $$b$$;
- находит место вставки в неубывающей последовательности;
- сдвигает элементы вправо и вставляет $$b$$;
- выводит новую последовательность из $$n+1$$ элемента.
Ответ: число $$b$$ вставляется в найденную позицию так, чтобы сохранялось условие $$a_1 \le a_2 \le \dots \le a_n$$.