Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результ - Pascal
Формулировка задачи:
- Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результат на дисплей в виде строки.
- Длина строки заранее не вводится, а определяется после окончания ввода с клавиатуры.
- В строке группы символов разделяются одним или несколькими пробелами. Пробелы могут находиться в начале и в конце строки. Группа символов - последовательность букв, цифр или знаков, отделенная пробелами от других групп или находящаяся в начале/конце строки.
- Все буквы считать вводимыми только в нижнем регистре, Заглавные буквы не рассматривать.
- В заголовок окна программы записать свои данные: имя, фамилию и номер варианта.
Примеры возможных строк: ‘ 12.3 tryi yu ()?*‘, ‘ 6е-1 swty +12_3‘
Напечатать:
Группы символов, состоящие только из латинских букв, если в них есть повторяющиеся буквы.
Решение задачи: «Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результ»
textual
Листинг программы
var s,t,r:string; i,j:integer; b,k:boolean; a:set of char; begin write('Enter text:'); readln(s); s:=s+' '; t:=''; r:=''; b:=true; for i:=1 to length(s) do if s[i]<>' ' then begin if s[i] in ['a'..'z'] then t:=t+s[i] else b:=false; end else begin a:=[];k:=false; for j:=1 to length(t) do if t[j] in a then k:=true else include(a,t[j]); if k and b then r:=r+t+' '; t:='';b:=true; end; writeln('Result:',r); readln; end.
Объяснение кода листинга программы
- Объявление переменных:
s
,t
,r
: строки, используются для хранения вводимой строки, временной строки и результата соответственноi
,j
: целочисленные переменные для использования в циклахb
,k
: логические переменные для проверки условийa
: множество символов (set of char)
- Ввод строки:
- Выводится приглашение
Enter text:
- Вводится строка с клавиатуры и сохраняется в переменную
s
- Выводится приглашение
- Инициализация переменных:
- Переменные
t
иr
инициализируются пустыми строками - Переменная
b
устанавливается вtrue
- Переменные
- Цикл обработки строки:
- Проход по символам введенной строки
s
с помощью циклаfor
- Если текущий символ не является пробелом, то:
- Если символ принадлежит диапазону ['a'..'z'], он добавляется в строку
t
- Иначе переменная
b
устанавливается вfalse
- Если символ принадлежит диапазону ['a'..'z'], он добавляется в строку
- Если текущий символ является пробелом, то:
- Создается пустое множество
a
и устанавливается логическая переменнаяk
вfalse
- Проход по символам строки
t
и проверка, принадлежат ли они множествуa
. Если да, тоk
устанавливается вtrue
, иначе символ добавляется в множествоa
- Если
k
иb
равныtrue
, то строкаt
добавляется к строкеr
с пробелом - Сброс переменных
t
иb
в исходное состояние
- Создается пустое множество
- Проход по символам введенной строки
- Вывод результата:
- Вывод строки
Result:
с результатом обработкиr
- Ожидание ввода для завершения программы с помощью
readln
- Вывод строки
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д