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

UptoLike

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

Вариант 2. Слова в тексте разделены произвольным количеством пробелов.
Тест
Данные Результат
"Кот на крыше" N=3
Школьный АЯ
алг Число слов (арг лит Text, рез цел N)
дано | В тексте Text слова могут быть разделены
| произвольным количеством пробелов
надо | N — количество слов в тексте Text
нач цел i, лог Flag
N:=0; Flag:=да
нц для i от 1 до длин(Text) | цикл по буквам текста
если (Text[i]<>" ") и (Flag=да) | это условие выполняется
только
то N:=N+1 | для первой буквы каждого
слова
все
Flag := (Text[i]=" ") | Flag=да, если очередная буква
пробел,
кц | в противном случае Flag = нет
кон
Исполнение алгоритма
Обозначение проверяемого условия:
(Text[i]<>" ") и (Flag = да)=>(1)
i Text[i] (1) N Flag
1
2
3
4
5
6
7
8
9
10
11
12
13
14
К
о
т
_
н
а
_
_
_
к
р
ы
ш
е
+
-
-
-
+
-
-
-
-
+
-
-
-
-
0
1
2
3
да
нет
нет
нет
нет
да
нет
нет
нет
нет
да
нет
нет
нет
нет
Turbo Pascal
Program KolSlov;
Uses Crt;
Var Text : String; {заданный текст}
i, Number : Integer; {Number - количество слов в тексте}
Flag : Boolean;
Letter : Char; {текущая буква }
BEGIN
ClrScr;
WriteLn('Введите текст :');
    Вариант 2. Слова в тексте разделены произвольным количеством пробелов.
                                      Тест
                          Данные                  Результат
                     "Кот на   крыше"               N=3
Школьный АЯ
алг Число слов (арг лит Text, рез цел N)
  дано | В тексте Text слова могут быть разделены
        | произвольным количеством пробелов
  надо | N — количество слов в тексте Text
нач цел i, лог Flag
  N:=0; Flag:=да
  нц для i от 1 до длин(Text)          | цикл по буквам текста
      если (Text[i]<>" ") и (Flag=да) | это условие выполняется
только
        то N:=N+1                        | для первой буквы каждого
слова
      все
     Flag := (Text[i]=" ")       | Flag=да, если очередная буква —
пробел,
  кц                             | в противном случае Flag = нет
кон
                         Исполнение алгоритма
                    Обозначение проверяемого условия:
                 (Text[i]<>" ") и (Flag = да)=>(1)
                  i   Text[i]     (1)      N       Flag
                                              0        да
                    1       К         +
                                              1       нет
                    2       о         -
                                                      нет
                    3       т         -
                                                      нет
                    4       _         -
                                              2       нет
                    5       н         +
                                                       да
                    6       а         -
                                                      нет
                    7       _         -
                                                      нет
                    8       _         -
                                              3       нет
                    9       _         -
                                                      нет
                   10       к         +
                                                       да
                   11       р         -
                                                      нет
                   12       ы         -
                                                      нет
                   13       ш         -
                                                      нет
                   14       е         -
                                                      нет

Turbo Pascal
Program KolSlov;
  Uses Crt;
  Var Text       : String; {заданный текст}
       i, Number : Integer; {Number - количество слов в тексте}
       Flag      : Boolean;
       Letter    : Char;    {текущая буква }
BEGIN
  ClrScr;
  WriteLn('Введите текст :');