You are on page 1of 12

Universidade Federal de Uberlndia

Faculdade de Computao
PET Cincia da Computao

A Linguagem de Programao do VisuAlg

A Tela Principal do VisuAlg


A tela do VisuAlg compe-se da barra de tarefas, do editor de textos (que toma toda a sua
metade superior), do quadro de variveis (no lado esquerdo da metade inferior), do simulador de
sada (no correspondente lado direito) e da barra de status. Quando o programa carregado, j
apresenta no editor um "esqueleto" de pseudocdigo, com a inteno de poupar trabalho ao usurio
e de mostrar o formato bsico que deve ser seguido. Explicaremos a seguir cada componente da
interface do VisuAlg.

A Barra de Tarefas
Contm os comandos mais utilizados no VisuAlg (estes comandos tambm podem ser
acessados pelo menu ou por atalhos no teclado).

1
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

Abrir (Ctrl-A): Abre um arquivo anteriormente gravado, substituindo o texto presente no editor. Se
este tiver sido modificado, o VisuAlg pedir sua confirmao para salv-lo antes que seja
sobreposto.
Novo (Ctrl-N): Cria um novo "esqueleto" de pseudocdigo, substituindo o texto presente no editor.
Se este tiver sido modificado, o VisuAlg pedir sua confirmao para salv-lo antes que seja
sobreposto.
Salvar (Ctrl-S): Grava imediatamente o texto presente no editor. Na primeira vez que um novo texto
gravado, o VisuAlg pede seu nome e localizao.
Imprimir: Imprime imediatamente na impressora padro o texto presente no editor. Para configurar a
impresso, use o comando Imprimir do menu Arquivo (acessvel tambm pelo atalho Ctrl-P).
Cortar (Ctrl-X): Apaga texto selecionado, armazenando-o em uma rea de transferncia.
Copiar (Ctrl-C): Copia o texto selecionado para a rea de transferncia.
Colar (Ctrl-V): Copia texto da rea de transferncia para o local em que est o cursor.
Gravar bloco de texto: Permite a gravao em arquivo de um texto selecionado no editor. A
extenso sugerida para o nome do arquivo .inc.
Inserir bloco de texto: Permite a insero do contedo de um arquivo. A extenso sugerida para o
nome do arquivo .inc.
Desfazer (Ctrl-Z): Desfaz ltimo comando efetuado.
Refazer (Shift-Ctrl-Z): Refaz ltimo comando desfeito.
Localizar (Ctrl-L): Localiza no texto presente no editor determinada palavra especificada.
Substituir (Ctrl-U): Localiza no texto presente no editor determinada palavra especificada,
substituindo-a por outra.
Corrigir Indentao (Ctrl-G): Corrige automaticamente a indentao (ou tabulao) do
pseudocdigo, tabulando cada comando interno com espaos esquerda.
Numerar linhas: Ativa ou desativa a exibio dos nmeros das linhas na rea esquerda do editor.
A linha e a coluna do editor em que o cursor est em um determinado momento tambm so
mostradas na barra de status (parte inferior da tela). Por motivos tcnicos, esta opo
automaticamente desativada durante a execuo do pseudocdigo, mas volta a ser ativada logo em
seguida.
Mostrar variveis modificadas: Ativa ou desativa a exibio da varivel que est sendo modificada.
Como o nmero de variveis pode ser grande, muitas podem estar fora da janela de visualizao;
quando esta caracterstica est ativada, o VisuAlg rola a grade de exibio de modo que cada
varivel fique visvel no momento em est sendo modificada. Este recurso especialmente til
quando se executa um pseudocdigo passo a passo. Por questes de desempenho, a configurao
padro desta caracterstica desativada, quando o pseudocdigo est sendo executado
automaticamente. No entanto, basta clicar este boto para execut-lo automaticamente com a
exibio ativada. No final da execuo, a configurao volta a ser desativada.
Restaurar tela inicial: Retorna a diviso da tela ao formato inicial, caso voc tenha mudado o
tamanho da rea do editor de texto, quadro de variveis ou simulador de sada.

2
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

Executar (F9): Inicia (ou continua) a execuo automtica do pseudocdigo.


