Anda di halaman 1dari 31

ECT2303 – Linguagem de Programação

Aula 03 þ Comandos de Controle de Fluxo e Seleção I

Einstein Santos

UFRN

08 de agosto de 2018

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 1 / 31


Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 2 / 31


Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 3 / 31


O comando if
Fluxograma

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 4 / 31


O comando if
Sintaxe

if ( <EXPRESSÃO_DE_TESTE> )
{
instrução_1;
instrução_2;
.
.
.
instrução_n;
}

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 5 / 31


O comando if
Exemplo de uso

1 // Programa que verifica se um número é par


2

3 # include < iostream >


4

5 using namespace std ;


6

7 int main ()
8 {
9 int num ;
10

11 cout <<" Digite um número inteiro : " ;


12 cin >> num ;
13

14 if ( num %2==0) {
15 cout <<" O número digitado é PAR ! " << endl ;
16 }
17

18 return 0;
19 }
Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 6 / 31
Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 7 / 31


O comando if-else
Fluxograma

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 8 / 31


O comando if-else
Sintaxe

if ( <EXPRESSÃO_DE_TESTE> )
{
instrução_if_1;
instrução_if_2;
.
.
.
instrução_if_n;
}
else
{
instrução_else_1;
instrução_else_2;
.
.
.
instrução_else_n;
}

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 9 / 31


O comando if-else
Exemplo

1 // Programa que verifica se um número é par


