ВУЗ:
Составители:
Рубрика:
34
текущей буквой есть буква? Например, перед первой буквой строки
буквы нет. Поэтому следующий вариант псевдоалгоритма будет:
6.5.1. Если текущий символ – разделитель, то текущий символ не является
началом слова.
6.5.2. Иначе если текущий символ первый, то он является началом слова.
6.5.3. Иначе если перед текущим символом находится разделитель, то
текущий символ является
началом слова.
6.5.4. Иначе если перед текущим символом стоит буква, то текущий
символ не является началом слова.
6.6. Обратите внимание, что в данном случае используются термины
«разделитель» и «буква». Довольно легко понять, что можно перейти
к терминологии «разделитель» и «не разделитель». Если
пользоваться этой терминологией, то в пунктах 6.5.3 и 6.5.4 будет
выполнятся только одно из условий (причем всегда). Поэтому
следующий вариант псевдоалгоритма будет:
6.6.1. Если текущий символ – разделитель, то текущий символ не является
началом слова.
6.6.2. Иначе если текущий символ первый, то он является началом слова.
6.6.3. Иначе если перед текущим символом находится разделитель, то
текущий символ является началом слова. Иначе –
символ не является
началом слова.
6.7. Для дальнейшей модернизации псевдоалгоритма воспользуемся тем
фактом, что почти во всех высокоуровневых языках (за исключением
паскаля) операция возвращения результата прерывает выполнение
функции. Поэтому окончательный вариант псевдоалгоритма будет
следующий:
6.7.1. Если текущий символ – разделитель, то текущий символ не является
началом слова.
6.7.2. Если текущий символ первый
, то он является началом слова.
6.7.3. Если перед текущим символом находится разделитель, то текущий
символ является началом слова. Иначе – символ не является началом
слова.
6.8. Теперь довольно логична характеристика текущего символа (с
учетом того, что в некоторых случаях надо искать предыдущий
символ) – с помощью индекса. Таким образом, реализация в кодах
этого псевдоалгоритма будет следующей:
/// <summary>
/// является ли символ разделителем
/// </summary>
/// <param name="c">символ, который проверяется на
///разделитель</param>
/// <returns></returns>
private static bool isSeparator(char c) {
string oneCharStr = "" + c;
return " .,?!".Contains(oneCharStr);
Страницы
- « первая
- ‹ предыдущая
- …
- 32
- 33
- 34
- 35
- 36
- …
- следующая ›
- последняя »
