Você está na página 1de 25

01/05/2023

PROGRAMAÇÃO

ALGORITMOS

PSEUDOCÓDIGOS
Sintaxe do VisualG

2
01/05/2023

Operadores Aritméticos

5/2=2.5
5\2=2
5^2=25 ou Exp(5,2)=25
5%2=1 21%6=3
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
01/05/2023

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 e
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 à 6

variável Achei o valor FALSO.


01/05/2023

Prioridades dos Operadores


Aritmeticos

EXEMPLOS:
(2 + 2)/2 resulta 2
2 + 2/2 resulta 3

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
01/05/2023

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.

SINTAXE
Algoritmo "<nome do algoritmo>"
var
< declaração de variaveis>
inicio
< lista de comandos>
fimalgoritmo

10
01/05/2023

SINTAXE
VARIÁVEIS
VAR
<identificador 1>, <identificador 2>, ...,
<identificador n>: <tipo de dado>

11

SINTAXE
VARIÁVEIS- ALGUMAS REGRAS

a. Nomes de variáveis não podem ser iguais a palavras reservadas;


b. Nomes de variáveis devem possuir como primeiro caractere uma
letra ou sublinhado '_' (os outros caracteres podem ser letras,
números e sublinhado);
c. Nomes de variáveis devem ter no máximo 127 caracteres;
d. Nomes de variáveis não podem conter espaços em branco;
e. Na sintaxe do Português Estruturado, não ha diferença entre letras
maiúsculas de minúsculas (NOME e o mesmo que noMe). 12
01/05/2023

SINTAXE
VARIÁVEIS- ALGUMAS REGRAS

Exemplos:
Identificadores validos: NOME, TELEFONE, IDADE_FILHO,
IdadeFilho, NOTA1, Est_Civil
Identificadores inválidos: 3Endereco, Estado Civil, PARA,
algoritmo, numero/complemento

13

SINTAXE
PALAVRAS RESERVADAS

14
01/05/2023

SINTAXE
TIPOS DE DADOS

15

SINTAXE
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
01/05/2023

SINTAXE
COMANDO DE ENTRADA E SAÍDA

EXEMPLO:
Escreva ("Digite seu nome: ")
Leia (nome)
Escreval ("Digite sua agencia ")
Leia (NumeroAgencia)
Escreva ("Digite sua conta: ")
Leia (NumeroConta)

17

SINTAXE
EXEMPLO
Algoritmo "Calculo de Media Aritmetica"
VAR A,B,Media : REAL
Inicio
Escreva ("Programa que calcula a media
aritmetica de dois valores.")
Escreva ("Digite um valor : ")
Leia (A)
Escreva ("Digite outro valor : ")
Leia (B)
Media <- (A+B)/2
Escreva ("A media dos dois valores e : ",
Media) 18

FimAlgoritmo
01/05/2023

PROGRAMAÇÃO
VISUALG

19

VISUALG

20
01/05/2023

ESTRUTURAS
DE
CONTROLE
21

SINTAXE
COMANDO DE DECISÃO (SE)
se <condição> entao
<ações (uma ou mais) a serem realizadas se a
condição for verdadeira>
Fimse
EXEMPLO:
se Dinheiro >= 100 então
Ir_ao_Cinema <- VERDADEIRO
Ver_TV <- FALSO
Fimse
se Dinheiro < 100 então
Ir_ao_Cinema <- FALSO
Ver_TV <- VERDADEIRO
Fimse
22
01/05/2023

SINTAXE
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 area do círculo de raio ", Raio, " e ", Area)
fimse
Se Raio <= 0 entao
Escreva ("Raio não pode ser nulo ou negativo!")
fimse
fimalgoritmo

23

SINTAXE
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
01/05/2023

SINTAXE
EXEMPLO
Algoritmo "Calcula Area do Circulo"
VAR
Area, Raio: Real
inicio
Escreva("Entre com raio do circulo")
Leia (Raio)
Se Raio > 0 entao
Area <- PI*(Raio^2)
Escreva ("A area do circulo de raio ", Raio, " e ", Area)
senao
Escreva ("Raio nao pode ser nulo ou negativo!")
Fimse
fimalgoritmo 25

SINTAXE
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
01/05/2023

SINTAXE
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 <-
Escreva("Idade do Atleta = ") "Profissional"
Leia (idade) outrocaso
Escolha idade categoria <-
caso 5,6,7,8,9,10 "INVALIDO"
categoria <- "Infantil" Fimescolha
Escreva (Nome," e da
Categoria ",categoria)
fimalgoritmo

27

ESTRUTURAS
DE
REPETIÇÃO
28
01/05/2023

SINTAXE
Comando REPITA...ATE
repita
<lista de comandos>
ate <expressão lógica ou relacional>

29

SINTAXE
EXEMPLO
Algoritmo que escreve os números de 1 a 10.
algoritmo "DemonstraRepeticao"
VAR
i: INTEIRO i
SAÍDA
inicio 1
1 2 3 4 5 6 7 8 9 10
2
i<- 1
3
repita 4
escreva (i) 5
i<- i + 1 6
ate i > 10 10
11
fimalgoritmo
30
01/05/2023

SINTAXE
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

SINTAXE
Comando ENQUANTO..FACA
enquanto <expressão lógica ou relacional> faca
<lista de comandos>
Fimenquanto

32
01/05/2023

SINTAXE
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
fimalgoritmo 33

SINTAXE
Comando PARA..FACA
para <variavel de controle> de <valor inicial> ate <valor final>
[passo<incremento>] faca
<lista de comandos>
fimpara

34
01/05/2023

SINTAXE
EXEMPLO
Algoritmo que lê 5 números e escreve todos os que forem positivos.
Algoritmo "Positivos"
var
i, numero: inteiro
inicio
para i de 1 ate 5 passo 1 faca Note: Quando o passo é
escreval ("Digite um numero") +1 não e necessário a sua
leia (numero)
se numero>0 entao indicação no ciclo porque
escreval(“Positivo=”,numero) e definido como padrão.
fimse
fimpara
fimalgoritmo

35

VARIÁVEIS INDEXADAS
(VECTORES E MATRIZES)

36
01/05/2023

SINTAXE
VECTORES

<identificador> : vetor [<tamanho>] de < tipo >

Tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do


índice.
Atribuição:
nome[1] <- "João da Silva"
Exemplos
Idade[1] <- 35
1) IDADE: VETOR [1..5] DE INTEIRO
nome[3] <- "Maria Aparecida"
2) NOME: VETOR [1..5] DE CARACTERE
idade[3] <- idade[1]
i <- 5
idade[i] <- 45
37

