32
Algoritmos e estrutura de dados I Profa. Lara Popov Z. B. Oberderfer [email protected]

Algoritmos e estrutura de dados I - IFSC Campus Chapecóprofessores.chapeco.ifsc.edu.br/.../Aula-03-Estrutura-de-Decisao.pdf · Estruturas de Repetição Utilizamos os comandos de

Embed Size (px)

Citation preview

Algoritmos e estrutura de

dados I

Profa. Lara Popov Z. B. [email protected]

2

Processos de Seleção ouEstruturas de DecisãoSe... EntãoSe... Então... SenãoCaso... Selecione

3

Estrutura de Decisão

São decisões lógicas tomadas um função dos dados ou resultados anteriores.

4

Se... Então / If... Then

A estrutura de seleção SE, é usada para tomar decisões, ou seja, desviar a execução do algoritmo de acordo com uma determinada condição.

5

Se... Então

Representação em Pseudocódigo

Se <condição> Então<comandos>

Fim_se

6

Algoritmo em Fluxograma convencionalFaça um algoritmo que

leia um valor inteiro, referente à idade de uma pessoa, e imprima uma mensagem informando que ela pode votar somente se tiver 16 anos ou mais.

7

Algoritmo em Pseudocódigo

Algoritmo “Verifica Idade - 1”Varidade : inteiroInícioEscreva “Informe a sua idade: “Leia idadeSe idade >= 16 EntãoEscreva “Você pode votar!”Fim_seFim

8

Se... Então... SenãoIf... Then... Else

Podemos fazer, além do desvio para quando a condição for verdadeira, também um desvio condicional quando a expressão analisada resultar no valor lógico falso.

9

Se... Então... Senão

Representação em Pseudocódigo

Se <condição> Então<comandos quando a condiçãofor verdadeira>Senão<comandos quando a condiçãofor falsa>Fim_se

10

Algoritmo em Fluxograma convencionalFaça um algoritmo que leia um

valor inteiro, referente à idade de uma pessoa, e imprima uma mensagem informando que ela pode votar somente se tiver 16 anos ou mais, caso contrário informe que ela não pode votar.

11

Algoritmo em Pseudocódigo

Algoritmo “Verifica Idade - 2”Varidade : inteiroInícioEscreva “Informe a sua idade: “Leia idadeSe idade >= 16 EntãoEscreva “Você pode votar!”SenãoEscreva “Você não pode votar!”Fim_seFim

12

Selecione... Caso – Switch... Case

A estrutura de decisão Selecione-Caso é utilizada para testar, na condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo.

Compara-se o resultado obtido no teste com os valores fornecidos em cada cláusula “Caso”.

13

Selecione... Caso

Definição em Pseudocódigo:

Selecione <expressão> Caso <valor1> Faça <comando>Caso <valor2> Faça <comando>Caso <valor3> Faça <comando>Senão <comando>Fim_selecione

14

Algoritmo em PseudocódigoAlgoritmo “Verificar dia da semana”Var

dia : inteiroInício

Escreva “Informe o dia da semana (1 a 7): “Leia diaSelecione dia

Caso 1 Faça Escreva “Domingo”Caso 2 Faça Escreva “Segunda-feira”Caso 3 Faça Escreva “Terça-feira”Caso 4 Faça Escreva “Quarta-feira”Caso 5 Faça Escreva “Quinta-feira”Caso 6 Faça Escreva “Sexta-feira”Caso 7 Faça Escreva “Sábado”Senão Escreva “Dia inválido!”

Fim_selecioneFim

15

Algoritmo em Fluxograma convencional

16

Selecione... Caso – Exemplo 2

17

Exercícios

1) João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de São Paulo (50 quilos) deve pagar um multa de R$ 4,00 por quilo excedente. João precisa que você faça um diagrama de blocos que leia a variável P (peso de peixes) e verifique se há excesso. Se houver, gravar na variável E (Excesso) e na variável M o valor da multa que João deverá pagar. Caso contrário mostrar tais variáveis com o conteúdo ZERO.

18

Exercícios

