Цикл For - Turbo Pascal (247578)
Формулировка задачи:
Доброго времени суток! Столкнулся со следующей проблемой, необходимо выполнить следующее задание:
"Найти среднее для случайных чисел, не превышающих 100. Процесс извлечения чисел прекратить набором символа y.". Всю голову уже сломал... а всё потому, что данное задание надо выполнить через цикл с параметром, то есть оператор For. Как сделать подобное с repeat...until знаю, а вот для for решения не нахожу. Пожалуйста помогите! Заранее благодарю ответивших.
Решение задачи: «Цикл For»
textual
Листинг программы
uses crt; var i, n: longword; a: real; c: char; begin a := 0; for i := 1 to 4294967295 do begin n := random(101); a := a + n; write('Alternate number = ', n, ', sum = ', a, ', calculate average? '); c := readkey; writeln; if c = 'y' then begin a := a / i; break end end; write('Average = ', a); readkey end.
Объяснение кода листинга программы
- В начале кода объявляются переменные i, n, a, c типа longword, real и char соответственно.
- Переменная a инициализируется значением 0.
- Запускается цикл for, который выполняется от i = 1 до 4294967295 (максимальное значение для longword).
- Внутри цикла генерируется случайное число n в диапазоне от 0 до 100 с помощью функции random(101).
- Значение n прибавляется к переменной a.
- Выводится предложение
Alternate number = n, sum = a
, где n и a - это текущие значения переменных. - С помощью функции readkey считывается ответ пользователя, который должен быть либо 'y', либо любой другой символ.
- Если пользователь ввел 'y', то выполняется блок кода, который делит значение a на i, обновляя значение a.
- Если пользователь ввел любой другой символ, то цикл продолжается.
- После выхода из цикла выводится предложение
Average = a
, где a - это окончательное значение переменной. - С помощью функции readkey считывается ключ, нажатый пользователем, чтобы программа могла завершиться.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д