Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву - Turbo Pascal
Формулировка задачи:
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных латинских букв; между соседними словами – пробел, за последним словом – точка. Вывести все слова последовательности, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: удалить из слова последнюю букву.
Решение задачи: «Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву»
textual
Листинг программы
Var s,sl,st:string; i:byte; Begin write('Последовательность слов: ');readln(s); if s[Length(s)]='.' then Delete(s,Length(s),1); i:=Length(s); While (s[i]<>' ')and(i<>0) do Begin st:=s[i]+st; Delete(s,i,1); dec(i); End; While Pos(' ',s)>0 do Begin sl:=Copy(s,1,Pos(' ',s)-1); Delete(s,1,Pos(' ',s)); if (st<>sl)and(Length(sl)>1) then writeln(Copy(sl,1,Length(sl)-1)); End; readln; End.
Объяснение кода листинга программы
- В начале объявляются переменные s, sl и st типа string, а также переменная i типа byte.
- Затем выполняется чтение строки с помощью функции readln и сохранение её в переменной s.
- Если последний символ в строке является точкой, то с помощью функции Delete удаляется этот символ.
- Инициализируется переменная i, которая будет использоваться для цикла.
- Запускается цикл While, который выполняется до тех пор, пока i меньше или равно 0 и каждый символ в строке s не равен пробелу.
- Внутри цикла создается новая переменная st, которая представляет собой результат объединения текущего символа в строке s с предыдущим значением переменной st.
- Затем удаляется символ с конца строки s с помощью функции Delete.
- Десятикратно уменьшается значение переменной i.
- Повторяется шаг 5 до тех пор, пока условие цикла выполняется.
- Запускается цикл While, который выполняется до тех пор, пока в строке s есть пробелы.
- Внутри цикла сохраняется текущий символ в строке s в новую переменную sl с помощью функции Copy.
- Удаляется символ с конца строки s с помощью функции Delete.
- Если значение переменной st отличается от значения переменной sl и длина переменной sl больше 1, то выводится на экран копия строки sl, обрезанная до длины, равной длине переменной sl минус 1.
- Останавливается чтение ввода с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д