Привет и тебе, коллега! Рада видеть на ли.ру! :)
Конечно, не все нудно и сухо. Сама по себе идея совместить компьютеры и язык очень интересна. Просто у нас в университете (не знаю, как в других) она подается, как на мой непросвещенный взгляд, в несколько извращенном виде. Писать алгоритмы, не имея ни малейшего понятия о том, как пишутся программы, как минимум нерационально. А программированию нас не особо хотят учить.
А теперь рассказываю.
Киевский национальный университет имени Тараса Шевченко, курс "Лингвистические алгоритмы" (введение в компьютерную лингв-ку, по сути. Мы ведь только-только начинаем учебу по специализации :)), преподаватель - Дарчук Наталья Петровна.
Обсуждалась примитивнейшее задание (первое, что предлагается студентам сделать самостоятельно): выделить в тексте определенный тип согласных (губные, сонорные, шипящие и т.д. - на выбор). Девушка выходит к доске и рисует по образцу, который нам дали на лекции. Выходит вот такая вещь (см. рис. внизу. подписи оригинальны, я ничего не исправляла:)).
Мои замечания: если задать пробел не х, а у, то п. 6 просто не нужен, можно от п. 5 идти на п. 2. Но это в случае, если текст очищен от знаков препинания.
Да, и к тому же, где здесь логика? Нельзя пробел приравнять к х, не очистив прежде место для анализируемого слова. Икс никак не может быть равен пробелу в даной записи, т.к. иксом на даном у нас является первое взятое слово, которое мы еще не заканчивали анализировать, судя по записи.
Если же со всей пунктуацией, то алгоритм наоборот, нужно усложнить, сделав еще одну "ветку": перед тем, как ставить тест на пробел, нужно сделать то же со знаками препинания. Либо вообще не делать ничего такого, а задать вместо области для слова область для опеределенного кол-ва знаков и записать всю пунктуацию с тем же пробелом в текстовые переменные. (это в том случае, если программа самостоятельная, а не часть более сложной задачи, как, например, слогоделение).
И вообще, мне сама форма записи x=word[y] не нравится. По-моему, понятнее и красивее записать что-то вроде y=l[x], где l - буква (letter).
Вот так из мух делают слонов. Простейшая задачка, а сколько рассуждений.
Кстати, если видишь в моих рассуждениях ошибку, подскажи пожалуйста, мне нужно с этим всем окончательно разобраться, прежде чем сдавать работу :)
LI 3.9.25