Professional Documents
Culture Documents
Estruturas de Repetio:
PARA
ENQUANTO
REPITA...AT
1
Introduo aos
Algoritmos
Introduo aos
Algoritmos
Introduo aos
Algoritmos
Introduo aos
Algoritmos
Tipos de algoritmos
Tipos de algoritmos
Descrio
Narrativa;
SUBJETIVIDADE
Fluxograma;
Pseudocdigo,
Portugus
Estruturado ou
Portugol;
PRECISO
Tipos de algoritmos
Fluxograma
Descrevem o fluxo de
ao de um
determinado trabalho
lgico;
Usa smbolos
convencionais,
permitindo poucas
variaes;
Representados por
smbolos
geomtricos;
Tipos de algoritmos
Fluxograma Conjunto de Smbolos:
INCIO OU FIM DE
ALGORITMO
ENTRADA
DE DADOS
CLCULO OU
ATRIBUIO DE
VALOR
SADA DE
DADOS
FLUXO DE DADOS
DECIS
O
10
Tipos de algoritmos
Exerccio: Faa um algoritmo
(fluxograma) que calcula a mdia de
trs notas de um determinado aluno
e informa se o aluno est aprovado
ou reprovado.
O aluno estar aprovado se sua mdia
for maior ou igual a 7;
11
Tipos de algoritmos
Fluxograma Exerccio:
INCIO
N1, N2,
N3
MEDIA
>= 7
SIM
MEDIA = (N1 + N2 +
N3) / 3
APROVADO
NO
REPROVA
DO
FIM
12
Tipos de algoritmos
Tipos de algoritmos
Normalmente as implementaes so
feitas em papel, escritas a mo;
14
Estrutura Sequencial em
Portugol
Estrutura sequencial
Forma bsica de um algoritmo em
portugol:
ALGORITMO
VARIVEIS
DECLARE
TIPOS DE
DADOS
INSTRUES
FIM_ALGORITMO
16
Tipos de algoritmos
Exemplo: Faa um algoritmo que
calcula e apresenta a multiplicao
entre dois nmeros.
17
Tipos de algoritmos
ALGORITMO
DECLARE N1, N2, M NUMERICO
ESCREVA Digite dois nmeros
LEIA N1, N2
M <- N1 * N2
ESCREVA MULTIPLICAO = , M
FIM_AL
GORITMO
18
Variveis
Variveis
Trata-se de uma representao para
uma posio de memria;
Capaz de reter e representar um valor
ou expresso;
Variveis
Toda varivel associada a um tipo
de valor;
O tipo de uma varivel identifica o
tipo de valor que ela poder receber;
No Portugol, declaramos variveis
logo aps a palavra reservada
DECLARE.
21
Exemplo
ALGORITMO
DECLARE N1, N2, M NUMERICO
NOME LITERAL
ESCREVA Digite dois nmeros
LEIA N1, N2
M <- N1 * N2
ESCREVA MULTIPLICAO = , M
FIM_ALGORITMO
22
Tipos de dados
Tipos de dados
TIPO
Numricos
Literais ou
caracteres
Lgicos
DESCRIO
Representa valores inteiros e
reais
Ex.: 2, 5, -3, 100, -151, 5.6,
-3.45...
Representa texto entre aspas
duplas
Ex.: Sport Recife, B,
1234
Representa os valores lgicos
24
VERDADEIRO ou FALSO
Exemplo
ALGORITMO
DECLARE NOME, ENDERECO LITERAL
IDADE, PESO NUMERICO
EH_SOLTEIRO LOGICO
NOME <- Thyago
ENDERECO <- Rua Tal, 555
IDADE <- 29
EH_SOLTEIRO <- falso
FIM_ALGORITMO
25
Operador de atribuio
Operador de atribuio
Utilizado para inserir um valor ou o
resultado de uma expresso em uma
varivel;
Representado por uma seta apontando
para a esquerda (<-);
S podemos atribuir valores do mesmo
tipo da varivel;
27
Exemplo
ALGORITMO
DECLARE NOME, ENDERECO LITERAL
IDADE, NUM1, NUM2, SOMA
NUMERICO
EH_SOLTEIRO LOGICO
NOME <- Thyago
ENDERECO <- Rua Tal, 555
IDADE <- 29
SOMA <- NUM1 + NUM2
EH_SOLTEIRO <- falso
28
FIM_ALGORITMO
Comandos de entrada e
sada em Portugol
Comandos de entrada e
sada
Comando de entrada (leia)
Utilizado para ler um valor digitado
pelo usurio, armazenando o
referido valor em uma varivel
indicada no comando;
30
Comandos de entrada e
sada
Comando de sada (escreva)
Utilizado para escrever mensagens ou
valores de variveis na sada padro;
31
Exemplo
Faa um algoritmo que leia o nome e
a idade de um indivduo, exibindo-os
logo em seguida;
32
Exemplo
ALGORITMO
DECLARE NOME LITERAL
IDADE NUMERICO
ESCREVA Digite seu nome
LEIA NOME
ESCREVA Digite sua idade
LEIA IDADE
ESCREVA Seu nome , NOME
ESCREVA Sua idade: , IDADE
FIM_ALGORITMO
33
Estruturas Condicionais
Estruturas
Condicionais
Na vida real tomamos decises a todo
momento, baseadas em escolhas;
Em algoritmos, chamamos tais decises
de condies;
Associada a uma condio, existir uma
possvel alternativa;
Exemplo: Se o Sport no vencer o Santa Cruz
na prxima partida, seu tcnico ser demitido;
35
Estruturas
Condicionais
Para criarmos estruturas condicionais
simples em Portugol, utilizamos as
palavras reservadas SE e ENTAO;
Sintaxe:
SE condicao ENTAO
INICIO
// Instrues
FIM
36
Exemplo
Faa um algoritmo que leia a idade
de um indivduo e informe se o
mesmo atingiu a maioridade.
37
Exemplo
ALGORITMO
DECLARE idade NUMERICO
ESCREVA Digite sua idade:
LEIA idade
SE (idade >= 18) ENTAO
INICIO
ESCREVA Voc atingiu a
maioridade
FIM
FIM_ALGORITMO
38
Estruturas
Condicionais
Para criarmos estruturas condicionais
com duas opes de escolha em
Portugol, utilizamos as palavras
reservadas SE, ENTAO e SENAO;
39
Estruturas
Condicionais
Sintaxe:
SE (condicao) ENTAO
INICIO
// Instrues que
// a condio for
FIM
SENAO
INICIO
// Instrues que
// a condio for
FIM
sero executadas se
verdadeira
sero executadas se
falsa
40
Exemplo
Faa um algoritmo que leia a idade
de um indivduo e informe se o
mesmo atingiu a maioridade ou no.
41
Exemplo
ALGORITMO
DECLARE idade NUMERICO
ESCREVA Digite sua idade:
LEIA idade
SE (idade >= 18) ENTAO
INICIO
ESCREVA Voc atingiu a maioridade
FIM
SENAO
INICIO
ESCREVA Voc no atingiu a maioridade
FIM
FIM_ALGORITMO
42
Estruturas
Condicionais
Tambm podemos implementar estruturas
condicionais com mais de uma condio
(expresso);
Subexpresses podem formar uma nica
expresso a partir do uso dos operadores
lgicos E ou OU;
Para sabermos se determinada expresso
ser verdadeira ou falsa, deveremos
checar a sada lgica de cada 43
Exemplo
Uso do operador lgico OU:
Faa um algoritmo que l uma sigla de
um estado brasileiro (considere que o
usurio s ira digitar um dos seguintes
estados: PE, PB, SP ou RJ) e informa se o
estado digitado pertence ao Nordeste ou
ao Sudeste.
44
Exemplo
ALGORITMO
DECLARE sigla LITERAL
ESCREVA Digite uma sigla (PE, PB, RJ, SP):
LEIA sigla
SE (sigla = PE) OU (sigla = PB) ENTAO
INICIO
ESCREVA do Nordeste!
FIM
SE (sigla = RJ) OU (sigla = SP) ENTAO
INICIO
ESCREVA do Sudeste!
FIM
FIM_ALGORITMO
45
Comando de Seleo
Mltipla
Em algumas situaes, existem
situaes mutuamente exclusivas:
Se uma situao for executada, as
demais no sero;
46
Comando de Seleo
Mltipla
Sintaxe:
ESCOLHA (VARIAVEL)
INCIO
CASO VALOR_1
// Instrues que sero executadas caso
// VARIAVEL seja igual a VALOR_1
CASO VALOR_2
// Instrues que sero executadas caso
// VARIAVEL seja igual a VALOR_2
OUTROCASO
// Instrues que sero executadas caso
// VARIAVEL NO seja igual a VALOR_1 e VALOR_2
FIM
47
Exemplo
Faa um algoritmo que l o sexo de
um indivduo (M ou F) e informa se o
mesmo homem ou mulher;
48
Exemplo
ALGORITMO
DECLARE sexo LITERAL
ESCREVA Digite seu sexo:
LEIA sexo
ESCOLHA (sexo)
INICIO
CASO M
ESCREVA um homem
CASO F
ESCREVA uma mulher
OUTROCASO
ESCREVA Caractere invlido!
FIM
49
Exemplo
FIM_ALGORITMO
50
Estruturas de Repetio
Estruturas de
Repetio
Uma estrutura de repetio utilizada
quando...
Um trecho do algoritmo (lista de instrues) ou
at mesmo o algoritmo inteiro precisa ser
repetido;
Estrutura de Repetio
PARA
PARA
Nesta estrutura, uma varivel de controle
inicializada com um valor. Para cada
iterao, seu valor comparado com um
valor final;
A execuo da lista de instrues se
repetir at que a varivel de controle seja
maior que o valor final;
Para cada iterao, a varivel de controle
incrementada;
54
PARA
Sintaxe:
PARA variavel <- val_inicial ATE val_final FACA
INICIO
// Lista de instrues
FIM
55
Exemplo
Faa um algoritmo que escreva os
nmeros entre 1 e 5 (incluindo-os).
56
Exemplo
ALGORITMO
DECLARE i NUMERICO
PARA i <- 1 ATE 5 FACA
INICIO
ESCREVA i
FIM
FIM_ALGORITMO
57
PARA
Para alterarmos a forma de
contagem do lao (crescente ou
decrescente) e quanto a varivel de
controle ser incrementada ou
decrementada, utilizamos a palavra
reservada PASSO, seguida de um
PARA variavel <- val_inicial ATE val_final
valor;
PASSO valor_passo FACA
INICIO
// Lista de instrues
FIMForma geral:
58
Exemplo
Faa um algoritmo que escreva os
nmeros pares entre 1 e 10.
59
Exemplo
ALGORITMO
DECLARE i NUMERICO
PARA i <- 2 ATE 10 PASSO 2 FACA
INICIO
ESCREVA i
FIM
FIM_ALGORITMO
60
Enquanto
Enquanto
Nesta estrutura, uma expresso
lgica avaliada. Se a mesma for
verdadeira, uma lista de comandos
ser executada;
A execuo da lista se repetir at
que a avaliao da condio resulte
em FALSO;
62
Enquanto
Forma geral:
ENQUANTO (condio) FACA
INICIO
// Lista de instrues
FIM
63
Exemplo
Faa um algoritmo que l diversos
nmeros positivos e escreve o dobro
de cada um. Quando um nmero
negativo for digitado, o algoritmo
dever parar de ler nmeros.
64
Exemplo
ALGORITMO
DECLARE numero, dobro NUMERICO
ESCREVA Digite um nmero:
LEIA numero
ENQUANTO (numero >= 0) FACA
INICIO
dobro <- numero * 2
ESCREVA dobro
ESCREVA Digite um nmero:
LEIA numero
FIM
FIM_ALGORITMO
65
Repita...ate
Repita...ate
Nesta estrutura, todas as instrues
so executadas e uma expresso
lgica avaliada;
Sua lista de expresses se repetir
at que a avaliao da condio
resulte em VERDADEIRO;
Cada repetio da lista de instrues
contida na estrutura chamada de
iterao;
A estrutura Repita...at tambm
67
Repita...ate
Utilizamos as palavras reservadas
repita e ate para formar o lao de
repetio;
Forma geral:
REPITA
// Lista de instrues
ATE condio
68
Exemplo
Faa um algoritmo que escreva os
nmeros entre 1 e 10.
69
Exemplo
ALGORITMO
DECLARE numero NUMERICO
numero <- 1
REPITA
ESCREVA numero
numero <- numero + 1
ATE numero > 10
FIM_ALGORITMO
70
Exerccios
Exerccio
Faa um algoritmo que l o salrio
base de um funcionrio, calcula e
mostra o salrio a receber, sabendose que o funcionrio tem gratificao
de 5% sobre o salrio base e paga
imposto de 7% sobre este salrio.
72
Exerccio
ALGORITMO
DECLARE sal, sal_receber, grat, imp
NUMERICO
ESCREVA Digite seu salrio:
LEIA sal
grat <- sal * 5/100
imp <- sal * 7/100
sal_receber <- sal + grat - imp
FIM_ALGORITMO
73
Exerccio
Faa um algoritmo que l o cdigo
correspondente ao cargo de um
funcionrio, seu salrio atual e escreva o
cargo correspondente, o valor do aumento
e seu novo salrio.
CDIGO
CARGO
PERCENTUAL
ESCRITURRIO
50%
SECRETRIO
35%
CAIXA
20%
GERENTE
10%
DIRETOR
No tem
aumento
74
Exerccio
ALGORITMO
DECLARE codigo, salario, aumento, novo_salario
NUMERICO
ESCREVA Digite o cdigo do cargo:
LEIA codigo
ESCREVA Digite o salrio:
LEIA salario
ESCOLHA (codigo)
INICIO
CASO 1
ESCREVA Escriturrio
aumento <- salario * 50/100
75
Exerccio
CASO 2
ESCREVA Secretrio
aumento <- salario * 35/100
CASO 3
ESCREVA Caixa
aumento <- salario * 20/100
CASO 4
ESCREVA Gerente
aumento <- salario * 10/100
CASO 5
ESCREVA Diretor
aumento <- 0
76
Exerccio
OUTROCASO
ESCREVA Cdigo invlido
FIM
novo_salario <- salario + aumento
ESCREVA Valor do aumento:, aumento
ESCREVA O novo salrio :, novo_salario
FIM_ALGORITMO
77
Exerccio
Faa um algoritmo que l a idade de
10 pessoas, calcula e escreve:
A idade do mais velho;
A quantidade de pessoas com idade
entre 12 e 18 anos (incluindo-os);
78
Exerccio
ALGORITMO
DECLARE i, idade, maior, quant NUMERICO
PARA i <- 1 ATE 10 FACA
INICIO
ESCREVA Digite sua idade:
LEIA idade
SE (idade > maior) ENTAO
INICIO
maior <- idade
FIM
79
Exerccio
SE (idade >= 12) E (idade <= 18)
ENTAO
INICIO
quant <- quant + 1
FIM
FIM
ESCREVA maior
ESCREVA quant
FIM_ALGORITMO
80