В последовательности все неотрицательные члены, не принадлежащие отрезку [1, 2], заменить нулями - Turbo Pascal
Формулировка задачи:
даны натуральное число n, действительные числа a1, a2 ...an. в последовательности a1, a2 ...an все неотрицательные члены, не принадлежащие отрезку [1, 2] заменить нулями.
Задача построить блок-схему и записать на алгоритмическом языке.
Решение задачи: «В последовательности все неотрицательные члены, не принадлежащие отрезку [1, 2], заменить нулями»
textual
Листинг программы
var
ar: Array[Byte] Of Real;
n, i: Word;
begin
repeat
Write('Input n=');
ReadLn(n);
until (n > 0);
Randomize();
Write('Original array:');
for i := 0 to n - 1 do
begin
ar[i] := Random * 198 - 99;
Write(ar[i]:7:2);
if ((ar[i] >= 0) And ((ar[i] < 1) Or (ar[i] > 2)))
then
ar[i] := 0;
end;
WriteLn; Write('Modified array:');
for i := 0 to n - 1 do
Write(ar[i]:7:2);
end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Создается переменная
ar, которая представляет собой массив из 20 элементов типаReal. - Затем, с помощью цикла
repeat, запрашивается числоnот пользователя. Число должно быть больше 0. - После этого, с помощью функции
Randomize(), генерируется случайное число в диапазоне от -99 до 99. - Выводится исходный массив
ar. - Затем, с помощью цикла
for, перебираются все элементы массиваar. - Внутри цикла проверяется условие
(ar[i] >= 0) And ((ar[i] < 1) Or (ar[i] > 2)). Если это условие выполняется, то есть если значение элементаar[i]находится в диапазоне от -1 до 1, то значение элемента заменяется на 0. - После завершения внутреннего цикла, выводится измененный массив
ar. - В конце программы выводится сообщение о том, что было введено число
nи какие значения были заменены на 0.