Beruflich Dokumente
Kultur Dokumente
A maioria das pessoas que querem aprender a programar comeam de maneira errada. Arrumam um compilador ou ambiente de programao e j vo metendo a mo na massa. Esta a maneira mais frustrante de aprender a programar. Logo, logo estas pessoas vo esbarrar em obstculos que s sero transpostos com a anlise cuidadosa do problema e com a construo de um algoritmo. A lgica de programao e a construo de algoritmos so conhecimentos fundamentais para programar. Construdo o algoritmo, voc pode, ento, codificar seu programa em qualquer linguagem.
Isto verdade. E baseado nisto que voc deve assimilar as regras bsicas da construo de algoritmos e cair em campo para fazer os exerccios. No olhe as respostas antes. Queime os neurnios e tente at a cabea doer. No final confira com as respostas. Porm, lembro que muitas vezes um problema pode ser resolvido de vrias maneiras. A soluo mostrada aqui apenas uma delas. Caso voc j conhea alguma linguagem de programao, interessante codificar suas solues.
O que um algoritmo
Basicamente, um algoritmo um conjunto de passos a serem seguidos para a resoluo de um problema. Digamos que voc quer que o seu programa calcule a mdia aritmtica entre quatro notas. Para resolver este problema voc poderia dar as seguintes ordens ao computador: 1. 2. 3. Receba as quatro notas do usurio; Calcule a soma destas quatro notas; Divida o resultado desta soma por quatro.
Simples no ??? Porm existem algumas regras e convenes que facilitam a nossa vida e nos ajudam a resolver problemas mais complexos. Sentimos dificuldade em organizar nossos pensamentos e fazer o algoritmo. Para melhorar isso devemos treinar, fazer muitos algoritmos e com o passar do tempo ficaremos com o raciocnio bem flexvel. Aps feito o algoritmo voc pode codificar seu programa em qualquer linguagem, observando, lgico, as possibilidades e limitaes da linguagem. Existem vrias formas de representar um algoritmo. Aqui utilizarei uma representao em forma de texto. Creio que esta representao facilita na hora da codificao devido a semelhana entre ela e a sintaxe das diversas linguagens.
Tipos de dados
Basicamente existem quatro de tipos de dados. So eles: inteiro, real, caracter e lgico.
Inteiro representa todo e qualquer nmero que pertena ao conjunto dos nmeros inteiros. Na prtica
so os nmeros positivos e negativos sem partes decimais. Exemplos: 2; -4; 145; -354.
Real representa todo e qualquer nmero que pertena ao conjunto dos nmeros reais. Na prtica so os
nmeros positivos e negativos que tem parte decimal. Exemplos: 3,545; -2,6; 0,157.
Constantes e variveis
Constante, como o nome indica, um dado que no sofre nenhuma variao durante todo o algoritmo.
As constantes do tipo caracter sempre devem ser colocadas entre aspas ( " ). Exemplo: "Isto uma constante caracter".
Convencionaremos que constantes do tipo lgico podero assumir um dos seguintes valores: verdadeiro (V), ou falso(F).
Varivel, como o nome indica, um dado que tem a possibilidade de variar, ou seja, ter seu valor
alterado durante a execuo do algoritmo. As variveis do tipo caracter sempre devem ser colocadas entre aspas ( " ). Exemplo: "Isto uma varivel caracter". Convencionaremos que variveis do tipo lgico podero assumir um dos seguintes valores: verdadeiro (V), ou falso(F).
Exemplos: 1. Nomes vlidos: delta, X, BC4R, K7, notas, media, ABC, PI, ICMS. 2. Nomes invlidos: 5X, E(13), A:B, X-Y, Nota/2, AWq*, P&AA Como regra de estilo eu costumo no utilizar acentuao, usar apenas letras maisculas para nomear as constantes e apenas letras minsculas para nomear as variveis. Mas, como gosto no se discute, fique livre para adotar estas regras ou no.
Declarao de variveis
As variveis devem ser declaradas antes do seu uso no algoritmo. Declarar uma varivel definir seu tipo e seu nome. Para a declarao de variveis usaremos a seguinte sintaxe:
real: PI, preco; lgico: resposta, opcao; A declarao das variveis deve estar no incio do algoritmo. Duas variveis no devem ter o mesmo nome.
Operadores aritmticos
Operadores aritmticos so os sinais que representam as operaes bsicas da matemtica.
FUNO Adio Subtrao Multiplicao Diviso Resto da diviso Potenciao. Significa x elevado a y Raiz quadrada de x
Prioridade das operaes: 1. Parnteses mais internos 2. pot, raiz 3. *, /, % 4. +, Dentro da mesma prioridade as operaes so executadas da esquerda para a direita. Para alterar a prioridade utilize parnteses.
Operadores relacionais
Operadores relacionais so sinais utilizados para realizar comparaes entre dois valores de mesmo tipo.
FUNO igual a maior que menor que maior ou igual a menor ou igual a diferente de
O resultado obtido sempre ser um valor lgico. Por exemplo, analisando a operao a + b = c, o resultado ser verdadeiro se o valor da expresso aritmtica a + b for igual ao contedo da varivel c. Caso o resultado da expresso a + b seja diferente de c o resultado ser falso. Exemplos:
a) 2 * 4 = 24 /3 resultado V, pois 2 * 4 = 8 e 24 / 3 = 8;
Operadores lgicos
Os operadores lgicos so sinais usados para montar operaes relacionais compostas. So eles: no, e e ou Exemplo: (notafinal >= 7,0) e (prestacao = V)
O resultado da operao acima ser V se a varivel "notafinal" for maior ou igual a 7,0 e a varivel lgica "prestacao" for igual a V. Prioridade de execuo entre os operadores lgicos
1. no 2. e, ou
Comando de atribuio
Este comando atribui um valor a uma constante ou varivel. O valor deve ser compatvel com o tipo de dado da constante ou varivel, ou seja, para uma constante ou varivel inteira deve ser atribudo um valor inteiro; para uma constante ou varivel real deve ser atribudo um valor real; o mesmo ocorrendo com o tipo caracter e o lgico. Sintaxe: VARIVEL <== VALOR;
Inserindo comentrios
A fim de dar ao seu algoritmo um entendimento melhor por parte de outros leitores, ou at para voc mesmo, voc deve sempre coment-lo. Para inserir um comentrio utilizaremos os comando /* (barra e asterisco) e */(asterisco e barra). O que vier escrito entre estes dois comandos deve ser interpretado como comentrio e no haver ao alguma por parte do programa. Exemplo: preco precobruto + IMPOSTO;
Blocos de instrues
Um bloco de instrues um conjunto de comandos com uma funo definida. O algoritmo formado de um ou mais blocos de instrues. O bloco de instrues tambm define os limites para o conhecimento de constantes e variveis. Uma constante ou varivel definida em um bloco s ser conhecida dentro deste. Para delimitar um bloco utilizamos os comandos incio e fim. Exemplo:
incio
inteiro: nota1, nota2; /* declarao das variveis * / imprimir ("Entre com a primeira nota :"); ler (nota1); imprimir ("Entre com a segunda nota :"); ler (nota2); imprimir ("A soma das duas notas ", (nota1+nota2));
fim
incio
/* declarao das constantes e variveis*/ inteiro: var1, var2; real: var3; caracter: nome; /* comandos */ comando 1; comando 2; comando 3; .......... .......... .......... comando n;
fim
Observe que os comandos delimitados por incio e fim esto avanados de dois espaos. Isto ser muito utilizado pois facilita o entendimento do algoritmo.
Primeiros algoritmos
Abaixo seguem trs algoritmos. Como voc est iniciando ( o que suponho) analise-os com cuidado para entender a coisa. Mdia aritmtica entre quatro notas
incio /* Declarao das variveis */ real: nota1, nota2, nota3, nota4, soma, media;
/* Comandos * / /* Entrada de dados */ imprimir ("Entre com a primeira nota :"); ler (nota1); imprimir ("Entre com a segunda nota :"); ler (nota2); imprimir ("Entre com a terceira nota :"); ler (nota3); imprimir ("Entre com a quarta nota :"); ler (nota4); /* Processamento */ soma <== (nota1 + nota2 + nota3 + nota4 ); media <== soma / 4 ; /* Sada de dados */ imprimir ("A mdia aritmtica ", media); fim Observe o uso dos comentrios para tornar o algoritmo mais legvel. Clculo da rea de um quadrado incio real: lado, area; imprimir ("Entre com a medida do lado do quadrado :"); ler (lado); area <== lado * lado; imprimir ("A rea do quadrado ", area); fim Clculo de juros incio real: preco, taxa, juros, total; imprimir ("Entre com o preo :"); ler (preco);
imprimir ("Qual a taxa de juros (%)?"); ler (taxa); juros <== preco * (taxa / 100); total <== preco + juros; imprimir ("O total a pagar ", total); fim
Desvio condicional
A estrutura de desvio condicional deve ser utilizada quando nos deparamos com a seguinte situao: 1. 2. 3. Sua sintaxe : Queremos que uma condio seja analisada; Caso esta condio seja verdadeira, um comando ser executado; Caso esta condio seja falsa, outro comando ser executado.
se CONDIO
COMANDO1;
seno
COMANDO2;
fimse;
Se CONDIO for verdadeira, COMANDO1 ser executado. Se CONDIO for falsa, COMANDO2 ser executado. Tanto COMANDO1 como COMANDO2 podem constituir um bloco de instrues. Quando isso acontecer voc deve delimitar o bloco com os comandos "incio" e "fim".
Voc pode aninhar mais de uma estrutura "se" e analisar mais de uma condio:
se CONDIO1
COMANDO1;
seno se CONDIO2
COMANDO2;
seno
COMANDO3;
fimse;
Cuidado quando usar isto para no deixar o algoritmo ruim de compreender. s vezes, escolhendo outro tipo de estrutura conseguimos o mesmo efeito com um algoritmo mais legvel.
Exemplo demonstrativo: algoritmo que recebe a idade do usurio e verifica se o mesmo tem mais de 21 anos: incio inteiro: idade;
se (idade >=21) imprimir ("Voc de maior !!!"); seno imprimir ("Voc de menor !!!"); fimse; fim
Mltipla escolha
Esta estrutura analisa o valor de uma varivel e, de acordo com este valor, executa determinado comando. Sua sintaxe :
escolha VARIVEL caso VALOR1: COMANDO1; caso VALOR2: COMANDO2; caso VALOR3: COMANDO3; .............................................. caso contrrio: COMANDO4; fimescolha;
Na sintaxe acima, caso o valor de VARIVEL seja igual a VALOR1, COMANDO1 ser executado. Caso seja igual a VALOR2, COMANDO2 ser executado, e assim por diante. Se VARIVEL no coincidir com nenhum valor, o COMANDO4 ser executado.
Como na estrutura de desvio condicional, os COMANDOS podem constituir blocos com mais de um comando. Quando isso acontecer, no esquea de delimitar o bloco. Exemplo demonstrativo: Este algoritmo exibe um menu de formas de pagamento, analisa qual foi a forma escolhida e exibe uma mensagem relativa ao desconto. incio inteiro: opcao; imprimir ("Forma de pagamento"); imprimir ("-------------------------------------"); imprimir ("1. A vista em dinheiro."); imprimir ("2. Cheque para trinta dias."); imprimir ("3. Em duas vezes."); imprimir ("4. Em trs vezes."); imprimir ("5. Em quatro vezes."); imprimir ("6. A partir de cinco vezes."); imprimir ("--------------------------------------"); imprimir ("Entre com sua opo :"); ler (opcao); escolha opcao: caso 1: imprimir ("Desconto de 20%."); caso 2: imprimir ("Preo de a vista."); caso 3: imprimir ("Preo de a vista."); caso 4: imprimir ("Preo de a vista."); caso 5: imprimir ("Juros de 5%."); caso 6: incio imprimir ("Juros de 3% ao ms"); imprimir ("Sujeito a mudana de acordo a financeira."; fim; caso contrrio: imprimir ("Opo invlida !!!"); fimescolha; fim
Esta estrutura permite repetir um trecho de algoritmo diversas vezes. O fluxo de execuo controlado por um teste feito antes da execuo:
fimenquanto;
Quando CONDIO for falso os COMANDOS sero abandonados e o algoritmo passar para o prximo comando aps o "fimenquanto". Se j da primeira vez o resultado falso, os COMANDOS no so executados nenhuma vez, o que representa a caracterstica principal desse modelo de repetio. Exemplo demonstrativo: algoritmo que calcula a mdia aritmtica de uma quantidade indeterminada de nmeros. incio inteiro: contador; /*contar quantos nmeros so passados para o programa*/ real: acumulador; /*acumular a soma dos nmeros passados*/ real: media; /*armazenar o resultado da mdia aritmtica*/ real: numero;/*armazenar os nmeros e controlar o encerramento do programa*/ /*Inicializao das variveis. uma boa regra de estilo sempre inicializar (atribuir algum valor) as variveis antes de us-las. Algumas linguagens exigem isso.*/ contador <== 1; acumulador <== 0; media <== 0; numero <== 0; enquanto (numero >= 0) faa imprimir ("Entre com um nmero (-1 para encerrar) :"); ler (numero); se (numero >=0) /*s computa o nmero se este for maior ou igual a zero*/ acumulador <== acumulador + numero; contador <== contador + 1; fimse; fimenquanto;
media <== acumulador / contador; imprimir ("A mdia aritmtica ", media); fim
faa
COMANDO1; COMANDO2; ........................... ........................... ........................... COMANDOn;
enquanto CONDIO;
Observe que os COMANDOS so executados pelo menos uma vez, independente da CONDIO. Isto acontece porque a condio avaliada aps a execuo dos comandos, o que representa a caracterstica principal desta estrutura. Exemplo demonstrativo: algoritmo que calcula a mdia aritmtica de uma quantidade indeterminada de nmeros. incio inteiro: contador; /*contar quantos nmeros so passados para o programa*/ real: acumulador; /*acumular a soma dos nmeros passados*/ real: media; /*armazenar o resultado da mdia aritmtica*/ real: numero;/*armazenar os nmeros e controlar o encerramento do programa*/ /*Inicializao das variveis. uma boa regra de estilo sempre inicializar (atribuir algum valor) as variveis antes de us-las. Algumas linguagens exigem isso.*/ contador <== 1; acumulador <== 0; media <== 0; numero <== 0;
faa imprimir ("Entre com um nmero (-1 para encerrar) :"); ler (numero); se (numero >=0) /*s computa o nmero se este for maior ou igual a zero*/ acumulador <== acumulador + numero; contador <== contador + 1; fimse; enquanto (numero >= 0); media <== acumulador / contador; imprimir ("A mdia aritmtica ", media); fim
Repetio controlada
Esta estrutura permite repetir um trecho de algoritmo um nmero especfico de vezes. Sua sintaxe :
fimpara;
onde:
"contador" a varivel de controle; "inicio" o valor inicial de "contador"; "fim" o valor final de "contador"; "nr" o valor segundo o qual "contador" ser incrementado a cada execuo.
Exemplo demonstrativo: algoritmo que imprime os nmeros at 500 incio inteiro: contador para contador de 1 at 500 incremento 1 faa
Exerccios
1. 2. 3. Construa um algoritmo que receba a idade do usurio e verifique se ele tem mais de 21 anos. Construa um algoritmo que receba trs nmeros inteiros e verifique qual o maior. Construa um algoritmo que calcule o peso ideal de uma pessoa. Dados de entrada: altura e sexo. Frmulas para clculo do peso: peso ideal de homem = (72,7 x altura) - 58 peso ideal da mulher = (62,1 x altura) - 44,7 4. Construa um algoritmo que receba o cdigo de um produto e o classifique de acordo com a tabela abaixo: CDIGO CLASSIFICAO 1 2a4 5e6 7 8 a 15 Alimento no-perecvel Alimento perecvel Vesturio Higiene pessoal Limpeza e utenslios domsticos
Qualquer outro cdigo Invlido 5. Construa um algoritmo que leia uma quantidade indeterminada de nmeros inteiros positivos e identifique qual foi o maior nmero digitado. O final da srie de nmeros digitada deve ser indicada pela entrada de -1. 6. 7. 8. Construa um algoritmo que leia trs valores inteiros e os imprima em ordem cresecente. Construa um algoritmo que receba um nmero inteiro e verifique se o mesmo primo. Dada a frmula: H = 1 + !/2 + 1/3 + 1/4 + ..... + 1/N . Construa um algoritmo que calcule o nmero H, dado o nmero inteiro N. 9. Construa um algoritmo que calcule o fatorial de um nmero N inteiro e positivo (N!). Saiba que: N! = 1 x 2 x 3 .... x (N -1) x N 0! = 1
10. A srie de Fibonacci formada pela seguinte sequncia: 1,1,2,3,5,8,13,21,34,55.... Construa um algoritmo que gere a srie de Fibonacci at o vigsimo termo. 11. Construa um algoritmo que leia cinco nmeros inteiros e identifique o maior e o menor. 12. Construa um algoritmo que imprima a tabela de equivalncia de graus Fahrenheit para centgrados. Os limites so de 50 a 70 graus Fahrenheit com intervalo de 1 grau. Frmula: C = 5/9 (F -32) 13. Uma rainha requisitou os servios de um monge, o qual exigiu o pagamento em gros de trigo da seguinte maneira: os gros de trigo seriam dispostos em um tabuleiro de xadrez, de tal forma que a primeira casa do tabuleiro tivesse um gro, e as casas seguintes o dobro da anterior. Construa um algoritmo que calcule quantos gros de trigo a Rainha dever pagar ao monge. 14. Construa um algoritmo que apure uma eleio com trs candidatos. O algoritmo deve realizar as seguintes tarefas: - Calcular o total de votos para cada candidato; - Calcular a quantidade de votos nulos; - Calcular a quantidade de votos em branco; - Calcular o percentual de votos em branco e nulos em relao ao total. - A votao deve obedecer as seguintes convenes: 1,2,3 => votos dos candidatos 4 => votos em branco 5 => votos nulos 0 => encerramento da apurao 15. Jos tem 1,50 m e cresce 2 centmetros por ano. Pedro tem 1,10 m e cresce 3 centmetros por ano. Construa um algoritmo que calcule em quantos anos Pedro ser maior que Jos.
fim
2.
incio inteiro nr1, nr2, n3; imprimir("Entre com o primeiro nmero :"); ler(nr1); imprimir("Entre com o segundo nmero :"); ler(nr2); imprimir("Entre com o terceiro nmero :"); ler(nr3); se(nr1 > nr2) se(nr2 > nr3) imprimir("O ", nr1, " o maior."); seno se(nr1 > nr3) imprimir("O", nr1, " o maior."); seno imprimir("O", nr3, " o maior."); fimse; seno se(nr2 > nr3) imprimir("O", nr2, " o maior."); seno imprimir("O", nr3, " o maior."); fimse; fim
3.
incio inteiro: sexo; real: peso, altura; imprimir("Sexo (1. Homem 2. Mulher) :"); ler(sexo); se((sexo<1) ou (sexo>2)) /* analisa se escolha de sexo vlida */ imprimir("Opo de sexo invlida !!!"); seno incio imprimir("Qual sua altura ?"); ler(altura); se (sexo = 1) /* usurio homem */
peso <== (72,7 * altura) -58; seno /* usurio mulher */ peso <== (62,1 * altura) - 44,7; fimse; imprimir("Seu peso ideal ", peso); fim; fimse; fim
4.
incio inteiro: cod; imprimir("Cdigo do Produto :"); ler(cod); escolha cod caso 1: escreva ("Alimento no perecvel."); caso 2,3,4: escreva ("Alimento perecvel."); caso 5,6: escreva ("Vesturio"); caso 7: escreva ("Higiene pessoal"); caso 8,9,10,11,12,13,14,15; escreva ("Limpeza e utenslios domsticos."); caso contrrio: escreva ("Opo invlida."); fimescolha; fim
5.
incio inteiro: nr, maior; maior <== 0; faa imprimir("Entre com um nmero inteiro positivo (-1 para terminar) :"); ler(nr); se(nr > maior ) maior <== nr; fimse; enquanto(nr >= 0); imprimir("O maior ", maior); fim
6.
incio
int nr1,nr2,nr3; imprimir("Entre com o primeiro nmero :"); ler(nr1); imprimir("Entre com o segundo nmero :"); ler(nr2); imprimir("Entre com o terceiro nmero :"); ler(nr3); se(nr1 > n2) se(nr1 > nr3) se(nr2 > nr3) imprimir("Nmeros em ordem crescente :",nr3,nr2,nr1); seno imprimir("Nmeros em ordem crescente :",nr2,nr3,n1); fimse; seno imprimir("Nmeros em ordem crescente :",nr2,nr1,nr3; fimse; seno se(nr1 > nr3) imprimir("Nmeros em ordem crescente :",nr3,nr1,n2); seno se(nr2 > nr3) imprimir("Nmeros em ordem crescente :",nr1,nr3,n2); seno imprimir("Nmeros em ordem crescente :",nr1,nr2,n3); fimse; fim
7.
incio int numero,contador,resto,indicador; indicador <== 0; /* varivel que indicar se o nmero primo ou no */ /* caso ela seja igual a 0 (zero) o nmero ser primo */ imprimir("Entre com o nmero :"); ler(numero); para contador de 2 at (numero-1) incremento 1 faa incio resto = numero % contador; se(resto == 0) indicador <== 1; fimse; fimpara;
se(numero == 2) imprimir("O nmero 2 no primo."); /* Analisa se "numero" 2 pois, caso isto acontea, o lao "para" */ /* no executado e "indicador" ter valor 0(zero), indicando, */ / * assim, que 2 primo. O que no verdade. */ seno se(indicador == 0) /* Analise da varivel "indicador" */ imprimir("O nmero ", numero, " primo."); seno imprimir("O nmero ", numero, " no primo."); fimse; fim
8.
incio real: h,n,contador; h <== 0; imprimir("H = 1 + + 1/3 + + ... + 1/N"); imprimir("Entre com o valor de N :"); ler(n); para contador de 1 at n incremento 1 faa h = h + 1/contador; fimpara; imprimir("H = ", h); fim
9.
incio inteiro: nr,contador,fatorial; fatorial <== 1; imprimir("Entre com o nmero :"); ler(nr); para contador de 1 at nr incremento 1 faa fatorial <== fatorial * contador; fimpara; se (nr == 0) imprimir("Fatorial de ", nr, " = ", 1); seno imprimir("Fatorial de ", nr, " = ", fatorial); fimse; fim
10. incio inteiro: termo, termo_anterior1,termo_anterior2, contador; imprimir("1, "); termo_anterior1 <== 1; termo_anterior2 <== 0; para contador de 2 at 20 incremento 1 faa termo <== termo_anterior1 + termo_anterior2; imprimir("termo, "); termo_anterior2 <== termo_anterior1; termo_anterior1 <== termo; fimpara; fim
11
inicio inteiro: nr, maior,menor,contador; imprimir("Entre com o 1o nmero :"); ler(nr); maior <== nr; menor <== nr; para contador de 2 at 5 incremento 1 faa imprimir("Entre com o ", contador, "o nmero :"); ler(nr); se(nr > maior) maior <== nr; fimse; se(nr < menor) menor <== nr; fimse; fimpara; imprimir("O maior ", maior."); imprimir("O menor ", menor."); fim
12
13
incio int casa,casa_ant,contador,total; casa <== 1; casa_ant <== 1; total <== 1; para contador de 2 at 64 incremento 1 faa casa <== casa_ant * 2; total <== total + casa; casa_ant <== casa; casa <== total; fimpara; printf("A rainha pagar ", total, " gros de trigo ao monge."); fim
14. incio inteiro: a,b,c,branco,nulo,total,voto; real: percent_branco,percent_nulo; a <== 0; /* votos do candidato 1 */ b <== 0; /* votos do candidato 2 */ c <== 0; /* votos do candidato 3 */ branco <== 0; nulo <== 0; total <== 0; imprimir("Entre com seu voto :"); ler(voto): enquanto (voto <> 0) faa total <== total + 1; escolha voto caso 1: a <== a + 1; caso 2: b <== b + 1; caso 3: c <== c + 1;
caso 4: branco <== branco + 1; caso 5: nulo <== nulo + 1; fimescolha; imprimir("Entre com seu voto :"); ler(voto); fimenquanto; percent_branco <== (branco * 100)/total; percent_nulo <== (nulo * 100)/total; imprimir("Total de votos => ",total); imprimir("Candidato 1 => ",a, " votos."); imprimir("Candidato 2 => ",b, " votos."); imprimir("Candidato 3 => ",c, " votos."); imprimir("Votos em branco => ", branco, " votos ( ", percent_branco, " % )."); imprimir("Votos nulos => ", nulo, " votos ( ", percent_nulo, " % )."); fim
15. incio inteiro: jose,pedro,anos; jose <== 150; pedro <== 110; para anos de 1 at (pedro > jose) incremento 1 faa jose <== jose + 2; pedro <== pedro + 3; fimpara; imprimir("Levaro ", anos, "anos para Pedro ser maior que Jos."); fim