Найти номер первого символа строки, нарушающего алфавитный порядок - Pascal ABC

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

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

Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по алфавиту, то вывести 0; в противном случае вывести номер первого символа строки, нарушающего алфавитный порядок.

Решение задачи: «Найти номер первого символа строки, нарушающего алфавитный порядок»

textual
Листинг программы
var i:integer;
s,s2:string;
BEGIN
s2:='';
Readln(s);
For i:=1 to Length(s) do
  IF (ord(s[i])>=ord('a')) and (ord(s[i])<=ord('z')) THEN
  s2:=s2+s[i];
  Writeln(s2);
For i:=1 to Length(s2)-1 do
  IF s2[i]>s2[i+1] THEN break;
IF i<Length(s2)-1 THEN Writeln(i+1)
   ELSE IF s2[Length(s2)]<s2[Length(s2)-1] THEN Writeln (Length(s2))
        ELSE Writeln ('0');
END.

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

В данном коде используется язык программирования Pascal ABC. Он предназначен для решения задач, связанных с обработкой текстовых данных. Переменные в данном коде:

  • i: переменная типа integer, которая используется для счетчика символов в строке;
  • s: переменная типа string, которая содержит исходную строку;
  • s2: переменная типа string, которая содержит строку, в которой символы упорядочены по алфавиту. Код начинается с инициализации переменной s2 значением пустой строки. Затем с помощью функции Readln считывается исходная строка s. Далее идет цикл for, который проходит по каждому символу в строке s. Внутри цикла проверяется условие: если символ является буквой верхнего регистра (от 'a' до 'z') и его порядковый номер больше или равен 1, то этот символ добавляется в строку s2. Если же символ меньше следующего символа в строке s2, то цикл прерывается с помощью оператора break. После завершения внутреннего цикла проверяется условие: если в строке s2 есть символы, расположенные не по алфавитному порядку, то выводится номер первого такого символа. Если же все символы в строке s2 расположены по алфавитному порядку, то выводится номер последнего символа. Если в строке s2 есть символы, расположенные не по алфавитному порядку, то выводится номер первого такого символа. Если же все символы в строке s2 расположены по алфавитному порядку, то выводится номер последнего символа. Если в строке s2 есть символы, расположенные не по алфавитному порядку, то выводится номер первого такого символа. Если же все символы в строке s2 расположены по алфавитному порядку, то выводится номер последнего символа. В конце кода выводится значение переменной i, которое представляет собой номер первого символа, нарушающего алфавитный порядок в строке s2. Если все символы в строке s2 расположены по алфавитному порядку, то выводится число 0.

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


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

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

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