2) Elabore um algoritmo que leia as variáveis C e N, respectivamente código e número de horas trabalhadas de um operário. E calcule o salário sabendo-se que ele ganha R$ 10,00 por hora. Quando o número de horas exceder a 50 calcule o excesso de pagamento armazenando-o na variável E, caso contrário zerar tal variável. A hora excedente de trabalho vale R$ 20,00. No final do processamento imprimir o salário total e o salário excedente.

19

Exercícios

3) Desenvolva um algoritmo que:– Leia 4 (quatro) números;– Calcule o quadrado de cada um;– Se o valor resultante do quadrado do

terceiro for >= 1000, imprima-o e finalize;– Caso contrário, imprima os valores lidos

e seus respectivos quadrados.

20

Exercícios

4) Faça um algoritmo que leia um número inteiro e mostre uma mensagem indicando se este número é par ou ímpar, e se é positivo ou negativo.

21

Exercícios

5) A Secretaria de Meio Ambiente que controla o índice de poluição mantém 3 grupos de indústrias que são altamente poluentes do meio ambiente. O índice de 3poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1º grupo são intimadas a suspenderem suas atividades, se o índice crescer para 0,4 as industrias do 1º e 2º grupo são intimadas a suspenderem suas atividades, se o índice atingir 0,5 todos os grupos devem ser notificados a paralisarem suas atividades. Faça um algoritmo que leia o índice de poluição medido e emita a notificação adequada aos diferentes grupos de empresas.

22

Exercícios

6) Elabore um algoritmo que dada a idade de um nadador classifique-o em uma das seguintes categorias:

– Infantil A = 5 a 7 anos– Infantil B = 8 a 11 anos– Juvenil A = 12 a 13 anos– Juvenil B = 14 a 17 anos– Adultos = Maiores de 18 anos

23

Estruturas de RepetiçãoUtilizamos os comandos de repetição quando desejamos que um determinado conjunto de instruções ou comandos sejam executados um número definido ou indefinido de vezes, ou enquanto um determinado estado de coisas prevalecer ou até que seja alcançado.

24

Estruturas de Repetição

As estruturas de repetição são muitas vezes chamadas de Laços ou, também, de Loops.

A classificação das estruturas de repetição é feita de acordo com o conhecimento prévio do número de vezes que o conjunto de comandos será executado.

Assim, os laços dividem-se em:– Laços contados;– Laços condicionais.

25

Estruturas de Repetição

Laços Contados: quando se conhece previamente quantas vezes o comando composto no interior da construção será executado.

PseudocódigoPara <var> de <início> até <final> incr de <inc> faça

<comando_composto>

Fim_para

26

Estrutura de Repetição

27

Estruturas de Repetição

28

Estruturas de Repetição

29

Estruturas de Repetição

30

Estruturas de Repetição

31

Estruturas de Repetição As estruturas de controle do fluxo de execução são essenciais para que

se possa alterar a seqüência de execução dos comandos de um programa em função dos dados do mesmo.

As estruturas de decisão permitem escolher qual o caminho a ser seguido num algoritmo em função de uma ou mais condições. A construção Se utiliza apenas uma condição, ao passo que a construção Escolha utiliza uma ou mais condições.

As estruturas de repetição são usadas quando se deseja repetir um trecho de um algoritmo (comando composto). Quando o número de vezes que o trecho será repetido é conhecido diz-se que o laço é do tipo contado (construção Para). Quando este número não é conhecido, mas é função de uma determinada condição, então têm-se os laços condicionais (construção Enquanto e Repita).

As construções Repita e Enquanto diferem uma da outra pelo fato de a primeira efetuar o teste da condição no final da construção e, portanto, executar o comando composto ao menos uma vez. Por outro lado, a construção Enquanto efetua o teste da condição em seu início e executa o comando composto zero ou mais vezes.

32

Exercícios

1) Faça um algoritmo que determine o maior entre N números. A condição de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar calculando o maior até que a entrada seja igual a 0 (ZERO).

2) Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria qualquer preço. O monge, necessitando de alimentos , indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subseqüentes , o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber.

3) Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita uma mensagem: “Múltiplo de 10”.