17

Click here to load reader

Apresentacao 05 algoritmos estruturas de seleção

Embed Size (px)

DESCRIPTION

Apresentacao_05 Algoritmos - Estruturas de Seleção

Citation preview

Page 1: Apresentacao 05  algoritmos   estruturas de seleção

Algoritmos

Estruturas de Seleção

Professora: Maely Moraes

Código: DCC 105

Carga-horária: 60 horas-aula

Page 2: Apresentacao 05  algoritmos   estruturas de seleção

Roteiro

�Estrutura de Seleção � Conceito� Simples� Composta� Aninhada� Múltipla escolha

Page 3: Apresentacao 05  algoritmos   estruturas de seleção

Estrutura de Seleção

�São aquelas que permitem alterar o Fluxo de Execução, de forma a selecionar qual parte deve ser executada

�Essa “decisão” de execução é tomada a partir de uma condição, que pode resultar apenas em Verdade ou Falsidade

�Uma condição é representada por expressões relacionais ou lógicas

Page 4: Apresentacao 05  algoritmos   estruturas de seleção

Estrutura de Seleção

�Considere as seguintes afirmativas:

1. Distribuição gratuita de cestas básicas.

2. Distribuição gratuita de cestas básicas para famílias com 4 ou mais componentes.

3. Distribuição gratuita de ingressos para o cinema, sendo dois para pessoas do sexo feminino e um para pessoas do sexo masculino.

� Conceito: é uma estrutura de controle de fluxo, executando um ou vários comandos se a condição testada for verdadeira e, em alguns casos, executando um ou vários comandos se for falsa.

Page 5: Apresentacao 05  algoritmos   estruturas de seleção

Estrutura de Seleção

�Simples

� Utilizada quando precisamos testar uma certa condição antes de executar um ou mais comandos.

� Sintaxe:se <expressão-lógica> entao

<seqüência-de-comandos>fimse

� A <expressão-lógica> é a condição a ser testada pela ULA, que devolve como resposta: VERDADEIRO ou FALSO.

� A condição pode ser uma simples expressão relacional ou expressão lógica.

Page 6: Apresentacao 05  algoritmos   estruturas de seleção

Estrutura de Seleção

� Exemplo:algoritmo "media_simples"// UNIVERSIDADE FEDERAL DE RORAIMA// Função : Calcula média aritmética e retorna situação do aluno// Autor : Maely Moraes// Data : 25/08/2011// Seção de Declarações var

N1, N2, NF, media: realinicio// Seção de Comandos

escreval ("Entre com a Primeira Nota: ")leia (N1)escreval ("Entre com a Segunda Nota: ")leia (N2)escreval ("Entre com a Nota Final: ")leia (NF)media <-(N1 + N2 + NF) / 3se (media >= 7.0) entao

escreva("Nota: ",media,", Aluno aprovado!")fimse

fimalgoritmo

Page 7: Apresentacao 05  algoritmos   estruturas de seleção

�Composta

� Utilizada em situações em que duas alternativas dependem da mesma condição, uma da condição verdadeira (entao) e a outra da condição falsa (senao).

� Sintaxe:

se <expressão-lógica> entao<seqüência-de-comandos-1>

senao<seqüência-de-comandos-2>

fimse

Estrutura de Seleção

Page 8: Apresentacao 05  algoritmos   estruturas de seleção

� Exemplo:algoritmo "media_simples2"// UNIVERSIDADE FEDERAL DE RORAIMA// Função : Calcula média aritmética e retorna situação do aluno// Autor : Maely Moraes// Data : 25/08/2011// Seção de Declarações var

N1, N2, NF, media: realinicio// Seção de Comandos

escreval ("Entre com a Primeira Nota: ")leia (N1)escreval ("Entre com a Segunda Nota: ")leia (N2)escreval ("Entre com a Nota Final: ")leia (NF)media <-(N1 + N2 + NF) / 3se (media >= 7.0) entao

escreva("Nota: ",media,", Aluno Aprovado!")senao

escreva("Nota: ",media,", Aluno Reprovado!")fimse

fimalgoritmo

Estrutura de Seleção

Page 9: Apresentacao 05  algoritmos   estruturas de seleção

�Aninhada

� Utilizada em situações em que é necessário tomar outras decisões dentro de uma das alternativas da estrutura de seleção se.

� Sintaxe:se <expressão-lógica> entao

<seqüência-de-comandos-1>senao

se <expressão-lógica> entao<seqüência-de-comandos-1>

senao<seqüência-de-comandos-2>

...fimse

fimse

Estrutura de Seleção

Page 10: Apresentacao 05  algoritmos   estruturas de seleção

� Exemplo: algoritmo “maiorde3"// UNIVERSIDADE FEDERAL DE RORAIMA// Função : Retorna o maior de 3 inteiros// Autor : Maely Moraes// Data : 25/08/2011// Seção de Declarações var

A, B, C, max: inteiroinicio// Seção de Comandos

escreval ("Entre com o Primeiro número: ")leia (A)escreval ("Entre com o Segundo número: ")leia (B)escreval ("Entre com o Terceiro número: ")leia (C)se (A > B) entao

se (A > C) entaomax <- A

senaomax <- C

fimse

senaose (B > C) entao

max <- Bsenao

max <- Cfimse

fimseescreval ("O maior número é: ",max)

fimalgoritmo

Estrutura de Seleção

Page 11: Apresentacao 05  algoritmos   estruturas de seleção

�Múltipla Escolha

� Utilizada quando um conjunto de valores discretos e ações diferentes são associadas a cada um desses valores.

� Sintaxe:escolha <variavel>caso <valor11>, <valor12>, ..., <valor1n>

<seqüência-de-comandos-1>caso <valor21>, <valor22>, ..., <valor2n>

<seqüência-de-comandos-2>...outrocaso

<seqüência-de-comandos-extra>fimescolha

Estrutura de Seleção

Page 12: Apresentacao 05  algoritmos   estruturas de seleção

� Exemplo:algoritmo "times"// UNIVERSIDADE FEDERAL DE RORAIMA// Função : Retorna a naturalidade do time// Autor : Maely Moraes// Data : 25/08/2011// Seção de Declaraçõesvar

time: caractereinicio

escreva ("Entre com o nome de um time de futebol: ")leia (time)escolha time

caso "Flamengo", "Fluminense", "Vasco", "Botafogo"escreval ("É um time carioca.")

caso "São Paulo", "Palmeiras", "Santos", "Corínthians"escreval ("É um time paulista.")

outrocasoescreval ("É de outro estado.")

fimescolhafimalgoritmo

Estrutura de Seleção

Page 13: Apresentacao 05  algoritmos   estruturas de seleção

� Fazer um algoritmo para ler um valor x e determinar se ele é par ou impar.

� Para atingir-se o índice olímpico, são realizados vários torneios de corridas de 100 metros. Faça um algoritmo que leia o nome e o tempo de um atleta e apresente sua pontuação, conforme listado abaixo:

� T < 10 seg � 100 pontos

� T >= 10 e T <=13 seg � 70 pontos

� T > 13 Seg � 40 pontos

� Fazer um algoritmo que leia três valores inteiros, determine e imprima o menor deles.

� Fazer um algoritmo que dados três valores distintos, retorne-os em ordem crescente.

Exercícios

Page 14: Apresentacao 05  algoritmos   estruturas de seleção

� Fazer um algoritmo para dados três valores X, Y, Z, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo eqüilátero, isósceles ou escaleno. Se eles não formarem um triângulo, escrever uma mensagem. Antes de começar a elaboração do algoritmo, torna-se necessária a revisão de algumas propriedades e definições.

� Propriedade – O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados.

� Definição 1 – Chama-se triângulo eqüilátero ao triângulo que tem os comprimentos dos três lados iguais.

� Definição 2 – Chama-se triângulo isósceles ao triangulo que tem os comprimentos de dois lados iguais. Portanto, todo triângulo eqüilátero é também isósceles.

� Definição 3 – Chama-se triângulo escaleno ao triângulo que tem os comprimentos de seus três lados diferentes.

Exercícios

Page 15: Apresentacao 05  algoritmos   estruturas de seleção

� Ler um peso na Terra e o número de um planeta e imprimir o valordesse peso neste planeta. A relação de planetas é dada a seguirjuntamente com o valor das gravidades relativas á Terra:

� Para calcular o peso no planeta use a fórmula:

� Pplaneta=Pterra.gravidade

10

Exercícios

# Gravidade

Relativa

Planeta

1 0,37 Mercúrio

2 0,88 Vênus

3 0,38 Marte

4 2,64 Júpiter

5 1,15 Saturno

6 1,17 Urano

Page 16: Apresentacao 05  algoritmos   estruturas de seleção

� Calcular a área total de uma residência (sala, cozinha, banheiro,quartos, área de serviço, quintal, etc).

� O programa deve solicitar a entrada do nome, a largura e ocomprimento de um determinado cômodo.

� Em seguida, deve apresentar a área do cômodo lido e tambémuma mensagem solicitando do usuário a confirmação decontinuar calculando novos cômodos.

� Caso o usuário responda “NÃO”, o programa deve apresentar ovalor total acumulado da área residencial.

Exercícios

Page 17: Apresentacao 05  algoritmos   estruturas de seleção

Referências Bibliográficas

� LOPES, A.: Introdução à Programação: 500 algoritmos resolvidos, Campus, 2002.

� Manual do VisuAlg