Вы находитесь на странице: 1из 20

PARTE 1 -- Introduo O que um algoritmo Basicamente, um algoritmo um conjunto de passos a serem seguidos para a resoluo de um problema.

a. 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: 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. Caracter qualquer dado composto por um conjunto de caracteres alfanumricos. Os caracteres alfanumricos so os nmeros, as letras e os caracteres especiais (!,@,#,$,%, etc...). Exemplos: 3d; valor1; nome. Lgico um tipo de dado que s pode assumir dois valores. 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). Nomeando constantes e variveis Para nomear constantes e variveis devemos obedecer as seguintes regras: Os nomes devem comear por um caractere alfabtico; Podem ser constitudos de caracteres alfabticos ou numricos; No devem conter caracteres especiais; No devem ser utilizados nomes reservados da linguagem de programao que se vai usar. 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: TIPO DE DADO: VARIVEL1, VARIVEL2, ....., VARIVELn; Exemplos: inteiro: x; caracter: nome, endereco, data; 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.

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. Os valores comparados podem ser constantes, variveis ou expresses aritmticas.

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; b) (14 resto 4) < 1 resutaldo F, pois 14 resto 4 = 2 e 2 no menor que 1; c) (2 +(8 resto 7)) >= 3 resultado V, pois 2 + (8 resto 7) = 2 + 1 = 3 e 3 maior ou igual a 3. 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

Prioridade de execuo entre todos os operadores 1 parnteses mais internos 2operadores aritmticos 3 operadores relacionais 4 operadores lgicos 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; VALOR pode ser um valor propriamente dito ou uma expresso. Exemplos: x <== 34; notafinal <== ((nota1+nota2+nota3)/3); LIGADO <== V; preco <== 25,15; Comandos para entrada e sada de dados Para a entrada de dados adotaremos o comando ler, cuja finalidade receber os dados que sero processados. Sua sintaxe : ler (VARIVEL1, VARIVEL2, ..., VARIVELn); Para a sada de dados utilizaremos o comando imprimir, cuja finalidade exibir os dados processados. Sua sintaxe : imprimir (VARIVEL1, VARIVEL2, ..., VARIVELn); Voc pode exibir texto juntamente com as variveis. Para isso coloque o texto entre aspas ( " ). Exemplo: imprimir ("Seu nome :", nome); 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; /* o IMPOSTO acima deve seguir a alquota do ICMS. */ imprimir ("O preo do produto ", preco); A linha do meio do trecho de algoritmo acima no d nenhuma ordem pois apenas um comentrio.

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 Estrutura bsica de um algoritmo O algoritmo como um todo um bloco de instrues, ento deve ser delimitado pelos comandos incio e fim. As constantes e variveis devem ser declaradas no incio. Os comandos so executados sequencialmente de cima para baixo e da esquerda para a direita, assim, devem ser escritos nesta sequncia. Cada comando deve terminar com ; (ponto-e-vrgula). Abaixo segue um modelo da estrutura bsica de um algoritmo: 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: Queremos que uma condio seja analisada; Caso esta condio seja verdadeira, um comando ser executado; Caso esta condio seja falsa, outro comando ser executado. Sua sintaxe : 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; imprimir ("Entre com sua idade :"); ler (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 Repetio com teste inicial Esta estrutura permite repetir um trecho de algoritmo diversas vezes. O fluxo de execuo controlado por um teste feito antes da execuo: enquanto CONDIO faa COMANDO1; COMANDO2; ........................... ........................... ........................... COMANDOn; 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 Repetio com teste final Esta estrutura tambm permite repetir um trecho de algoritmo diversas vezes, porm o fluxo controlado por um teste feito no final da execuo. 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 : para contador de inicio at fim incremento nr faa COMANDO1; COMANDO2; ........................... ........................... COMANDOn; 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 imprimir (contador, " - "); fimpara; fim Exerccios 1. Construa um algoritmo que receba a idade do usurio e verifique se ele tem mais de 21 anos. 2. Construa um algoritmo que receba trs nmeros inteiros e verifique qual o maior. 3. 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. Construa um algoritmo que leia trs valores inteiros e os imprima em ordem cresecente. 7. Construa um algoritmo que receba um nmero inteiro e verifique se o mesmo primo. 8. 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.

PARTE 3 Soluo aos exerccios 1. incio

inteiro: idade; imprimir("Qual a sua idade ?"); ler(idade); se(idade>=21) imprimir("Voc de maior !!!."); seno imprimir("Voc de menor !!!."); fimse; 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

incio

real: cent, far; para far de 50 at 70 incremento 1 faa cent = 5/9(far - 32); imprimir(far, " - ", cent); fimpara; fim

13. incio

A sequncia dos gro no tabuleiro ser: 1, 2, 4, 8, 16, 32, ......

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

Вам также может понравиться