Escolar Documentos
Profissional Documentos
Cultura Documentos
ALGORITMOS
1
PSEUDOCÓDIGOS
Sintaxe do VisualG
2
Operadores Aritméticos
3
Operadores Relacionais
Os operadores relacionais realizam a comparação entre dois operandos ou duas
expressões e resultam em valores lógicos (VERDADEIRO ou FALSO)
Exemplos:
2+5>4 resulta VERDADEIRO
3<>3 resulta FALSO
4
Operadores Lógicos
Os operadores lógicos actuam sobre expressões e também resultam em
valores lógicos VERDADEIRO ou FALSO.
Tabela de Verdade
EXEMPLO:
(2+5>4) e (3<>3)
resulta FALSO, pois
VERDADEIRO e FALSO
resulta FALSO. 5
Operador de Atribuição
Para "colocar" um valor em uma variável dentro de um algoritmo,
utilizamos o operador de atribuição. O operador de atribuição é
representado por uma seta (<-) apontando para a esquerda.
Exemplos:
Peso <- 78.7 // Este comando atribui à variável Peso o valor 78.7.
Nome <- "João da Silva" // Este comando atribui à variável Nome o
valor "João da Silva".
Achei <- FALSO // Este comando atribui à variável Achei o valor
FALSO. 6
Prioridades dos Operadores
Aritméticos
EXEMPLOS:
(2 + 2)/2 resulta 2
2 + 2/2 resulta 3
7
Prioridades dos Operadores
EXEMPLOS (Lógicos):
(2>3) ou (3<2) e (2<3) //resultado seria Falso
(2>3) e (3<2) ou (2<3) //resultado seria Verdadeiro 8
Prioridades dos Operadores
NOTA:
O software VisuAlg não possui relacionamento de categorias.
2*5>3 ou 5+1<2 e 2<7-2 // resulta em erro.
(2*5>3) ou (5+1<2) e (2<7-2) // certo seria assim.
9
SINTAX
Algoritmo "<nome do algoritmo>"
var
< declaração de variáveis>
inicio
< lista de comandos>
fimalgoritmo
10
SINTAX
VARIÁVEIS
VAR
<identificador 1>, <identificador 2>, ..., <identificador n>:
<tipo de dado>
11
SINTAX
VARIÁVEIS- ALGUMAS REGRAS
Exemplos:
Identificadores válidos: NOME, TELEFONE, IDADE_FILHO,
IdadeFilho, NOTA1, Est_Civil
Identificadores inválidos: 3Endereco, Estado Civil, PARA,
algoritmo, numero/complemento
13
SINTAX
PALAVRAS RESERVADAS
14
SINTAX
TIPOS DE DADOS
15
SINTAX
COMANDO DE ENTRADA E SAÍDA
SAÍDA:
Escreva (<expressão ou identificador ou constante>,
<expressão ou identificador ou constante>, ..., <expressão
ou identificador ou constante>)
ENTRADA:
Leia (<identificador>)
16
SINTAX
COMANDO DE ENTRADA E SAÍDA
EXEMPLO:
Escreva ("Digite seu nome: ")
Leia (nome)
Escreva ("Digite sua agencia: ")
Leia (NumeroAgencia)
Escreva ("Digite sua conta: ")
Leia (NumeroConta)
17
SINTAX
EXEMPLO
Algoritmo "Cálculo de Média Aritmética"
VAR A,B,Media : REAL
Inicio
Escreva ("Programa que calcula a média aritmética de dois valores.")
Escreva ("Digite um valor : ")
Leia (A)
Escreva ("Digite outro valor : ")
Leia (B)
Media <- (A+B)/2
Escreva ("A média dos dois valores é : ", Media)
FimAlgoritmo
18
PROGRAMACAO
VISUALG
19
VISUALG
20
ESTRUTURAS
DE
CONTROLE
21
SINTAX
COMANDO SE
se <condição> entao
<ações (uma ou mais) a serem realizadas se a condição for
verdadeira>
senao
<ações (uma ou mais) a serem realizadas se a condição for falsa>
Fimse
24
SINTAX
EXEMPLO
Algoritmo "Calcula Area do Circulo"
VAR
Area, Raio: Real
inicio
Escreva("Entre com raio do círculo")
Leia (Raio)
Se Raio > 0 entao
Area <- PI*(Raio^2)
Escreva ("A área do círculo de raio ", Raio, " é ", Area)
senao
Escreva ("Raio não pode ser nulo ou negativo!")
fimse
fimalgoritmo 25
SINTAX
ESCOLHA...CASO
escolha < expressão-de-seleção >
caso < exp 1 > , < exp 2 >, ... , < exp n >
< lista-de-comandos-1 >
caso < exp 1a > , < exp 2a >, ... , < exp na >
< lista-de-comandos-2 >
outrocaso
< lista-de-comandos-3 >
Fimescolha
26
SINTAX
EXEMPLO
Algoritmo "CLASSIFICAÇÃO DE ATLETAS
var caso 11,12,13,14,15
nome, categoria : caractere categoria <- "Juvenil"
idade : inteiro caso 16,17,18,19,20
Inicio categoria <- "Junior"
Escreva("Nome do Atleta = ") caso 21,22,23,24,25
Leia (nome) categoria <- "Profissional"
Escreva("Idade do Atleta = ") outrocaso
Leia (idade) categoria <- "INVALIDO"
Escolha idade Fimescolha
caso 5,6,7,8,9,10 Escreva (Nome," é da Categoria
categoria <- "Infantil" ",categoria)
fimalgoritmo
27
ESTRUTURAS
DE
REPETIÇÃO
28
SINTAX
Comando REPITA...ATE
repita
<lista de comandos>
ate <expressão lógica ou relacional>
29
SINTAX
EXEMPLO
Algoritmo que escreve os números de 1 a 10.
algoritmo "DemonstraRepeticao"
VAR
i: INTEIRO
inicio
i<- 1
repita
escreva (i)
i<- i + 1
ate i > 10
fimalgoritmo
30
SINTAX
EXEMPLO
Algoritmo que escreve os números pares de 10 a 2.
Algoritmo "DecrementoNumerosPares"
var
i: inteiro
inicio
i <- 10
Repita
escreva (i)
i <- i - 2
ate i < 2
Fimalgoritmo
31
SINTAX
Comando ENQUANTO..FACA
enquanto <expressão lógica ou relacional> faca
<lista de comandos>
Fimenquanto
32
SINTAX
EXEMPLO
Algoritmo que lê diversos números positivos e escreve para cada um a sua raiz
quadrada e pâra quando o número não for positivo.
algoritmo “ComEnquanto"
var
i,r: Real
Inicio
Escreval ("Introduza um numero:")
leia (i)
Enquanto i >0 faca
r<- i^0.5 // ou RaizQ(i)
escreva (r)
Escreval ("Introduza outro numero:")
leia (i)
fimenquanto
33
fimalgoritmo
SINTAX
Comando PARA..FACA
para <variável de controle> de <valor inicial> ate <valor final>
[passo<incremento>] faca
<lista de comandos>
fimpara
34
SINTAX
EXEMPLO
Algoritmo que lê 5 números e escreve todos os que forem positivos.
Algoritmo "Positivos"
var
i, numero: inteiro
inicio Note: Quando o passo é +1 não é
para i de 1 ate 5 passo 1 faca necessário a sua indicação no ciclo
escreval ("Digete um numero") porque é definido como padrão.
leia (numero)
se numero>0 entao
escreva (numero)
fimse
fimpara
fimalgoritmo
35
VARIÁVEIS INDEXADAS
(VECTORES E MATRIZES)
36
SINTAX
VECTORES
Exemplos
2) Algoritmo que pede e insere valores reais numa matriz de 3x3 e calcula as
somas:
a) da linha 3 de Valores;
b) da coluna 2 de Valores;
e) de todos os elementos da matriz.
40
SINTAX MATRIZES
ALGORITMO "Matriz" se j=2 entao
VAR somaColuna2 <- VALORES[i,j]+ somaColuna2
VALORES : VETOR [1..3,1..3] DE REAL Fims
somaLinha3, somaColuna2, somaTudo: REAL Fimpara
i, j: INTEIRO //os índice sempre inteiro Fimpara
Inicio Para i de 1 ate 3 faca
somaLinha3 <- 0 para j de 1 ate 3 faca
somaColuna2 <- 0 escreval (VALORES[i,j])
somaTudo <- 0 fimpara
Para i de 1 ate 3 faca fimpara
Para j de 1 ate 3 faca escreval ("Soma de todos os elementos é ",
Escreva("Digite um valor para a matriz") somaTudo)
Leia (VALORES[i,j]) escreval ("Soma dos elementos da linha 3 é ",
somaTudo <- VALORES[i,j] + somaTudo somaLinha3)
se i=3 entao escreval ("Soma dos elementos da coluna 2 é ",
somaLinha3 <- VALORES[i,j]+ somaLinha3 somaColuna2)
fimse FIMALGORITMO
41
SUBPROGRAMA
42
SINTAX
FUNÇÕES E PROCEDIMENTOS
43
SINTAX FUNÇÕES FUNÇÕES DO PORTUGUÊS ESTRUTURADO
44
SINTAX FUNÇÕES FUNÇÕES DO PORTUGUÊS ESTRUTURADO
EXEMPLO:
Algoritmo "RETORNA UM VALOR INTEIRO"
var
valorReal : REAL
valorInteiro : INTEIRO
inicio
valorReal <- 5.8791
valorInteiro <- INT(valorReal)
Escreva("Valor inteiro ", valorInteiro)
Fimalgoritmo
45
SINTAX FUNÇÕES CRIADAS POR NÓS
funcao <identificador>
Algoritmo "<nome do algoritmo>" ([var]<parâmetros>) <tipo de
var retorno>
<declaração de variáveis globais> var
<definição de subprogramas> <declaração de variáveis locais>
inicio inicio
<lista de comandos>
< lista de comandos> retorne <variável de retorno>
Fimalgoritmo fimfuncao
Identificador: Nome da função
EXEMPLO:
Algoritmo "ExemploSoma" inicio
var Escreva("Valor1:")
valor1, valor2, soma:REAL Leia(valor1)
Funcao Fsoma(A,B:Real):Real Escreva("Valor2:")
var Leia(valor2)
total:Real soma<-Fsoma(valor1,valor2)
inicio Escreva(valor1,"+",valor2,"=",soma)
total<-A+B Fimalgoritmo
retorne total
Fimfuncao
47
SINTAX SUB-ROUTINA
48
SINTAX SUB-ROUTINA
EXEMPLO:
inicio
Algoritmo "ExemploProcedimento" Escreva("X:")
var Leia(x)
x, y:REAL Escreva("Y:")
Procedimento troca(var A,B:Real) Leia(y)
var troca(x,y)
aux:Real Escreva("X=",x,"; Y=",y)
inicio Fimalgoritmo
aux<-A
A<-B
B<-aux
// Escreva("X=",A,"; Y=",B)
FimProcedimento
49
FIM
50