You are on page 1of 35

FAETERJ-Paracambi

Sistemas de Informao
Algoritmo e Linguagem de Programao 1 AL1
Prof. Carlos Eduardo Costa Vieira

! Operadores
! Aritmticos, Relacionais e Lgicos;
! Hierarquia de Operadores;
! Forma Geral de um Algoritmo no VisuAlg;
! Constantes e Variveis;
! Operador de Atribuio e Linhas de Comentrios;
! Comandos de Entrada e Sada;
! Estrutura Sequencial e Exemplos;
! Bibliografia.
Resumo da Apresentao
Operadores

Operadores Aritmticos VisuAlg
Adio +
Subtrao -
Multiplicao *
Diviso /
Diviso inteira \
Exponenciao ^ ou Exp(<base>, <expoente>)
Mdulo (resto da diviso inteira) % ou mod
! Operadores Aritmticos no VisuAlg
! Operadores Aritmticos: Exemplos

Operadores
Expresso Resultado no VisuAlg
2+4 6
10-5 5
5*4 20
31/8 3.875
31\8 3
24 16
exp(2,4) 16
4%3 1
4 mod 3 1
6%2 0
6 mod 2 0
! Operadores Relacionais no VisuAlg
! Realizam a comparao entre duas expresses e
resultam em valores lgicos (VERDADEIRO OU
FALSO)
Operadores
Operadores Relacionais VisuAlg
Maior >
Menor <
Maior ou igual >=
Menor ou igual <=
Igual =
Diferente <>
! Operadores Relacionais: Exemplos
Operadores
Expresso Resultado no VisuAlg
2+4>3 VERDADEIRO
2+4>=6 VERDADEIRO
3<2 FALSO
2=3 FALSO
4=4 VERDADEIRO
6<>6 FALSO
4<=6
VERDADEIRO
! Operadores Lgicos no VisuAlg
! Atuam sobre expresses e resultam em valores
lgicos VERDADEIRO OU FALSO
Operadores
Operadores Lgicos VisuAlg Significado
Multiplicao lgica E Resulta VERDADEIRO se ambas
as partes forem verdadeiras
Adio lgica OU Resulta VERDADEIRO se uma das
partes verdadeira

Negao

NAO
Nega uma afirmao, invertendo o
s e u v a l or l g i c o: s e f or
VERDADEIRO torna-se FALSO e
vice-versa.
! Tabelas-Verdade dos Operadores Lgicos
Operadores
A B A E B A OU B
FALSO FALSO FALSO FALSO
FALSO VERDADEIRO FALSO VERDADEIRO
VERDADEIRO FALSO FALSO VERDADEIRO
VERDADEIRO VERDADEIRO VERDADEIRO VERDADEIRO
A B NAO A NAO B
FALSO FALSO VERDADEIRO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO FALSO
VERDADEIRO FALSO FALSO VERDADEIRO
VERDADEIRO VERDADEIRO FALSO FALSO
! Operadores Lgicos: Exemplos
Operadores
Expresso Resultado no VisuAlg
(2+4>3) e (3<>3) FALSO
(2+4>3) e (3=3) VERDADEIRO
(3<2) ou (1=3) FALSO
(3<2) ou (1<>3) VERDADEIRO
nao(2<>2) VERDADEIRO
nao(2=2) FALSO
nao(4<=6) e nao(3>4)
FALSO
! Em expresses podemos utilizar parnteses
para maior compreenso e para definirmos
prioridades para a resoluo da mesma;
! Os parnteses indicam quais sub-expresses,
dentro de uma expresso, sero executadas
primeiro;
! A execuo da esquerda para a direita, mas
alm dos parnteses, existem prioridades
entre os operadores envolvidos na expresso.
Hierarquia de Operadores
Hierarquia de Operadores
Operador
Aritmtico
Prioridade
Exponenciao 3 (maior)
Multiplicao 2
Diviso 2
Adio 1
Subtrao 1 (menor)
Operador
Lgico
Prioridade
E 3
OU 2
NAO 1
Operador Prioridade
Operadores aritmticos 3
Operadores relacionais 2
Operadores lgicos 1
! Hierarquia de Operadores: Exemplos
Hierarquia de Operadores
Expresso Resultado no VisuAlg
2+2/2 3
(2+2)/2 2
2*4/2+2 6
2*4/(2+2) 2
(2<3) ou (3<2) e (4>10) VERDADEIRO
((2<3) ou (3<2)) e (4>10) FALSO
(2*5>3) ou (5+1<2) e (2<7-2) VERDADEIRO
Algoritmo "<nome do algoritmo>"
var
<declarao de variveis>
inicio
<lista de comandos>
Fimalgoritmo
! A primeira linha composta pela palavra reservada
Algoritmo seguida do seu nome delimitado por aspas
duplas. Este nome ser usado como ttulo nas janelas de
leitura de dados;
! A Seo <declarao de variveis> comea com a
palavra reservada var e termina com a palavra reservada
inicio. a parte do algoritmo onde descrevemos os tipos
de dados que sero usados na Seo <lista de
comandos>;

