Определить является ли данная последовательность геометрической прогрессией - 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.

Объяснение кода листинга программы

  1. Переменная q инициализируется значением 0.
  2. Переменные curr и prev инициализируются значениями 0.
  3. Переменная isGeom инициализируется значением true.
  4. Входим в цикл while, который продолжается до тех пор, пока значение переменной curr не станет равным 0.
  5. На каждой итерации цикла пользователю выводится символ ->, а затем считывается значение переменной curr.
  6. Если значение переменной q равно 0 и значение переменной prev больше 0, то значение переменной q присваивается результат деления значения переменной curr на значение переменной prev.
  7. Если значение переменной curr не равно 0, то выполняется следующая последовательность действий:
    • Значение переменной isGeom устанавливается в true, если значение переменной prev равно 0 или результат деления значения переменной curr на значение переменной prev равен значению переменной q.
    • Значение переменной prev присваивается значение переменной curr.
  8. После завершения цикла выводится значение переменной isGeom.
  9. Если значение переменной isGeom равно true, то это означает, что данная последовательность является геометрической прогрессией.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы