|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] помогите понять смысл данного условия код написан на паскале |
|
Разное - [решено] помогите понять смысл данного условия код написан на паскале
|
Новый участник Сообщения: 8 |
Профиль | Отправить PM | Цитировать помогите понять смысл данного условия
for i:=1 to length(Text) do if (Upcase(Text[i])in sogl)and((i=1)or (Text[i-1]=' ')) then inc(count); Writeln('otvet: ', count); |
|
Отправлено: 13:28, 10-05-2013 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать grethin999, sogl я так понимаю "согласные".
В цикле осуществляется поиск слов, начинающихся с согласной буквы. Если рассматриваемый (текущий, перебираемый в цикле, обозначенный Text[i] и т.д.) символ сделанный прописным (заглавным, перевести в верхний регистр Upcase()) будет согласным (входить in в ранее обозначенную группу символов sogl) И - логическое условие, выполняется когда оба логических выражения, слева и справа истины (выполняются, правдивы) Справа есть "поправка" (i=1) сделана на случай рассмотрения первого символа. От первого символа нельзя отсчитать минус первую позицию.[*] Text[i-1]=' ' Условие начала нового слова. Слово ::= <пробел><символ>...<символ> Отличие первого символа от последующих - наличие перед ним пробела. Получается что левое выражение нам определяет символ (согласный/некий другой, знак препинания допустим) правое выражение определяет первый символ текста или слова. Если все верно, ставим плюсик. ( inc(count) ) ---- [*]Строго говоря можно получить нулевой символ строки. Text[0] в нем храниться длинна строки. Но это особенность языка паскаль! В C++ это не верно, в других языках надо проверять. В любом случае идеалогически правильно вызвать функцию определения длинны строки и работать с полученным результатом. |
------- Отправлено: 13:52, 10-05-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 20117
|
Профиль | Отправить PM | Цитировать Цитата lxa85:
|
|
------- Отправлено: 14:21, 10-05-2013 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Драйвер - [решено] Недостаточно свободных ресурсов для работы данного устройства. Код 12 | justdave | Microsoft Windows 7 | 27 | 11-09-2017 11:54 | |
Разное - [решено] Помогите решить программку на паскале | grethin999 | Программирование и базы данных | 5 | 08-05-2013 15:14 | |
Помоги понять природу данного глюка. | sevvka | Непонятные проблемы с Железом | 11 | 07-07-2011 15:47 | |
Ошибка - недостаточно свободных ресурсов для работы данного устройства(код ошибки 12) | serdzhinio | Microsoft Windows 2000/XP | 3 | 18-04-2010 04:43 | |
Разное - На чем написан этот интерфейс? Скажите, что вбивать в гугл, чтобы почитать подробнее) | evg64 | Программирование и базы данных | 10 | 04-01-2010 14:56 |
|