segunda-feira, 25 de outubro de 2010

Resumindo GAE5

Este guia foi o mais complexo de todos. Tive muita dificuldade para resolvê-lo, já que envolvia uma linguagem de altíssi,o mível. O objetivo era criar desenhar duas bandeiras do Brasil, uma com as cores originais e outra com cores aleatóreas.


Programa Fonte:
program bandeirasilas;

var opcaomenu:integer;   {para armazenar a opcao de bandeira escolhida}
    vermelho:integer;   {para armazenar um valor aleatório da cor vermelho}
    verde:integer;   {pra armazenar o valor aleatorio da cor verde}
    azul:integer;   {para armazenar o valor aleatorio da cor azul}

procedure retangulo(lado1 : real; lado2 : real);
        {procedimento para desenhar um retangulo}
 var i:integer;
   begin
    for i:=1 to 2 do
      begin
      pfrente(lado1);
      pdireita(90);
      pfrente(lado2);
      pdireita(90);
      end;
   end;

procedure angulolosango(dmaior : real;dmenor : real);
        {procedimento para calcular o valor dos angulos do losango}

  var h : real;      {hipotenusa(h) do triangulo retangulo (entre as diagonais do losango)}
      x : real;      {variável par o seno do angulo}
      angulo : real; {angulo de abertura do losango}

  begin
    h:=sqrt(sqr(dmaior) + sqr(dmenor));
    x:=(dmenor/h);
    Angulo:=arcsin(x);
  end;

procedure losango;   {desenha um losango}
  
  var i:integer;
   begin
    angulolosango(173.20,100);
    pesquerda(30);
    pfrente(200);
    pdireita(60);
    pfrente(200);
    pdireita(120);
    pfrente(200);
    pdireita(60);
    pfrente(200);
    pdireita(150);
   end;{losango}
   
procedure circunferencia(raio:real);  {procedimento para desenhar uma circunferencia}
   var i:integer;
     begin
      for i:= 1 to 360 do
     begin
      pfrente(0.017453277*raio);
      pdireita(1);
     end;
   end;{Circunferencia}

procedure Estrelas;   {procedimento para desenhar uma estrela}
   var i:integer;
     begin
    for i:=1 to 5 do
      begin
       pesquerda(360/5);
       pfrente(8);
       pdireita(720/5);
       pfrente(8);                   
      end;
     end;

{****PROGRAMA PRINCIPAL****}

 begin
  repeat   {Usado para definir qual bandeira o programa ira desenhar}
  write('Digite 1 para desenhar a bandeira aleatória ou 2 para a bandeira original');
  readln(opcaomenu);{opcao que sera escolhida(1 ou 2)}
  until(opcaomenu=1) or (opcaomenu=2);{so poderao ser escolhidas as opcoes 1 e 2}
 
  clrscr;
  ul;
  retangulo(300,446);{retangulo}
  un;
 
   if opcaomenu=1
   then begin
    vermelho:=random(255);
    verde:=random(255);
    azul:=random(255);
    mudecorpreenche(vermelho,verde,azul);
   end

   else begin
    mudecorpreenche(0,158,0);
   end;

 pdireita(45);
 pfrente(10);
 pinte;
 pesquerda(45);
 ptras(10);
 pfrente(150);
 pdireita(90);
 pfrente(50);
 ul;

losango;   {losango}
  un;
 
  if opcaomenu=1
  then begin
   vermelho:=random(255);
   verde:=random(255);
   azul:=random(255);
   mudecorpreenche(vermelho,verde,azul);
  end

  else begin
   mudecorpreenche(255,255,0);
  end;

 pfrente(30);
 pinte;
 ptras(30);
 pfrente(112);
 pesquerda(90);
 ul;
   
circunferencia(65);   {Circunferencia}

 un;
  if opcaomenu=1
  then begin
   vermelho:=random(255);
   verde:=random(255);
   azul:=random(255);
   mudecorpreenche(vermelho,verde,azul);
  end
 
  else begin
   mudecorpreenche(0,0,255);
  end;

 pdireita(90);
 pfrente(5);
 pinte;
 pesquerda(90);
 ptras(5);
 pdireita(90);
 pfrente(35);
 ul;

 if opcaomenu=1
 then begin
  vermelho:=random(255);
  verde:=random(255);
  azul:=random(255);
  mudecorlapis(vermelho,verde,azul);
 end

 else begin
   mudecorlapis(255,255,255);
 end;

estrelas;   {Estrelas}
 un;
 if opcaomenu=1
 then begin
  vermelho:=random(255);
  verde:=random(255);
  azul:=random(255);
  mudecorpreenche(vermelho,verde,azul);
 end

 else begin
  mudecorpreenche(255,255,255);
 end;

 pdireita(90);
 pfrente(3);
 pinte;
 ptras(3);
 pfrente(25);
 pesquerda(90);
 pfrente(25);
 pesquerda(90);
 pfrente(30);
 ul;

 estrelas;   {Estrelas}
 un;
 pdireita(90);
 pfrente(3);
 pinte;
 pesquerda(90);
 ptras(3);
 dr;

end.

Nenhum comentário:

Postar um comentário

Obrigado por comentar!!