Você está na página 1de 13

Algoritmos Computacionais O computador, a princpio, no executa nada.

Para que ele faa uma determinada tarefa - calcular uma folha de pagamento, por exemplo -, necessrio que ele execute um programa. Um programa um conjunto de milhares de instrues que indicam ao computador, passo a passo, o que ele tem que fazer. Logo, um programa nada mais do que um algoritmo computacional descrito em uma linguagem de programao. Uma linguagem de programao contm os comandos que fazem o computador escrever algo na tela, realizar clculos aritmticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lgica. O termo processamento de dados muitas vezes utilizado em conjunto com computadores, pois, em geral, isto o que eles fazem: processar dados. Da podem extrair os dois componentes bsicos de um algoritmo computacional: dados e cdigo. Dados so os valores (nmeros, nomes, etc.) de que precisamos para resolver o problema, e cdigo so os comandos ou instrues que usaremos para manipular e "processar" os dados. Linearizao de Expresses Para a construo de algoritmos que realizam clculos matemticos, todas as expresses aritmticas devem ser linearizadas, ou seja, colocadas em linhas, devendo tambm ser feito o mapeamento dos operadores da aritmtica tradicional para os do Portugus Estruturado. {[ ( )] } TRADICIONAL

((2/3 (5-3))+1*5 - COMPUTACIONAL As tabelas seguintes mostram os operadores aritmticos disponveis no Portugus Estruturado.

Os operadores relacionais realizam a comparao entre dois operandos ou duas expresses e resultam em valores lgicos (VERDADEIRO ou FALSO).

Exemplo: 2+5>4 resulta VERDADEIRO 3<>3 resulta FALSO Os operadores lgicos atuam sobre expresses e tambm resultam em valores lgicos VERDADEIRO ou FALSO.

Viso Geral um ALGORITMO


Nessa seo vamos conhecer os primeiros elementos que compem o Portugus Estruturado e escrever alguns algoritmos. A estrutura geral de um algoritmo :

Algoritmo "<nome do algoritmo>" var < declarao de variveis> inicio < lista de comandos> fimalgoritmo
onde as palavras algoritmo e fimalgoritmo fazem parte da sintaxe da linguagem e sempre delimitam o inicio e fim de um algoritmo; a < declarao de variveis> a seo ou parte do algoritmo onde descrevemos os tipos de dados que sero usados na lista de comandos. Por exemplo, poderamos definir que fruta um tipo de dado que pode assumir apenas os valores ma, pra, banana, abacaxi e outras frutas, sobre os quais podemos efetuar as operaes comparar, comprar, comer e servir; inicio indica o fim das declaraes e o incio da seo de comandos; < lista de comandos > apenas uma indicao de que entre as palavras inicio e fimalgoritmo podemos escrever uma lista com uma ou mais instrues ou comandos. importante salientar que, quando um algoritmo executado, as instrues ou comandos de um algoritmo so sempre executados na ordem em que aparecem no mesmo. As palavras que fazem parte da sintaxe da linguagem so palavras reservadas, ou seja, no podem ser usadas para outro propsito em um algoritmo que no seja aquele previsto nas regras de sintaxe. A palavra algoritmo, por exemplo, uma palavra reservada.

Neste texto, as palavras reservadas sempre aparecero em negrito. Variveis Uma varivel pode ser vista como uma caixa com um rtulo ou nome colado a ela, que num dado instante guarda um determinado objeto. O contedo desta caixa no algo fixo, permanente. Na verdade, essa caixa pode ter seu contedo alterado diversas vezes. Contudo, o contedo deve ser sempre do mesmo tipo. Na figura abaixo, a caixa (varivel) rotulada com FATOR contm o valor 5. Como seu tipo numrico, em um determinado instante essa caixa poder conter qualquer valor numrico (inteiro ou fracionrio; positivo, negativo ou zero). Entretanto, em um determinado instante, ela conter um, e somente um, valor.

Variveis so palavras que tem um significado bem especfico em um algoritmo. Para que o computador possa executar comandos que envolvem variveis da maneira correta, ele deve conhecer os detalhes das variveis que pretendemos usar. Esses detalhes so: o identificador desta varivel e o tipo de valores que essa varivel ir conter. Precisamos assim, de uma maneira de especificar esses detalhes e comunic-los ao computador. Para isso devemos declarar nossas variveis logo abaixo da expresso VAR que tem a seguinte forma:

VAR <identificador 1>, <identificador 2>, ..., <identificador n>: <tipo das variveis>
onde <identificador i> o nome (identificador) de uma varivel e <tipo das variveis> determina que tipo de valor as variveis podero receber.

Os identificadores das variveis so usados para referenci-las dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma idia do papel da varivel no algoritmo. A identificao ou nomeao de variveis segue algumas regras: A. nomes de variveis no podem ser iguais a palavras reservadas; B. nomes de variveis devem possuir como primeiro caractere uma letra ou C. sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado); D. nomes de variveis devem ter no mximo 127 caracteres; E. F. Nomes de variveis no podem conter espaos em branco; na sintaxe do Portugus Estruturado, no h diferena entre letras maisculas de