Forma Geral de um Algoritmo
! A Seo <lista de comandos> comea com a
palavra reservada inicio e termina com a palavra
reservada Fimalgoritmo. a parte do algoritmo
onde escrevemos uma lista com uma ou mais
instrues ou comandos;
! As palavras em negrito so as palavras reservadas da
linguagem, isto , fazem parte da sintaxe da linguagem e
no podem ser utilizadas para outros propsitos;
! A linguagem do VisuAlg permite apenas um comando
por linha;
! Deve-se usar identao na codificao dos programas
(deslocamento para direita das instrues
subordinadas).
Forma Geral de um Algoritmo
! Constantes
! Dados que durante a execuo do programa,
permanecem com os seus valores inalterados;
! Importante trat-las pelo nome;
! O nome deve refletir o significado da constante.
! Sintaxe
! CUBO <- 3
! RAIO <- 5.4


Constantes
! Dados cujos valores variam durante a execuo
do programa;
! So entidades que representam dados do
programa e possuem nome e valor;
! Representam uma posio de memria do
c omput a dor em um da do moment o.
Posteriormente, todos os valores podem ser
alterados;
! Detalhes importantes em uma varivel: o
identificador da varivel e o tipo de valor que
essa varivel ir conter.
Variveis
! Sintaxe
! VAR
<identificador 1>, <identificador
2>,...,<identificador n>:<tipo das
variveis>
! onde: <idetificador i> o nome
(identificador) de uma varivel e <tipo das
variveis> determina que tipo de valor as
variveis podero receber.
Variveis
! Regras para a Declarao de Variveis
! Nomes de variveis no podem ser iguais a palavras reservadas;
! Nomes de variveis devem possuir como primeiro caractere uma letra
ou sublinhado '_' (os outros caracteres podem ser letras, nmeros e
sublinhado);
! Nomes de variveis devem ter no mximo 127 caracteres;
! Nomes de variveis no podem conter espaos em branco;
! No h diferena entre letras maisculas e minsculas (NOME o
mesmo que noMe);
! O nome deve refletir o significado da varivel.
! Exemplos:
! Identificadores vlidos: NOME, IDADE_PAI, IdadeFilho, NOTA1, Est_Civil;
! Identificadores invlidos: 3Endereco, Estado Civil, PARA, algoritmo, numero/
complemento.
Variveis
! Algumas Palavras Reservadas do Visualg

