You are on page 1of 7

Veja o exemplo a seguir, que ilustra bem o que faz este comando: algoritmo "Times" var time: caractere

inicio escreva ("Entre com o nome de um time de futebol: ") leia (time) escolha time caso "Flamengo", "Fluminense", "Vasco", "Botafogo" escreval (" um time carioca.") caso "So Paulo", "Palmeiras", "Santos", "Cornthians" escreval (" um time paulista.") outrocaso escreval (" de outro estado.") fimescolha fimalgoritmo

var x: real y: inteiro a: caractere l: logico inicio x <- 2.5 y <- 6 a <- "teste" l <- VERDADEIRO escreval ("x", x:4:1, y+3:4) // Escreve: x 2.5 9 escreval (a, "ok") // Escreve: testeok (e depois pula linha) escreval (a, " ok") // Escreve: teste ok (e depois pula linha) escreval (a + " ok") // Escreve: teste ok (e depois pula linha) escreva (l) // Escreve: VERDADEIRO fimalgoritmo

No exemplo a seguir, os nmeros de 1 a 10 so exibidos em ordem crescente. algoritmo "Nmeros de 1 a 10" var j: inteiro inicio para j de 1 ate 10 faca escreva (j:3) fimpara fimalgoritmo Importante: Se, logo no incio da primeira repetio, <valor-inicial > for maior que <valor-limite > (ou menor, quando <incremento> for negativo), o lao no ser executado nenhuma vez. O exemplo a seguir no imprime nada. algoritmo "Numeros de 10 a 1 (no funciona)" var j: inteiro inicio para j de 10 ate 1 faca escreva (j:3) fimpara fimalgoritmo Este outro exempo, no entanto, funcionar por causa do passo -1: algoritmo "Numeros de 10 a 1 (este funciona)" var j: inteiro inicio para j de 10 ate 1 passo -1 faca escreva (j:3) fimpara fimalgoritmo

O mesmo exemplo anterior pode ser resolvido com esta estrutura de repetio: algoritmo "Nmeros de 1 a 10 (com enquanto...faca)" var j: inteiro inicio j <- 1 enquanto j <= 10 faca escreva (j:3) j <- j + 1 fimenquanto fimalgoritmo Importante: Como o lao enquanto...faca testa sua condio de parada antes de executar sua seqncia de comandos, esta seqncia poder ser executada zero ou mais vezes. Repita ... at Esta estrutrura repete uma seqncia de comandos at que uma determinada condio (especificada atravs de uma expresso lgica) seja satisfeita. repita <seqncia-de-comandos> ate <expresso-lgica> repita Indica o incio do lao.

Indica o fim da <seqncia-de-comandos> a serem repetidos. Cada vez que o programa chega neste ponto, <expresso-lgica> avaliada: se seu resultado for ate <expresso-lgica> FALSO, os comandos presentes entre esta linha e a linha repita so executados; caso contrrio, a execuo prosseguir a partir do primeiro comando aps esta linha. Considerando ainda o mesmo exemplo: algoritmo "Nmeros de 1 a 10 (com repita)" var j: inteiro inicio j <- 1 repita escreva (j:3) j <- j + 1 ate j > 10 fimalgoritmo Importante: Como o lao repita...ate testa sua condio de parada depois de executar sua seqncia de comandos, esta seqncia poder ser executada uma ou mais vezes. Comando Interrompa As trs estruturas de repetio acima permitem o uso do comando interrompa, que causa uma sada imediata do lao. Embora esta tcnica esteja de certa forma em desacordo com os princpios da programao estruturada, o comando interrompa foi includo no VisuAlg por ser encontrado na literatura de introduo programao e mesmo em linguagens como o Object Pascal (Delphi/Kylix), Clipper, VB, etc. Seu uso exemplificado a seguir: algoritmo "Nmeros de 1 a 10 (com interrompa)" var x: inteiro inicio x <- 0 repita x <- x + 1 escreva (x:3) se x = 10 entao interrompa fimse ate falso fimalgoritmo

