Algoritmos e Estruturas de Dados I Estruturas de

  • Slides: 18
Download presentation
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo Profa. Mercedes

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

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.

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

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

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

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

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

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 <exemplo 1> 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 – 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

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: numero 1, numero 2, aux Inicio leia (numero 1,

Estrutura Sequencial Algoritmo <troca> inteiro: numero 1, numero 2, aux Inicio leia (numero 1, numero 2) aux← numero 1 ← numero 2 ← aux escreva (numero 1, numero 2) Fim

Estrutura Sequencial 11. número de quatro algarismos de acordo com a seguinte regra: a)

Estrutura Sequencial 11. 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 -4 algarismos> inteiro: num, novonum, primer, segun, terc, digitocont Inicio leia

Estrutura Sequencial Algoritmo<3 -4 algarismos> inteiro: num, novonum, primer, segun, terc, digitocont Inicio leia (num) terc ←MOD(num, 10) segun ←MOD(DIV(num, 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

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

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

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,

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

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.