G. minsculas (NOME o mesmo que noMe). Exemplo: Identificadores vlidos: NOME, TELEFONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil Identificadores invlidos: 3Endereco, Estado Civil, PARA, algoritmo, numero/complemento Voc deve estar se perguntando por que a palavra PARA e algoritmo so identificadores invlidos. Eles so invlidos, pois so palavras reservadas da linguagem, veja outras palavras que voc no deve utilizar como identificadores de variveis.

Em Portugus Estruturado, s existem trs tipos de dados, conforme a tabela abaixo. TIPO INTEIRO REAL OU NUMRICO LITERAL OU CARACTERE LGICO DESCRIO

Representa valores inteiros. Exemplos: 10, 5, -5, -10 Representa valores reais (com ponto separador da parte decimal). Exemplos: 10, 15.5, -14.67 Representa texto (seqncia ou cadeia de caracteres) entre aspas duplas. Exemplo "Esta uma cadeia de caracteres", B, 1234 Representa valores lgicos (VERDADEIRO ou FALSO).

Operador de Atribuio
Para colocar um valor em uma varivel dentro de um algoritmo, utilizamos o operador de atribuio. O operador de atribuio representado por uma seta (<-) apontando para a esquerda. Exemplo Peso <- 78.7 // Este comando atribui varivel Peso o valor 78.7. Nome <- "Joo da Silva" // Este comando atribui varivel Nome o valor "Joo da Silva". Achei <- FALSO // Este comando atribui varivel Achei o valor FALSO.

importante lembrar que s se pode atribuir s variveis valores do mesmo tipo da varivel. Assim, o seguinte comando seria invlido: Exemplo VAR salario: REAL INICIO salario <- "Insuficiente" Deve estar claro, tambm, que sempre esquerda do comando de atribuio deve haver um (e somente um) identificador de varivel. Assim, so incorretos os seguintes comandos: Exemplo - so incorretos 2060 <- NumeroConta NumeroAgencia+digitoControle <- 2345 + 0 NomeCliente+sobrenome <- Joo + Silva Linhas de Comentrio Os comentrios so declaraes no compiladas que podem conter qualquer informao textual que voc queira adicionar ao cdigo-fonte para referncia e documentao de seu programa. So representados por duas barras normais ( // ). Todo o texto que voc digitar aps as duas barras ser comentrio. Exemplo // Este mtodo calcula o fatorial de n...x <- y; // Inicializa a varivel x com o valor de y

Comandos de E/S (Entrada/Sada)


Em geral, um programa que faz seu processamento e no tem como mostrar seus resultados intil (imagine, por exemplo, uma calculadora que realiza uma infinidade de operaes matemticas, mas no tem um display para mostrar os resultados!). Portanto, em algum ponto do algoritmo geralmente deve ocorrer exibio de valores, e todas as linguagens de programao tm comandos para este fim. Em Portugus Estruturado algoritmos usamos o comando escreva para isto. A sintaxe desse comando tem a seguinte forma:

Escreva (<expresso ou identificador ou constante>, <expresso ou identificador ou constante>, ..., <expresso ou identificador ou constante>)
OBS.: No Visualg existem dois comandos escreva com finalidades diferentes quando usado consecutivamente.

Escreval (<expresso ou identificador ou constante>) //Mostra o primeiro resultado na mesma linha depois em linhas diferentes. Escreva (<expresso ou identificador ou constante>) //Mostra o resultado na mesma linha, mas em colunas diferentes.
Exemplo X <- 3.5 Y <- 4 Escreva ("O valor de X ", X) Escreva (" E o valor de Y ", Y) Escreval (" A soma de X e Y ", X+Y) Escreval ("O valor de X ", X) Escreval ("E o valor de Y ", Y) Escreval ("A soma de X e Y ", X+Y) Faria com que aparecesse na tela: O valor de X 3.5 E o valor de Y 4 A soma de X e Y 7.5 O valor de X 3.5 E o valor de Y 4 A soma de X e Y 7.5 Nem todos os dados que um algoritmo manipula so gerados por ele. Um algoritmo (programa) de caixa automtico, por exemplo, tem que obter do usurio o nmero da conta, a senha, a opo de servio desejada, etc.

Assim, deve haver um meio para que sejam digitados (ou fornecidos de outra maneira) dados para o algoritmo. Mais uma vez, todas as linguagens de programao permitem isto, e no nosso Portugus Estruturado usamos o comando leia. A sintaxe deste comando :

Leia (<identificador>)
Exemplo leia (NumeroConta) leia (NumeroAgencia) leia (NomeCliente) Voc pode mandar uma mensagem antes para o usurio, assim ele sabe qual o contedo que deve ser colocado, ou seja, digitado. Exemplo Escreva ("Digite seu nome: ") Leia (nome) Escreva ("Digite sua agencia: ") Leia (NumeroAgencia) Escreva ("Digite sua conta: ") Leia (NumeroConta) Deve estar claro que sempre direita do comando leia haver um identificador de varivel. Assim, so incorretos os seguintes comandos: Exemplo - so incorretos leia (NumeroConta+60) leia (12345) leia (NomeCliente+Sobrenome)

Construindo os Primeiros Algoritmos


Estruturas Seqenciais De forma genrica, a construo de um algoritmo se resume s seguintes etapas: a) entendimento do problema; b) elaborao da soluo algortmica; e c) codificao da soluo no Portugus Estruturado; Geralmente a etapa 2 a mais complexa, pois depende da engenhosidade e experincia do construtor. Exemplo Enunciado: Faa um programa que leia dois valores numricos, e calcule e exiba a sua mdia aritmtica. Etapa 1 Simples, hein? Dos tempos de escola lembramos que a mdia aritmtica de dois valores calculada como (a+b)/2, e sendo assim a primeira etapa j est pronta. Etapa 2 Os dados necessrios sero os dois valores, que colocaremos em duas variveis A e B, do tipo numrico, e uma terceira varivel, que chamaremos Mdia, que armazenar a mdia aritmtica calculada. Etapa 3 A obteno dos dados neste programa simples e direta. Basta pedir ao usurio que digite os valores. Etapa 4 O processamento aqui o clculo da mdia, usando o mtodo citado acima, na etapa 1. O resultado do clculo ser armazenado na varivel Mdia. Etapa 5 Basta exibir o contedo da varivel Mdia.

Soluo: 1. Algoritmo "Clculo de Mdia Aritmtica" 2. VAR 3. A,B,Media : REAL 4. Inicio 5. Escreva ("Programa que calcula a mdia aritmtica de dois valores.") 6. Escreva ("Digite um valor : ") 7. Leia (A) 8. Escreva ("Digite outro valor : ") 9. Leia (B) 10. Media <- (A+B)/2 11. Escreva ("A mdia dos dois valores : ", Media) 12. FimAlgoritmo Comentrios Voc deve ter notado que colocamos na tela instrues para o usurio usando o comando Escreva. Esta uma boa tcnica de programao, mesmo hoje em dia, com o ambiente do Windows, etc. Da mesma forma, ao imprimir o resultado, no mostramos simplesmente a mdia, mas explicamos ao usurio o que aquele valor significa. Como pode ser analisado no tpico anterior todo programa possui uma estrutura seqencial determinada por um INCIO e FIM. Em um algoritmo, estes limites so definidos com as palavras Algoritmo e FimAlgoritmo. Exemplo Enunciado: Algoritmo que l o nome de um aluno, as notas de suas trs provas e calcule e exibe a mdia harmnica das provas. Etapa 1: a mdia harmnica de trs provas a, b e c dada pela frmula:

