Алгоритмическое мышление при решении задач (на примере языка C#). Шамшев А.Б - 35 стр.

UptoLike

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

35
}
/// <summary>
/// является ли символ с индексом index в строке str началом
слова
/// </summary>
/// <param name="str">строка</param>
/// <param name="index">индекс символа</param>
/// <returns></returns>
public static bool isBeginOfWord(string str, int index) {
if (isSeparator(str[index])) {
return false;
}
if (index == 0) {
return true;
}
if (isSeparator(str[index - 1])) {
return true;
} else {
return false;
}
}
6.9. Теперь возникает вопрос, как найти длину слова. Для того, что бы
найти длину слова, надо знать позицию начала слова. Так же надо
вспомнить то, что слово является последовательностью. Тогда
логично, что для нахождения длины слова нужно идти от начала
слова дальше по слову. Очевидно, что слово кончится, если
кончилась строка
, в которой находится слово. И если встретился
разделитель, то слово так же кончилось. Следовательно, если
встретился разделитель, то надо прервать проход по строке. Эти
рассуждения в виде псевдокода:
6.9.1. Для каждого индекса от текущего до конца строки
НачалоЦикла
Если текущий символразделитель, то
НачалоЕсли
Прервать цикл.
ОкончаниеЕсли
Увеличить
результат на 1.
ОкончаниеЦикла
6.10. В виде кода это будет материализовано в следующем виде:
/// <summary>
/// нахождение длины слова
/// </summary>
/// <param name="str">строка, в которой находится
///слово</param>
/// <param name="index">индекс начала слова</param>
/// <returns></returns>
public static int getWordLength(string str, int index) {
int res = 0;