Lucian
Удален
|
Где взять библиотеки Dos, WinDos?
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 9 марта 2007 12:41 | IP
|
|
KMA
Долгожитель
|
Определить является ли заданный текст зашифрованной телеграммой – т.е. она состоит из слов, каждое из которых представляет набор из пяти символов, каждый из которых является буквой русского алфавита, причем средняя буква в каждом слове имеет четное значение кода.
Дело нехитрое. Я уже предполагаю, что ты заранее удалил лишение пробелы, а так же в конце добавил 1. Тогда весь смысл сводиться к тривиальным вещам. if length (s) mod 6=0 then flag:=true else flag:=false; {понятно, что если длина каждого слова +1 пробел, то длина всей строки должна быть кратна 6} i:=0; while flag or (j<length(s)) do begin inc (j); if (s[j]=' ') and (j mod 6<>0) {если какой-то не 6 символ пробел, то не шифровка} then flag:=false; if (j mod 3 =0) and (ord (s[j]) mod 2<>0) {если средний символ не четен} if (j mod 6 = 0) and (s[j]<>' ') {если шестой символ не пробел, т. е. слово больше чем 5 символов, то выходим} then flag:=false then flag:=false; end; Ну и в итоге во flag будет храниться истинность высказывания о том, что данное предложение шифровка.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 9 марта 2007 22:48 | IP
|
|
Guest
Новичок
|
Помогите пожалуйста!!! Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления значения многочлена для заданного аргумента, операции сложения, вычитания и умножения многочленов с получением нового объекта-многочлена, вывод на экран (в файл) описания многочлена. Мне желательно на делфи. Плиииззз
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 9 марта 2007 22:54 | IP
|
|
KMA
Долгожитель
|
Привет! Помогите дописать игру, пожалуйста. Не могу сделать, чтобы шарик двигался самостоятельно(т. е. ничего не нажимая) одновременно с платформой(движение стрелочками). И чтобы при нажатии Esc игра завершалась. У меня получается движение только по отдельности.
В общем ты бы сделал еще одну процедурку типа start_dvigenie. Я так понял, что тебе надо чтобы они двигались вначале одинаково, а по нажатию клавиши пробел мячик улитал. Вот мои идеи: 1) Загружаем в единый образ сразу мяч и платформу, т. е. это одно большое изображение (ведь они же не разлучны, до нажатия клавиши). Соответственно с ним (с таким большим прямоугольником в котором и загружено сразу мяч и платформа) и работаем, когда нажата нужная клавиша, ты просто стираешь этот образ, выводишь образ мяча и платформы уже по отдельности. 2) Работать сразу с мячом и платформой, в принципе тоже можно, но тогда тебе придется писать в два раза больше. Ты бы по подробнее написал откуда и что ты загружаешь, а то честное слово как в пустоте плаваешь.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 9 марта 2007 23:07 | IP
|
|
Speedy
Удален
|
Еще разочек попробую объяснить. Мне нужно, чтобы при запуске программы шарик автоматически начал движение, и чтобы при этом можно было бы стрелочками двигать платформу(т. е. шарик не должен останавливаться). Вот весь код программы: Uses crt,Graph; Var Driver,Mode:integer; SizeP,SizeC,x1,y1,x2,y2,x3,y3,R,x4,y4,x5,y5:integer; p,pp:pointer; key,key2:char; procedure charik(x3,y3,R:integer); Begin x3:=30; y3:=20; R:=5; SetColor(blue); SetFillStyle(1,blue); Circle(x3,y3,R); End; procedure dvigenie_charika; Const ch:set of char=[#27,#077,#075]; Begin x4:=25; y4:=15; x5:=35; y5:=25; SizeC:=ImageSize(x4,y4,x5,y5); GetMem(pp,SizeC); GetImage(x4,y4,x5,y5,pp^); repeat begin PutImage(x4,y4,pp^,XorPut); begin x4:=x4+random(10); y4:=y4+random(50); PutImage(x4,y4,pp^,XorPut); end; delay(20000); {pauza} if y4>=GetMaxY then begin y4:=0; PutImage(x4,y4,pp^,XorPut); end; if x4>=GetMaxX then begin x4:=random(500); PutImage(x4,y4,pp^,XorPut); end; end; until keypressed; FreeMem(pp,SizeC); End; procedure platform(x1,y1,x2,y2:integer); Begin x1:=GetMaxX div 2; y1:=GetMaxY-50; x2:=(GetMaxX div 2)+70; y2:=(GetMaxY-50)+20; SetColor(blue); SetFillStyle(1,blue); rectangle(x1,y1,x2,y2); End; procedure dvigenie_platformi; Const ChValid:set of char=[#27,#077,#075]; Begin x1:=GetMaxX div 2; y1:=GetMaxY-50; x2:=(GetMaxX div 2)+70; y2:=(GetMaxY-50)+20; SizeP:=ImageSize(x1,y1,x2,y2); GetMem(p,SizeP); {dvigenie myacha} GetImage(x1,y1,x2,y2,p^); repeat repeat key:=readkey until key in ChValid; case key of #077: begin PutImage(x1,y1,p^,XorPut); begin x1:=x1+20; PutImage(x1,y1,p^,XorPut); end; delay(30000); {pauza} if x1>GetMaxX then begin x1:=0; PutImage(x1,y1,p^,XorPut); end; end; #075: begin PutImage(x1,y1,p^,XorPut); begin x1:=x1-20; PutImage(x1,y1,p^,XorPut); end; delay(30000); {pauza} if x1<0 then begin x1:=GetMaxX; PutImage(x1,y1,p^,XorPut); end; end; end; until key=#27; FreeMem(p,SizeP); End; BEGIN clrscr; {naxodim modul Graph} Driver:=Detect; InitGraph(Driver,Mode,'C:\pascal\pascal\minimal'); if GraphResult<>0 then begin writeln('!!!ne udalos nayti modul graph!!!'); exit; end else SetbkColor(green); OutTextXY(260,20,'IGRA'); charik(x3,y3,R); platform(x1,y1,x2,y2); dvigenie_platformi; dvigenie_charika; CloseGraph; END.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 10 марта 2007 10:21 | IP
|
|
Speedy
Удален
|
Ну чего, никто не знает как задать движение???
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 11 марта 2007 11:57 | IP
|
|
KMA
Долгожитель
|
Speedy, у меня вопрос, а шариком ты по смыслу должен управлять или нет? Самый простой вариант, это запихай свое движение шарика в процедуру движения платформы, а то так у тебя получается, что выполняется вначале движение платформы, а потом шарика.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 11 марта 2007 18:25 | IP
|
|
Speedy
Удален
|
Нет шарик должен двигаться самостоятельно. И я уже пробовал запихивать движение шарика в процедуру движение платформы, но чего-то не получается
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 11 марта 2007 19:44 | IP
|
|
pivovar
Новичок
|
Помогите пожалуйста! Вводится текст, мне надо преобразовать заглавную гласную букву русского алфавита в малую. Как это правильно написать на Pascale. Я вот что хочу, допустим s='Ананас' после мреобразования чтобы стало s='ананас'
|
Всего сообщений: 10 | Присоединился: декабрь 2006 | Отправлено: 12 марта 2007 19:45 | IP
|
|
KMA
Долгожитель
|
Вводится текст, мне надо преобразовать заглавную гласную букву русского алфавита в малую. Как это правильно написать на Pascale.
Это делается так: if ord (s[1])<144 then s[1]:=chr (ord(s[1])+32) else s[1]:=chr (ord(s[1])+80); Это для первого символа, соответственно для Ё и ё работать не будет, но если очень надо могу написать. Я использовал ASCII таблицу символов, соответственно функции ord и chr возвращает номер заданного символа, вторая же возвращает символ по заданному номеру.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 12 марта 2007 23:22 | IP
|
|
|