Etapa 2: os dados necessrios sero o nome do aluno e os valores das provas. O algoritmo limita-se basicamente prpria frmula. 1. Algoritmo "MediaHarmonica" 2. VAR 3. a, b, c, MH: REAL 4. NOME: CARACTER 5. inicio 1. escreva ("Entre com o nome do aluno: ") 2. leia (nome) 3. escreval ("Entre com as notas das trs provas") 4. escreva ("Digite a primeira nota: ") 5. leia (a) 6. escreva ("Digite a segunda nota: ") 7. leia (b) 8. escreva ("Digite a terceira nota: ") 9. leia (c) 10. MH <- 3/(1/a + 1/b +1/c) 11. escreval ("A mdia harmnica do aluno: ", NOME, " ", MH) 12. FimAlgoritmo Exemplo Enunciado: Um algoritmo que l o valor do raio e calcule a rea do crculo correspondente. Etapa 1: o clculo da rea do crculo Pi*R2. Etapa 2: o dado necessrio o valor do raio, que ser lido (colocado) na varivel Raio. 1. 2. 3. 4. 5. 6. 7. algoritmo "Calcula rea Circulo" var Area, Raio: REAL inicio Escreval ("Entre com o raio: ") Leia (Raio) Area <- Pi*Raio^2

8. Escreva ("A rea do circulo com o raio ", Raio, " ", Area) 9. fimalgoritmo

Voc no precisa declarar o pi, pois j uma funo definida pelo programa Visualg.

Estrutura Condicional Na vida real tomamos decises a todo o momento baseadas em uma situao existente. Em um algoritmo, chamamos esta situao de condio. Associada a uma condio, existir uma alternativa possvel de aes. Exemplo 10.1 "se tiver R$ 10,00 sobrando ento irei ao cinema hoje noite. A condio nesta frase "tiver R$ 10,00 sobrando". Ela uma expresso lgica, pois a pergunta "Tenho R$ 10,00 sobrando?" Pode (tem que) ser respondida com "Sim" ou "No". Lembre-se, ento: em um algoritmo, toda condio tem que ser uma expresso lgica, algo que possa-se pensar como isto VERDADEIRO ou isto FALSO. Se a condio for verdadeira, a ao a ser executada "irei ao cinema", se a resposta pergunta "Tenho dinheiro suficiente?" for "Sim". Ento, em um algoritmo, as aes so um ou mais comandos que sero realizados apenas se a avaliao da condio resulta VERDADEIRO. Vamos colocar agora a frase do exemplo anterior em outra forma, mais parecida com nosso Portugus Estruturado: Exemplo se "tiver R$ 10,00 sobrando" entao "irei ao cinema" fimse Veja que grifamos trs palavras: se, entao e fimse. Elas so muito importantes na estrutura dos comandos de deciso. Como prximo passo, vamos generalizar a estrutura que criamos acima:

se <condio> entao <aes (uma ou mais) a serem realizadas se a condio for verdadeira> Fimse
Para terminar a nossa comparao, devemos lembrar que os comandos de um algoritmo so sempre indispensvel, e que o computador s lida com quantidades definidas (ou seja, ele no sabe o que "ter R$ 10,00 sobrando"). Para aproximar mais nossa frase de um algoritmo, poderemos ter a seguinte forma: Exemplo se Dinheiro >= 10 entao Ir_ao_Cinema <- VERDADEIRO Fimse O exemplo acima poderia ser estendido para o caso do sujeito no ter dinheiro sobrando: "se tiver R$ 10,00 sobrando irei ao cinema hoje noite, mas se no tiver ficarei vendo TV em casa". Neste caso, uma codificao possvel para esse algoritmo seria: Exemplo se Dinheiro >= 10 entao Ir_ao_Cinema <- VERDADEIRO Ver_TV <- FALSO Fimse se Dinheiro < 10 entao Ir_ao_Cinema <- FALSO Ver_TV <- VERDADEIRO Fimse importante frisar que sempre direita do comando se dever parecer uma expresso lgica, e uma expresso cujo resultado VERDADEIRO ou FALSO. Assim, os seguintes comandos so incorretos: Exemplo se A <- B entao // uma atribuio e no uma expresso ... fimse

