quinta-feira, 3 de junho de 2010




Universidade Federal de Minas Gerais
Instituto de Ciências Exatas – ICEx
Hermano Félix Martins

program ovonovohermano;
var
t: integer;
l: real;
nome: string;

{desenho do ovo do tamanho desejado}
procedure ovo(l: real);
begin
esplapis(3);
pdireita(180);
for t:=1 to 180 do
begin
pdireita(-1);
pfrente(l);
end;

for t:=1 to 15 do
Begin
pdireita(-4);
pfrente(l*6);
end;

for t:=1 to 60 do
Begin
pdireita(-1);
pfrente(l/2);
end;

for t:=1 to 15 do
Begin
pdireita(-4);
pfrente(l*6);
end;
esplapis(1);
end;

{desenha estrela}
procedure estrela(l: real; angulo, arestas :integer);
var i : integer;
begin
for i := 1 to arestas do
begin
pfrente(l);
pdireita(angulo);
end;
end;

{desenho da figura triangulo}
procedure triangulo(l: real);
var i: integer;
begin
for t:=1 to 3 do
begin
pfrente(l*50);
pdireita(-120);
end
end;

{desenho da letra 'V'}
procedure V;
begin
esplapis(3);
pdireita(160);
pfrente(l*22);
pdireita(-135);
pfrente(l*22);
esplapis(1);
end;


{desenho da letra 'N'}
procedure N;
begin
esplapis(3);
pfrente(l*22);
pdireita(160);
pfrente(l*22);
pdireita(-160);
pfrente(l*22);
esplapis(1);
end;


{Desenha ovo novo na tela}
procedure ovonovo;
begin
ovo(l/6); {desenho da letra 'O'}
mudepos(l*(-60),l*42);
V; {desenho da letra 'V'}
mudepos(l*(-40),l*30);
mudedirecao(0);
ovo(l/6);{desenho da letra 'O'}
mudepos(l*(-80),l*(-20));
N; {desenho da letra 'N'}
mudepos(l*(-70),l*(-10));
ovo(l/6);{desenho da letra 'O'}
mudepos(l*(-50),l*2);
V; {desenho da letra 'V'}
mudepos(l*(-30),l*(-10));
mudedirecao(0);
ovo(l/6);{desenho da letra 'O'}
end;

{posicionando robo para desenha a figura}
procedure posicao;
begin
un;
pdireita(-120);
pfrente(l+(l*35));
pdireita(30);
ul;
end;

{programa principal}

begin
clrscr;
ul;

writeln('digite um tamanho para ovo 1 a 3');
readln(l);

{desenho do 1º ovo maior}
mudepos(l*(-105),l);
ovo(l);

{desenha ovo novo dentro do ovo maior}
mudepos(l*(-80),l*30);
ovonovo;


{desenho 2º ovo com tamanho menor}
mudepos(l,l*80);
l:= l/2;
ovo(l);

{Desenha estrela 5 pontas}
posicao;
estrela(l*50,144,5);


{desenho 3º ovo com tamanho menor}
mudepos(l*3*(30),l*3);
ovo(l);
posicao;
{Desenha estrala de nove pontas}
estrela(l*50,160,9);

{posicionando robo para escrever o 4º ovo}
mudepos(l*3*(-90),l*3*60);
mudedirecao(0);
ovo(l);
posicao;
triangulo(l);

{posicionando robo para escrever o 5º ovo}
mudepos(l*3*(50),l*3*50);
mudedirecao(0);
ovo(l);
{escreve o nome}
un;
pdireita(-110);
pfrente(l+(l*20));
pdireita(20);
ul;
writeln('digite o nome desejado para escrever no ovo');
readln(nome);
rotule(nome);

dr;

end.


A maior dificuldade encontrada foi o tempo gasto para fazer o programa ovonovo, aproximadamente 10 horas.

Nenhum comentário:

Postar um comentário