![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
Alexey |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Alex007 Репутация: ![]() ![]() ![]() |
Подскажите, пожалуйста, что делают данные строки:
Код case c of 'а'..'п':stmp:=stmp+chr(ord(c)-32); 'р'..'я':stmp:=stmp+chr(ord(c)-80); else stmp:=stmp+upcase(c); end; stmp - переменная типа line... Не могу врубиться. Сообщение отредактировано: Alexey - 10.10.2007 22:10 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата что делают данные строки: Ну, наверное, то же самое, что и вот эти: Выделить заголовки только работают со строкой... ![]() Сообщение отредактировано: volvo - 10.10.2007 22:17 |
Alexey |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Alex007 Репутация: ![]() ![]() ![]() |
Т.е. если с = от а до п, или от р до я, ей присваивается соответствующее значение в латинском алфавите?
а если с - буква лат.алфавита, то в переменную stmp добавляется эта же буква, но большая?.. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Нет... Ты же не привел фрагмент полностью... Скорее всего, там идет цикл по всем символам строки... И каждый символ переводится в верхний регистр... Чтобы перевести в верхний регистр строчные русские буквы 'а' .. 'п' достаточно из кода буквы вычесть 32, для букв 'р' .. 'я' - вычитается 80, все остальные символы нормально переводятся встроенной функцией Upcase... Ну, и поскольку строка - то переведенный символ добавляется в конец строки-результата...
Итого: скорее всего имеется функция получающая на вход строку символов (любых - русских или латинских), и возвращающая эту же строку переведенную в верхний регистр... |
Alexey |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Alex007 Репутация: ![]() ![]() ![]() |
Вот сама функция:
Код function stupcase(s:line):line; var stmp:line; i:byte; c:char; begin stmp:=''; for i:=1 to length(s) do begin c:=s[i]; case c of ' '..'Ї':stmp:=stmp+chr(ord(c)-32); 'а'..'п':stmp:=stmp+chr(ord(c)-80); else stmp:=stmp+upcase(c); end; end; stupcase:=stmp; end; Так оно и есть (вроде), спасибо... А то не думается об информатике в 12 часов ночи))) |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 23:06 |