Определить, каких букв больше в тексте: гласных или согласных - Pascal ABC
Формулировка задачи:
Дан текст из цифр и строчных латинских букв. Определить, каких букв – гласных (a, e, i, o, u) или согласных – больше в этом тексте.
Решение задачи: «Определить, каких букв больше в тексте: гласных или согласных»
textual
Листинг программы
const g:set of char=['a','e','u','i','o'];
var a:string;
i,so,gl:integer;
s:set of char;
BEGIN
so:=0;
gl:=0;
s:=['a'..'z']-g;
Readln(a);
For i:=1 to Length(a) do
IF a[i] in s
THEN inc(so)
ELSE IF a[i] in g
THEN inc(gl);
IF so>gl
THEN Writeln ('Согласных больше')
ELSE IF so<gl
THEN Writeln ('Гласных больше')
ELSE IF so>0
THEN Writeln ('Букв поровну')
ELSE Writeln ('В тексте нет гласных и согласных букв');
END.
Объяснение кода листинга программы
В данном коде на языке Pascal ABC происходит следующее:
- Создается константа
g, которая представляет собой множество символов, включающее гласные буквы ['a','e','u','i','o']. - Создается переменная
aтипаstring, которая будет содержать введенный пользователем текст. - Создаются три переменные-счетчика
i,soиglтипаinteger, которые будут использоваться для подсчета количества согласных, гласных и общего количества букв соответственно. - Создается множество
sтипаset of char, которое представляет собой все буквы от 'a' до 'z', исключая гласные. - С помощью функции
Readln(a)происходит чтение введенного пользователем текста в переменнуюa. - Затем происходит цикл
For, который проходит по каждой букве введенного текста. - Внутри цикла происходит проверка: если текущая буква присутствует в множестве
s, то увеличивается счетчикso, если же она присутствует в множествеg, то увеличивается счетчикgl. - После завершения цикла проверяется условие
so>gl. Если оно истинно, то выводится сообщениеСогласных больше, если ложно - выводится сообщениеГласных больше. - Если условие
so>0истинно, то выводится сообщениеБукв поровну, если ложно - выводится сообщениеВ тексте нет гласных и согласных букв. Таким образом, данный код позволяет определить, каких букв больше в тексте: гласных или согласных.