olimpíada brasileira de informáticarcosta62br.unifei.edu.br/obi/aula_03.pdf · uma estrutura de...

48
Treinamento Olimpíada Brasileira de Olimpíada Brasileira de Informática Informática Universidade Federal de Itajubá Prof. Roberto Affonso da Costa Junior

Upload: others

Post on 21-Jul-2020

3 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

● 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

} } } }

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

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/