В заданной последовательности символов определить количество символов «*», стоящих после двоеточия - Pascal
Формулировка задачи:
Дана последовательность символов, заканчивающаяся точкой. Известно, что среди этих символов есть двоеточие. Определить количество символов «*», стоящих после двоеточия.
Нужно решить через (символьный тип) Char.
Совсем не понимаю, кто-нибудь спасайте!
Решение задачи: «В заданной последовательности символов определить количество символов «*», стоящих после двоеточия»
textual
Листинг программы
var
c: char;
k: integer;
f: boolean;
begin
f := false;
k := 0;
repeat
ReadLn(c);
if c = ':' then f := true;
if f and (c = '*') then k := k + 1;
until c = '.';
WriteLn('Количество символов ''*'' после двоеточия = ', k);
ReadLn
end.
Объяснение кода листинга программы
- Объявление переменных:
c: символьная переменная для хранения символа считанного из ввода.k: целочисленная переменная для подсчета количества символов*после двоеточия.f: логическая переменная, указывающая, был ли уже обнаружен символ:во вводе.
- Устанавливается начальное значение переменных:
fустанавливается вfalse, что означает, что символ:еще не был найден.kустанавливается в 0, так как в начале количество символов*равно 0.
- Запуск цикла
repeat...until, который будет выполняться до тех пор, пока не будет считан символ.. - В каждой итерации цикла выполняются следующие действия:
- Считывание символа из ввода и сохранение его в переменную
cс помощью функцииReadLn(c). - Проверка, является ли считанный символ
:. Если да, то переменнаяfустанавливается вtrue. - Проверка, был ли уже обнаружен символ
:, и если да, и считанный символ*(c = '*'), то переменнаяkувеличивается на 1.
- Считывание символа из ввода и сохранение его в переменную
- После окончания цикла выводится результат подсчета:
- Выводится количество символов
*после двоеточия с помощью функцииWriteLn('Количество символов ''*'' после двоеточия = ', k). - Программа ожидает ввода для завершения выполнения с помощью функции
ReadLn.
- Выводится количество символов