Palavras Reservadas
aleatorio para senao passo
abs se inicio pausa
algoritmo enquanto int pi
arccos entao interrompa timer
arcsen escolha leia procedimento
arctan escreva literal ou
para numerico log tan
nao faca logico verdadeiro
ate falso logn rand
caracter fimalgoritmo fimenquanto fimescolha
fimfuncao fimpara fimrepita fimse
! No Visualg Existem Quatro Tipos de Dados
! Inteiro: Representa valores inteiros (sem casas
decimais)
! Ex: 10, 5, -5, -10, 0, 1, 2, 3
! Real: Representa valores reais (com casas decimais,
separadas por ponto)
! Ex: 10, 15.5, -14.67, 6.8
! Caractere: Representa texto (seqncia ou cadeia de
caracteres) entre aspas duplas
! Ex: "Esta uma cadeia de caracteres", "B", "1234"
! Lgico: Representa valores lgicos (VERDADEIRO ou
FALSO).
Tipos de Dados
! Declarao de Variveis e Tipo de Dados
Algoritmo "Declara Variaveis"
Var
b: inteiro
valor1, valor2: real
nome_pai, nome_aluno: caractere
sinalizador: logico
inicio
<lista de comandos>
Fimalgoritmo
Exemplo
! A instruo de atribuio permite que o contedo de uma
varivel seja alterado;
! Sintaxe:
! Nome_Var <- valor_var
! Nome_Var := valor_var
! onde um valor ou o resultado de uma expresso ser armazenado
sob um nome simblico que est a esquerda do sinal de atribuio
(<- ou :=);
! Ex1:
! Peso := 58.4
! Nome <- "Joo da Silva"
! Achei := VERDADEIRO
! Obs:
! 1 S possvel atribuir s variveis valores do mesmo tipo da
varivel;
! 2 esquerda do comando de atribuio deve haver um (e somente
um) identificador de varivel.
Operador de Atribuio
! Declaraes no compiladas que podem conter
qualquer informao textual que voc queira adicionar
ao cdigo-fonte para referncia e documentao de
seu programa;
! Comentrios de uma linha
! So representados por duas barras normais ( // ). Todo o
texto que voc digitar aps as duas barras ser um
comentrio;
! Ex: //Este mtodo calcula o fatorial de um nmero.
! Quando se deseja escrever comentrios que ocupem
vrias linhas, cada uma delas dever comear por "//".
Comentrios
! Operador de Atribuio e Comentrios
Algoritmo "Atribuicao e Comentarios"
Var
b: inteiro
valor1, valor2: real
nome_pai, nome_aluno: caractere
sinalizador: logico
inicio
//Atribui o valor 4 a variavel b
b <- 4
//Soma 10 a variavel b
b <- b + 10
//Atribui o valor 4.55 a variavel valor1
valor1 := 4.55
//Atribui o valor Jos Carlos a variavel
//denominada nome_pai
nome_pai := "Jos Carlos"
//Atribui VERDADEIRO a variavel sinalizador
sinalizador := VERDADEIRO
Fimalgoritmo
Exemplo
! Transporta informaes de um perifrico de
entrada para a memria principal do computador.
As informaes so lidas de um dispositivo de
entrada, geralmente do teclado;
! Sintaxe:
! leia(<identificadores>)
! Ex:
! leia(NomeCliente)
! leia(NumeroConta)
! leia(a,b)
Comando de Entrada
! Transporta informaes da memria principal do
computador para um perifrico de sada. As
informaes so exibidas em um dispositivo de sada
(impressora ou vdeo);
! Sintaxe:
! escreval(<expresso ou identificador>,
,<expresso ou identificador>)
! escreva(<expresso ou identificador>,
,<expresso ou identificador>)
! onde: escreval mostra o resultado em linhas
diferentes e escreva mostra o resultado na mesma
linha.
Comandos de Sada
! Comandos Escreva e Escreval
Algoritmo "Escreva e Escreval"
Var
Y: inteiro
X: real
Inicio
X <- 3.5
Y <- 4
Escreva("O valor de X ", X)
Escreva(" e o valor de Y ", Y,".")
Escreval(" A soma de X e Y ", X+Y)
Escreval("O valor de X ", X)
Escreval("e o valor de Y ", Y)
Escreval("A soma de X e Y ", X+Y)
Fimalgoritmo



Exemplo
! Formatao
! 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.
Comandos de Sada
! Formatao
Algoritmo "Formatacao Saida"
Var
X: inteiro
Y: real
Inicio
X <- 4
Y <- 2.5
Escreval("X com 3 espaos", X:3)
Escreval("X com 5 espaos", X:5)
Escreval("Y com 6 esp. e dois decimais", Y:6:2)
Escreval("Y com 4 esp. e dois decimais", Y:4:2)
Fimalgoritmo
Exemplo
! Deve-se mandar uma mensagem antes para o
usurio, assim ele saber qual o contedo
que deve ser digitado;
! Ex:
Escreva("Digite seu nome: ")
Leia(Nome)
Escreva("Digite seu banco: ")
Leia(Banco)
Escreva("Digite sua conta: ")
Leia(Conta)
Comandos de Entrada/Sada
! Mensagens
Algoritmo "Mensagens"
Var
Nome, Banco: caracter
Inicio
Escreva("Digite seu nome:")
Leia(Nome)
Escreva("Digite seu banco:")
Leia(Banco)
Escreval("O seu nome ", Nome)
Escreval("O seu banco ", Banco)
Fimalgoritmo
Exemplo
! Em um algoritmo, aparecem em primeiro lugar as
decl araes segui das por comandos ou
instrues da linguagem;
! Em uma Estrutura Sequencial, os comandos do
algoritmo so executados em uma sequncia
linear (de cima para baixo, um aps o outro e
uma nica vez), sem que haja desvios na
sequncia das instrues;
! Os algoritmos em VisuAlg so delimitados pelas
palavras Algoritmo e FimAlgoritmo.
Estrutura Sequencial
Algoritmo "Clculo de Mdia Aritmtica"
Var
A,B,Media: REAL
Inicio
//Entrada Leitura dos valores
Escreval("Calcula a mdia aritmtica de 2 valores.")
Escreva("Digite um valor : ")
Leia(A)
Escreva("Digite outro valor : ")
Leia(B)
//Processamento Clculo da Mdia
Media <- (A+B)/2
//Sada Impresso do resultado
Escreva("A mdia dos dois valores : ", Media)
FimAlgoritmo
Exemplo 1
Exemplo 2
! Algoritmo "Numero_Lido_ao_Quadrado"
var
Elev: INTEIRO
Numero, Num_Quad: REAL //Declaracao de Variaveis
Inicio
ELEV <- 2 //Funciona como uma Constante
//Entrada: Leitura do Valor Numerico
Escreva("Entre com um valor numrico:")
Leia(Numero)
//Processamento: Calculo do quadrado de um numero
Num_Quad <-(Numero^ELEV)
//Sada: Impressao do nmero lido e do resultado
Escreval("O nmero lido foi: ", Numero)
Escreva("O quadrado do nmero

lido : ", Num_Quad)
FimAlgoritmo
! GOODRICH, Michael T; TAMASSIA, Roberto.
Estrutura de Dados e Algoritmos em Java.
4. ed. Porto Alegre: Bookman, 2007.
! LOPES, Anita; GARCIA, Guto. Introduo
Programao: 500 Algoritmos Resolvidos. Rio
de Janeiro: Elsevier, 2002.
! PUGA, Sandra; RISSETTI, Gerson. Lgica de
Programao e Estrutura de Dados: com
Aplicaes em Java. So Paulo: Prentice-Hall do
Brasil , 2003.
Bibliografia

You might also like