Professional Documents
Culture Documents
Usando Visualg
por
Jaqueline Oliveira
Introduo a Lgica de Programao
Ateno:
Segundo Farrer et all (2011, p. 29) contante um determinado valor fixo que no se
modifica ao longo do tempo, durante a execuo de um programa. Conforme o seu tipo
pode ser classificada em: Numrica, Lgica ou Literal.
Por exemplo: O nmero fixo (2) usado para calcular a mdia aritmtica (Media)
considerado uma constante numrica.
Media <- (N1+N2)/2
As constantes no precisam ser declaradas num programa.
b) Varivel
a representao simblica dos elementos de um certo conjunto. Cada varivel
corresponde a uma posio de memria, cujo contedo pode se alterado ao longo do
tempo durante a execuo de um programa.
Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a
cada instante.
Numricas
Caracteres
Exemplo: nomes
Alfanumricas
OBS: Se usado somente para armazenamento de nmeros, no poder ser utilizada para
operaes matemticas
Lgicas
Por exemplo:
Nesse exemplo so criadas cinco variveis: nome, sexo, numero, A e raiz. Todas elas
foram declaradas na rea destinada a declarao: var. Cada uma delas possui um tipo
diferente. Conforme Farrer et all (2011, p.31) no momento em que se declara uma
varivel, feita a associao do nome escolhido, ou identificador, com a respectiva
posio de memria que o mesmo assa a simbolizar.
Ateno:
Os nomes das variveis devem comear por uma letra e depois conter letras, nmeros ou underline, at um
limite de 30 caracteres. As variveis podem ser simples ou estruturadas (na verso atual, os vetores podem
ser de uma ou duas dimenses). No pode haver duas variveis com o mesmo nome, com a natural
exceo dos elementos de um mesmo vetor.
A seo de declarao de variveis comea com a palavra-chave var, e continua com as seguintes
sintaxes:
<lista-de-variveis> : <tipo-de-dado>
<lista-de-variveis> : vetor "["<lista-de-intervalos>"]" de <tipo-de-dado>
Na verso atual do VisuAlg, tanto <valor-inicial> como <valor-final> devem ser inteiros. Alm disso, exige-
se evidentemente que <valor-final> seja maior do que <valor-inicial>.
Exemplos:
var a: inteiro
Valor1, Valor2: real
vet: vetor [1..10] de real
matriz: vetor [0..4,8..10] de inteiro
nome_do_aluno: caractere
sinalizador: logico
Note que no h a necessidade de ponto e vrgula aps cada declarao: basta pular linha. A declarao
de vetores anloga linguagem Pascal: a varivel vet acima tem 10 elementos, com os ndices de [1] a
[10], enquanto matriz corresponde a 15 elementos com ndices [0,8], [0,9], [0,10], [1,8], [1,9], [1,10], ... at
[4,10]. O nmero total de variveis suportado pelo VisuAlg 500 (cada elemento de um vetor contado
individualmente).
Operadores
Tipos de operadores:
Operadores Descrio
+,- 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.
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. Ele segura o resto da
diviso.
E / AND
OU/OR
Uma expresso OR (OU) verdadeira se pelo menos uma condio for verdadeira
Nao/NOT
Verdadeiro/True
Falso/False
Para estabelecer prioridades no que diz respeito a qual operao executar primeiro, utilize
os parnteses
Operadores Descrio
=, <, >, <=, >=, <> 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.
Lembrete:
a) (A+C) > B
b) B >= (A + 2)
c) C = (B A)
d) (B + A) <= C
e) (C+A) > B
2) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expresses abaixo so verdadeiras
ou falsas
Teste de Mesa
Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de
TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa
para verificar se o procedimento utilizado est correto ou no. O teste de mesa seria a
simulao da execuo do programa. Esse teste visa identificar a existncia de erros de
lgica.
O Visualg possui um campo que realiza o teste de mesa automaticamente ao solicitar a
execuo passo a passo. Ao digitar o valor correspondente ao nmero o valor da
varivel ira modificar de 0 para o numero 10 que fora digitado pelo usurio. Conforme
ilustrado na figura 2.
Comandos Bsicos
Ex.: Leia n
Ateno
Escreva ( reprovado)
O comando ESCREVA pode ser usado para mostrar uma varivel ou uma expresso.
Quando for mostrar uma expresso esta dever estar entre parentese, conforme a figura
5.
1- Sequencia
2- Seleo
Comandos de Deciso : Conduzem a estruturas de programas que no so totalmente
seqenciais.
Com as instrues de SALTO ou DESVIO pode-se fazer com que o programa proceda de
uma ou outra maneira, de acordo com as decises lgicas tomadas em funo dos dados
ou resultados anteriores.
caso a condio seja verdadeira o comando da condio ser executado, caso contrrio
o comando da condio falsa ser executado
Atividades
Infantil A = 5 a 7 anos
Infantil B = 8 a 11 anos
Juvenil A = 12 a 13 anos
Juvenil B = 14 a 17 anos
Estrutura de Repetio
Fimenquanto
Ateno
Os comandos Enquanto e Repita realizam a mesma funo porm o que muda o teste
da condio. No enquanto o teste realizado no inicio e no repita no final.
-Repetio com nmero determinado
Repete a execuo do bloco um nmero definido de vezes, pois ela possui limites fixos
Sintaxe:Para ... de.. At ...
Fimpara
Atividades
1) Escreva um programa que pergunte nome, idade e sexo Mostre sua idade daqui a
50 anos.
2) Determine o maior e o menor valor de um conjunto de nmeros inteiros positivos.
Considere que o conjunto de dados de entrada termina quando fornecido o nmero 5.
3) Faa um algoritmo que conte de 1 a 100 e a cada mltiplo de 10 emita uma
mensagem: Mltiplo de 10.
4) Elabore um programa que leia uma massa de dados contendo SEXO, IDADE e
ESTADO CIVIL (Casado/ Solteiro/Divorciado/ Outros) de um grupo de 100 pessoas e
determine, ao final:
a)Mdia de idade das mulheres
b)Estado civil mais relevante entre os entrevistados.
5) Faa um algoritmo que leia dois nmeros e identifique se so iguais ou diferentes.
Caso eles sejam iguais imprima uma mensagem dizendo que eles so iguais. Caso sejam
diferentes, informe qual nmero o maior, e uma mensagem que so diferentes.
6) Escrever um algoritmo que leia trs valores inteiros distintos e os escreva em ordem
crescente
7) Escrever um algoritmo que leia trs valores inteiros e verifique se eles podem ser os
lados de um tringulo. Se forem, informar qual o tipo de tringulo que eles formam:
equiltero, isscele ou escaleno. Propriedade: o comprimento de cada lado de um
tringulo menor do que a soma dos comprimentos dos outros dois lados.
8) Escreva um programa que leia um nmero e se for par imprima nmero par, se for
mpar imprimir nmero impar.
9) Escreva um programa que pergunte trs nomes diferentes e os imprima em ordem
alfabtica.
10) Um autdromo necessita de um programa para verificar qual o carro mais rpido em
uma competio. Considerando que dois carros participam da competio, o programa
pergunta qual o comprimento da pista(em metros) e quanto tempo (em segundos) cada u
dos carros levou para percorrer a pista, e informa a velocidade do carro mais rpido.
Considere que em uma corrida no existe dois carros com tempos de percurso
exatamente iguais.
Principais Funes
Todo programa vem com um conjunto de funes para facilitar a vida do programador,
como se fosse uma caixa preta que resolve o clculo proposto. Estas funes realizam os
clculos aritmticos, trigonomtricos e de manipulao e converso de dados mais
comuns; assim, o programador no tem que reinventar a roda a cada programa que faz. A
este grupo de funes d-se s vezes o nome de biblioteca.
As funes podem ser atribudas a uma varivel.
Funes numricas, algbricas e trigonomtricas
Abs( expresso) - Retorna o valor absoluto de uma expresso do tipo inteiro ou real.
Equivale a | expresso | na lgebra.
ArcCos( expresso) - Retorna o ngulo (em radianos) cujo co-seno representado por
expresso.
ArcSen( expresso) - Retorna o ngulo (em radianos) cujo seno representado por
expresso.
ArcTan( expresso) - Retorna o ngulo (em radianos) cuja tangente representada por
expresso.
Cos( expresso) - Retorna o co-seno do ngulo (em radianos) representado por
expresso.
CoTan( expresso) - Retorna a co-tangente do ngulo (em radianos) representado por
expresso.
Exp( base, expoente) - Retorna o valor de base elevado a expoente, sendo ambos
expresses do tipo real.
GraupRad( expresso) - Retorna o valor em radianos correspondente ao valor em graus
representado por expresso.
Int( expresso) - Retorna a parte inteira do valor representado por expresso.
Log( expresso) - Retorna o logaritmo na base 10 do valor representado por expresso.
LogN( expresso) - Retorna o logaritmo neperiano (base e) do valor representado por
expresso.
Pi - Retorna o valor 3.141592.
Quad( expresso) - Retorna quadrado do valor representado por expresso.
RadpGrau( expresso) - Retorna o valor em graus correspondente ao valor em radianos
representado por expresso.
RaizQ( expresso) - Retorna a raiz quadrada do valor representado por expresso.
Rand - Retorna um nmero real gerado aleatoriamente, maior ou igual a zero e menor
que um.
RandI( limite) - Retorna um nmero inteiro gerado aleatoriamente, maior ou igual a zero e
menor que limite.
Sen( expresso) - Retorna o seno do ngulo (em radianos) representado por expresso.
Tan( expresso) - Retorna a tangente do ngulo (em radianos) representado por
expresso.
Os valores que esto entre parnteses, representados pelas palavras como expresso,
base e expoente, so os parmetros, ou como dizem alguns autores, os argumentos que
passamos para a funo para que realize seus clculos e retorne um outro, que usaremos
no programa. Algumas funes, como Pi e Rand, no precisam de parmetros, mas a
maioria tem um ou mais. O valor dos parmetros naturalmente altera o valor retornado
pela funo.
Funes para manipulao de cadeias de caracteres (strings)