03 - Estruturas de Decisão.pdf
-
Upload
yugo-alencar -
Category
Documents
-
view
217 -
download
0
Transcript of 03 - Estruturas de Decisão.pdf
-
7/23/2019 03 - Estruturas de Deciso.pdf
1/32
Universidade Federal da Paraba
Centro de Informtica
Introduo Programao
Prof. Bruno Jefferson
1Bruno Jefferson (2015)
-
7/23/2019 03 - Estruturas de Deciso.pdf
2/32
Roteiro Estrutura sequencial
Estruturas de deciso Deciso Simples
Deciso Composta
Exerccios
Bruno Jefferson (2015) 2
-
7/23/2019 03 - Estruturas de Deciso.pdf
3/32
Estruturas bsicas Na construo de algoritmos, existem
basicamente trs tipos de estruturas decontrole:
Estrutura sequencial.
Estrutura de deciso.
Estrutura de repetio.
Bruno Jefferson (2015) 3
-
7/23/2019 03 - Estruturas de Deciso.pdf
4/32
Fluxo de execuo Est relacionado com a ordem e o
nmero de vezes com que as instruesde um programa so executadas.
O fluxo natural de execuo seguido se todas as instrues doprograma so executadas exatamente
uma vez.
Bruno Jefferson (2015) 4
-
7/23/2019 03 - Estruturas de Deciso.pdf
5/32
Estrutura sequencial Em um algoritmo, os comandos devero
ser executados numa sequncia linear,seguindo a direo de cima para baixo eda esquerda para a direita.
Linguagem Algortmica
incio
comando-1
comando-2
...
comando-n
fim
algoritmo ADICAO
real A,B,SOMA
leia(A,B)
SOMA
-
7/23/2019 03 - Estruturas de Deciso.pdf
6/32
Estruturas de deciso Deciso simples
Quando se deseja executar um comando ou uma
sequncia de comandos caso uma determinadacondio seja verdadeira.
Linguagem Algortmica Fluxograma
se condio entocomando-1comando-2
. . .comando-nfim-se
Bruno Jefferson (2015) 6
-
7/23/2019 03 - Estruturas de Deciso.pdf
7/32
Deciso simples Exemplo
Algoritmo para ler da entrada padro trs notas, calcular
sua mdia e exibir na tela a palavra Aprovado, caso oaluno tenha uma mdia maior ou igual a sete.
algoritmo CALCULA_MEDIA_NOTAS
real media, n1, n2, n3string situacao
leia(n1, n2, n3)
media (n1 + n2 + n3) / 3
se (media 7) ento
situacao "Aprovado
escreva(situacao)
fim-se
fim-algoritmo
Bruno Jefferson (2015) 7
-
7/23/2019 03 - Estruturas de Deciso.pdf
8/32
Estrutura sequencialExerccios1. Determine os valore finais de A, B e C aps a execuo do
trecho do algoritmo abaixo:
2. A ordem das atribuies importante? A
-
7/23/2019 03 - Estruturas de Deciso.pdf
9/32
Estrutura de deciso Deciso composta
Utilizada quando se deseja executar um entredois ou mais blocos de comandos, conformeo resultado da avaliao de uma condio.
Bruno Jefferson (2015) 9
-
7/23/2019 03 - Estruturas de Deciso.pdf
10/32
Estrutura de deciso Deciso composta
Linguagem Algortmica Fluxograma
se (condio) entocomando-A1
comando-A2...comando-An
senocomando-B1
comando-B2...comando-Bn
fim-se
Bruno Jefferson (2015) 10
-
7/23/2019 03 - Estruturas de Deciso.pdf
11/32
Expresses Lgicas Quadro resumo
Expresso 1 Operador Expresso 2 Resultado
V V V
F F
F F F
V ou V V
V ou F V
F ou F F
- no V F
- no F VBruno Jefferson (2015) 11
-
7/23/2019 03 - Estruturas de Deciso.pdf
12/32
Deciso composta Exemplo
Faa um algoritmo que leia o peso de umapessoa com altura mediana e exiba na tela sua
situao de acordo com o quadro abaixo:
Bruno Jefferson (2015) 12
Peso Situao
> 80 Voc est acima do peso.
>70 e
-
7/23/2019 03 - Estruturas de Deciso.pdf
13/32
Deciso composta Soluo
algoritmo analisa_pesoreal peso
leia(peso)
se (peso > 80) ento
escreva("Voc est acima do peso.)escreva("Faa atividades fsicas)
senose (peso > 70 e peso
-
7/23/2019 03 - Estruturas de Deciso.pdf
14/32
Estrutura de decisoExerccios1. Verificar se um nmero menor, igual ou maior que
zero.2. Escreva um algoritmo que leia dois nmeros e exiba-osem ordem crescente.
3. Escreva um algoritmo que determine o grau de
obesidade de uma pessoa, sendo fornecido o peso e aaltura da pessoa. O grau de obesidade determinado pelondice da massa corprea (IMC = Peso /Altura ) atravs databela abaixo:
Bruno Jefferson (2015) 14
-
7/23/2019 03 - Estruturas de Deciso.pdf
15/32
Estruturas de Deciso em C Comando if-else
se (condio) entoinstruo 1
instruo 2
(...)
seno
instruo 3instruo 4
(...)
fim-se
No h a necessidade do uso das chaves { } quando existeapenas uma instruo no corpo do if-else.
Obs.: Em C as instrues devem ser terminadas com
ponto e vrgula (;).
if (condio) {instruo 1;
instruo 2;
(...)
} else {
instruo 3;instruo 4;
(...)
}
Bruno Jefferson (2015) 15
-
7/23/2019 03 - Estruturas de Deciso.pdf
16/32
Expresses Lgicas Expresses lgicas em C
Expresso 1 Operador Expresso 2 Resultado
V V V
&& F F
F && F F
V || V V
V || F V
F || F F
- ! V F
- ! F V
Bruno Jefferson (2015) 16
-
7/23/2019 03 - Estruturas de Deciso.pdf
17/32
Acompanhamento da execuo do
programas Exemplo
Considere o seguinte algoritmo onde i1, i2, i3, i4 e i5
representam instrues:
a) Instrues executadas quando b1 = V, b2 = V eb3 = F?
b) Instrues executadas quando b1 = F, b2 = V eb3 = F?
Respostasa) I1 e i5
b) i3, i4 e i5
Bruno Jefferson (2015) 17
-
7/23/2019 03 - Estruturas de Deciso.pdf
18/32
Acompanhamento da execuo do
programas Exemplo
#include
int main() {
int x = 1, y = -10, z; // I1
if (x > 0)
if (y > 0)z = x + y; // I2
else
z = x y; // I3
else
if (y < 5)
z = x * y; // I4
else
z = x / y; // I5
return 0;
}
Instruo x y z
I1 1 -10 -
I2 - - -
I3 1 -10 11
I4 - - -
I5 - - -
Bruno Jefferson (2015) 18
-
7/23/2019 03 - Estruturas de Deciso.pdf
19/32
Comando if-else Exerccio Resolvido 1
Escreva um programa que leia a mdia de umaluno e escreva na tela a sua situao de
acordo com quadro abaixo:
Mdia Situao
>= 7.0 Aprovado
>=4.0 e < 7.0 Final
< 4.0 Reprovado
Bruno Jefferson (2015) 19
-
7/23/2019 03 - Estruturas de Deciso.pdf
20/32
Comando if-else Exerccio Resolvido 1(Esboo da
Soluo) Entrada de dados Mdia do aluno
Processamento Estruturas de Controle
if-else
Sada de dados Situao: Aprovado, Final ou Reprovado.
Bruno Jefferson (2015) 20
-
7/23/2019 03 - Estruturas de Deciso.pdf
21/32
Comando if-else Exerccio Resolvido I (Soluo)
#include
int main() {
float media;
printf("Informe a media do aluno: ");
scanf("%f", &media);
if (media >= 7){
printf("O aluno esta' aprovado.");
} else {
if (media >= 4) {
printf("O aluno esta' na final.");
} else {printf("O aluno esta' reprovado.");
}
}
return 0;
}
Bruno Jefferson (2015) 21
-
7/23/2019 03 - Estruturas de Deciso.pdf
22/32
escolha (varivel) {
caso VALOR1:
instruao1
instruo2caso VALOR2:
instruao3
instruo4
padro:
instruao5instruo6
}
Estruturas de Deciso em C Comando switch-case
switch (varivel) {
case VALOR1:
instruao1;
instruo2;
break;
case VALOR2:
instruao3;
instruo4;
break;
default:
instruao5;
instruo6;
break;
}
deve
ser do tipo int
ou char.
Bruno Jefferson (2015) 22
-
7/23/2019 03 - Estruturas de Deciso.pdf
23/32
Comando switch-case Exerccios Resolvido II
Elabore um programa que leia o nmero decampeonatos brasileiros de 1 (um) a 4
(quatro) que seu time de futebol ganhou e
depois exiba sua classificao correspondente(1= campeo, 2=bicampeo, ...,
4=tetracampeo). Caso um valor fora do
intervalo de 1 a 4 seja digitado, deve serexibida uma mensagem informando que o
valor invlido.
Bruno Jefferson (2015) 23
-
7/23/2019 03 - Estruturas de Deciso.pdf
24/32
Comando switch-case Exerccio Resolvido1I (Esboo da
Soluo) Entrada de dados Inteiro de 1 a 4
Processamento Estruturas de Controle
switch (inteiro) case
Sada de dados Classificao do time
Bruno Jefferson (2015) 24
-
7/23/2019 03 - Estruturas de Deciso.pdf
25/32
#include
int main() {
int quant; // quantidade de titulos
printf("Digite um numero de 1 a 4: ");
scanf("%d", &quant);
switch (quant) {
case 1:
printf(Campeao");
break;
case 2:
printf(Bicampeao");
break;
case 3:
printf(Tricampeao");
break;
case 4:
printf(Tetracampeao");
break;
default:
printf("Numero fora do intervalo permitido.");break;
}
return 0;
}
SO
LUO
Bruno Jefferson (2015) 25
-
7/23/2019 03 - Estruturas de Deciso.pdf
26/32
Exerccio 1Considere o seguinte algoritmo onde i1, i2, i3, i4 e i5representam instrues:
a) Que instrues sero executadas quando b1 = F, b2 = V e b3 = V?
b) Que valores b1, b2 e b3 devem assumir para que apenas i5 seja
executada?
leia(b1, b2, b3);
se b1 ento i1;seno
se b2 ento
se b3 ento
i2;
senoi3;
i4;
fim-se
fim-se
fim-sei5;
Bruno Jefferson (2015) 26
-
7/23/2019 03 - Estruturas de Deciso.pdf
27/32
Exerccio IIEscreva um algoritmo que leia um nmero
inteiro e imprima se esse nmero par oumpar.
Bruno Jefferson (2015) 27
-
7/23/2019 03 - Estruturas de Deciso.pdf
28/32
Exerccio IIIEscreva um programa em C que troque o
valor de duas variveis inteiras. Sugesto: Pense na soluo que voc usaria
para trocar um lquido de um copo para
outro.
Bruno Jefferson (2015) 28
-
7/23/2019 03 - Estruturas de Deciso.pdf
29/32
Exerccio IVEscreva um algoritmo que receba o valor dosalrio bruto, calcule e apresente o valor dedesconto do INSS e o valor do salrio lquido(o salrio bruto descontado do INSS),considerando que:
Para um salrio de at R$ 420, o desconto deINSS de 8%;
Para um salrio de at R$ 420 at R$ 1350, o
desconto de INSS de 9%; Para um salrio acima de R$ 1350,00, o desconto
de INSS de 10%;
Bruno Jefferson (2015) 29
-
7/23/2019 03 - Estruturas de Deciso.pdf
30/32
Exerccio VEscreva um programa em C que receba as 3 notas obtidas
por um aluno, calcule a mdia aritmtica de
aproveitamento e apresente o conceito e a situao doaluno (APROVADO ou REPROVADO). O aluno
considerado APROVADO se tiver conceito A, B ou C eREPROVADO, caso obtenha conceitos D e E. A atribuiode conceitos obedece tabela abaixo:
Bruno Jefferson (2015) 30
-
7/23/2019 03 - Estruturas de Deciso.pdf
31/32
Exerccio VIElabore um programa em C que leia um
nmero de 1 (um) a 12 (doze) e depoisexiba o ms correspondente (1= janeiro,
2=fevereiro, ..., 12=dezembro). Caso um
valor fora do intervalo de 1 a 12 sejadigitado, deve ser exibida uma mensagem
informando que o valor invlido. Obs.:Utilize o comando switch.
Bruno Jefferson (2015) 31
-
7/23/2019 03 - Estruturas de Deciso.pdf
32/32
Referncias ASCENCIO, A. F. G., CAMPOS, E. A. V.;
Fundamentos da Programao deComputadores, 3. Ed., So Paulo: Pearson,
2012.
Schildt, H; C Completo e Total. MakronBooks. 1997.
Oliveira, U.; Programando em C -
Fundamentos. Volume I. Editora Cincia
Moderna. 2008.
Bruno Jefferson (2015) 32