Программа
включения нового числа в заданный
массивом X ряд чисел.
|
Program
P68(Input, Output);
|
Объявление
имени программы
|
Const
|
Блок
объявления констант
|
Nmax
= 10;
|
Объявляем
максимальное число элементов в исходном
массиве
|
Var
|
Блок
объявления глобальных переменных
|
X
:
Array [1.. Nmax+1] Of Integer;
|
Переменная
X
-
массив целых чисел размером N+1 (т.е. +
вставляемый эл-т)
|
N
:
Integer;
|
Переменная
N
-
размер исходного массива
|
Y
:
Integer;
|
Переменная
Y
-
вставляемое число
|
M
:
Integer;
|
Переменная
M
-
позиция, в которую вставляем число Y
|
i
:
Integer;
|
Переменныя
i
-
параметр цикла
|
|
|
Begin
|
Начало
тела программы
|
|
|
WriteLn
('PASCAL: Включение нового числа в ряд чисел.');
|
Формулировка
цели алгоритма
|
WriteLn
('Введите входные данные:');
|
Вывод
запроса входных данных
|
Write
('Число элементов ряда (N<=10) N = ');
|
Вывод
запроса N - размера исходного массива1
|
ReadLn
(N);
|
Ввод
N
|
WriteLn
('Введите числа ряда:');
|
Запрос
ввода самого исходного массива
|
For
i := 1 To N Do
|
Цикл
для i от 1 до N, где i - номер очередного
элемента
|
Begin
|
Начало
тела цикла
|
Write
('X[', i: 2, '] = ');
|
Вывод
удобной подсказки
|
ReadLn
(X[i]);
|
Ввод
очередного элемента - X[i]
|
End;
|
Конец
тела цикла
|
Write
('Номер позиции, куда вставляем число M =
');
|
Запрос
ввода M - номера позиции, куда вставляем
число
|
ReadLn
(M);
|
Ввод
M
|
Write
('Вставляемое число Y = ');
|
Запрос
ввода Y - самого вставляемого числа
|
ReadLn
(Y);
|
Ввод
Y
|
|
|
For
i := N Downto M Do
|
Цикл
для i по убыванию от N до M сдвига
элементов X, освобождая X[M]
|
X[i+1]:=X[i];
|
Сдвиг
"вправо" очередного элемента X[i]
|
X[M]:=Y;
|
"Вставка"
числа Y в позицию M ряда
|
|
|
N
:= N + 1;
|
Увеличиваем
число элементов ряда на 1
|
For
i:=1 To N Do
|
Цикл
для i от 1 до N печати элементов ряда
|
Write
(X[i]:4);
|
Вывод
очередного элемента массива X
|
WriteLn;
|
Перевод
строки
|
|
|
ReadLn;
|
Ожидание
нажатия клавиши Enter для завершения
|
End.
|
Конец
программы.
|