Упражнение 3

Описать множества гласных и согласных букв русского алфавита, определить количество гласных и согласных букв в предложении, введенном с клавиатуры.

Зададим тип Letters – множество букв русского алфавита, затем опишем переменные этого типа: Glasn – множество гласных букв, Sogl – множествосогласных букв. Вводимое с клавиатуры предложение опишем переменной Text типа string. Для указания символа в строке Text применим переменную I типа byte. Для подсчета количества гласных и согласных букв опишем переменные 6 и S. Блок описания программы будет выглядеть следующим образом:

type

Letters = set of ‘A’..’я’;

var

Glasn, Sogl : Letters;

Text : string;

I : byte;

G, S ; byte;

В начале программы поместим заполнение множеств гласных и согласных букв:

Glasn[‘A’,’a’,’E’,’e’,’H’,’n’,’O’,’o’,’y,’у’,’Э’,’э’,’Ю’,’ю’,’Я’,’я’];

Sogl:=[‘Б’..’Д’,’б’..’д’,’ж’,’3′, ‘з’,’К’..’Н’,’к’..’н’,П’.. »Т’, ‘п’.. ‘т’, ‘Ф’,’Щ’,’ф’.. ‘щ’, ‘V’, ‘V’,’Ь’, ‘V’];

После этого реализуем вывод приглашения на ввод предложения и считывание этого предложения в переменную Text.

Write(‘Введите предложение ‘); Read!n(Text);

Перед началом подсчета количества гласных и согласных букв в предложении обнулим значения переменных G и S.

Проверку принадлежности символов, составляющих предложение, множествам гласных или согласных букв русского алфавита реализуем с использованием оператора for, параметр I которого, изменяясь от 1 до значения длины предложения, будет указывать порядковый номер символа в предложении. Принадлежность очередного символа предложения множеству гласных или согласных букв запишем в виде операции in. Если условие Text[I] in Glasn выполняется, то счетчик гласных букв G увеличивается на 1. Если выполняется условие Text[I] in Sogl, тогда увеличивается на 1 счетчик согласных букв S. Если не выполняется ни первое, ни второе условие, значит, очередной символ в предложении не является буквой русского алфавита. Данный фрагмент программы будет выглядеть так:

for I:=l to Length(Text) do

begin

if Text[I] in Glasn

then

G:=G+1;

if Textfl] in Sogl

then S:=S+1

end;

В заключительной части программы поместим вывод сообщения о результатах подсчета гласных и согласных букв в предложении. В целом текст программы будет выглядеть следующим образом:

program Glasn_Sogl;
{Подсчет гласных и согласных букв в предложении}
type
Letters = set of ‘A’..’я’;
var
Glasn, Sogl : Letters;
Text : string;
I : byte;
G, S : byte;
begin
Glasn:=[‘A’,’a’,’E’, ‘e’, ‘И’, ‘и’, ‘0’, ‘о’, ‘У’, ‘у’, ‘Э’, ‘э’, ‘К’,’ю’,’Я’,’я’];
Sogl:=[‘Б’..’Д’,’б’..’д’,’Ж’,’ж’,’3′,’з’,’К’..’Н’,’к’..’н’,’П1..1Т’,1п’..’т’,’Ф’, ‘Щ’,’ф’..’щ’,’Ъ’,’ъ’,’Ь’,’ь’];
Write(‘Введите предложение ‘);
Readln(Text);
G:=0;
S:=0;
for I:=l to Length(Text) do
begin
if Text[I] in Glasn then G:=G+1;
if Text[I] in Sogl
then S:=S+1
end;
Writeln(‘B предложении Text. ‘G’ гласных и ‘S’ согласных букв’);
end.

Запустите интегрированную среду программирования. Введите текст программы Glasn _Sogl и запишите файл на диск под соответствующим именем, а затем откомпилируйте его. Проверьте работу программы, вводя различные предложения.

Добавить комментарий