Определить, совпадает ли текст с каким-либо отрезком ряда abc…xyz - Pascal

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

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

Помогите с решением, пожалуйста! Если не трудно, то с объяснением В заданный непустой текст входят только цифры и буквы. Длина текста не более 12 символов. Определить, удовлетворяется ли следующее свойство: Текст совпадает с каким-то отрезком ряда abc…xyz (например: klmnop);

Решение задачи: «Определить, совпадает ли текст с каким-либо отрезком ряда abc…xyz»

textual
Листинг программы
var s:string;
    n,i,k:byte;
begin
 
repeat
writeln('Введите текст из строчных латинских букв и цифр длиной не более 12 символов');
readln(s);
n:=length(s);
k:=0;
for i:=1 to n do
if not(s[i] in ['a'..'z','0'..'9']) then k:=1;
if not(n in [1..12])or(k=1) then writeln('Ввод неверный, повторите')
until(n in [1..12])and(k=0);
if not (s[1] in ['a'..'z']) then write('Свойство не удовлетворяется')
else if n=1 then write('Свойство удовлетворяется')
else
 begin
  i:=2;
  k:=0;
  while (i<=n)and(k=0) do
  if s[i]<>succ(s[i-1]) then k:=1
  else inc(i);
  if k=0 then write('Свойство удовлетворяется')
  else write('Свойство не удовлетворяется');
 end;
end.

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

  1. Объявляется переменная s типа string для хранения вводимого текста.
  2. Объявляются переменные n, i и k типа byte для хранения длины строки, индексов и проверки условий соответственно.
  3. Пользователю предлагается ввести текст из строчных латинских букв и цифр длиной не более 12 символов.
  4. Вводимая строка s считывается с помощью функции readln.
  5. Получаем длину строки n и устанавливаем начальное значение переменной k равным 0.
  6. В цикле for проверяется каждый символ в строке s: если символ не является строчной латинской буквой или цифрой, устанавливаем переменную k равной 1.
  7. Проверяем условия: длина строки должна быть от 1 до 12 символов и переменная k должна быть равна 0. Если условия не выполнены, выводим сообщение Ввод неверный, повторите и просим ввести текст заново.
  8. Если введенное выражение не начинается с латинской буквы, выводим Свойство не удовлетворяется.
  9. Если длина строки равна 1, выводим Свойство удовлетворяется.
  10. Если начальное условие не выполняется, переходим к следующему блоку кода.
  11. Устанавливаем значение переменной i равным 2 и переменной k равным 0.
  12. В цикле while проверяется каждый символ строки s. Если текущий символ не равен следующему в алфавитном порядке, устанавливаем переменную k равной 1, иначе увеличиваем значение i на 1.
  13. Если переменная k осталась равной 0, выводим Свойство удовлетворяется, иначе Свойство не удовлетворяется.

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


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

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

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