Определить, является ли последовательность из N произвольных чисел строго возрастающей - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Добрый день! Столкнулась с проблемой, с которой самостоятельно не могу разобраться. Буду очень сильно признательна за подсказку. Задание, по сути, несложное. Нужно, используя операторы цикла (каждый из трех), определить, является ли последовательность из N произвольных чисел строго возрастающей. С оператором FOR вообще никаких вопросов - там всё понятно, а вот WHILE и REPEAT мне уже весь мозг вывихнули. Суть в том, что у меня не получается построить программу таким образом, чтобы она "считывала" последовательность чисел, введенных через пробел. Последовательность нужно ограничивать, так как данные операторы не могут осуществлять циклы строго определенное количество раз. Пробовала ограничивать символом (n или i) - программа просто выходит через break, и ничего не происходит. Если ограничивать нулем, то последовательность никогда не будет возрастающей, потому что ноль тоже участвует в расчетах. Поэтому попробовала реализовать таким образом, чтобы каждый новый член последовательности нужно было вбивать последовательно.
Program gh_02;
Var new, old: Real;
Begin
Writeln ('Введите число');
Readln (old);
Writeln ('Введите число');
Readln (new);
Repeat
If new>old then
Writeln ('Последовательность строго возрастает');
old:=new;
Writeln ('Введите число');
Readln (new);
Until new<old;
Writeln ('Возрастание последовательности прекращено');
Readln;
End.
Оно вроде и работает, но всё равно не даёт покоя мысль, что я неправильно выполнила задание... Пробовала реализовать по-другому, но всё время ерунда какая-то получается...

Решение задачи: «Определить, является ли последовательность из N произвольных чисел строго возрастающей»

textual
Листинг программы
a:= '/';
a:= Ord('/')-Ord('0');

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

  1. Объявляется переменная a и присваивается ей значение '/'.
  2. Используя функцию Ord, переменной a присваивается числовое значение, равное ASCII-коду символа '/', то есть 196611.
  3. Используя функцию Ord, переменной a присваивается числовое значение, равное ASCII-коду символа '0', то есть 48.
  4. Разность между этими двумя значениями вычисляется и сохраняется в переменной a.
  5. Результат равен 196611-48=196563.
  6. Переменной a присваивается значение 196563.

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


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

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

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