Você está na página 1de 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 , "

+",
-",
*",
/",

N2,
N2,
N2,
N2,

"
"
"
"

=",
=",
=",
=",

Soma)
Sub)
Mult)
Divisao)

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

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

Você também pode gostar