Executar com timer (Shift-F9):: Insere um atraso (que pode ser especificado no intervalo ao lado)
antes da execuo de cada linha. Tambm reala em fundo azul o comando que est sendo
executado, da mesma forma que na execuo passo a passo.
Intervalo do timer: Atraso em cada linha, para quando se deseja executar o pseudocdigo com
timer.
Passo (F8): Inicia (ou continua) a execuo linha por linha do pseudocdigo, dando ao usurio a
oportunidade de acompanhar o fluxo de execuo, os valores das variveis e a pilha de ativao dos
subprogramas.
Parar (Ctrl-F2): Termina imediatamente a execuo do pseudocdigo. Evidentemente, este boto
fica desabilitado quando o pseudocdigo no est sendo executado.
Liga/desliga breakpoint (F5): Insere/remove um ponto de parada na linha em que esteja o cursor.
Estes pontos de parada so teis para a depurao e acompanhamento da execuo dos
pseudocdigos, pois permitem a verificao dos valores das variveis e da pilha de ativao de
subprogramas.
Desmarcar todos os breakpoints (Ctrl-F5): Desativa todos os breakpoints que estejam ativados
naquele momento.
Executar em modo DOS: Com esta opo ativada, tanto a entrada como a sada-padro passa a
ser uma janela que imita o DOS, simulando a execuo de um programa neste ambiente.
Gerar valores aleatrios: Ativa a gerao de valores aleatrios que substituem a digitao de
dados. A faixa padro de valores gerados de 0 a 100 inclusive, mas pode ser modificada (basta
alterar intervalo ao lado). Para a gerao de dados do tipo caractere, no h uma faixa pr-
estabelecida: os dados gerados sero sempre strings de 5 letras maisculas.
Intervalo dos valores aleatrios: Faixa de valores que sero gerados automaticamente, quando
esta opo estiver ativada.
Perfil (F7): Aps a execuo de um pseudocdigo, exibe o nmero de vezes que cada umas das
suas linhas foi executada. til para a anlise de eficincia (por exemplo, nos mtodos de
ordenao).
Mostrar pilha de ativao (Ctrl-F3): Exibe a pilha de subprogramas ativados num dado momento.
Convm utilizar este comando em conjunto com breakpoints ou com a execuo passo a passo.
Ajuda (F1): Possibilita acesso s pginas de ajuda e s informaes sobre o VisuAlg.

Quadro de Variveis
formado por uma grade na qual so mostrados o escopo de cada varivel (se for do
programa principal, ser global; se for local, ser apresentado o nome do subprograma onde foi
declarada), seus nomes (tambm com os ndices, nos casos em que sejam vetores), seu tipo ("I"
para inteiro, "R" para real, "C" para caractere e "L" para lgico) e o seu valor corrente. A verso atual
do VisuAlg permite a visualizao de at 500 variveis (contando individualmente cada elemento dos
vetores).
A Barra de Status
Situada na parte inferior da tela, esta barra contm dois painis: o primeiro mostra a linha e a
coluna onde o cursor est, e o segundo mostra a palavra Modificado no caso em que o
pseudocdigo tenha sido alterado desde que foi carregado ou salvo pela ltima vez. Nesta barra, h
ainda um terceiro painel disponvel, que ainda no tem um uso especfico na atual verso.

Introduo
A linguagem que o VisuAlg interpreta bem simples: uma verso portuguesa dos

3
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

pseudocdigos largamente utilizados nos livros de introduo programao, conhecida como


"Portugol". H ainda alguns comandos novos, com o intuito de criar facilidades especficas para o
ensino de tcnicas de elaborao de algoritmos.
A linguagem do VisuAlg permite apenas um comando por linha: desse modo, no h
necessidade de tokens separadores de estruturas, como o ponto e vrgula em Pascal. Tambm no
existe o conceito de blocos de comandos (que correspondem ao begin e end do Pascal e ao { e } do
C), nem comandos de desvio incondicional como o goto.
Importante: para facilitar a digitao e evitar confuses, todas as palavras-chave do VisuAlg foram
implementadas sem acentos, cedilha, etc. Portanto, o tipo de dados lgico definido como logico, o
comando se..ento..seno definido como se..entao..senao, e assim por diante. O VisuAlg tambm
no distingue maisculas e minsculas no reconhecimento de palavras-chave e nomes de variveis.

Formato Bsico do Pseudocdigo e Incluso de Comentrios


