programa teste; (*Teste OK*) var x,a,b,c,z:inteiro; inicio x:=1; a:=2; b:=3; c:=7; z:=1; se (x+a*b)>=((b+c)div z) entao escreva(x) senao escreva(a) fim. ----------------------------------- programa teste; {ERRO inteiros com e logico} var x,a,b,c,z:inteiro; inicio x:=1; a:=2; b:=3; c:=7; z:=1; se (x+a*b)e((b+c)div z) {ERRO inteiros com e} entao escreva(x) senao escreva(a) fim. ------------------------------------------ programa teste; {ERRO - expressão nao booleana} var x,a,b,c,z:inteiro; inicio x:=1; a:=2; b:=3; c:=7; z:=1; se (x+a*b) {ERRO - expressão nao booleana} entao escreva(x) senao escreva(a) fim. --------------------------------------------- programa teste; {ERRO - variavel nao booleana} var x,a,b,c:inteiro; z: booleano; inicio x:=1; a:=2; b:=3; c:=7; se (x+a*b)<=((b+c)div z) {ERRO - variavel nao booleana} entao escreva(x) senao escreva(a) fim. --------------------------------------------- programa teste; {ERRO atribuindo inteiros a booleano} var x,a,b,c,z:booleano; inicio x:=1; {ERRO atribuindo inteiros a booleano} a:=2; b:=3; c:=7; z:=1; se (x+a*b)ou((b+c)div z) {ERRO inteiros e ou} entao escreva(x) senao escreva(a) fim. ---------------------------------------------- programa teste; {ERRO expressão nao booleanoa} var x,a,b,c,z:inteiro; inicio x:=1; a:=2; b:=3; c:=7; z:=1; enquanto (x) {ERRO expressão nao booleanoa} faca inicio escreva(x) fim fim. --------------------------------------------- programa testefinal; {ERRO - variavel duplicada} 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 a media aritmetica dos numeros lidos} fim; procedimento p; {calcula fatorial de um numero lido} var z: inteiro; z:booleano; {ERRO - variavel duplicada} 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: inteiro; inicio media:=(x+y)*2; escreva(media) fim; inicio leia(x); leia(y); total:= x+y; {ERRO variavel nao declarada} escreva(total); {soma dos numeros lidos} dobro {Calcula a media aritmetica dos numeros lidos} fim; procedimento p; {calcula fatouial de um numero lido} var total,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 incompatibilidade de tipos } var opcao,x,y:inteiro; procedimento numeros; var x,y,total: inteiro; procedimento media; var edia: inteiro; {ERRO incompatibilidade de tipos} inicio edia:= verdadeiro; 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 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 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. ------------------------------------------