2
3 # include < iostream >
4
5 using n a m e s p a c e std ;
6
7 int main ()
8 {
9 int num ;
10
11 cout <<" Digite um número inteiro : " ;
12 cin >> num ;
13
14 if ( num %2==0) {
15 cout <<" O número digitado é PAR ! " << endl ;
16 } else {
17 cout <<" O número digitado é ÍMPAR ! " << endl ;
18 }
19
20 return 0;
21 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 10 / 31


Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 11 / 31


O comando if-else x operador condicional ternário
Comparação entre os operadores

Operador condicional ternário:

<EXP1> ? <EXP2> : <EXP3>

Comando de decisão if-else:

if( <EXP1> )
{
<EXP2>;
}
else
{
<EXP3>;
}

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 12 / 31


O comando if-else x operador condicional ternário
Exemplo

1 max = ( a > b ) ? a : b ;
2

3 // Equivale à :
4

5 if ( a > b ) {
6 max = a ;
7 } else {
8 max = b ;
9 }

1 cout < <( ( x % 2) ? " Ímpar " : " Par " ) ;


2

3 // Equivale à :
4

5 if ( x % 2) {
6 cout <<" Ímpar " ;
7 } else {
8 cout <<" Par " ;
9 }
Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 13 / 31
Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 14 / 31


O comando if aninhado
Fluxograma

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 15 / 31


O comando if aninhado
Sintaxe

if ( <EXPRESSÃO_DE_TESTE_1> )
{
bloco_de_instruções_1;
}
else if ( <EXPRESSÃO_DE_TESTE_2> )
{
bloco_de_instruções_2;
}
.
.
.
else if ( <EXPRESSÃO_DE_TESTE_n> )
{
bloco_de_instruções_n;
}
else
{
bloco_de_instruções_n+1;
}

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 16 / 31


O comando if aninhado
Exemplo

1 // Programa que analisa c ar ac te r ís ti ca s de números inteiros


2
3 # include < iostream >
4
5 using n a m e s p a c e std ;
6
7 int main ()
8 {
9 int num ;
10
11 cout <<" Digite um número inteiro : " ;
12 cin >> num ;
13
14 if ( num %2==0 && num >0) {
15 cout <<" O número digitado é PAR e POSITIVO ! " << endl ;
16 } else if ( num %2==0 && num <0) {
17 cout <<" O número digitado é PAR e NEGATIVO ! " << endl ;
18 } else if ( num %2!=0 && num >0) {
19 cout <<" O número digitado é ÍMPAR e POSITIVO ! " << endl ;
20 } else if ( num %2!=0 && num <0) {
21 cout <<" O número digitado é ÍMPAR e NEGATIVO ! " << endl ;
22 } else {
23 cout <<" O número digitado é ZERO ! " << endl ;
24 }
25
26 return 0;
27 }
Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 17 / 31
Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 18 / 31


O comando break
Funcionalidade

Força a saída imediata do comando do qual faz parte.


Ele é utilizado em laços (for, while e do-while) e no comando de
seleção múltipla switch.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 19 / 31


Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 20 / 31


O comando switch
Fluxograma

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 21 / 31


O comando switch
Sintaxe

switch ( <EXPRESSÃO> )
{
case <constante_1>:
bloco_de_instruções_1;
break;
case <constante_2>:
bloco_de_instruções_2;
break;
case <constante_3>:
bloco_de_instruções_3;
break;
.
.
.
case <constante_n>:
bloco_de_instruções_n;
break;
default:
bloco_de_instruções_default;
}

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 22 / 31


O comando switch
Sintaxe

A <EXPRESSÃO> somente poderá ser uma variável inteira ou uma variá-


vel caractere;
A <constante_x> poderá ser uma constante inteira ou caractere.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 23 / 31


O comando switch
Exemplo 1

1 // Programa que calcula raízes


1 switch ( raiz ) {
2
2 case 2:
3 # include < iostream >
3 cout << pow ( num ,(1.0/2.0) )
4 # include < cmath >
4 << endl ;
5
5 break ;
6 using n a m e s p a c e std ;
6 case 3:
7
7 cout << pow ( num ,(1.0/3.0) )
8 int main ()
8 << endl ;
9 {
9 break ;
10 int raiz ;
10 case 4:
11 float num ;
11 cout << pow ( num ,(1.0/4.0) )
12
12 << endl ;
13 cout <<" Digite :\ n "
13 break ;
14 <<" 2 ( raiz quadrada ) \ n "
14 default :
15 <<" 3 ( raiz cúbica ) \ n "
15 cout <<" valor não reconhecido ! "
16 <<" 4 ( raiz quarta ) \ n " ;
16 << endl ;
17 cin >> raiz ;
17 }
18
18 return 0;
19 cout <<" Digite um número : " ;
19 }
20 cin >> num ;

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 24 / 31


O comando switch
Exemplo 2

1 // Programa que verifica se


caractere alfabético é
vogal ou consoante
2
1 case ’i ’:
3 # include < iostream >
2 cout <<" É vogal !\ n " ;
4
3 break ;
5 using n a m e s p a c e std ;
4 case ’o ’:
6
5 cout <<" É vogal !\ n " ;
7 int main ()
6 break ;
8 {
7 case ’u ’:
9 char letra ;
8 cout <<" É vogal !\ n " ;
10
9 break ;
11 cout <<" Digite uma letra : " ;
10 default :
12 cin >> letra ;
11 cout <<" É consoante !\ n "
13
12 }
14 switch ( letra ) {
13
15 case ’a ’:
14 return 0;
16 cout <<" É vogal !\ n " ;
15 }
17 break ;
18 case ’e ’:
19 cout <<" É vogal !\ n " ;
20 break ;

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 25 / 31


O comando switch
Exemplo 3

1 // Programa que verifica se caractere alfabético é vogal ou consoante


2
3 # include < iostream >
4
5 using n a m e s p a c e std ;
6
7 int main ()
8 {
9 char letra ;
10
11 cout <<" Digite uma letra : " ;
12 cin >> letra ;
13
14 switch ( letra ) {
15 case ’a ’:
16 case ’e ’:
17 case ’i ’:
18 case ’o ’:
19 case ’u ’:
20 cout <<" É vogal !\ n " ;
21 break ;
22 default :
23 cout <<" É consoante !\ n "
24 }
25
26 return 0;
27 }
Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 26 / 31
Sumário

1 O comando if

2 O comando if-else

3 O comando if-else x operador condicional ternário

4 O comando if aninhado

5 O comando break

6 O comando switch

7 Exercícios

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 27 / 31


Exercícios

1. Escreva um programa em C++ que leia do teclado um número inteiro


pertencente ao intervalo [100;999] e informe, mediante uma mensa-
gem na tela, se o algarismo da casa das centenas é par ou ímpar.
2. Faça um programa em C++ que leia do teclado uma data o formato DD
MM AAAA e a exiba na tela com o mês por extenso. Ex.: 31 07 2019 →
31 de julho de 2019.
3. Um funcionário irá receber um aumento de acordo com o seu plano de
trabalho, conforme a tabela abaixo:
Plano Aumento
A 10%
B 15%
C 20%
Escreva um programa em C++ que leia o plano de trabalho e o salário
atual de um funcionário e que calcule e imprima o seu novo salário.

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 28 / 31


Exercícios

4. Implemente um programa em C++ que leia do teclado uma determi-


nada temperatura e exiba na tela a sua classificação conforme a tabela
abaixo:
Temperatura (◦ C) Classificação
[-100;-30] muitíssimo frio
]-30;-5] muito frio
]-5;10] frio
]10;25] ameno
]25;40] quente
]40;100] muitíssimo quente

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 29 / 31


Atividade Extraclasse
Pesquisa

Pesquise sobre o modo de utilização do switch no código abaixo:


1 # include < iostream >
2
3 using n a m e s p a c e std ;
4
5 int main ()
6 {
7 char entrada ;
8
9 cout << " Digite uma letra : " ;
10 cin >> entrada ;
11
12 switch ( entrada )
13 {
14 case ’a ’ ... ’e ’:
15 cout << " Sala 101 " ; break ;
16 case ’f ’ ... ’j ’:
17 cout << " Sala 103 " ; break ;
18 case ’k ’ ... ’o ’:
19 cout << " Sala 105 " ; break ;
20 case ’p ’ ... ’t ’:
21 cout << " Sala 107 " ; break ;
22 case ’u ’ ... ’z ’:
23 cout << " Sala 109 " ; break ;
24 default :
25 cout << " Entrada inválida !\ n " ;
26 }
27
28 return 0;
29 }

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 30 / 31


Fim da Aula 03

Einstein Santos (UFRN) ECT2303 – Linguagem de Programação 08 de agosto de 2018 31 / 31

Anda mungkin juga menyukai