Escolar Documentos
Profissional Documentos
Cultura Documentos
de Programação
Aula Prática 3
Algoritmos com
estruturas de decisão
e de repetição com
Visualg
Estruturas de Decisão
O que são estruturas de decisão?
Estruturas de decisão “são estruturas que permitem a
tomada de decisão sobre qual o caminho a ser escolhido,
de acordo com o resultado de uma expressão lógica”
(Souza, 2013, p. 127).
Estruturas de decisões possibilitam incluir nos algoritmos
condições de controle, ou seja, através de uma decisão
certos passos podem ou não ser feitos.
Estruturas de Decisão
Três formas fundamentais: SE-ENTAO, SE-ENTAO-SENAO e
CASO.
Quando utilizamos uma estrutura de decisão no algoritmo,
estamos criando uma decisão binária, a lógica binária, pois
para qualquer teste só existem duas possibilidades: ser
verdadeiro ou ser falso (SOFFNER, 2013).
Normalmente atribui-se ao resultado verdadeiro =1 e
falso =0
Estrutura condicional simples
O losango representa uma condição, um teste.
a) Fluxograma b)Pseudocódigo
Fonte: Artero(2018,pg.59)
Exemplos
Resolvendo SE- ENTÃO - SENÃO
Ex. 01 - Número Par ou Ímpar?
Algoritmo "Descubra se é par ou impar"
Var x: inteiro
Inicio
Escreva("Digite um número inteiro:")
Leia (x)
Se x mod 2 = 0 entao
Escreval("É par")
Senao
Escreval("É impar")
FimSe
FimAlgoritmo
Resolvendo
Ex.02 – Desconto se o pagamento for feito no dia 10
Algoritmo "Desconto"
Var conta, desconto, contafinal : real
dia : inteiro
Inicio
Escreval("Leia o valor da conta:")
Leia(conta)
Escreva("Leia o dia:")
Leia (dia)
desconto <- 0
Resolvendo
Ex.02 – Desconto se o pagamento for feito no dia 10
Escreval("NOTA 4:")
Leia(n4)
TOTAL<- (N1+N2+N3+N4) /4
Se (TOTAL>= 6) entao
Escreval ("ALUNO APROVADO")
Senao
Escreval ("ALUNO REPROVADO")
fimse
fimalgoritmo
Resolvendo
Ex.4- Cálculo com escolha de 2 números e operação
algoritmo "Calculadora Basica "
var
numero1 : REAL
numero2 : REAL
operacao : CARACTERE
resultado : REAL
inicio
ESCREVAL ("Você escolhe 2 numeros e os símbolos ( + , -, *
,/)")
ESCREVA ("Digite o primeiro número: ")
LEIA (numero1)
ESCREVA ("Digite a operação: ")
Resolvendo
Ex.4- Cálculo com escolha de 2 números e operação
LEIA (operacao)
ESCREVA ("Digite o segundo número: ")
LEIA (numero2)
SE operacao = "+" ENTAO
resultado := numero1 + numero2
SENAO
SE operacao = "-" ENTAO
resultado := numero1 - numero2
SENAO
SE operacao = "*" ENTAO
resultado := numero1 * numero2
Resolvendo
Ex.4- Cálculo com escolha de 2 números e operação
SENAO
SE operacao = "/" ENTAO
resultado := numero1 / numero2
FIMSE
FIMSE
FIMSE
FIMSE
ESCREVA ("Resultado: ", resultado)
fimalgoritmo
Resolvendo – Escolha - Caso
Ex.5- Classificação de Atletas
Um determinado clube de futebol pretende classificar seus
atletas em categorias e para isto ele contratou um
programador para criar um programa que executasse esta
tarefa. Para isso o clube criou uma tabela que continha a faixa
etária do atleta e sua categoria. A tabela está demonstrada
abaixo:
IDADE CATEGORIA
De 05 a 10 Infantil
De 11 a 15 Juvenil
De 16 a 20 Junior
De 21 a 25 Profissional
Construa um programa que solicite o nome e a idade de um
atleta e imprima a sua categoria.
Resolvendo
Ex.5- Classificação de Atletas
Algoritmo "CLASSIFICAÇÃO DE ATLETAS"
var
nome, categoria : caractere
idade : inteiro
inicio
Escreva("Nome do Atleta = ")
Leia (nome)
Escreva("Idade do Atleta = ")
Leia (idade)
Resolvendo
Ex.5- Classificação de Atletas
Escolha idade
caso 5,6,7,8,9,10
categoria <- "Infantil"
caso 11,12,13,14,15
categoria <- "Juvenil"
caso 16,17,18,19,20
categoria <- "Junior"
caso 21,22,23,24,25
categoria <- "Profissional"
Resolvendo
Ex.5- Classificação de Atletas
outrocaso
categoria <- "INVALIDO"
Fimescolha
Escreva ("Categoria = ",categoria)
fimalgoritmo
Estruturas de repetição
Estrutura de repetição é um elemento de algoritmo que
permite escolher certos trechos de códigos para serem
executados de forma repetida.
Embora seja um recurso poderoso, deve ser usado da
forma correta, senão pode causar um erro de execução,
pois a estrutura pode entrar em uma repetição infinita
(PIVA JUNIOR et al., 2012).
A chave para evitar esse erro é realizar um teste que
determinará quando a repetição deve parar.
Existem três tipos de estruturas de repetição, a escolha de
qual utilizar dependerá das variáveis que alimentam a
estrutura de repetição, bem como do resultado que se
deseja alcançar, embora algumas vezes as
Estruturas de repetição
diferentes estruturas possam chegar ao mesmo resultado.
Na repetição, um trecho será repetido enquanto o teste
for verdadeiro. Quando for falso, a repetição se encerra.
Certamente não é possível quantificar as repetições dos
cálculos para fazer o homem chegar à lua, sem o uso de
um sistema computacional.
O trecho do algoritmo em repetição pode se chamar laço
ou loop.
Iteração é cada vez que as instruções do bloco do loop são
executadas).Ex:um algoritmo que realiza a soma dos
números de 1 a 100, terá um número de iterações pré-
definido (100).
Estrutura de repetição
Temos estrutura de repetição com teste no inicio, onde
uma condição é testada antes de o ciclo de repetição
começar.
Caso a condição seja verdadeira, o ciclo inicia-se e só para
quando a condição não for mais verdadeira.
A repetição do bloco só será interrompida quando a
condição for falsa.
O segundo tipo de estrutura de repetição é caracterizado
por fazer o teste de controle no final do bloco de comandos
(teste no final).
Nessa estrutura tem-se um bloco que inicia com o comando
“faça” e termina com o teste “enquanto”.
Tal estrutura também é conhecida como laço condicional
pós-teste (MANZANO, 2010).
Estrutura de repetição
Existe ainda uma terceira estrutura de repetição com
variáveis de controle, ou ainda, laço com variável de
controle.
Essa estrutura deve ser utilizada sempre que se conhece o
início e o final das repetições, ou seja, sempre que se sabe
quantas vezes o bloco irá se repetir antes de a execução
acontecer.
As três estruturas de repetição apresentadas nessa seção
compõem todas as opções que você tem para repetir um
trecho do código.
Estrutura de repetição
É possível que diferentes estruturas cheguem no mesmo
resultado, então a escolha de qual usar depende do que
você possui de informação antes de iniciar a repetição, e
como a repetição pode ser mais bem controlada.
Estrutura de repetição com teste no início – enquanto-faça
Ex.6 - Soma
algoritmo "SomaEnquantoValorDiferenteDezero"
var
valorDigitado : REAL
soma : REAL
inicio
soma <- 0
ESCREVA ("Digite um valor para a soma: ")
LEIA (valorDigitado)
ENQUANTO valorDigitado <> 0 FACA
Estrutura de repetição com teste no início – enquanto-faça
Ex.6 - Soma
Ex.7 - Tabuada
algoritmo "tabuada"
Var
Num, i, mult: inteiro
Inicio
Escreva("Digite um nu´mero:")
Leia(num)
para i de 1 ate 10 passo 1 faca
mult <- num * i
Escreval(num, "x", i, "=", mult)
fimpara
Fimalgoritmo
Conceitos
Relatório
Registre suas observações em um relatório a ser entregue no
fim da prática.
Boa atividade a todos!
Obrigada!