среда, 1 января 2014 г.

Упражнение 1.11.

Как протестировать программу подсчета слов? Какой ввод вероятнее всего обнаружит ошибки, если они были допущены?

Из кода программы подсчета слов: словом считается последовательность символов, которая начинается либо символом пробела (' '), либо новой строкой ('\n'), либо табуляцией ('\t'), и заканчивается так же, либо символом пробела (' '), либо новой строкой ('\n'), либо табуляцией ('\t'). То есть, слово может включать в свой состав цифры и специальные символы (например, !, ", , %, :, ?, *, (, ) и т.д.), и цифры. Правильно ли считать такие наборы символов словами? Например, входной поток Привет,мир! программа посчитает одним словом:

$ ./a.out
Привет,мир!
Строк: 1
Слов: 1
Символов: 12

Так же, следуя логике программы, слово может заканчиваться знаком препинания или, вообще, быть знаком или цифрой:

$ ./a.out
Привет , мир
Строк: 1
Слов: 3
Символов: 13

$ ./a.out
123 456 789
Строк: 1
Слов: 3

Символов: 12

3 комментария:

  1. Благодарю за данный пост,помогли понять суть вопроса.

    ОтветитьУдалить
  2. Скорее всего имелось ввиду не это. Надо было найти такую управляющую последоватеьность, при которой счетчик новых слов даст неверное значение (увеличится при отстутствии "слова" или проигнорирует его)

    ОтветитьУдалить