Определить, является ли последовательность из 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');
Объяснение кода листинга программы
- Объявляется переменная
a
и присваивается ей значение '/'. - Используя функцию
Ord
, переменнойa
присваивается числовое значение, равное ASCII-коду символа '/', то есть 196611. - Используя функцию
Ord
, переменнойa
присваивается числовое значение, равное ASCII-коду символа '0', то есть 48. - Разность между этими двумя значениями вычисляется и сохраняется в переменной
a
. - Результат равен 196611-48=196563.
- Переменной
a
присваивается значение 196563.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д