Определить является ли данная последовательность геометрической прогрессией - Free Pascal
Формулировка задачи:
Добрый день! Помогите пожалуйста с задачей. Надо сделать во Free Pascal БЕЗ использования массива. Задача: Вводится последовательность натуральных чисел. Признак конца ввода – 0. определить является ли последовательность геометрической прогрессией.
Решение задачи: «Определить является ли данная последовательность геометрической прогрессией»
textual
Листинг программы
- var
- q : double;
- curr, prev : integer;
- isGeom : boolean = true;
- begin
- repeat
- write('->'); readln(curr);
- if (q = 0) and (prev > 0) then q := curr / prev;
- if curr <> 0 then
- begin
- isGeom := isGeom and ((prev = 0) or (curr / prev = q));
- prev := curr;
- end;
- until curr = 0;
- writeln(isGeom);
- end.
Объяснение кода листинга программы
- Переменная
q
инициализируется значением 0. - Переменные
curr
иprev
инициализируются значениями 0. - Переменная
isGeom
инициализируется значением true. - Входим в цикл while, который продолжается до тех пор, пока значение переменной
curr
не станет равным 0. - На каждой итерации цикла пользователю выводится символ
->
, а затем считывается значение переменнойcurr
. - Если значение переменной
q
равно 0 и значение переменнойprev
больше 0, то значение переменнойq
присваивается результат деления значения переменнойcurr
на значение переменнойprev
. - Если значение переменной
curr
не равно 0, то выполняется следующая последовательность действий:- Значение переменной
isGeom
устанавливается в true, если значение переменнойprev
равно 0 или результат деления значения переменнойcurr
на значение переменнойprev
равен значению переменнойq
. - Значение переменной
prev
присваивается значение переменнойcurr
.
- Значение переменной
- После завершения цикла выводится значение переменной
isGeom
. - Если значение переменной
isGeom
равно true, то это означает, что данная последовательность является геометрической прогрессией.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д