Buscar

AULA PRÁTICA 3


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Continue navegando


Prévia do material em texto

AULA PRÁTICA 3 01/09/2008
Aluna: Ana Carolina Arantes Araújo Turma: A1
1.1-
Primeira maneira:
program estrela;
var valor, lado, losango: integer;
begin
readln (valor); {na figura, valor=100, que corresponde ao lado do hexágono do contorno} 
 for lado:= 1 to 6 do 
 begin
 pfrente(valor);
 pdireita(60);
 end;
un;
pfrente(valor/2);
pdireita(60);
pfrente(valor/2);
pdireita(60);
pfrente(valor/2);
pesquerda(60);
ul;
 for losango:= 1 to 6 do
 begin
 ptras(valor/2);
 pdireita(120);
 pfrente(valor/2);
 pesquerda(120);
 pfrente(valor/2);
 pesquerda(60);
 pfrente(valor/2);
 end;
dr;	
end.
Segunda maneira:
program hexagonos;
var valor, x: integer; {declaração das variáveis do programa principal}
procedure hexag (valor: integer); {declaração do procedure com argumento}
var lado: integer;
begin
 pdireita(60);
 for lado:= 1 to 6 do
 begin
 pfrente(valor);
 pdireita(60);
 end;
end; {fim do procedure}
begin {início do programa principal}
 readln(valor); {na figura, valor = 50}
 for x:= 1 to 6 do
 begin
 hexag(valor); {chamada do procedure}
 end;
dr;
end. {fim do programa principal}
1.2 -
program poligono;
var valor, lado:integer;
begin
 readln(valor); {na figura, valor = 30}
 for lado:= 1 to 13 do
 begin
 pfrente(valor);
 pdireita(60);
 valor:= 10+valor;
 end;
 dr;
end.
2.0 –
program sequencia; 
var inicio, intervalo:integer; 
procedure seq (inicio, intervalo: integer); 
var x: integer;
begin
 for x:= 1 to 8 do
 begin
 inicio:= inicio + intervalo; {incrementação}
 writeln(inicio); 
 end;
end;
begin
 readln(inicio); {no exemplo, inicio = 2}
 readln(intervalo); {no exemplo, intervalo = 5}
 seq (inicio, intervalo);
end.
 [Rodando... sequencia]
 2
 7
 12
 17
 22
 27
 32
 37
3.0 -
program icha; 
var lado: integer;
procedure espiral (deslocamento: real; vezes: integer);
 begin
 if vezes <= 50
 then begin
 pfrente(deslocamento);
 pdireita(90);
 vezes:= vezes + 1;
 deslocamento:= deslocamento + deslocamento/30;
 espiral(deslocamento, vezes); {recursão}
 end;
end;
begin
 readln (lado); {na figura, lado = 30} 
 espiral(lado, 1);
 dr;
end.
Explicação: O programa icha inicia com a declaração do procedure espiral, que tem como argumentos o deslocamento do robô e o número de vezes que o programa repetirá. Nos comandos, o robô anda para frente o deslocamento e vira para direita 90graus. Em seguida, soma se 1 ás vezes que tais comandos foram executados e soma se 1/30 ao deslocamento anterior, ou seja, o número de vezes aumenta de 1 em 1 e o deslocamento aumenta de 1/30*deslocamento. O último comando do procedure é chamar ele mesmo (por recursão), assim o robô volta a repetir os comandos do procedure. O programa principal inicia se lendo o lado/deslocamento do robô e em seguida chama o subprograma procedure espiral para ser executado.