• Save
Algoritmos - capítulo 4
Upcoming SlideShare
Loading in...5
×
 

Algoritmos - capítulo 4

on

  • 868 views

Algoritmos com seleção.

Algoritmos com seleção.

Statistics

Views

Total Views
868
Slideshare-icon Views on SlideShare
828
Embed Views
40

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 40

http://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 35
http://www.slideshare.net 5

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmos - capítulo 4 Algoritmos - capítulo 4 Presentation Transcript

    • Algoritmos e lógica de programação Estruturas de Seleção por Carlos Emilio Padilla Severo
    • Cronograma Introdução Conceito sobre seleção Estrutura de seleção Tipos de estruturas de seleção Seleção simples Seleção aninhada Seleção múltipla
    • Introdução...Contexto: Considere o problema de cálculo da média aritmética de um aluno. No problema em questão devemos obter as notas das avaliações para podermos calcular a média, vejamos o algoritmo. variaveis numerico n1, n2, me Inicio escrever “Informe o valor da primeira avaliação: “ ler n1 escrever “Informe o valor da segunda avaliação: “ ler n2 me := (n1 + n2) / 2 escrever “A média do aluno foi “, me fim
    • Introdução Note que o algoritmo anterior calcula a média do aluno, mas não permite uma avaliação do resultado. Sendo assim, não poderemos avaliar se o aluno está ou não em recuperação: Seria interessante variaveis informar se o aluno numerico n1, n2, me foi aprovado por média. inicio escrever “Informe o valor da primeira avaliação: “ ler n1 escrever “Informe o valor da segunda avaliação: “ ler n2 me := (n1 + n2) / 2 escrever “A média do aluno foi “, me fim
    • Conceito sobre seleção As estruturas algorítmicas de seleção permitem a tomada de decisão. Um teste define qual sequência de instruções deverá ser executada pelo algoritmo. A decisão é tomada de acordo com o resultado lógico (verdadeiro ou falso) do teste. Hum, a média foi maior que seis? Sim Não Então vamos informar Neste caso que o aluno está informamos que o aprovado. aluno está em recuperação.
    • Estrutura de seleção... O comando se é utilizado para elaboração de uma estrutura de seleção. A forma básica da comando é a seguinte: se <teste lógico> entao <sequência de instruções 1> senao <sequência de instruções 2> fim_se Onde: <teste lógico> expressão lógica que retorna verdadeiro ou falso. <sequência de instruções 1> será executada se verdadeiro. <sequência de instruções 2> será executada se falso.
    • Estrutura de seleção Exemplo: variaveis numerico n1, n2, me inicio escrever “Informe o valor da primeira avaliação: “ ler n1 escrever “Informe o valor da segunda avaliação: “ ler n2 me := (n1 + n2) / 2 se me < 6 entao escrever “O aluno está em recuperação, sua média foi “, me senao escrever “O aluno está aprovado, sua média foi “, me fim_se fim
    • Seleção simples... Uma simplificação da estrutura de seleção é realizada quando desejamos verificar se um conjunto de instruções deve ou não ser executado. se <teste lógico> entao <sequência de instruções> fim_se Se o resultado do teste lógico for verdadeiro então a sequência de instruções será realizada.
    • Seleção simples Um exemplo de seleção simplificada. Se o valor contido na variável maior não representa o maior variaveis valor digitado, então devemos numerico maior, menor, auxiliar trocar os valores das variáveis. Legal, vou utilizar uma variável Inicio auxiliar para troca. escrever “Informe o primeiro valor: “ ler maior escrever “Informe o segundo valor: “ ler menor se maior < menor entao auxiliar := maior maior := menor menor := auxiliar fim_se escrever “O maior valor é “, maior, “ e o menor valor é “, menor fim
    • Seleção aninhada... Determinadas situações exigem a definição de um segundo teste no interior da estrutura de decisão. Isso caracteriza uma estrutura de seleção aninhada. se <teste lógico> entao se <outro teste lógico> entao <sequência de instruções 1> fim_se senao <sequência de instruções 2> fim_se
    • Seleção aninhada variaveis numerico n1, n2, me, re, mf Inicio escrever “Informe o valor da primeira avaliação: “ ler n1 escrever “Informe o valor da segunda avaliação: “ ler n2 me := (n1 + n2) / 2 se me < 6 entao escrever “O aluno está em recuperação, informe a nota: “ ler re mf := (me + re) / 2 se mf < 6 entao escrever “O aluno foi aprovado na recuperação, sua média final foi “, mf senao escrever “O aluno foi reprovado na recuperação, sua média final foi “, mf fim_se senao escrever “O aluno está aprovado por média, sua média foi “, me fim_se fim
    • Seleção múltipla Contexto: Vejamos um problema que contextualiza a utilização da seleção múltipla. Uma empresa resolve conceder aumento salarial para seus funcionários da seguinte forma: 13% para salários menores ou iguais a R$200,00; 11% para os salários acima de R$200,00 até R$400,00; 9% para os salários acima de R$400,00 até R$800,00 e 7% para os demais salários. Podemos resolver esse problema utilizando uma estrutura de seleção através do comando se. Como ficaria? 13% 11% 9% 7% ?
    • Solução através do comando SEVariaveis Numerico SalarioAtual, SalarioNovo, IndiceInicio Escrever "Digite o salário atual" Ler SalarioAtual Se SalarioAtual <= 200 entao Indice := 1.13 Senao Se (SalarioAtual > 200) e (SalarioAtual <= 400) entao Indice := 1.11 Senao Se (SalarioAtual > 400) e (SalarioAtual <= 800) entao Indice := 1.09 Senao Indice := 1.07 O aninhamento de instruções Fim_se SE torna o algoritmo ilegível. Fim_se Além disso, a atribuição de valor Fim_se SalarioNovo := SalarioAtual * Indice para variável indice aparece Escrever "Salario Atual = ", SalarioAtual quatro vezes. Embora, seja Escrever "Salario Novo = ", SalarioNovo executada uma única vez.Fim
    • Comando FACA CASO Através de faca caso o algoritmo irá selecionar entre várias sequências de comandos qual deverá ser executada. Torna o algoritmo mais legível.Sintaxe: A estrutura de seleção múltiplafaca caso FACA CASO é mais útil quando caso (Expressao lógica 1): o número de fluxos de execução sequencia de comandos 1 é maior ou igual três. caso (Expressao logica 2): sequencia de comando 2 ... caso (Expressao logica n): sequencia de comando n outro_caso: sequencia de comando xfim_caso
    • Aumento salarial por faixasVariaveis Numerico SalarioAtual, SalarioNovo, IndiceInicio Escrever "Digite o salário atual" Utilizando a estrutura de seleção Ler SalarioAtual múltipla FACA CASO. Faca caso caso SalarioAtual <= 200: Indice := 1.13 caso (SalarioAtual > 200) e (SalarioAtual <= 400): Indice := 1.11 caso (SalarioAtual > 400) e (SalarioAtual <= 800): Indice := 1.09 outro_caso: Indice := 1.07 Fim_caso SalarioNovo := SalarioAtual * Indice Escrever "Salario Atual = ", SalarioAtual Escrever "Salario Novo = ", SalarioNovoFim
    • Criação de menus de opçõesvariaveis numerico op, saldo, vlrinicio A estrutura de seleção escrever "1-Saldo" múltipla é muito útil para escrever “2-Saque" construção de menus de escrever “3-Deposito" opção. escrever "Digite sua opcao: “ ler op faca caso caso op = 1: escrever “O saldo atual é: “, saldo caso op = 2: escrever “Qual valor deseja sacar? “ ler vlr saldo := saldo - vlr caso op = 3: escrever “Qual valor deseja depositar? “ ler vlr saldo := saldo + vlr fim_casofim
    • Referências bibliográficasFORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de Programação. 2ª Edição, São Paulo: Pearson, 2000.GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1994.PINTO, Wilson Silva – Introdução ao Desenvolvimento de Algoritmos e Estruturas de Dados. São Paulo: Érica, 1990.FARRER, H. et. al. Algoritmos Estruturados. Rio de Janeiro: LTC, 1999.