SINTAXE
VECTORES
ALGORITMO "vetores"
Exemplo2: Algoritmo que recebe 6
VAR
NUMERO: VETOR [1..6] DE INTEIRO números inteiros num vetor e
i, conta_neg: INTEIRO escreve os números recebidos e a
inicio quantidade de negativos.
conta_neg <- 0
para i de 1 ate 6 faca
Escreval("Introduza o numero para i de 1 ate 6 faca
", i) escreva (NUMERO[i])
leia (NUMERO[i]) se NUMERO[i] < 0 entao
Fimpara conta_neg <- conta_neg +
1
fimse
fimpara
escreva ("Total de números
negativos: ", conta_neg)
FIMALGORITMO 38
01/05/2023

SINTAXE
MATRIZES

<identificador> : vetor [<tamanho1>,<tamanho2>] de < tipo >

Tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do


índice.
Atribuição:
Exemplos pessoa[1,1] <- "João da Silva"
1) pessoa: vetor [1..2,1..3] de CARACTERE Pessoa[1,2]<-"Andre"
Pessoa[1,3]<-"Jo"
Pessoa[2,1]<-"Ze"
Pessoa[2,2]<-"Fu"
Pessoa[2,3]<-"To"
39

SINTAXE
MATRIZES

<identificador> : vetor [<tamanho1>,<tamanho2>] de < tipo >

Tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do


índice.

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
01/05/2023

SINTAXE MATRIZES
ALGORITMO "Matriz" se j=2 entao
VAR somaColuna2 <- VALORES[i,j]+
VALORES : VETOR [1..3,1..3] DE REAL somaColuna2
somaLinha3, somaColuna2, somaTudo: REAL Fimse
i, j: INTEIRO //os índice sempre inteiro Fimpara
Inicio Fimpara
somaLinha3 <- 0 Para i de 1 ate 3 faca
somaColuna2 <- 0
para j de 1 ate 3 faca
somaTudo <- 0
Para i de 1 ate 3 faca
escreva (VALORES[i,j], “ ”)
Para j de 1 ate 3 faca Fimpara
Escreva("Digite um valor para a Escreval()
matriz") fimpara
Leia (VALORES[i,j]) escreval ("Soma de todos os elementos
somaTudo <- VALORES[i,j] + somaTudo e ", somaTudo)
se i=3 entao escreval ("Soma dos elementos da
somaLinha3 <- VALORES[i,j]+ linha 3 e ", somaLinha3)
somaLinha3
escreval ("Soma dos elementos da
fimse
coluna 2 e ", somaColuna2)
FIMALGORITMO
41

SUBPROGRAMA

42
01/05/2023

SINTAXE
FUNÇÕES E PROCEDIMENTOS

- Eles reduzem o tamanho do algoritmo.


- Facilitam a compreensão e visualização do algoritmo.
- São declarados no início do algoritmo e podem ser chamados em
qualquer ponto da secção de comandos após sua declaração.

43

SINTAXE FUNÇÕES FUNÇÕES DO PORTUGUÊS ESTRUTURADO

44
01/05/2023

SINTAXE 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

SINTAXE FUNÇÕES CRIADAS POR NÓS


ESTRUTURA DA FUNÇÃO
ESTRUTURA DE ALGORITMO
funcao <identificador>
Algoritmo "<nome do algoritmo>" ([var]<parâmetros>) <tipo de
var retorno>
<declaração de variaveis globais> var
<definição de subprogramas> <declaração de variaveis locais>
inicio
inicio
<lista de comandos>
< lista de comandos> retorne <variavel de retorno>
Fimalgoritmo fimfuncao
Identificador: Nome da função

Passagem de parâmetros por referência: utiliza-se a construção


VAR antes dos identificadores para indicar a passagem por
referência. Os identificadores são separados por vírgula.
46
01/05/2023

SINTAXE FUNÇÕES FUNÇÕES CRIADAS POR NÓS

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

SINTAXE SUB-ROUTINA

procedimento <identificador> ([var]<parâmetros>)


var
<declaração de variaveis locais>
inicio
<lista de comandos>
Fimprocedimento

48
01/05/2023

SINTAXE 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

50

Você também pode gostar