Algoritmos e Estruturas de Dados I
– Estruturas de Controle de Fluxo
Profa. Mercedes Gonzales
Márquez
Algoritmo



Um algoritmo é formado por comandos, que
determinam as ações a serem executadas para
resolver um certo problema.
Estes
comandos
são
organizados
em
estruturas de controle de fluxo (ECF).
ECF determinam a ordem dos comandos e
especificam, em uma dada condição, quais
destes devem ser executados e se devem ser
repetidos.
Algoritmo
Estas estruturas de controle de fluxo são:
Sequencial, Condicional e de Repetição.

Estruturas de controle de fluxo
Estrutura Sequencial: Execução dos comandos
em uma sequência linear (na mesma ordem em
que foram escritas). Exemplo*:
escreva (“Informe seu nome:”)
leia (nome)
escreva (“Informe sua idade:”)
leia (idade)
escreva (“Você se chama”, nome, “e possui”,
idade, “anos!”)
*Todos os algoritmos que foram apresentados até agora.
Estruturas de controle de fluxo
Estrutura Condicional : É utilizada quando há uma
condição lógica que desviará o fluxo do algoritmo
para um diferente bloco de comandos,
dependendo da condição ser verdadeira ou falsa.
Exemplo:
se (A > B) então
escreva “A é maior”
senão
escreva “O B é maior ou são iguais”
Estruturas de controle de fluxo
Estrutura de Repetição: Execução de uma
sequência de comandos repetidas vezes. O
computador abandona o fluxo natural da
execução (de cima para baixo) e volta a executar
a sequência de ações desejada. Exemplo:
M← 1
enquanto (M < 10) faça
A←B
M←M+1
Fim enquanto
A←M
Algoritmo
Adotamos o seguinte formato para um algoritmo
sem módulos
Algoritmo <nome>
declarações de variáveis e constantes
Inicio
comandos
Fim
Estrutura Sequencial
Os comandos deverão ser executados numa
sequência linear, seguindo-se o texto em que
estão escritos, de cima para baixo.
Exemplo:
Algoritmo <exemplo1>
inteiro: a,b,c
Inicio
leia (a,b)
c ← a*b
escreva (a,b,c)
Fim
Estrutura Sequencial – Exemplos
Exercícios de 1 ao 9 dos slides AEDI-comandos.ppt.
Estrutura Sequencial
10. Escreva um algoritmo que leia duas variáveis,
troque o conteúdo entre elas e exiba elas
trocadas.
ANÁLISE : Para trocar o conteúdo de duas
variáveis deve-se guardar o valor da primeira
em uma variável auxiliar, depois atribuir o valor
da segunda variável para a primeira e então
fazer com que a segunda variável fique com o
valor da variável auxiliar.
Estrutura Sequencial
Algoritmo <troca>
inteiro:numero1,numero2,aux
Inicio
leia (numero1,numero2)
aux← numero1
numero1 ← numero2
numero2 ← aux
escreva (numero1,numero2)
Fim
Estrutura Sequencial
11.
Dado um número de 3 algarismos construir outro
número de quatro algarismos de acordo com a
seguinte regra: a) os três primeiros algarismos,
contados da esquerda para a direita são iguais aos do
número dado; b) o quarto algarismo é um dígito de
controle calculado da seguinte forma: primeiro
algarismo + segundo algarismo x 3 + terceiro
algarismo x 5; o dígito de controle é igual ao resto da
divisão dessa soma por 7
Estrutura Sequencial
Algoritmo<3-4algarismos>
inteiro: num, novonum,primer,segun,terc,digitocont
Inicio
leia (num)
terc ←MOD(num,10)
segun ←MOD(DIV(num,10),10)
prim ←DIV(num,10)
digitocont ←MOD(prim+segun*3+terc*5,7)
novonum ←num*10+digitocont
Estrutura Sequencial
12.Faça o algoritmo para calcular qual foi a
porcentagem de desconto dada em um determinado
produto, sabendo-se o preço original do produto e o
preço que foi cobrado por ele depois do desconto.
Estrutura Sequencial
Algoritmo<porcentagem>
real: pre_orig,pre_cob,porc_dscto
Inicio
leia (pre_orig,pre_cob)
porc_dscto ←((pre_orig-pre_cob)/pre_orig)*100
escreva (porc_dscto)
Fim
Estrutura Sequencial
13. Para se obter uma indicação da taxa atual de
inflação, gostaríamos de comparar o preço pago hoje
por um artigo com o preço pago pelo mesmo artigo no
mês anterior. Faça um algoritmo que leia a descrição
do produto comprado, seu preço atual e seu preço no
mês anterior. O algoritmo deve calcular a diferença
algébrica e a diferença percentual entre os preços, e
deve também exibir a seguinte frase: O produto
________ está R$ _____ mais caro, o que
corresponde a um aumento de _____ %.
Estrutura Sequencial
Algoritmo <inflacao>
literal: nome_produto
real: pre_atual, pre_mes_ant,dif_alg,dif_perc
Inicio
leia (nome_produto,pre_atual,pre_mes_ant)
dif_alg ←pre_atual-pre_mes_ant
dif_perc ←(dif_alg/pre_mes_ant)*100
escreva
(“O
produto”,
nome_produto,”está
R$”,dif_alg,”mais caro, o que corresponde a um
aumento de”,dif_perc,”%”)
Fim
Estrutura Sequencial
14. Dado um número inteiro de segundos determinar o
seu valor equivalente em graus, minutos e
segundos. Se a quantidade de segundos for
insuficiente para dar o valor em graus, o valor em
graus deve ser zero. A mesma observação continua
válida em relação a minutos e segundos. Por
exemplo: 3600 segundos = 1 grau, 0 minutos, 0
segundos; 3500 segundos = 0 graus, 58 minutos, 20
segundos.
Download

AEDI-estruturas