Определить, образует ли последовательность, составленная из дат, арифметическую или геометрическую прогрессию - Free Pascal
Формулировка задачи:
Несколько школьников выстроились в шеренгу. Для каждого школьника известен день его рождения
Определить, образует ли последовательность, составленная из этих чисел, арифмети¬ческую или геометрическую прогрессию
Решение задачи: «Определить, образует ли последовательность, составленная из дат, арифметическую или геометрическую прогрессию»
textual
Листинг программы
- var
- n, i, next, cur, prev: integer;
- arith, geom: boolean;
- begin
- write('Введите кол-во школьников: ');
- read(n);
- write('Введите дни рождения школьников: ');
- arith := true;
- geom := true;
- for i := 1 to n do
- begin
- read(next);
- if i > 2 then
- begin
- if next - cur <> cur - prev then arith := false;
- if next / cur <> cur / prev then geom := false;
- end;
- prev := cur;
- cur := next;
- end;
- if arith then writeln('Последовательность образует арифметическую прогрессию');
- if geom then writeln('Последовательность образует геометрическую прогрессию');
- if not(arith or geom) then writeln('Последовательность не образует прогрессий');
- end.
Объяснение кода листинга программы
- Ввод количества школьников и их дат рождения.
- Установка флагов arith и geom в истинное значение.
- Цикл по количеству школьников.
- В каждой итерации чтение следующей даты рождения.
- Проверка, является ли последовательность дат арифметической прогрессией.
- Проверка, является ли последовательность дат геометрической прогрессией.
- Если последовательность не является ни арифметической, ни геометрической прогрессией, то выводится сообщение об этом.
- Вывод сообщения о том, какая прогрессия была найдена.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д