O VisuAlg permite ainda uma forma alternativa do comando repita...ate, com a seguinte sintaxe: algoritmo "Nmeros de 1 a 10 (com interrompa) II" var x: inteiro inicio x <- 0 repita x <- x + 1 escreva (x:3) se x = 10 entao interrompa fimse fimrepita fimalgoritmo Com esta sintaxe alternativa, o uso do interrompa obrigatrio, pois a nica maneira de se sair do lao repita...fimrepita; caso contrrio, este lao seria executado indeterminadamente. algoritmo "Lista01_Ex01" // Funo : Faa um programa que leia um nmero inteiro e escreva-o na tela, precedido pela mensagem "O nmero digitado foi: ". // Autor : F5Cursos.com () // Data : 7/4/2008 var Num: inteiro inicio //Entrada de Dados Escreva("Informe um nmero inteiro: ") Leia(Num) Escreval() //Apenas uma quebra de linha. //Sada em Tela Escreval("O nmero digitado foi ", Num) fimalgoritmo algoritmo "Lista01_Ex02" // Funo : Faa um programa que solicite dois nmeros reais, efetue a soma dos mesmos e apresente o resultado. // Autor : F5Cursos.com () // Data : 7/4/2008 var N1, N2: Real Soma: Real inicio //Entrada de Dados Escreva("Informe o primeiro nmero: ") Leia(N1) Escreval() //Apenas uma quebra de linha. Escreva("Informe o segundo nmero: ") Leia(N2) Escreval() //Apenas uma quebra de linha. // Processamento Soma <- N1 + N2 //Sada em Tela Escreval("A soma de ", N1 , " e", N2, " ", Soma) //Outra forma para realizar a sada em tela. Escreval(N1 , " +", N2, " =", Soma) fimalgoritmo

algoritmo "Lista01_Ex03" // Funo : Faa um programa que solicite dois nmeros reais, efetue a soma, //a subtrao, a multiplicao e a diviso dos mesmos e apresente os resultados. // Autor : F5Cursos.com // Data : 7/4/2008 var N1, N2: Real Soma, Sub, Mult, Divisao: Real inicio //Entrada de Dados Escreva("Informe o primeiro nmero: ") Leia(N1) Escreval() //Apenas uma quebra de linha. Escreva("Informe o segundo nmero: ") Leia(N2) Escreval() //Apenas uma quebra de linha. // Processamento Soma <- N1 + N2 Sub <- N1 - N2 Mult <- N1 * N2 Divisao <- N1 / N2 //Sada em Tela Escreval(N1 , " Escreval(N1 , " Escreval(N1 , " Escreval(N1 , " fimalgoritmo algoritmo "Lista01_Ex15" // Funo : Dado um nmero inteiro de 3 algarismos, inverter a ordem de seus algarismos. Os trs algarismos so diferentes de zero. // Autor : F5Cursos.com // Data : 7/4/2008 Var Num:inteiro D1, D2, D3: inteiro Invertido:inteiro inicio //Entrada de Dados Escreva("Informe um nmero de 3 dgitos: ") Leia(Num) Escreval() //Apenas uma quebra de linha. // D3 D2 D1 Processamento <- Num \ 100 <- Num mod 100 \ 10 <- Num mod 10 +", -", *", /", N2, N2, N2, N2, " " " " =", =", =", =", Soma) Sub) Mult) Divisao)

Invertido <- D1 * 100 + D2 * 10 + D3 //Sada em tela Escreval("Nmero informado pelo usurio: ", Num) Escreval("Nmero invertido ser: ", Invertido) fimalgoritmo algoritmo "Lista01_Ex04" // Funo : Elaborar um algoritmo que calcule e mostre a rea de um tringulo qualquer. //O usurio dever informar o valor da base e da altura. //rea = (base x altura) / 2