O formato bsico do nosso pseudocdigo o seguinte:
algoritmo "semnome"
// Funo :
// Autor :
// Data :
// Seo de Declaraes
inicio
// Seo de Comandos
fimalgoritmo
A primeira linha composta pela palavra-chave algoritmo seguida do seu nome delimitado por
aspas duplas. Este nome ser usado como ttulo nas janelas de leitura de dados. A seo que se
segue a de declarao de variveis, que termina com a linha que contm a palavra-chave inicio.
Deste ponto em diante est a seo de comandos, que continua at a linha em que se encontre a
palavra-chave fimalgoritmo. Esta ltima linha marca o final do pseudocdigo: todo texto existente
a partir dela ignorado pelo interpretador.
O VisuAlg permite a incluso de comentrios: qualquer texto precedido de "//" ignorado, at
se atingir o final da sua linha. Por este motivo, os comentrios no se estendem por mais de uma
linha: quando se deseja escrever comentrios mais longos, que ocupem vrias linhas, cada uma
delas dever comear por "//".
Tipos de Dados
O VisuAlg prev quatro tipos de dados: inteiro, real, cadeia de caracteres e lgico (ou
booleano). As palavras-chave que os definem so as seguintes (observe que elas no tem
acentuao):
inteiro: define variveis numricas do tipo inteiro, ou seja, sem casas decimais.
real: define variveis numricas do tipo real, ou seja, com casas decimais.
caractere: define variveis do tipo string, ou seja, cadeia de caracteres.
logico: define variveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.

4
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

Nomes de Variveis e sua Declarao


Os nomes das variveis devem comear por uma letra e depois conter letras, nmeros ou
underline, at um limite de 30 caracteres. No pode haver duas variveis com o mesmo nome.
A seo de declarao de variveis comea com a palavra-chave var, e continua com as
seguintes sintaxes:
<lista-de-variveis> : <tipo-de-dado>
Na <lista-de-variveis>, os nomes das variveis esto separados por vrgulas.
Exemplos:
var a: inteiro
Valor1, Valor2: real
nome_do_aluno: caractere
sinalizador: logico
Note que no h a necessidade de ponto e vrgula aps cada declarao: basta pular linha. O
nmero total de variveis suportado pelo VisuAlg 500 (cada elemento de um vetor contado
individualmente).

Constantes e Comando de Atribuio