se A + B entao // uma expresso aritmtica e no uma expresso ... fimse Por outro lado, esto corretos os seguintes comandos: Exemplo se (A > B) e (A > C) e (B <> C) entao ... fimse se nao Achou entao // Correto se Achou foi declarada como logico ... fimse Seja o algoritmo abaixo: Exemplo Faa um Algoritmo para calcular a rea de um circulo, fornecido o valor do raio, que deve ser positivo. 1. Algoritmo "Calcula Area do Circulo" 2. VAR 3. Area, Raio: Real 4. inicio 5. Escreval ("Entre com raio do crculo") 6. Leia (Raio) 7. Se Raio > 0 entao 8. Area <- PI*(Raio^2) 9. Escreva ("A rea do crculo de raio ", Raio, " ", Area) 10. fimse 11. Se Raio <= 0 entao 12. Escreva ("Raio no pode ser nulo ou negativo!") 13. fimse 14. fimalgoritmo Observe que se a condio do primeiro verdadeira, a segunda condio falsa e vice-versa, e o conjunto de instrues a ser executado: se Raio <= 0 (apenas a instruo escreva ("Raio no pode ser nulo ou negativo!")) uma alternativa para a condio Raio > 0. Para expressar isso mais facilmente (e tambm por questes de eficincia), a maioria das linguagens de programao permite associar um conjunto de instrues a ser executado se a condio do comando resultar em FALSO. Em Portugus Estruturado, a sintaxe para tal a seguinte:

se <condio> entao <aes (uma ou mais) a serem realizadas se a condio for verdadeira> senao <aes (uma ou mais) a serem realizadas se a condio for falsa> fimse
Utilizando o senao, o algoritmo para calcular a rea de um circulo, ficaria assim: Exemplo 1. Algoritmo "Calcula Area do Circulo" 2. VAR 3. Area, Raio: Real 4. inicio 5. Escreval ("Entre com raio do crculo") 6. Leia (Raio) 7. Se Raio > 0 entao 8. Area <- PI*(Raio^2) 9. Escreva ("A rea do crculo de raio ", Raio, " ", Area) 10. senao 11. Escreva ("Raio no pode ser nulo ou negativo!") 12. fimse 13. fimalgoritmo

Exemplo Algoritmo que pea ao usurio a quantia em dinheiro que tem sobrando e sugira, caso ele tenha 10 ou mais reais, que v ao cinema, e se no tiver, fique em casa vendo TV. 1. Algoritmo "AconselhaPrograma" 2. Var 3. Dinheiro: REAL 4. inicio 5. Escreval ("*** Servio Informatizado de Sugestes ***") 6. Escreva ("Quanto dinheiro voc tem sobrando?") 7. Leia (Dinheiro) 8. Se Dinheiro >= 10 entao 9. Escreval ("V ao cinema hoje noite.") 10. Senao 11. Escreval ("Fique em casa vendo TV.") 12. Fimse 13. Escreva ("Obrigado e volte sempre.") 14. Fimalgoritmo Estrutura de Repetio Nos exemplos e exerccios que vimos at agora sempre foi possvel resolver os problemas com uma seqncia de instrues onde todas eram necessariamente executadas uma nica vez. Os algoritmos que escrevemos seguiam, portanto, apenas uma sequncia linear de operaes.

Comando para..faca
O comando para...faca tambm permite a descrio, dentro de um algoritmo, de uma estrutura de repetio. Sua forma geral : para <varivel de controle> de <valor inicial> ate <valor final> [passo<incremento>] faca <lista de comandos> fimpara Na estrutura para..faca, a varivel de controle inicializada com <valor inicial> e no incio de cada iterao, seu valor comparado com <valor final>. Se o valor da varivel for menor ou igual a <valor final>, a lista de comandos executada e aps ser executado o ltimo comando da lista, a varivel de controle incrementada. Isto repete-se at que o valor da varivel de controle seja maior que <valor final>, quando ento executado o comando imediatamente aps a palavra fimpara. A instruo passo necessria se o incremento for diferente de 1. Exemplo Um algoritmo que l escreve os nmeros mpares de 1 a 1000. 1. para i de 1 ate 1000 passo 2 faca // Incrementa i de 2 em 2 2. escreva i, mpar 3. fimpara A estrutura para..faca uma estrutura de repetio mais completa que as anteriores, pois ela incorpora a inicializao, incremento e teste de valor final da varivel de controle. preferencialmente utilizada em situaes em que sabe-se previamente o nmero de repeties a serem feitas. Este nmero de repeties pode ser uma constante ou estar em uma varivel. A seguir, sero apresentados alguns problemas utilizando estruturas de repetio e desenvolvidas algumas solues para os mesmos. Exemplo Algoritmo que l 5 nmeros e escreve todos os que forem positivos. 1. Algoritmo "Positivos" 2. var 3. i, numero: inteiro 4. inicio 5. para i de 1 ate 5 passo 1 faca 6. escreval ("Digete um numero") 7. leia (numero)

