![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
![]()
Как сделать так, чтоб на экран выводились случайно три латинских буквы.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
![]()
Совсем забыл. Язык программирования Delphi
|
![]() |
![]() |
![]() |
#3 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]() Код:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() Последний раз редактировалось JUDAS; 17.10.2011 в 16:43. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
![]() |
![]() |
![]() |
![]() |
#5 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]()
генерирует случайную буковку
ну смотри пошагово? --- begin result:=chr(random(ord('Z')-ord('A'))+ord('A')); - строка 1: результат = символ с номером [ случайное число ( код(Z)-код(A) ) + код(A)] код (...) - числовой код символа в таблице кодов агнлийский буквы идут подряд в любой известной мне кодироке, посему если код А = 1 то код Z = номеру в алфавите = 24. Строчка гененриует случайное число от 0 до числа букв алфавита, к этому числу добавляется код буквы А (например 48) и получается чимсловой, реальный код символа, который преобразовывается в символ через CHR. if random(10)>5 then // строка 2 генерируем случайное число от 0 до 10. Для чего ? Ответ: дело в том, что ты указал что должны генерироватся буквы алфавита без регистра, то есть и большие и маленький (в симбиозе). Посему, я генерирую после буквы случайное число и проверяю его на попадание после 5. Получается фифти/фифти (50 на 50) что число будет больше 5 и меньше пяти для каждого символа. Если сгененрировано случаное число более 5, значит уменшим букву: result:= chr(ord(result)-abs(ord('A')-ord('a'))); уменшаем букву так же ка ки формируем. допустим что код А (как я писал выше см. красную ццыфру) начинается с 48, то код мелкой бувы А, будет начинатся например с 100 получается - находим разницу между кодом а малой и А большой 48-100 = -52 - в не зависимости от того что больше и что меньше смещение отнимаю от сгенерированной буквы. Получается что этим я изменяю код большой буквы на смещение от набора больших букв к набору мелких букв. код - -52 = код + 52 => код мелкой буквы - преобразовываю код, обратно в букву. end;
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() Последний раз редактировалось JUDAS; 17.10.2011 в 16:47. |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
![]() Цитата:
0,1,2,3,4,5 - будет прописная (большая) буква 6 7 8 9 - будет строчная (маленькая). явно не одинаковая вероятность выпадения больших и маленьких букв... ![]() тогда уж if random(2)=0 then .... а по мне, так ещё лучше, одной строчкой обойтись - без ORD и CHR Код:
|
|
![]() |
![]() |
![]() |
#7 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]()
Сергей, мелочи про вероятность не важны. По поводу Вашего варианта, решение оригинальное, но думаю в таком виде не стоит его оформлять в виде функции:
Код:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразовать все буквы нижнего регистра в буквы верхнего регистра | druger | Помощь студентам | 5 | 18.09.2011 17:27 |
Случайные числа. Си. | meta | Помощь студентам | 1 | 31.05.2011 01:48 |
Случайные числа | severin | Помощь студентам | 8 | 02.02.2010 17:35 |
Случайные велечины | Sam04 | Помощь студентам | 4 | 16.06.2008 01:31 |