Определить, образует ли последовательность, составленная из дат, арифметическую или геометрическую прогрессию - 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 в истинное значение.
- Цикл по количеству школьников.
- В каждой итерации чтение следующей даты рождения.
- Проверка, является ли последовательность дат арифметической прогрессией.
- Проверка, является ли последовательность дат геометрической прогрессией.
- Если последовательность не является ни арифметической, ни геометрической прогрессией, то выводится сообщение об этом.
- Вывод сообщения о том, какая прогрессия была найдена.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д