8. se numero>0 entao 9. escreva (numero) 10. fimse 11. fimpara 12. fimalgoritmo Neste algoritmo so utilizadas duas variveis, cada uma com uma funo bem definida. A varivel i usada para controlar o nmero de repeties e a varivel numero utilizada para armazenar cada um dos valores lidos. Ao escrever um algoritmo, importante ter bem clara a funo de cada varivel. Como sero lidos 5 nmeros diferentes, a leitura de numero deve ser feita dentro do lao. Exemplo Algoritmo que l um nmero N e escreve todos os nmeros de 1 a N. 1. algoritmo "determina o tamanho do lao" 2. var 3. i, N: INTEIRO 4. inicio 5. leia (N) 6. para i de 1 ate N faca 7. escreva (i) 8. fimpara 9. fimalgoritmo Vale observar que, como nesse algoritmo lido apenas um nmero, sua leitura deve ser feita fora da estrutura de repetio. Note que no possui a sintaxe passo, pois o passo +1 definido como padro. Lembrete: O valor I e N do exemplo acima tem que ser inteiro, pois se for declarado como um valor real ou numrico o algoritmo retornara com um erro de sintaxe. Exerccios desenvolvidos: 01. Elabore um algoritmo que receba via teclado o nome, telefone e email de uma pessoa, depois imprima as informaes armazenadas.

algoritmo "Ex1" var nome,email,telefone: caracter inicio // Seo de Comandos escreval("Qual o seu nome?") leia (nome) escreval("Qual o seu email?") leia (email) escreval("Qual o seu telefone?") leia (telefone) escreval ("O nome digitado foi: ", nome) escreval ("O email digitado foi: ", email) escreval ("O telefone digitado foi: ", telefone) fimalgoritmo
02.Elabore um algoritmo que receba o nome e o ano de nascimento de um individuo, calcule sua idade e verifique se o mesmo pode ou no tirar a carteira de motorista. algoritmo "Ex2" var ano_nascimento,idade: numerico nome: caracter inicio // Seo de Comandos escreva("Informe seu nome ") leia(nome) escreval (nome," ,qual o seu ano de nascimento?")

leia(ano_nascimento) idade:= 2011-ano_nascimento escreval (nome, " voc tem, ", idade, " anos") se (idade < 18) entao escreval("Voc no pode dirigir") senao escreval("Voc pode dirigir") fimse fimalgoritmo 03.Elabore um algoritmo que receba o nome de um aluno, uma disciplina e suas trs notas semestrais, calcule sua mdia e verifique se o mesmo foi aprovado ou reprovado. algoritmo "Media" // Seo de Declaraes var nome, disciplina: caracter nti, npc, nef,media: numerico inicio escreval("Informe seu nome completo") leia(nome) escreval ("Informe a disciplina") leia(disciplina) escreval ("Nota de NTI") leia(nti) escreval ("Nota de NPC") leia(npc) escreval("Nota de NEF") leia(nef) media:=(nti+npc+nef)/3 escreval (nome, " sua mdia em ", disciplina, " : ", media) se (media>=5) entao escreval("Parabns, ", nome, " voc foi aprovado!") senao escreval("Infelizmente, ", nome, " voc foi reprovado!") fimse fimalgoritmo 04. Elabore um algoritmo que exiba um menu de opes com as quatro operaes matemtica padres disponveis (soma, subtrao, multiplicao e diviso), permita que o usurio escolha uma delas e depois informe dois valores via teclado, de acordo com a opo escolhida a operao dever ser realizada. Esta rotina dever se repetir durante 3 vezes. algoritmo "calculadora" var opcao: caracter valor1, valor2,total: numerico contador: inteiro inicio para contador de 1 ate 3 faca escreval("Escolha sua Opo") escreval("1. Somar") escreval("2. Subtrair") escreval("3. Multiplicao") leia(opcao) escreval("Informe o 1 valor") leia(valor1) escreval("Informe o 2 valor") leia(valor2) se (opcao="1") entao total:=valor1+valor2 fimse se (opcao="2") entao total:=valor1-valor2 fimse se (opcao="3") entao

