Подсчитать количество букв и слов в тексте - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого пробелами и содержат гласные буквы, которые находятся во множестве [‘ а ‘, ‘ е ‘, ‘ у ‘, ‘ о ‘]. Подсчитать количество букв в тексте, количество слов в тексте и вывести из текста количество гласных букв данного множества. Помогите пожалуйста

Решение задачи: «Подсчитать количество букв и слов в тексте»

textual
Листинг программы
{$MODE TP}
const
    VOWELS: Set Of Char = ['a', 'e', 'o', 'y', 'A', 'E', 'O', 'Y'];
    ALPHABET: Set Of Char = ['A'..'Z', 'a'..'z'];
var
    s: String;
    lettersCount, wordsCount, vowelsCount, i: LongWord;
    inWord: Boolean;
begin
    Write('Input text: '); ReadLn(s);
    lettersCount := 0; wordsCount := 0; vowelsCount := 0;
    s := s + ' '; inWord := False; i := 1;
    while (i <= Length(s)) do
    begin
        if (s[i] in ALPHABET)
        then
        begin
            inWord := True;
            Inc(lettersCount);
            if (s[i] in VOWELS)
            then
                Inc(vowelsCount);
        end
        else
        begin
            if (inWord)
            then        
                Inc(wordsCount);
            inWord := False;
        end;
        Inc(i);
    end;
    WriteLn('Words: ', wordsCount);
    WriteLn('Vowels: ', vowelsCount);
    WriteLn('Letters: ', lettersCount);
end.

Объяснение кода листинга программы

  1. Создается строка const, где определяются два множества символов: VOWELS и ALPHABET.
  2. Создается переменная s типа String, которая будет содержать введенный пользователем текст.
  3. Создается четыре переменные-счетчика: lettersCount, wordsCount, vowelsCount и i типа LongWord.
  4. Устанавливается начальное значение счетчиков равным нулю.
  5. Устанавливается начальное значение переменной inWord равным False.
  6. Запускается цикл while, который будет выполняться до тех пор, пока длина строки s больше или равна единице.
  7. Внутри цикла проверяется каждый символ строки s.
  8. Если текущий символ является буквой из алфавита (s[i] in ALPHABET), то:
    • Устанавливается значение переменной inWord в True.
    • Увеличивается значение счетчика lettersCount на единицу.
    • Если текущий символ является гласной (s[i] in VOWELS), то:
      • Увеличивается значение счетчика vowelsCount на единицу.
    • Иначе, если inWord равно True, то:
      • Увеличивается значение счетчика wordsCount на единицу.
      • Устанавливаем значение переменной inWord в False.
  9. После завершения внутреннего цикла, выводятся значения счетчиков на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы