Você está na página 1de 35

Algoritmos e Lógica

de Programação
Aula Prática 3

Profa Ms. Adriane Ap. Loper


Conceitos

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)

Possui apenas um teste, e caso esse teste seja verdadeiro,


existe uma ação a ser feita, mas, caso contrário, o bloco dos
comandos é ignorado.
Esse conjunto, 1 teste + ação caso verdadeiro, é o que
caracteriza a condicional simples.
Estrutura condicional simples
Para melhor entendermos a condicional simples, vamos
escrever um algoritmo para um estabelecimento, que todo dia
10 concede um desconto de 25% a seus clientes. Portanto, se o
dia do mês for 10, o desconto será concedido, caso contrário,
nenhum tratamento especial precisa ser feito para o valor da
conta. E AGORA???????
a)Fluxograma b)Pseudocódigo
Estrutura condicional composta
a) Fluxograma b)Pseudocódigo

Fonte: Artero(2018, pg.60)

 Agora temos dois conjuntos de ações, um para verdadeiro


e outro para falso.
 No pseudocódigo usado para representar as condicionais
compostas aparece o “senão”, que marca o início do bloco
caso o teste seja falso.
Estrutura condicional composta
Exemplo: Vamos criar uma estrutura condicional composta
para o setor de qualidade de uma empresa fabricante de
processadores de computadores.
A empresa padronizou o tamanho de suas peças em 16 cm².
Portanto, cada processador, antes de ser liberado para venda,
passa por um controle de qualidade, e um dos requisitos a ser
verificado é o seu tamanho.
Caso o processador tenha o tamanho padronizado, ele é
liberado para venda, caso contrário, ele é descartado.
Estrutura condicional composta
Exemplo: Vamos criar uma estrutura condicional composta
para o setor de qualidade de uma empresa fabricante de
processadores de computadores.
A empresa padronizou o tamanho de suas peças em 16 cm².
Portanto, cada processador, antes de ser liberado para venda,
passa por um controle de qualidade, e um dos requisitos a ser
verificado é o seu tamanho.
Caso o processador tenha o tamanho padronizado, ele é
liberado para venda, caso contrário, ele é descartado.
Estrutura condicional composta
a) Fluxograma b)Pseudocódigo

Fonte: Artero(2018, pg.62)

O teste de qualidade para o tamanho do processador,


comparando valores de diferentes variáveis dentro de uma
mesma condição.
Caso
a) Fluxograma b)Pseudocódigo

Fonte: Artero(2018, pg.65)

Um teste é feito e, caso falso, faz-se o segundo teste, e assim


por diante. Caso nenhum teste resulte em verdadeiro, existe
um conjunto de comandos que será realizado.
Caso
Vamos escolher sanduíches do McDonald”s?
Se escolhermos o numero 1 :será Big Mac; 2: será Quarteirão;
3: será McChicken; 4: será CBO; Outros número será OPÇÃO
ERRADA!
Resolução da SP

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

se (dia = 10) entao


desconto <- conta * (25/100)
fimse
Escreval("O valor do desconto é: ",desconto)
contafinal <- (conta - desconto)
Escreval("O valor que você pagará é: ",contafinal)
Fimalgoritmo
Resolvendo
Ex.03 - Cálculo da média para aprovação. A média é 6.

Algoritmo "Aprovado ou Reprovado"


var
N1,N2,N3,N4,TOTAL: REAL
inicio
Escreval("NOTA 1:")
Leia(N1)
Escreval("NOTA 2:")
Leia(N2)
Escreval("NOTA 3:")
Leia(n3)
Resolvendo
Ex.03 - Cálculo da média para aprovação. A média é 6.

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

ESCREVAL ("Total: ", soma)


ESCREVA ("Digite um valor para a soma: ")
LEIA (valorDigitado)
FIMENQUANTO
ESCREVAL ("Resultado: ", soma)
fimalgoritmo
Estrutura de repetição com variável de controle

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!

Você também pode gostar