// Autor : F5Cursos.com // Data : 7/4/2008 var Base, Altura: Real Area: Real inicio //Entrada de Dados Escreva("Informe o valor da base do tringulo: ") Leia(Base) Escreval() //Apenas uma quebra de linha. Escreva("Informe o valor da altura do tringulo: ") Leia(Altura) Escreval() //Apenas uma quebra de linha. // Processamento Area <- (base * altura) / 2 //Sada em Tela Escreval("A rea do tringulo ", Area ) fimalgoritmo algoritmo "Lista02_Ex02" // Funo : Elabore um algoritmo que leia trs nmeros X, Y e Z e informe se (X + Y)*Z par ou mpar. // Autor : F5cursos.com // Data : 11/04/2008 var X, Y, Z: inteiro inicio //Entrada de Dados Escreva("Informe o valor de X: ") Leia(X) Escreval() //Apenas uma quebra de linha. Escreva("Informe o valor de Y: ") Leia(Y) Escreval() //Apenas uma quebra de linha. Escreva("Informe o valor de Z: ") Leia(Z) Escreval() //Apenas uma quebra de linha. // Processamento e Sada Se( ((X + Y)*Z) mod 2 = 0 ) entao Escreval("(X + Y)*Z par") senao Escreval("(X + Y)*Z mpar") fimse fimalgoritmo algoritmo "Lista02_Ex08" // Funo : Elaborar um algoritmo para verificar se um funcionrio pode se aposentar, considerando as seguintes condies necessrias: // Condio 1: Se for mulher e estiver com mais de 60 anos; // Condio 2: Se for homem e estiver com mais de 65 anos. // Autor : F5cursos.com // Data : 11/04/2008 var Nome, Sexo: caracter Idade: inteiro

inicio //Entrada de Dados Escreval("Verifica seu o funcionrio pode se aposentar") Escreva("Informe o seu nome: ") Leia(Nome) Escreval() //Apenas uma quebra de linha. Escreva("Informe seu sexo (F - Feminino ou M Masculino): ") Leia(Sexo) Escreval() //Apenas uma quebra de linha. Escreva("Informe sua idade: ") Leia(Idade) Escreval() //Apenas uma quebra de linha. // Processamento e Sada Se( Sexo = "F" ) e ( Idade >60 ) entao Escreval("Parabns, a senhora j pode se aposentar.") senao Se( Sexo = "M" ) e ( Idade >65 ) entao Escreval("Parabns, o senhor j pode se aposentar.") senao Escreval("Infelizmente, voc ainda no pode se aposentar.") fimse fimse fimalgoritmo algoritmo "Lista02_Ex09" // Funo : Dado um nmero de 1 a 12, mostre o ms correspondente por extenso. Exemplo: 4 mostre Abril. // Autor : F5cursos.com // Data : 11/04/2008 var Mes: inteiro inicio //Entrada de Dados Escreval("Mostra o ms correspondente") Escreva("Informe um nmero: ") Leia(Mes) Escreval() //Apenas uma quebra de linha. // Processamento e Sada Se( Mes = 1 ) entao Escreval("O nmero", Mes , " corresponde a Janeiro.") senao Se( Mes = 2 ) entao Escreval("O nmero", Mes , " corresponde a Fevereiro.") senao Se( Mes = 3 ) entao Escreval("O nmero", Mes , " corresponde a Maro.") senao Se( Mes = 4 ) entao Escreval("O nmero", Mes , " corresponde a Abril.") senao Se( Mes = 5 ) entao Escreval("O nmero", Mes , " corresponde a Maio.") senao Se( Mes = 6 ) entao Escreval("O nmero", Mes , " corresponde a Junho.") senao Se( Mes = 7 ) entao Escreval("O nmero", Mes , " corresponde a Julho.") senao

Se( Mes = 8 ) entao Escreval("O nmero", Mes , " corresponde a Agosto.") senao Se( Mes = 9 ) entao Escreval("O nmero", Mes , " corresponde a Setembro.") senao Se( Mes = 10 ) entao Escreval("O nmero", Mes , " corresponde a Outubro.") senao Se( Mes = 11 ) entao Escreval("O nmero", Mes , " corresponde a Novembro.") senao Se( Mes = 12 ) entao Escreval("O nmero", Mes , " corresponde a Dezembro.") Mes) senao Escreval("No exite um correspondente ao nmero ",

fimse fimse fimse fimse fimse fimse fimse fimse fimse fimse fimse fimse

fimalgoritmo

You might also like