Program Insertion;
Uses Crt;
Var A : Array [1..20] of Real;
D : Real;
N, i : Integer;
{--------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода}
Begin ClrScr;
Write(’Количество элементов массива - ’); ReadLn(N);
WriteLn(’Введите элементы массива, упорядоченные по возрастанию:’);
For i := 1 to N do
begin Write(’A[’ , i , ’] = ’); ReadLn(A[i])
end; WriteLn;
Write(’Введите число, которое требуется включить в массив: ’);
ReadLn(D);
ClrScr; Write(’Исходный массив :’);
For i := 1 to N do Write(A[i] : 5 : 1); WriteLn;
WriteLn(’Включаемый элемент – ’, D : 5 : 1);
End; { of InputOutput }
{--------------------------------------------}
Procedure Insert; {описание процедуры включения нового элемента}
Begin
i:=N;
While (i>=1) and (A[i]>D) do
begin A[i+1] := A[i]; {сдвиг очередного элемента вправо}
i:=i–1
end;
A[i+1] := D {включение числа D в последовательность}
End;
{--------------------------------------------}
Procedure Result; {описание процедуры вывода результатов}
Begin WriteLn;
Write(’О т в е т : массив с включенным элементом ’);
For i := 1 to N+1 do Write( A[i] : 5 : 1); WriteLn;
ReadLn
End;
{--------------------------------------------}
BEGIN
InputOutput; {вызов процедуры ввода-вывода }
Insert; {вызов процедуры включения нового элемента}
Result; {вызов процедуры вывода результатов }
END.
QBasic
CLS
INPUT "Количество элементов массива – ", N
DIM A(N+1)
PRINT "Введите элементы массива, упорядоченные по возрастанию:"
FOR i = 1 TO N
PRINT "A(" ; i ; ") = " ; : INPUT A(i)