Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 85 стр.

UptoLike

Составители: 

Ord ( X : Char ) : LongInt Возвращает порядковый номер символа X в таблице кодов
символов.
Pos ( SubS , S : String ) : Byte Возвращает номер позиции, начиная с которой в строке S
располагается подстрока SubS (если значение функции равно нулю, то S не содержит
SubS).
Пример 7.1. Определить количество слов в заданном тексте.
Если слова в тексте разделены одним пробелом, то задача сводится к подсчету числа
пробелов. Количество
слов при этом равно числу пробелов плюс 1. Если же число
пробелов между соседними словами произвольное, как обычно и бывает, то алгоритм
усложняется. Рассмотрим оба варианта решения этой задачи.
Вариант 1. Слова в тексте разделены одним пробелом.
Тест
Данные Результат
"Кот на крыше" N=3
Школьный АЯ
алг Число слов (арг лит Text,
рез цел N)
дано | В непустом тексте
Text слова
| разделены одним
пробелом
надо | N — количество слов
нач цел i
N:=1
нц для i от 1 до длин(Text)
| цикл по буквам
текста
если Text[i] = " "
то N:=N+1
все
кц
кон
Исполнение алгоритма
i Text[i] Text[i]='' '' N
1
2
3
4
5
6
7
8
9
10
11
12
К
о
т
_
н
а
_
к
р
ы
ш
е
+
-
-
-
+
-
-
+
-
-
-
-
1
2
3
Turbo Pascal
Program Probel;
Uses Crt;
Var Text : String; {заданный непустой текст}
i, Number : Integer; {Number — количество слов в тексте}
Letter : Char; {текущая буква }
BEGIN ClrScr;
WriteLn('Введите текст :'); ReadLn(Text);
Number:=1;
For i:=1 to Length(Text) do {цикл по буквам текста}
begin
Letter:=Text[i];
If (Letter = ' ' ) then Number:=Number+1;
end;
WriteLn('О т в е т : количество слов в тексте равно ',
Number);
END.
Ord ( X : Char ) : LongInt Возвращает порядковый номер символа X в таблице кодов
символов.
Pos ( SubS , S : String ) : Byte Возвращает номер позиции, начиная с которой в строке S
располагается подстрока SubS (если значение функции равно нулю, то S не содержит
SubS).

             Пример 7.1. Определить количество слов в заданном тексте.
Если слова в тексте разделены одним пробелом, то задача сводится к подсчету числа
пробелов. Количество слов при этом равно числу пробелов плюс 1. Если же число
пробелов между соседними словами произвольное, как обычно и бывает, то алгоритм
усложняется. Рассмотрим оба варианта решения этой задачи.
                Вариант 1. Слова в тексте разделены одним пробелом.
                                        Тест
                              Данные                    Результат
                          "Кот на крыше"                  N=3


  Школьный АЯ
  алг Число слов (арг лит Text,         Исполнение алгоритма
  рез цел N)                        i   Text[i]    Text[i]='' '' N
    дано | В непустом тексте
  Text слова                        1     К            +         1
          | разделены одним         2     о            -
  пробелом                          3     т            -
    надо | N — количество слов      4     _            -          2
  нач цел i                         5     н            +
    N:=1                            6     а            -          3
    нц для i от 1 до длин(Text)     7     _            -
                | цикл по буквам    8     к            +
  текста                            9     р            -
       если Text[i] = " "          10     ы            -
         то N:=N+1                 11     ш            -
       все                         12     е            -
    кц
  кон
Turbo Pascal
Program Probel;
  Uses Crt;
  Var Text       : String; {заданный непустой текст}
       i, Number : Integer; {Number — количество слов в тексте}
       Letter    : Char;    {текущая буква }
BEGIN ClrScr;
  WriteLn('Введите текст :'); ReadLn(Text);
  Number:=1;
  For i:=1 to Length(Text) do {цикл по буквам текста}
   begin
      Letter:=Text[i];
      If (Letter = ' ' ) then Number:=Number+1;
   end;
  WriteLn('О т в е т : количество слов в тексте равно ',
Number);
END.