O VisuAlg tem trs tipos de constantes:
Numricos: so valores numricos escritos na forma usual das linguagens de programao.
Podem ser inteiros ou reais. Neste ltimo caso, o separador de decimais o ponto e no a
vrgula, independente da configurao regional do computador onde o VisuAlg est sendo
executado. O VisuAlg tambm no suporta separadores de milhares.
Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas (").
Lgicos: admite os valores VERDADEIRO ou FALSO.
A atribuio de valores a variveis feita com o operador <-. Do seu lado esquerdo fica a
varivel qual est sendo atribudo o valor, e sua direita pode-se colocar qualquer expresso
(constantes, variveis, expresses numricas), desde que seu resultado tenha tipo igual ao da
varivel.
Alguns exemplos de atribuies, usando as variveis declaradas acima:
a <- 3
Valor1 <- 1.5
Valor2 <- Valor1 + a
nome_do_aluno <- "Jos da Silva"
sinalizador <- FALSO

Operadores Aritmticos

Operadores unrios, isto , so aplicados a um nico operando. So os operadores aritmticos de maior


+,- precedncia. Exemplos: -3, +x. Enquanto o operador unrio - inverte o sinal do seu operando, o operador +
no altera o valor em nada o seu valor.

5
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

Operador de diviso inteira. Por exemplo, 5 \ 2 = 2. Tem a mesma precedncia do operador de diviso
\
tradicional.
Operadores aritmticos tradicionais de adio, subtrao, multiplicao e diviso. Por conveno, * e / tm
+,-,*,
/ precedncia sobre + e -. Para modificar a ordem de avaliao das operaes, necessrio usar parnteses
como em qualquer expresso aritmtica.
MOD ou Operador de mdulo (isto , resto da diviso inteira). Por exemplo, 8 MOD 3 = 2. Tem a mesma precedncia
% do operador de diviso tradicional.
Operador de potenciao. Por exemplo, 5 ^ 2 = 25. Tem a maior precedncia entre os operadores
^
aritmticos binrios (aqueles que tm dois operandos).

Operadores de Caracteres

Operador de concatenao de strings (isto , cadeias de caracteres), quando usado com dois valores
+ (variveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de
Janeiro".

Operadores Relacionais

=, <, Respectivamente: igual, menor que, maior que, menor ou igual a, maior ou igual a, diferente de. So utilizados
>, <=, em expresses lgicas para se testar a relao entre dois valores do mesmo tipo. Exemplos: 3 = 3 ( 3 igual
>=, <> a 3?) resulta em VERDADEIRO ; "A" > "B" ("A" est depois de "B" na ordem alfabtica?) resulta em FALSO.

Importante: No VisuAlg, as comparaes entre strings no diferenciam as letras maisculas das


minsculas. Assim, "ABC" igual a "abc". Valores lgicos obedecem seguinte ordem: FALSO <
VERDADEIRO.
Operadores Lgicos

Operador unrio de negao. nao VERDADEIRO = FALSO, e nao FALSO = VERDADEIRO. Tem a maior
nao
precedncia entre os operadores lgicos.
ou Operador que resulta VERDADEIRO quando um dos seus operandos lgicos for verdadeiro.
e Operador que resulta VERDADEIRO somente se seus dois operandos lgicos forem verdadeiros.
xou Operador que resulta VERDADEIRO se seus dois operandos lgicos forem diferentes, e FALSO se forem iguais.

Comandos de Sada de Dados


escreva (<lista-de-expresses>)
Escreve no dispositivo de sada padro (isto , na rea direita da metade inferior da tela do
VisuAlg) o contedo de cada uma das expresses que compem <lista-de-expresses>. As
expresses dentro desta lista devem estar separadas por vrgulas; depois de serem avaliadas, seus
resultados so impressos na ordem indicada. equivalente ao comando printf do C
possvel especificar o nmero de espaos no qual se deseja escrever um determinado
valor. Por exemplo, o comando escreva(x:5) escreve o valor da varivel x em 5 espaos,
alinhando-o direita. Para variveis reais, pode-se tambm especificar o nmero de casas
fracionrias que sero exibidas. Por exemplo, considerando y como uma varivel real, o comando
escreva(y:6:2)escreve seu valor em 6 espaos colocando 2 casas decimais.

6
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

escreval (<lista-de-expresses>).
Idem ao anterior, com a nica diferena que pula uma linha em seguida.
Exemplos:
algoritmo "exemplo"
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
Note que o VisuAlg separa expresses do tipo numrico e lgico com um espao esquerda,
mas no as expresses do tipo caractere, para que assim possa haver a concatenao. Quando se
deseja separar expresses do tipo caractere, necessrio acrescentar espaos nos locais
adequados.

Comando de Entrada de Dados


leia (<lista-de-variveis>)
Recebe valores digitados pelos usurio, atribuindo-os s variveis cujos nomes esto em
<lista-de-variveis> ( respeitada a ordem especificada nesta lista). anlogo ao comando
scanf do C.
Veja no exemplo abaixo o resultado:
algoritmo "exemplo 1"
var x: inteiro;
inicio
leia (x)
escreva (x)
fimalgoritmo
O comando de leitura acima ir exibir uma
janela como a que se v ao lado, com a
mensagem padro:
"Entre com o valor de <nome-de-
varivel>"

7
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

Se voc clicar em Cancelar ou teclar Esc durante a leitura de dados, o programa ser
imediatamente interrompido.

Comando de Desvio Condicional


se <expresso-lgica> entao
<seqncia-de-comandos>
fimse
Ao encontrar este comando, o VisuAlg analisa a <expresso-lgica>. Se o seu resultado
for VERDADEIRO, todos os comandos da <seqncia-de-comandos> (entre esta linha e a linha
com fimse) so executados. Se o resultado for FALSO, estes comandos so desprezados e a
execuo do algoritmo continua a partir da primeira linha depois do fimse.
se <expresso-lgica> entao
<seqncia-de-comandos-1>
senao
<seqncia-de-comandos-2>
fimse
Nesta outra forma do comando, se o resultado da avaliao de <expresso-lgica> for
VERDADEIRO, todos os comandos da <seqncia-de-comandos-1> (entre esta linha e a linha
com senao) so executados, e a execuo continua depois a partir da primeira linha depois do
fimse. Se o resultado for FALSO, estes comandos so desprezados e o algoritmo continua a ser
executado a partir da primeira linha depois do senao, executando todos os comandos da
<seqncia-de-comandos-2> (at a linha com fimse).
Estes comandos equivalem ao if...else do C. Note que no h necessidade de delimitadores
de bloco (como begin e end), pois as seqncias de comandos j esto delimitadas pelas palavras-
chave senao e fimse. O VisuAlg permite o aninhamento desses comandos de desvio condicional.

Comando de Seleo Mltipla


O VisuAlg implementa (com certas variaes) o comando switch_case do C. A sintaxe a
seguinte:
escolha <expresso-de-seleo>
caso <exp11>, <exp12>, ..., <exp1n>
<seqncia-de-comandos-1>
caso <exp21>, <exp22>, ..., <exp2n>
<seqncia-de-comandos-2>
...
outrocaso
<seqncia-de-comandos-extra>
fimescolha
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: ")

8
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

leia (time)
escolha time
caso "Flamengo", "Fluminense", "Vasco", "Botafogo"
escreval (" um time carioca.")
caso "So Paulo", "Palmeiras", "Santos", "Corinthians"
escreval (" um time paulista.")
outrocaso
escreval (" de outro Estado.")
fimescolha
fimalgoritmo

Comandos de Repetio
O VisuAlg implementa as trs estruturas de repetio usuais nas linguagens de programao:
o lao contado para...ate...faca (similar ao for do C), e os laos condicionados
enquanto...faca (similar ao while) e repita...ate (similar ao do_while). A sintaxe destes
comandos explicada a seguir.
Para ... faa
Esta estrutura repete uma seqncia de comandos um determinado nmero de vezes.
para <varivel> de <valor-inicial> ate <valor-limite> [passo
<incremento>] faca
<seqncia-de-comandos>
fimpara

a varivel contadora que controla o nmero de repeties do lao. Na verso atual, deve
<varivel > ser necessariamente uma varivel do tipo inteiro, como todas as expresses deste
comando.

<valor-inicial> uma expresso que especifica o valor de inicializao da varivel contadora antes da
primeira repetio do lao.
<valor-limite > uma expresso que especifica o valor mximo que a varivel contadora pode alcanar.
opcional. Quando presente, precedida pela palavra passo, uma expresso que
especifica o incremento que ser acrescentado varivel contadora em cada repetio do
lao. Quando esta opo no utilizada, o valor padro de <incremento> 1. Vale a
<incremento > pena ter em conta que tambm possvel especificar valores negativos para
<incremento>. Por outro lado, se a avaliao da expresso <incremento > resultar em
valor nulo, a execuo do algoritmo ser interrompida, com a impresso de uma mensagem
de erro.
Indica o fim da seqncia de comandos a serem repetidos. Cada vez que o programa chega
neste ponto, acrescentado varivel contadora o valor de <incremento >, e comparado
fimpara a <valor-limite >. Se for menor ou igual (ou maior ou igual, quando <incremento >
for negativo), a seqncia de comandos ser executada mais uma vez; caso contrrio, a
execuo prosseguir a partir do primeiro comando que esteja aps o fimpara.

<valor-inicial >, <valor-limite > e <incremento > so avaliados uma nica vez
antes da execuo da primeira repetio, e no se alteram durante a execuo do lao, mesmo
que variveis eventualmente presentes nessas expresses tenham seus valores alterados.
No exemplo a seguir, os nmeros de 1 a 10 so exibidos em ordem crescente.

9
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

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

Enquanto ... faa


Esta estrutura repete uma seqncia de comandos enquanto uma determinada condio
(especificada atravs de uma expresso lgica) for satisfeita.
enquanto <expresso-lgica> faca
<seqncia-de-comandos>
fimenquanto

Esta expresso que avaliada antes de cada repetio do lao. Quando seu
<expresso-lgica>
resultado for VERDADEIRO, <seqncia-de-comandos> executada.
Indica o fim da <seqncia-de-comandos> que ser repetida. Cada vez que a
execuo atinge este ponto, volta-se ao incio do lao para que <expresso-
fimenquanto lgica> seja avaliada novamente. Se o resultado desta avaliao for
VERDADEIRO, a <seqncia-de-comandos> ser executada mais uma vez; caso
contrrio, a execuo prosseguir a partir do primeiro comando aps fimenquanto.

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

10
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

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 estrutura 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.

11
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao

EXERCCIOS PROPOSTOS
01- Crie um programa que dados 3 nmeros, calcule a media aritmtica deles.
02- Crie um programa que dados os dois catetos de um tringulo, calcule o valor de sua hipotenusa.
03- Crie um programa que dados 2 nmeros, imprima o maior entre eles.
04- Crie um programa que dado a nota de um aluno (entre 0 e 10) imprima "Aprovado" para nota
>=6 ou "Reprovado" para nota menor que 6.
05- Crie um programa que contenha um menu, leia dois nmeros inteiros (a e b) e calcule:
a+b, se o usurio escolher a opo 1;
a-b, se o usurio escolher a opo 2.
06- Crie um programa que dado um numero N, imprima na tela a seqncia de 0 ate N.
07- Crie um programa que calcula o fatorial do numero que o usurio inserir.

Referncias:
http://www.apoioinformatica.inf.br/visualg/

12

You might also like