total:=valor1*valor2 fimse escreval("O resultado da operao : ", total) fimpara fimalgoritmo 05. Elabore um algoritmo que realize uma contagem de 1 at 5 algoritmo "contagem" var contador: inteiro inicio para contador de 1 ate 5 faca escreval("Contagem:", contador) fimpara fimalgoritmo 06. Elabore um algoritmo que receba um valor e verifique se o nmero digitado positivo, negativo ou nulo, permita que o usurio realize essa operao por at 5 vezes. algoritmo "pos_neg_nulo" var valor,contador: inteiro inicio para contador de 1 ate 5 faca escreval("Informe o valor") leia(valor) se(valor > 0) entao escreval("Positivo") senao se (valor < 0) entao escreval("Negativo") senao escreval("Nulo") fimse fimse fimpara fimalgoritmo 07. Elabore um algoritmo que realize uma contagem alternada de 1 at 50. algoritmo "contagem_alternada" var contador: inteiro inicio para contador de 1 ate 50 passo 2 faca escreval("Valor", contador) fimpara fimalgoritmo 08. As vendas parceladas se tornaram uma tima opo para os lojistas, que cada dia criam novas promoes para tentar conquistar novos clientes. Faa um programa onde o lojista possa entrar com o nome, o preo e a quantidade de um determinado produto, exiba um menu com as seguintes opes: O valor com 10% de desconto para pagamento a vista O valor da prestao para parcelamento sem juros em 5 vezes. O valor da prestao para parcelamento com juros, em 10 vezes, com 20% de acrscimo no valor do produto. Permita o cadastro de trs produtos. algoritmo "Supermercado" var op, nome_produto:caracter contador, qtd:inteiro valor_vista, valor_total,prazo_dez,prazo_cinco,preco_unitario:real inicio

// Solicitando as informaes do produto para contador de 1 ate 3 faca escreval(" ") escreva("Informe o nome do produto: ") leia(nome_produto) escreva("Informe o valor do produto: ") leia(preco_unitario) escreva("Informe a quantidade do produto: ") leia(qtd) valor_total<-(preco_unitario*qtd) escreval (" ") escreval ("Valor Total da Compra: R$ ", valor_total) escreval (" ") escreval("Escolha a forma de Pagamento") escreval("1. Para pagamento vista, com 10% de desconto") escreval("2. Para pagamento parcelado em 5X sem juros") escreval("3. Para pagamento parcelado em 10X, com 20% de juros") escreval (" ") escreva ("Digite o nmero da forma de pagamento escolhida: ") leia(op) escreval (" ") se (op="1") entao valor_vista<-valor_total-((valor_total*10)/100) escreval("Total a ser pago vista: R$ ",valor_vista) fimse se (op="2") entao prazo_cinco <-(valor_total/5) escreval("R$ ", valor_total, " em 5 parcelas de R$ ",prazo_cinco) fimse se (op="3") entao prazo_dez<-valor_total+((valor_total*20)/100) escreval("Total das compras com juros: R$ ", prazo_dez, " em (prazo_dez/10)) fimse fimpara fimalgoritmo

10

parcelas

de

R$",

09. Elabore um algoritmo que receba um valor e verifique se o valor digitado par ou mpar, o programa dever receber at 5 nmeros. algoritmo "parImpar" var valor,contador:inteiro inicio para contador de 1 ate 5 faca escreval ("Informe o valor") leia(valor) se (valor mod 2=0) entao escreva("Numero par") senao escreva ("Numero mpar") fimse fimpara fimalgoritmo

Você também pode gostar