Algoritmos Com VisualG

11
A A l l g g o o r r i i t t m m o o s s c c o o m m V V i i s s u u A A l l g g P P r r o o f f . . G Ge e r r s s o o n n V V o o l l n n e e y y L L a a g g e e m ma a n n n n Depto. Eng. de Produção e Sistemas U UD DE E S S C C - - C CC CT T

Transcript of Algoritmos Com VisualG

  • AAllggoorriittmmooss ccoomm VViissuuAAllgg

    PPrrooff.. GGeerrssoonn VVoollnneeyy LLaaggeemmaannnn DDeeppttoo.. EEnngg.. ddee PPrroodduuoo ee SSiisstteemmaass UUDDEESSCC -- CCCCTT

  • Eng. de Produo e Sistemas APG

    2

    Algoritmos com VisuAlg

    Introduo

    A linguagem VisuAlg simples, seu objetivo disponibilizar um ambiente de programao no idioma portugus do Brasil utilizando para tal o Portugol muito usado na bibliografia da rea. Entre as principais caractersticas estruturais da linguagem vale destacar:

    O VisuAlg permite apenas um comando por linha;

    Todas as palavras-chave do VisuAlg foram implementadas sem acentos, cedilha, etc.

    O VisuAlg no distingue maisculas e minsculas no reconhecimento de palavras-chave e nomes de variveis.

    permitida a incluso de comentrios: qualquer texto precedido de "//" ignorado, at se atingir o final da sua linha.

    O formato bsico do pseudocdigo o seguinte: algoritmo "semnome"

    // Funo: // Autor: // Data: //Seo de Declaraes inicio

    // Seo de Comandos fimalgoritmo

    Tipos de Dados

    inteiro: define variveis numricas do tipo inteiro, ou seja, sem casas decimais. Ex. idade, nmero de filhos, quantidade de estados do Brasil.

    real: define variveis numricas do tipo real, ou seja, com casas decimais. Ex. salrio, peso, temperatura.

    caractere: define variveis do tipo string, ou seja, cadeia de caracteres.

  • Eng. de Produo e Sistemas APG

    3

    Ex. nome, endereo, frase logico: define variveis do tipo booleano, ou seja, com valor VERDADEIRO ou

    FALSO.

    O VisuAlg permite tambm a declarao de variveis estruturadas atravs da palavra-chave vetor.

    Nomes de Variveis

    Os nomes das variveis devem obrigatoriamente comear por uma letra. Aps a primeira letra poder conter letras, nmeros ou underline ( _ ), at um limite de 30 caracteres. As variveis podem ser simples ou estruturadas (vetores de uma ou duas dimenses). Variveis no podem ter nomes iguais.

    Iniciar a declarao de variveis obrigatoriamente com o termo var, seguir com os nomes das variveis separados por ,, colocar o sinal : e finalmente informar o tipo daquela varivel ou lista de variveis.

    Ex.: var a: inteiro

    valor1, valor2 : real

    nome_aluno : caractere

    Obs: A identao da linha 1 para a linha 2 no obrigatria, mas recomendvel para melhor visualizao.

    Constantes

    O VisuAlg tem trs tipos de constantes:

    Numricas: 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. O VisuAlg no suporta separadores de milhares.

    Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas (").

  • Eng. de Produo e Sistemas APG

    4

    Lgicos: admite os valores VERDADEIRO ou FALSO.

    Comando de Atribuio

    A atribuio de valores a variveis feita com o operador

  • Eng. de Produo e Sistemas APG

    5

    Palavras Reservadas do VisuAlg

    aleatrio enquanto funcao para

    algoritmo entao inicio passo

    arquivo escolha int pausa

    asc escreva inteiro pos

    ate escreval interrompa real

    carac faca leia procedimento

    caracpnum falso limpatela repita

    caractere fimalgoritmo logico retorne

    caso fimenquanto maiusc se

    compr fimescolha minusc senao

    copia fimfuncao mod timer

    cronometro fimpara nao var

    debug fimprocedimento numpcarac vetor

    e fimrepita ou verdadeiro

    eco fimse outrocaso xou

    Entrada de Dados no Programa

    Para passar um dado para o programa vamos usar o comando Leia. Assim, se voc precisa das notas das provas de um aluno para que o programa calcule a mdia voc deve usar esta instruo para que o usurio do programa possa digit-la e ento o programa possa calcular a mdia. A sintaxe deste comando :

    Leia

    Se definssemos as variveis:

    var nota1, nota2, media : real

    ento usaramos o comando:

  • Eng. de Produo e Sistemas APG

    6

    Leia nota1

    Leia nota2

    ou

    Leia (nota1, nota2)

    Supondo que o usurio digitasse 7.5" teclasse ENTER e digitasse 6.5 e teclasse ENTER, o valor "7.5" seria atribudo a varivel nota1 e o valor 6.5 a nota2,

    automaticamente. Quando usar leia(nota1, nota2) necessrio que aps digitar a nota1 seja teclado ENTER e ento digitada a nota2 e teclado ENTER novamente.

    Sada de Dados do Programa

    A lgica de qualquer programa indica que pelo menos um resultado ele deve fornecer. Podemos ter programas que no necessariamente necessitem ler algum dado para sua execuo, porm no tem sentido um programa executar e no exibir nenhuma informao a respeito do que foi processado. Nos algoritmos usamos o comando Escreva. A sintaxe deste comando a seguinte:

    Escreva

    Expresso1, Expresso2 so valores de qualquer tipo, separados por vrgula. Estes valores podem ser constantes ou variveis. Caso a expresso seja uma varivel o que ser exibido o seu valor.

    Comandos (algoritmo) Resultado (tela do computador) Escreva ("Al, mundo!") Al, mundo! Escreva (20) 20 var nome : caracter

    var idade : numerico

    nome "Jos"

    idade 40

  • Eng. de Produo e Sistemas APG

    7

    Escreva (nome) Jos Escreva ("O meu nome ", nome) O meu nome Jos Escreva ("Tenho ", idade, " anos") Tenho 40 anos

    Mais exemplos:

    Comando Comentrio 1 var A : inteiro Definio de uma varivel de nome A do tipo

    inteiro A 3 O valor de A passa a ser 3 Escreva (A * 5) Ser mostrado o valor 15, pois A=3 e 3 * 5 =

    15 2 var A, B : inteiro Definio de duas variveis de nome A e B do

    tipo inteiro A 10 O valor de A passa a ser 10 B A * 3 O valor de B passa a ser 30 Escreva (B A + 1) Ser mostrado o valor 21 (30 10 + 1) B 40 O valor de B passa a ser 40 Escreva (B A + 1) Ser mostrado o valor 31 (40 10 + 1)

    3 Var x inteiro Definio de uma varivel de nome x do tipo inteiro

    Leia x Ser obtido o nmero que ser digitado pelo usurio.

    Escreva (x * 2) Ser mostrado o dobro do valor digitado pelo usurio.

    Operadores Relacionais

    Nome Smbolo

    Igual =

    Diferente

    Menor <

    Maior >

    Menor ou igual =

  • Eng. de Produo e Sistemas APG

    8

    Instruo de Deciso SE

    Forma Geral: se entao instruo_1

    instruo_2

    .

    .

    instruo_n

    senao

    instruo_1

    instruo_2

    .

    .

    instruo_n

    fimse

    O resultado da obtida pela interpretao lgica a partir da utilizao de um dos operadores relacionais acima ou ainda de uma combinao entre eles. Veja o exemplo a seguir:

    algoritmo "media"

    // Funo : media // Autor : Gerson // Data : 09/08/2010 // Seo de Declaraes var

    n1, n2: inteiro

    m : real

    inicio

    // Seo de Comandos Escreva ("Informe a nota1: ") leia (n1) escreva ("Informe a nota 2: ") leia (n2)

  • Eng. de Produo e Sistemas APG

    9

    m

  • Eng. de Produo e Sistemas APG

    10

    Forma Geral: enquanto faca instruo_1

    instruo_2

    . LAO

    .

    instruo_n

    fimenquanto

    Veja exemplo abaixo

    A Instruo de Repetio Para_Faa

    Similar a instruo enquanto_faa a para_faa serve para que uma determinada sequncia de instrues seja repetida um nmero finito de vezes. O nmero de repeties controlado por uma instruo lgica que caso VERDADEIRA executa as instrues do lao e caso FALSA abandona o lao, seguindo para a primeira instruo aps o fimpara. A diferena entre as duas instrues est no incremento automtico que a instruo fimpara apresenta.

    A 1

    A< 11

    Escreva (A)

    A 1 + 1

    INICIO

    FIM

    S

    N

    algoritmo "lista"

    // Funo : lista // Autor : Gerson // Data : 09/08/2010 // Seo de Declaraes var

    A: inteiro

    inicio

    // Seo de Comandos A

  • Eng. de Produo e Sistemas APG

    11

    Forma Geral: para de ate faca

    instruo_1

    instruo_2

    . LAO

    .

    instruo_n

    fimpara

    Veja exemplo abaixo.

    algoritmo "lista"

    // Funo : lista // Autor : Gerson // Data : 09/08/2010 // Seo de Declaraes var

    A: inteiro

    inicio

    // Seo de Comandos para A de 1 ate 10 passo 1 faca

    escreva (A) fimpara

    fimalgoritmo

    Referncias Bibliogrficas

    MAZIOLI, J. R. Apostila: Lgica de Programao com VisuAlg. CEET: Vila Velha ES, 2008. SOUZA, C. M. VisuAlg. http://www.apoioinformatica.inf.br/programas - acessado em 09/08/2010.