Страница 1 из 1
Help!!!
Добавлено: 07 мар 2007, 16:27
Molot
Помогите пожалуйсто решить срочно две задачки.
1) На тему "Строковые переменные".
Определить является ли заданный текст зашифрованной телеграммой – т.е. она состоит из слов, каждое из которых представляет набор из пяти символов, каждый из которых является буквой русского алфавита, причем средняя буква в каждом слове имеет четное значение кода.
2) На тему "Процедуры и функции, рекурсии".
Составить программу «Мыльные пузыри» из К окружностей разного диаметра, разного цвета и появляющихся в произвольных местах экрана. Рисование одного мыльного пузыря оформить в виде процедуры, где координаты центра, радиус, цвет – входные параметры.
Зарание большое спасибо!
Re: Help!!!
Добавлено: 07 мар 2007, 20:46
Колядин Максим
1. Кратко - времени в обрез: создаёшь цикл по строке, делишь строку на слова, и если
Код: Выделить всё
coded:=false;
....
if length(slovo)=5 then
if (ord(slovo[3]) mod 2 = 0) then coded:=true else coded:=false;
2. Здесь, наверное, на графике. Сразу опишу код:
Код: Выделить всё
uses crt,graph;
var r,c,x,y,k,k2,mx,my: integer; {r-радиус; с - цвет; x,y - координаты центра}
gd,gm: integer;
procedure paint_bubble;
begin
randomize;
x:=random(mx);
y:=random(my);
c:=random(15);
r:=random(50); {например -);}
setcolor(c);
circle(x,y,r);
end;
begin
write('Введите число пузырей: '); readln(k);
k2:=0;
gd:=detect;
initgraph(gm,gd, '');
mx:=getmaxx;
my:=getmaxy;
setbkcolor(15);
while k2<>k do begin
paint_bubble;
inc(k2);
end;
readkey;
closegraph;
end.
Re: Help!!!
Добавлено: 08 мар 2007, 02:23
lACl
Могу помоч с программой. Стучись в аську. Вот номер: 367244151
Re: Help!!!
Добавлено: 09 мар 2007, 00:22
lACl
если нужна помощь - стусись в аську, помогу. вот номер: 367244151
Re: Help!!!
Добавлено: 09 мар 2007, 10:04
Хыиуду
Колядин Максим писал(а):
Код: Выделить всё
coded:=false;
....
if length(slovo)=5 then
if (ord(slovo[3]) mod 2 = 0) then coded:=true else coded:=false;
То же можно и покороче
Код: Выделить всё
if length(slovo)=5 and not odd(ord(slovo[3])) then coded:=true else coded:=false;
Второе тоже можно сократить:
Код: Выделить всё
uses crt,graph;
var k,k2,gd,gm: integer;
procedure paint_bubble;
begin
setcolor(random(15));
circle(random(getmaxx),random(getmaxy),random(50));
end;
begin
randomize;
write('Введите число пузырей: '); readln(k);
gd:=detect;
initgraph(gm,gd, '');
for k2:=1 to k do paint_bubble
readkey;
closegraph;
end.
[/QUOTE]
Re: Help!!!
Добавлено: 09 мар 2007, 10:33
somewhere
" писал(а):if length(slovo)=5 and not odd(ord(slovo[3])) then coded:=true else coded:=false;
можно еще короче
Код: Выделить всё
coded := (length(slovo)=5 and not odd(ord(slovo[3])));
Re: Help!!!
Добавлено: 09 мар 2007, 14:01
Хыиуду
Согласен, только тогда length(slovo)=5 надо заключить в скобки, иначе сначала попытается выполниться 5 and not odd