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