olimpíada brasileira de informáticarcosta62br.unifei.edu.br/obi/aula_03.pdf · uma estrutura de...
TRANSCRIPT
![Page 1: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/1.jpg)
TreinamentoOlimpíada Brasileira de Olimpíada Brasileira de
InformáticaInformática
Universidade Federal de Itajubá
Prof. Roberto Affonso da Costa Junior
![Page 2: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/2.jpg)
AULA 03 – 1/2AULA 03 – 1/2
– Estrutura Condicionais– Linguagem de Programação C
Bruno Otávio, George, Gabriel Taets, Bruno Otávio, George, Gabriel Taets, Gabriel Huhn,Thiago Carvalho, Tiago,Gabriel Huhn,Thiago Carvalho, Tiago,
Renan e Júnior AndradeRenan e Júnior Andrade
![Page 3: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/3.jpg)
Estrutura CondicionaisEstrutura Condicionais➢ Até agora estávamos trabalhando com algoritmos puramente sequenciais, ou seja, todas as instruções eram executadas seguindo a ordem do algoritmo (normalmente, de cima para baixo). A partir de agora começamos a estudar estruturas de seleção.
➢ Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam executadas ou não, dependendo do resultado de uma condição (teste), ou seja, o algoritmo vai tomar decisão de um processo (leitura, processo e impressão) a ser realizado.
![Page 4: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/4.jpg)
4
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Isto é, são testados parâmetros e, dependendo de seus valores, tomamos um caminho ou outro. As condições que são testadas num Algoritmo são do tipo lógica (booleano), portanto podem ter somente dois resultados: Verdadeiro ou Falso. Assim, a seleção de ações pode seguir, no máximo, duas alternativas: uma se a condição for verdadeira e outra se a condição testada for falsa. Existem seleções simples, compostas e múltiplas.
![Page 5: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/5.jpg)
Operadores Lógicos
Utilizados na confecção das condições
São eles: Portugol Linguagem C++– Maior que > >– Menor que < <– Maior ou igual a >= >=– Menor ou igual a <= <=– Diferente de <> !=– Igual a = ==
![Page 6: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/6.jpg)
Operadores Relacionais
Complementando a confecção das condições
São eles: Portugol Linguagem C++– E e &&– OU ou ||– não não !
![Page 7: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/7.jpg)
Operadores RelacionaisOperadores Relacionais
A Não A
V F
F V
A B A ou B
V V V
V F V
F V V
F F F
A B A e B
V V V
V F F
F V F
F F F
![Page 8: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/8.jpg)
TreinamentoTreinamento1) Com base nas tabelas de decisão, determine os resultados lógicos das expressões mencionadas, assinalando se são verdadeiras ou falsas. Considere para as respostas os seguintes valores: X = 1, A = 3, B = 5, C = 8 e D = 7.
a) nao (X <= 3) resp: ( )
b) (X <> 1) e nao (B > A) resp: ( )
c) nao (B < 0) e (D > 8) resp: ( )
d) nao (X > -2) ou (C < 9) resp: ( )
e) (X > A) ou (A > C) resp: ( )
f) (B >= 5) resp: ( )
g) (C < 1) e (B >= A) resp: ( )
![Page 9: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/9.jpg)
9
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Seleções Simples: A seleção mais simples existente é quando o único bloco
de comando (leitura, processo e/ou escreva) a ser realizado é aquele que a situação da <condição> é verdadeira. Não existe a opção falsa, ou não é necessário realizar nada neste tipo de opção. É o que chamamos de opção “default”.
![Page 10: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/10.jpg)
10
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Portugol: se <condição> então bloco de comandos fim-se
Fluxograma:
<condições>F
V
Bloco de comandos
![Page 11: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/11.jpg)
● Na Linguagem C:
if ( condição )
{
procedimento;
}
![Page 12: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/12.jpg)
12
EXEMPLO 1:EXEMPLO 1:Leia um número e diga se ele é “maior que 10”.Leia um número e diga se ele é “maior que 10”.
inicio {declaração de variáveis} real N {comandos de entrada de dados} imprima (“Entre com N: “) leia (N) {processo e saída de dados} se N > 10 então
imprima (N,” maior que 10) fim-sefim
INICIO
N
N, “ Maior que 10”
FIM
N > 10F
V
![Page 13: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/13.jpg)
13
#include <bits/stdc++.h>using namespace std;int main() { float N; //comandos de entrada de dados printf (“Entre com um número: “); scanf (“%f”,&N); //processo e saída de dados if (N > 10) {
printf (“%.1f maior que 10”,N); } return 0;}
Linguagem CLinguagem C
![Page 14: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/14.jpg)
14
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Seleções Completa:
A seleção completa é dada por se...então...senão...fim-se onde se a <condição> for verdadeira é realizado o então e dentro dele os blocos de comandos 1, se for falsa, é realizado o senão e dentro dele os blocos de comandos 2.
![Page 15: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/15.jpg)
15
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Portugol:se <condição> então bloco de comandos 1senão bloco de comandos 2fim-se
Fluxograma:
<condições>F
V
Bloco de comandos 1
Bloco de comandos 2
![Page 16: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/16.jpg)
16
if ( condição ){ bloco de comandos 1;} else { bloco de comandos 2;}
Linguagem CLinguagem C
![Page 17: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/17.jpg)
17
EXEMPLO 2:EXEMPLO 2:Leia um número natural e diga se ele é par ou impar.Leia um número natural e diga se ele é par ou impar.
inicio {declaração de variáveis} inteiro N Imprima (“Entre com N: “) leia (N) se resto (N,2) = 0 então imprima (N, “ é par”) senão imprima (N,” é impar) fim-sefim
INICIO
FIM
N
N, “ é par”
resto (N, 2) = 0F
V
N, “ é impar”
![Page 18: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/18.jpg)
18
#include <bits/stdc++.h>using namespace std;int main() { int N; printf (“Entre com um número inteiro: “); scanf (“%d”,&N); if ((N % 2) == 0) { printf (“%d é par.”, N); } else { printf ( “%d é impar.”,N); } return 0;}
Linguagem CLinguagem C
![Page 19: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/19.jpg)
TreinamentoTreinamento2) Determine o resultado lógicos das expressões mencionadas, assinalando se
são verdadeiras ou falsas. Considere para as respostas os seguintes valores:X = 3 A = 1 B = 5 C = 8 D = 0
a) não (X > 3) b) (X > 3) ou não (B > D)c) não (D < 0) e (C > 5) d) não (X > 3) ou (C < 7)
3) Indique a saída dos trechos de programa em português estruturado, mostrado abaixo. Para as saídas considere os seguintes valores:
A = 0 B = 9 C = 3 D = 2a) se nao (D > 3) então X ← (A + B) * D senão X ← (A - B) / C fim-se imprima (X)
b) se (A > B) ou (C <= 3) então
X ← (A + 2) * (B - 2) senão X ← (A + B) / D * (C + D) fim-se imprima (X)
![Page 20: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/20.jpg)
20
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Seleções Composta:
A estrutura de seleções composta também é designada como seleção aninhada e é utilizada quando estivermos fazendo várias comparações (testes) sempre com a mesma variável. Esta estrutura é chamada de aninhada porque na sua representação fica uma seleção dentro de outra seleção.
![Page 21: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/21.jpg)
21
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Portugol:se <condição 1> então se <condição 2> então bloco de comandos 11 senão bloco de comandos 12 fim-se bloco de comandos 1
senão se <condição 3> então bloco de comandos 21 senão bloco de comandos 22 fim-se bloco de comandos 2fim-se
![Page 22: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/22.jpg)
22
<condições 1>F
V
Bloco de comandos 1 Bloco de comandos 2
Fluxograma:
<condições 2> <condições 3>
V V
F F
Bloco de comandos 11
Bloco de comandos 12
Bloco de comandos 21
Bloco de comandos 22
![Page 23: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/23.jpg)
23
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Linguagem C:if ( condição 1 ) { if ( condição 2 ) { bloco de comandos 11; } else { bloco de comandos 12; } bloco de comandos 1;
} else { if ( condição 3 ) { bloco de comandos 21; } else { bloco de comandos 22; } bloco de comandos 2;}
![Page 24: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/24.jpg)
24
EXEMPLO 3:EXEMPLO 3:Montar um programa que leia Montar um programa que leia três medidas e determine se três medidas e determine se essas medidas formam um essas medidas formam um
triângulo, se formam que tipo triângulo, se formam que tipo de triângulo ele é (isósceles, de triângulo ele é (isósceles,
escaleno ou eqüilátero).escaleno ou eqüilátero).
{declaração de variáveis}real A, B, Cinicio leia (A, B, C) se (A < B + C) e (B < A + C) e (C < A + B) então se (A = B) e (B = C) então imprima(“Triângulo Eqüilátero”) senão se (A = B) ou (A = C) ou (B = C) então imprima (“Triângulo Isósceles”) senão imprima (“Triângulo escaleno”) fim-se fim-se senão imprima (“As medidas não formam um triângulo”) fim-sefim
![Page 25: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/25.jpg)
25
#include <bits/stdc++.h>using namespace std;
int main() { float A, B, C; scanf (“%f %f %f”,&A,&B,&C); if ((A < B + C) && (B < A + C) && (C < A + B)) { if ((A == B) && (B == C)) { printf(“Triângulo Equilátero”); } else { if ((A == B) || (A == C) || (B == C)) { printf (“Triângulo Isósceles”); } else { printf (“Triângulo escaleno”); } }
} else { printf (“As medidas
não formam um triângulo”);
} return 0;}
![Page 26: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/26.jpg)
26
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Seleções Múltiplas:
Podemos com as seleções aninhadas criarmos múltiplas seleções, mas existe um comando ao qual as seleções múltiplas são melhor representadas. E com isto, podemos escolher mais opções que somente verdadeira e falsa.
Portugol:caso (<variável>) <valor_variável 1>:Comandos de bloco 1 <valor_variável 2>:Comandos de bloco 2 ... <valor_variável n>:Comandos de bloco n senão: Comandos de bloco F (opcional)fim-caso
![Page 27: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/27.jpg)
27
<variável>
Bloco de comandos F
Fluxograma:
F
Bloco de comandos 1<valor_variável 1>
<valor_variável 2> Bloco de comandos 2
<valor_variável n> Bloco de comandos n
![Page 28: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/28.jpg)
28
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
Seleções Múltiplas:
Os BREAKs são para pular os casos seguintes.
LINGUAGEM C:switch ( variável ) { case <valor_variável 1> : Comandos de bloco 1; break; case <valor_variável 2> : Comandos de bloco 2; break; ... case <valor_variável n> : Comandos de bloco n; break; default: Comandos de bloco F (opcional)}
![Page 29: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/29.jpg)
29
Estruturas de ControleEstruturas de ControleCondicional ou de seleçãoCondicional ou de seleção
OBSERVAÇÃO:
As seleções Múltiplas não aceitam variáveis CADEIA (STRING).
![Page 30: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/30.jpg)
Exemplo 1Exemplo 1 Dado a data de nascimento de uma pessoa, no formato
DD MM AAAA, fazer um programa para ler esta data e imprimi-la na forma corrente, ou seja:
DD de nome do mês ao qual MM corresponde de AAA
O programa deverá fazer a consistência dos dados de entrada. ( dia e mês )
Observação: antes de fazer o programa, faça o algoritmo do mesmo.
![Page 31: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/31.jpg)
Exemplos: dado: 20 3 1950 saída: 20 de março de 1950
dado: 35 10 1980 saída: dia do mês não permitido
dado: 3 20 1980 saída: mês não permitido
dado: 31 4 1980 saída: mês não tem 31 diasSugestão:Sugestão:
os valores DD, MM e AAAA devem ser fornecidos pelo usuário e armazenados cada um numa variável;
![Page 32: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/32.jpg)
ALGORITMO / PORTUGOLalgoritmo para imprimir de forma corrente uma data de nascimento
inicio
1) Definição das variáveisinteiro dia, mes, ano
2) Entrada de dadosimprima ( “entre com a data de nascimento” )leia ( dia, mes, ano )
![Page 33: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/33.jpg)
3) fazendo consistência dos dados e a conversão da data
se ( dia < 1) ou ( dia > 31 ) então imprima ( “dia errado” )
senão se ( mes < 1 ) ou ( mes > 12 ) então imprima ( “mês errado” ) senão se ( ano < 0 ) ou ( ano > 2010 ) então imprima ( “verifique o ano “ ) senão
![Page 34: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/34.jpg)
caso ( mes ) 1 : imprima ( dia, “ de janeiro de “, ano ) 2 : se ( dia > 29 ) então imprima ( “mes com dias errado“ ) senão imprima ( dia, “ de fevereiro de “, ano ) fim_se 3 : imprima ( dia, “ de março de “, ano )
![Page 35: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/35.jpg)
4 :
se ( dia > 30 )
então
imprima ( “mes com dias errado“ )
senão
imprima ( dia, “ de abril de “, ano )
fim_se
5 :
imprima ( dia, “ de maio de “, ano )
![Page 36: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/36.jpg)
6 :
se ( dia > 30 )
então
imprima ( “mes com dias errado“ )
senão
imprima ( dia, “ de junho de “, ano )
fim_se
7 : imprima ( dia, “ de julho de “, ano )
8 : imprima ( dia, “ de agosto de “, ano )
![Page 37: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/37.jpg)
9 : se ( dia > 30 ) então imprima ( “mes com dias errado“ ) senão imprima ( dia, “ de setembro de “, ano )
fim_se
10 : imprima ( dia, “ de outubro de “, ano )
![Page 38: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/38.jpg)
11 : se ( dia > 30 ) então imprima ( “mes com dias errado“ ) senão imprima ( dia, “ de novembro de “, ano )
fim_se 12 : imprima ( dia, “ de dezembro de “, ano )
fim_caso
![Page 39: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/39.jpg)
fim_se fim_se fim_sefim
![Page 40: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/40.jpg)
LINGUAGEM C:
#include <bits/stdc++.h> using namespace std; int main () { int dia, mes, ano; printf ( “entre com a data de nascimento” );
scanf ( “%d %d %d”, &dia, &mes, &ano );
![Page 41: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/41.jpg)
if (( dia < 1) || ( dia > 31 )) { printf ( “dia errado” );
} else { if (( mes < 1 ) || ( mes > 12 )) { printf ( “mês errado” ); } else { if (( ano < 0 ) || ( ano > 2010 )) { printf ( “verifique o ano “ ); } else {
![Page 42: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/42.jpg)
switch ( mes ) { case 1 : printf ( “%d de janeiro de %d“, dia, ano ); break;
case 2 : if ( dia > 29 ) { printf ( “mes com dias errado“ ); } else { printf (“%d de fevereiro de %d“, dia, ano ); } break;
![Page 43: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/43.jpg)
caso 3 :
printf ( “%d de março de %d“, dia, ano );
break;
caso 4 :
if ( dia > 30 )
{
printf ( “mes com dias errado“ );
} else {
printf ( “%d de abril de %d“, dia, ano );
}
break;
![Page 44: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/44.jpg)
caso 5 :
printf ( “%d de maio de %d“, dia, ano );
break;
caso 6 :
if ( dia > 30 )
{
printf ( “mes com dias errado“ );
} else {
printf ( “%d de junho de %d“, dia, ano );
}
break;
![Page 45: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/45.jpg)
caso 7 : printf ( “%d de julho de %d“, dia, ano );
break;
caso 8 : printf ( “%d de agosto de %d“, dia, ano );
break;
caso 9 : if ( dia > 30 ) { printf ( “mes com dias errado“ ); } else { printf ( “%d de setembro de %d“, dia, ano )
}
break;
![Page 46: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/46.jpg)
caso 10 : printf ( “%d de outubro de %d“, dia, ano ); break;
caso 11 : if ( dia > 30 ) { printf ( “mes com dias errado“ ); } else { printf ( “%d de novembro de %d“, dia, ano );
} break; caso 12 : printf ( “%d de dezembro de %d“, dia, ano ); break; }
![Page 47: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/47.jpg)
} } } }
![Page 48: Olimpíada Brasileira de Informáticarcosta62br.unifei.edu.br/OBI/aula_03.pdf · Uma estrutura de seleção, como o próprio nome já diz, permite que determinadas instruções sejam](https://reader033.vdocuments.net/reader033/viewer/2022050215/5f61417333c3c15a672ba4c7/html5/thumbnails/48.jpg)
ExerciseExercise
Faça os exercícios do URI:Faça os exercícios do URI: http://www.urionlinejudge.com.br/
1035 a 1038, 1040 a 1052 e 1061
Faça o exercício:Faça o exercício:http://br.spoj.com/problems/SALDO13/
http://br.spoj.com/problems/CAPITA13/ http://br.spoj.com/problems/TRIANG14/ http://br.spoj.com/problems/JFLIPE14/ http://br.spoj.com/problems/JGANGO14/