programa testefinal; {ERRO procedimento duplicado} var opcao,x,y:inteiro; procedimento numeros; var x,y,total: inteiro; procedimento numeros; {ERRO procedimento duplicado} var media: inteiro; inicio media:=(x+y)div 2; escreva(media) fim; inicio leia(x); leia(y); total:= x+y; escreva(total); {soma dos numeros lidos} media {Calcula a media aritmetica dos numeros lidos} fim; procedimento p; {calcula fatorial de um numero lido} var z: inteiro; inicio z:= x; x:=x-1; se z>1 entao p {recursivo} senao y:=1; y:=y*z fim { p }; inicio leia(opcao); se opcao = 1 entao numeros senao inicio leia(x); p; escreva(y) fim fim. ----------------------------------------------- programa testefinal; {ERRO procedimento duplicado} var opcao,x,y:inteiro; procedimento numeros; var x,y,total: inteiro; procedimento numero; var media: inteiro; inicio media:=(x+y)div 2; escreva(media) fim; inicio leia(x); leia(y); total:= x+y; escreva(total); {soma dos numeros lidos} numero {Calcula a media aritmetica dos numeros lidos} fim; procedimento numeros; {ERRO procedimento duplicado} {calcula fatouial de um numero lido} var z: inteiro; inicio z:= x; x:=x-1; se z>1 entao p {recursivo} senao y:=1; y:=y*z fim { p }; inicio leia(opcao); se opcao = 1 entao numeros senao inicio leia(x); p; escreva(y) fim fim. ----------------------------------------------------- programa testefinal; {ERRO - variavel duplicada} var opcao,x,y:inteiro; procedimento numeros; var x,y,total: inteiro; x:inteiro; {ERRO - variavel duplicada} procedimento dobro; var media: inteiro; inicio media:=(x+y)*2; escreva(media) fim; inicio leia(x); leia(y); total:= x+y; escreva(total); {soma dos numeros lidos} dobro {Calcula a media aritmetica dos numeros lidos} fim; procedimento p; {calcula fatorial de um numero lido} var z: inteiro; x:booleano; inicio z:= x; x:=x-1; se z>1 entao p {recursivo} senao y:=1; y:=y*z fim { p }; inicio leia(opcao); se opcao = 1 entao numeros senao inicio leia(x); p; escreva(y) fim fim. ---------------------------------------------- programa testefinal; {ERRO - variavel nao declarada} var opcao,x,y:inteiro; procedimento numeros; var x,y: inteiro; procedimento dobro; var media,total: inteiro; inicio media:=(x+y)*2; escreva(media) fim; inicio leia(x); leia(y); total:= x+y; escreva(total); {ERRO - variavel nao declarada} dobro {Calcula a media aritmetica dos numeros lidos} fim; procedimento p; {calcula fatorial de um numero lido} var z1: inteiro; inicio z:= x; x:=x-1; se z>1 entao p {recursivo} senao y:=1; y:=y*z fim { p }; inicio leia(opcao); se opcao = 1 entao numeros senao inicio leia(x); p; escreva(y) fim fim. ----------------------------------------------------- (* testar operadores unários - OK - se (-a-b <=10) escreve 1o valor senão escreve 2o digitar 2 e 3 escrevera 2 digitar -100 e 10 dará 10*) program teste; var a,b: inteiro; x, y: booleano; inicio leia (a); leia(b); x:= verdadeiro; se ((-a-b) <= 10) e (x) então y:= x senão y:= falso; se y entao escreva (a) senao escreva(b) fim. ------------------------------------------------------ (* teste procedimentos e funcoes aninhados recursivos OK escreva as sucessivas somas de tras para frente 1 2 3 1 4 5 10 (FIM) saida 9 5 5 *) programa test; var a,b: inteiro; function soma: inteiro; var c,a: inteiro; procedimento ler; inicio leia (c); leia (a); escreva (soma); fim; procedimento loop; var x: inteiro; inicio leia (x); {para parar digite um valor maior que 9 } se x < 10 então ler; fim; inicio loop; soma:= c+a; fim; inicio escreva(soma) fim. ----------------------------------------------------- programa testefinal; (* Calcula a media ou fatorial - OK *) var opcao,x,y:inteiro; procedimento numeros; var x,y,total: inteiro; procedimento media; var edia: inteiro; inicio edia:=(x+y)div 2; se x>y entao escreva(x) senao escreva(y); escreva(edia) fim; inicio leia(x); leia(y); total:= x+y; escreva(total); {soma dos numeros lidos} media {Calcula a media aritmetica dos numeros lidos} fim; procedimento p; {calcula fatouial de um numero lido} var z: inteiro; inicio z:= x; x:=x-1; se z>1 entao p {recursivo} senao y:=1; y:=y*z fim { p }; inicio leia(opcao); se opcao = 1 entao numeros senao inicio leia(x); p; escreva(y) fim fim. ------------------------------------------- programa testefinal; {calcula o dobro ou fatorial - OK} var opcao,x,y:inteiro; procedimento numeros; var x,y,total: inteiro; procedimento dobro; var media: inteiro; inicio media:=(x+y)*2; escreva(media) fim; inicio leia(x); leia(y); total:= x+y; escreva(total); {soma dos numeros lidos} dobro {Calcula o dobro dos numeros lidos} fim; procedimento p; {calcula fatorial de um numero lido} var z: inteiro; inicio z:= x; x:=x-1; se z>1 entao p {recursivo} senao y:=1; y:=y*z fim { p }; inicio leia(opcao); se opcao = 1 entao numeros senao inicio leia(x); p; escreva(y) fim fim. ------------------------------------------