Help!!!

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Molot
Сообщения: 1
Зарегистрирован: 07 мар 2007, 16:05

Помогите пожалуйсто решить срочно две задачки.

1) На тему "Строковые переменные".

Определить является ли заданный текст зашифрованной телеграммой – т.е. она состоит из слов, каждое из которых представляет набор из пяти символов, каждый из которых является буквой русского алфавита, причем средняя буква в каждом слове имеет четное значение кода.


2) На тему "Процедуры и функции, рекурсии".

Составить программу «Мыльные пузыри» из К окружностей разного диаметра, разного цвета и появляющихся в произвольных местах экрана. Рисование одного мыльного пузыря оформить в виде процедуры, где координаты центра, радиус, цвет – входные параметры.

Зарание большое спасибо!
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

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.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
lACl
Сообщения: 3
Зарегистрирован: 16 янв 2007, 23:02

Могу помоч с программой. Стучись в аську. Вот номер: 367244151
lACl
Сообщения: 3
Зарегистрирован: 16 янв 2007, 23:02

если нужна помощь - стусись в аську, помогу. вот номер: 367244151
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Колядин Максим писал(а):

Код: Выделить всё

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]
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

&quot писал(а):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])));
It's a long way to the top if you wanna rock'n'roll
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Согласен, только тогда length(slovo)=5 надо заключить в скобки, иначе сначала попытается выполниться 5 and not odd
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить