Условие задачи : Дано 20 чисел. Вывести на экран порядковые номера элементов и элементы удовлетворяющие условию 0 < xi < 1 (Язык Pascal)
Сложность : легкая .
Решение задачи :
Для начала продумаем наше решение. Нам надо вывести на экран порядковые номера элементов и элементы удовлетворяющие условию 0 < xi < 1, делать мы будем это с помощью цикла for, так как нам сказано что у нас дано 20 чисел, то мы его сделаем от 1 до 20.
В цикле мы присвоим какой-то переменной допустим xi какое-то случайное число и потом с помощью условия проверим попадает ли оно в промежуток от 0 до 1, если да то выведем порядковый номер и само значение.
Для того чтобы получить случайные числа от 0 до 1 нам понадобиться переменная вещественного типа, т.е. не целая (3.2)
xi := random ;
Вот при этой записи у нас будут получаться случайные числа от 0 до 1, не включая 1, но если мы так оставим, то у нас все числа будут попадать в промежуток от 0 до 1, поэтому мы каждый раз будем прибавлять 0.5
Чтобы вывести на экран порядковые номера элементов и элементы удовлетворяющие условию 0 < xi < 1, нам понадобятся следующие переменные :
- Переменная i — для цикла for
- Переменная xi — для числа
Начнем мы с каркаса нашей программы :
uses crt; var i : integer; xi : real; begin randomize; // включаем генератор случайных чисел end.
Тут мы объявили переменные для цикла и для числа. И включили генератор случайных чисел, подробнее про него читайте (тут)
Ну а дальше цикл , в котором будет очень простое условие :
for i:=1 to 20 do begin xi := random + 0.5; if (xi > 0) and (xi < 1) then begin writeln('Позиция ', i , ' имеет значение : ', xi:2:2); end; end;
Вот и всё, сначала присваиваем число, а потом проверяем на подходит ли оно нам.
Всё решение задачи Pascal :
uses crt; var i : integer; // переменная для цикла xi : real; // для числа которое будем проверять begin clrscr; // очищаем экран randomize; // включаем генератор случайных чисел for i:=1 to 20 do // пускаем цикл от 1 до 20 begin xi := random + 0.5; // присваиваем случайное число от 0 до 1.49 if (xi > 0) and (xi < 1) then // проверяем подходит ли оно нам begin writeln('Позиция ', i , ' имеет значение : ', xi:2:2); // выводим, при этом округляя результат end; end; readln; // чтобы программа не закрывалась end.