CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5....

112
CCO 016 – Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Universidade Federal de Itajubá

Transcript of CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5....

Page 1: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

CCO 016 – Fundamentos de Programação

Prof. Roberto Affonso da Costa JuniorProf. Roberto Affonso da Costa Junior

Universidade Federal de ItajubáUniversidade Federal de Itajubá

Page 2: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Aula 07Aula 07

● Programação Condicional– Comandos Condicionais (se – senao)– Linguagem de Programação C (if – eles)– Estrutura Condicionais (caso)– Linguagem de Programação C (switch)

Page 3: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Programação CondicionalProgramação Condicional

● Uma programação condicional, como o próprio nome já diz, permite que determinadas instruções sejam executadas ou não, dependendo do resultado de uma condiçãocondição ((testeteste)), ou seja, o programa vai tomar decisão de um processo (leitura, processo e impressão)(leitura, processo e impressão) a ser realizado.

Page 4: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Programação CondicionalProgramação Condicional

● Isto é, são testados parâmetros e, dependendo de seus valores, tomamos um caminho ou outro. As condições que são testadas num programa são do tipo lógica (booleanobooleano), portanto podem ter somente dois resultados: VerdadeiroVerdadeiro ou FalsoFalso. Assim, a seleção de ações pode seguir, no máximo, duas alternativas: uma se a condição for verdadeiraverdadeira e outra se a condição testada for falsafalsa.

Page 5: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Operadores LógicosOperadores Lógicos

● Os operadores lógicos são utilizados na confecção das condições (verdadeira ou falsaverdadeira ou falsa).

● Esses operadores são:

Significado Operador em C/C++

Maior que >

Menor que <

Maior ou igual a >=

Menor ou igual a <=

Diferente de !=

Igual a = =

Page 6: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Valores BooleanosValores Booleanos

● Os operadores lógicos na linguagem irão servir para comparar duas variáveis ou uma variável e uma contante ou simplesmente uma constante. Em C e C++ o valor ‘0’valor ‘0’ tem o significado de falso e qualquer valor qualquer valor diferente de ‘0’diferente de ‘0’ o significado de verdadeiro.

● No entanto, em C++ tem o tipo booleano:

bool b1, b2;● Esse tipo aceita só dois valores, true ou false.

b1b1truefalse

Page 7: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Pontos importantes do tipo boolPontos importantes do tipo bool● Por defaultdefault o valor truetrue é igual a 1 e o valor falsefalse igual

a 0.● Pode-se usar variável do tipo boolbool ou valores truetrue e

falsefalse em expressão matemáticas. Por exemplo:int x = false + true + 6;int x = false + true + 6;

● é uma operação valida e o resultado de x é igual a 7, com falsefalse = 0 e truetrue = 1.

● É também possível converter valores inteiros ou reais para o tipo boolbool.

bool x = 0; // falsebool y = 100; // true

bool z = 15.75; // truebool w = 0.0; // false

Page 8: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Programa utilizando o tipo boolPrograma utilizando o tipo bool● Pode-se usar os operadores lógicos conforme o

programa:#include <bits/stdc++.h>using namespace std;int main() {

int A = 10, B = 7, C = 5, D = 3;bool b1;b1 = A > 10;cout << b1 << endl;b1 = B < A;cout << b1 << endl;b1 = C >= D;cout << b1 << endl;

Page 9: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Programa utilizando o tipo boolPrograma utilizando o tipo bool● Continuação:

b1 = B <= 2;cout << b1 << endl;b1 = A != 10;cout << b1 << endl;b1 = D == 3;cout << b1 << endl;b1 = C;cout << b1 << endl;return 0;

}

Page 10: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

00111100001111

Page 11: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Operadores RelacionaisOperadores Relacionais

● Os operadores lógicos tem que ser complementados, pois não podemos comparar mais de duas variáveis, como por exemplo na matemática: A = B = CA = B = C. Não se pode fazer assim na linguagem de programação C/C+C/C+++. Para isso usamos os operadores relacionais: não, e e ou, conforme a tabela.

Significado Operador em C/C++

não !

e &&

ou ||

Page 12: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Tabela dos Operadores RelacionaisTabela dos Operadores Relacionais

● Para relacionar os operadores tem-se as tabelas:

A ! A

V F

F V

A B A && B

V V V

V F F

F V F

F F FA B A || B

V V V

V F V

F V V

F F F

Page 13: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Utilizando os Operadores Utilizando os Operadores RelacionaisRelacionais

● Pode-se usar os operadores lógicos conforme o programa:

#include <bits/stdc++.h>using namespace std;int main() {

int A = 10, B = 7, C = 5, D = 3;bool b1;b1 = !(A > 10);cout << b1 << endl;b1 = ((B < A) && (C < D));cout << b1 << endl;

Page 14: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Utilizando os Operadores Utilizando os Operadores RelacionaisRelacionais

● Pode-se usar os operadores lógicos conforme o programa:

b1 = ((A >= D) || (B <= C));cout << b1 << endl;b1 = (!(A >= D) || (B <= C));cout << b1 << endl;b1 = ((B < A) && !(C < D));cout << b1 << endl;return 0;

}

Page 15: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

1100110011

Page 16: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção SimplesSeleção 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><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 17: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção SimplesSeleção Simples

Portugol: se <condição> então bloco de comandos fim-se

Fluxograma:

<condições>F

V

Bloco de comandos

Page 18: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção SimplesSeleção Simples

● Na linguagem C/C++ fica:

if (<condição>){

blocos de comandos;}

Vale observar que as chaves ({ e }) só são necessárias, quando se tem mais de um bloco de comando. Se tiver um só bloco de comando, não

precisa colocá-las.

Page 19: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Faça um programa que leia um número real e diga se ele é “maior que 10”.

Page 20: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - PortugolExemplo - Portugol

inicio real N imprima (“Entre com N: “) leia (N) se N > 10 então

imprima (N,” maior que 10) fim-sefim

Page 21: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - FluxogramaExemplo - Fluxograma

INICIO

N

N, “ Maior que 10”

FIM

N > 10F

V

Page 22: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo – C/C++Exemplo – C/C++

#include <bits/stdc++.h>using namespace std;int main() { float N; scanf ("%f",&N); if (N > 10) { printf ("%.1f maior que 10\n",N); } return 0;}

Page 23: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

3.453.45

10.4510.4510.4 maior que 1010.4 maior que 10

Page 24: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompletaSeleção Completa

● A seleção completa é dada por se...então...senão...fim-se onde se a <condição><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 25: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompletaSeleção Completa

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 26: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompletaSeleção Completa

● Na linguagem C/C++ fica:

if (<condição>){

blocos de comandos 1;} else {

blocos de comandos 2;}

Page 27: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Leia um número natural e diga se ele é par ou impar

Page 28: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - PortugolExemplo - Portugol

inicio inteiro N imprima (“Entre com N: “) leia (N) se (resto (N,2) = 0) então imprima (N, “ e par”) senão imprima (N,” e impar) fim-sefim

Page 29: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - FluxogramaExemplo - FluxogramaINICIO

FIM

N

N, “ é par”

resto (N, 2) = 0F

V

N, “ é impar”

Page 30: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo – C/C++Exemplo – C/C++#include <bits/stdc++.h>using namespace std;int main() {

int N;scanf ("%d",&N);if ((N % 2) == 0){

printf ("%d e par.\n", N);} else {

printf ("%d e impar.\n",N);}return 0;

}

Page 31: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

888 é par.8 é par.

777 é impar.7 é impar.

Page 32: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Operador da Seleção CompletaOperador da Seleção Completa

● O operador de seleção completa é dados por

EXP1 ? EXP2 : EXP3;EXP1 ? EXP2 : EXP3;

● onde EXP1EXP1 é uma expressão condicional, e EXP2EXP2 e EXP3EXP3 é um único bloco de comando para o verdadeiroverdadeiro e falsofalso, respectivamente.

Page 33: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo – C/C++Exemplo – C/C++

#include <bits/stdc++.h>using namespace std;int main() {

int N;scanf ("%d",&N);((N % 2) == 0) ? printf ( "%d e par.\n", N): printf ( "%d e impar.\n",N);return 0;

}

Page 34: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

888 é par.8 é par.

777 é impar.7 é impar.

Page 35: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Faça um programa que leia um número natural e se for par mostre 0 e se for impar mostre 1.

Page 36: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo – C/C++Exemplo – C/C++

#include <bits/stdc++.h>using namespace std;int main() {

int N, X;scanf ("%d",&N);X = ((N % 2) == 0) ? 0 : 1;printf("%d\n", X);return 0;

}

Page 37: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

8800

7711

Page 38: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Programa

#include <bits/stdc++.h>using namespace std;int main() {

int A, B, C, D;scanf("%d %d %d %d", &A, &B, &C, &D);if (!(A > 3)) printf("Verdade\n");else printf("Falso\n");if ((A > 3) || !(B > D)) printf("Verdade\n");else printf("Falso\n");

Page 39: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo de Seleção CompletaExemplo de Seleção Completa

● Continuação:

if ((D < 0) && (C > 5)) printf("Verdade\n");else printf("Falso\n");if (!(B > 3) || (C < 7)) printf("Verdade\n");else printf("Falso\n");return 0;

}

Page 40: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

1 5 8 01 5 8 0VerdadeVerdadeFalsoFalsoFalsoFalsoFalsoFalso

Page 41: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Programa

#include <bits/stdc++.h>using namespace std;int main() {

int A, B, C, D, X;scanf("%d %d %d %d", &A, &B, &C, &D);X = ((A > B) || (C <= 3)) ?(A + 2) * (B - 2) : (A + B) / D * (C + D);printf("X = %d\n", X);return 0;

}

Page 42: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

0 9 3 20 9 3 2X = 14X = 14

Page 43: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo de Seleção CompletaExemplo de Seleção Completa

● Programa

#include <bits/stdc++.h>using namespace std;int main() {

int A, B, C, D, X;scanf("%d %d %d %d", &A, &B, &C, &D);X = (!(D > 3)) ?(A + B) * D : (A - B) / C;printf("X = %d\n", X);return 0;

}

Page 44: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

0 9 3 20 9 3 2X = 18X = 18

Page 45: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompostaSeleção Composta

● A estrutura de seleção composta também é designada como seleção aninhada e é utilizada quando estivermos fazendo várias comparações (testes)(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 46: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompostaSeleção Composta

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 47: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompostaSeleção Composta<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 48: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleção CompostaSeleção Composta

● Na linguagem C/C++ fica: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 49: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Faça um programa que leia três medidas e determine se essas medidas formam um triânguloformam um triângulo, se formam que tipo de triângulo ele é (isósceles, escaleno ou isósceles, escaleno ou equiláteroequilátero).

Page 50: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - PortugolExemplo - Portugol

inicio real A, B, C 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(“Triangulo Equilatero”) senão se (A = B) ou (A = C) ou (B = C) então imprima (“Triangulo Isosceles”)

Page 51: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo – PortugolExemplo – Portugol

senão imprima (“Triangulo escaleno”) fim-se fim-se senão imprima (“As medidas nao formam um triangulo”) fim-sefim

Page 52: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - FluxogramaExemplo - Fluxograma

INICIO

A, B, C

(A < B + C) e (B < A + C) e (C < A + B)F

21

V

Page 53: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - FluxogramaExemplo - Fluxograma

“Triangulo Equilatero”

(A = B) e (B = C)F

V

1

(A = B) ou (A = C) ou (B = C)

3 V

4

F

5

Page 54: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - FluxogramaExemplo - Fluxograma

“Triangulo Isosceles”

43

6

5

“Triangulo escaleno”

Page 55: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - FluxogramaExemplo - Fluxograma

FIM

“As medidas nao formam um triangulo”

26

Page 56: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo – C/C++Exemplo – C/C++

#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("Triangulo Equilatero\n"); } else {

Page 57: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo● Continuação

if ((A == B) || (A == C) || (B == C)) { printf ("Triangulo Isosceles\n"); } else { printf ("Triangulo escaleno\n"); } } } else { printf ("As medidas não formam um triangulo\n"); } return 0;}

Page 58: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

3 3 33 3 3Triângulo EquiláteroTriângulo Equilátero

3 3 43 3 4Triângulo IsóscelesTriângulo Isósceles

3 4 53 4 5Triângulo escalenoTriângulo escaleno

3 4 103 4 10As medidas não formam um triânguloAs medidas não formam um triângulo

Page 59: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ExpressãoExemplo Expressão

● Calcular a seguinte expressão:

VL=5A+ B

(A−B)+2AB+ 3A

Page 60: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Exemplo ExpressãoExpressão

objetivo: Calcular uma expressão aritmética

1) Definir variáveis inteiros A, B, num1, num2, den1, den2, VL

2) Entrada dos dados imprima ( “entre com dois valores “ ) leia ( A, B )

3) Calculo do numerador num1 ← 5 A + B

Page 61: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Exemplo ExpressãoExpressão

4) Calculo do numerador do denominador num2 ← 2 A

5) Calculo do denominador simples den 1 ← B + 3A

6) calculo da expressao se ( den1 = 0 ) então imprima ( “expressão não calculada “ ) imprima ( “denominador nulo” ) senão

Page 62: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Exemplo ExpressãoExpressãosenão 6.1) calculo do denominador geral den2 ← ( A – B ) + num2 / den 6.2) calculo da expressão se ( den2 = 0 ) então imprima ( “expressão não calculada “ ) imprima ( “denominador nulo” ) senão VL ← num1 / den2 imprima ( “ valor da expressao = “, VL ) fim_se fim_se

Page 63: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Exemplo ExpressãoExpressão

7) mostrando os dados de entrada imprima ( “A = “, A ) imprima ( “B = “, B )

fim

Page 64: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

inicio {Declaração das variáveis} inteiros A, B, num1, num2, den1, den2, VL

{Entrada de Dados} imprima ( “entre com dois valores “ )

leia ( A, B )

{Calculo da expressão} num1 ← 5 A + B num2 ← 2 A den1 ← B + 3A

Page 65: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

{Verificando o denominador 1} se ( den1 = 0 ) então imprima ( “expressão não calculada “ ) imprima ( “denominador nulo” ) senão {Calculando o denominador 2} den2 ← ( A – B ) + num2 / den1

Page 66: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

{Verificando o denominador 2}

se ( den2 = 0 )

então

imprima ( “expressão não calculada “ )

imprima ( “denominador nulo” )

senão {Calculando e imprimindo o Valor da operação} VL ← num1 / den2

imprima ( “ valor da expressao = “, VL ) fim_se fim_se

Page 67: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

imprima ( “A = “, A ) imprima ( “B = “, B )fim

Page 68: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - C/C++Exemplo Expressão - C/C++#include <bits/stdc++.h>using namespace std;int main (){ int A, B, num1, num2, den1, den2, VL; scanf ("%d %d", &A, &B); num1 = 5 * A + B; num2 = 2 * A; den1 = B + 3 * A; if ( den1 == 0 ) { printf ("expressão não calculada\n"); printf ("denominador nulo\n");

Page 69: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - C/C++Exemplo Expressão - C/C++ } else { den2 = ( A - B ) + num2 / den1; if ( den2 == 0 ) { printf ("expressão não calculada\n"); printf ("denominador nulo\n"); } else { VL = num1 / den2 ; printf ("Valor da expressao = %d\n", VL); } } printf ("A = %d\n", A); printf ("B = %d\n", B);}

Page 70: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

-1 3-1 3expressão não calculadaexpressão não calculadadenominador nulodenominador nuloA = -1A = -1B = 3B = 3

Page 71: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

1 11 1expressão não calculadaexpressão não calculadadenominador nulodenominador nuloA = 1A = 1B = 1B = 1

Page 72: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

4 34 3Valor da expressao = 23Valor da expressao = 23A = 4A = 4B = 3B = 3

Page 73: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

● São dados os resultados de uma prova que consta de 5 questões, cujas respostas podem ser uma das 3 alternativas A, B ou C;

● São dados também as respostas de um aluno para esta prova.

● Desenvolva um algoritmo para calcular o desempenho deste aluno na prova segundo o seguinte critério:

– Acerto de 3 ou mais questões – conceito A– Acerto de 1 ou 2 questões – conceito B– Acerto de nenhuma questão - conceito R

Page 74: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

objetivo: calcular o conceito de um aluno frente ao gabarito de uma prova

1) definição das variáveis caracter gab1, gab2, gab3, gab4, gab5 caracter resp1, resp2, resp3, resp4, resp5 caracter conceito inteiro n_questoes

2) entrada dos dados 2.1 ) dados do gabarito

imprima ( “entre com as 5 alternativas do gabarito” ) leia ( gab1, gab2, gab3, gab4, gab5 )

Page 75: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

2.2 ) dados do aluno imprima ( “entre com as 5 resposta do aluno” ) leia ( resp1, resp2, resp3, resp4, resp5 )

3) inicializando variáveis n_questoes ← 0

4) calculando quantas questões estão certas se ( gab1 = resp1 ) então n_questoes ← n_questoes + 1 fim_se

Page 76: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

se ( gab2 = resp2 ) então n_questoes ← n_questoes + 1 fim_se

se ( gab3 = resp3 ) então

n_questoes ← n_questoes + 1 fim_se

Page 77: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

se ( gab4 = resp4 ) então

n_questoes ← n_questoes + 1 fim_se

se ( gab5 = resp5 ) então

n_questoes ← n_questoes + 1 fim_se

Page 78: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

5) verificando o conceito do alunose ( n_questoes ≥ 3 )então conceito ← ‘A’senão se ( n_questoes > 0 ) então conceito ← ‘B’ senão conceito ← ‘R’

fim_se fim_se

Page 79: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

6) mostrando os resultados

6.1 ) dados de entrada imprima ( “gabarito: “ ) imprima ( “questao 1: “, gab1 ) imprima ( “questao 2: “, gab2 ) imprima ( “questao 3: “, gab3 ) imprima ( “questao 4: “, gab4 ) imprima ( “questao 5: “, gab5 )

Page 80: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo ProvaExemplo Prova

imprima ( “resposta do aluno: “ ) imprima ( “resposta 1: “, resp1 ) imprima ( “resposta 2: “, resp2 ) imprima ( “resposta 3: “, resp3 ) imprima ( “resposta 4: “, resp4 ) imprima ( “resposta 5: “, resp5 )

6.2 ) quantidade de acertos imprima ( “quantidade de questoes certas = “ ,

n_questoes ) 6.3 ) conceito do aluno imprima ( “conceito do aluno: “, conceito)

Page 81: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

inicio {Declaração das variáveis} inteiros A, B, num1, num2, den1, den2, VL

{Entrada de Dados} imprima ( “entre com dois valores “ )

leia ( A, B )

{Calculo da expressão} num1 ← 5 A + B num2 ← 2 A den1 ← B + 3A

Page 82: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

{Verificando o denominador 1} se ( den1 = 0 ) então imprima ( “expressão não calculada “ ) imprima ( “denominador nulo” ) senão {Calculando o denominador 2} den2 ← ( A – B ) + num2 / den1

Page 83: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

{Verificando o denominador 2}

se ( den2 = 0 )

então

imprima ( “expressão não calculada “ )

imprima ( “denominador nulo” )

senão {Calculando e imprimindo o Valor da operação} VL ← num1 / den2

imprima ( “ valor da expressao = “, VL ) fim_se fim_se

Page 84: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Expressão - PortugolExemplo Expressão - Portugol

imprima ( “A = “, A ) imprima ( “B = “, B )fim

Page 85: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Prova - C/C++Exemplo Prova - C/C++

#include <bits/stdc++.h>using namespace std;int main (){ char gab1, gab2, gab3, gab4, gab5; char resp1, resp2, resp3, resp4, resp5; char conceito; int n_questoes;

printf ("entre com as 5 alternativas do gabarito: "); scanf (" %c %c %c”, &gab1, &gab2, &gab3); scanf (" %c %c”, &gab4, &gab5 );

Page 86: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Prova - C/C++Exemplo Prova - C/C++ printf ("entre com as 5 resposta do aluno: "); scanf (" %c %c %c ”, &resp1, &resp2, &resp3 ); scanf (" %c %c ”, &resp4, &resp5 );

n_questoes = 0; if ( gab1 == resp1 ) ; { n_questoes ++; } if ( gab2 == resp2 ) { n_questoes ++; }

Page 87: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Prova - C/C++Exemplo Prova - C/C++ if ( gab3 == resp3 ) { n_questoes ++; } if ( gab4 == resp4 ) { n_questoes ++; } if ( gab5 == resp5 ) { n_questoes ++; }

Page 88: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Prova - C/C++Exemplo Prova - C/C++ if ( n_questoes >= 3 ) { conceito = 'A'; } else { if ( n_questoes > 0 ) { conceito = 'B'; } else { conceito = 'R'; } }

Page 89: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Prova - C/C++Exemplo Prova - C/C++ printf ("gabarito:\n"); printf ("questao 1: %c\n", gab1); printf ("questao 2: %c\n", gab2); printf ("questao 3: %c\n", gab3); printf ("questao 4: %c\n", gab4); printf ("questao 5: %c\n", gab5);

printf ("\n\nresposta do aluno:\n"); printf ("resposta 1: %c\n", resp1); printf ("resposta 2: %c\n", resp2); printf ("resposta 3: %c\n", resp3); printf ("resposta 4: %c\n", resp4); printf ("resposta 5: %c\n", resp5);

Page 90: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo Prova - C/C++Exemplo Prova - C/C++ printf ("quantidade de questoes certas = %d\n", n_questoes);

printf ("conceito do aluno: %c\n", conceito); return 0;}

Page 91: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

entre com as 5 alternativas do gabarito: entre com as 5 alternativas do gabarito: a b c d ea b c d eentre com as 5 resposta do aluno: entre com as 5 resposta do aluno: c b a c ec b a c e

Page 92: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

gabarito:gabarito:questao 1: aquestao 1: aquestao 2: bquestao 2: bquestao 3: cquestao 3: cquestao 4: dquestao 4: dquestao 5: equestao 5: e

Page 93: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

resposta do aluno:resposta do aluno:resposta 1: cresposta 1: cresposta 2: bresposta 2: bresposta 3: aresposta 3: aresposta 4: cresposta 4: cresposta 5: eresposta 5: equantidade de questoes certas = 3quantidade de questoes certas = 3conceito do aluno: Aconceito do aluno: A

Page 94: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleções MúltiplasSeleções Múltiplas

● Podemos com as seleções aninhadas criarmos múltiplas seleçõesmú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 verdadeiraverdadeira e falsafalsa.

Page 95: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleções MúltiplasSeleções Múltiplas

Portugol:caso (<variavel>) <valor_variavel 1>:Comandos de bloco 1 <valor_variavel 2>:Comandos de bloco 2 ... <valor_variavel n>:Comandos de bloco n senao: Comandos de bloco F (opcional)(opcional)fim-caso

Page 96: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleções MúltiplasSeleções Múltiplas

<variavel>

Bloco de comandos F

Fluxograma:

F

Bloco de comandos 1<valor_variavel 1>

<valor_variavel 2> Bloco de comandos 2

<valor_variavel n> Bloco de comandos n

Page 97: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleções MúltiplasSeleções MúltiplasLINGUAGEM C/C++:switch ( variavel ) { case <valor_variavel 1> : Comandos de bloco 1; break; case <valor_variavel 2> : Comandos de bloco 2; break; ... case <valor_variavel n> : Comandos de bloco n; break; default: Comandos de bloco F (opcional)}

Os BREAKsBREAKs são para pular os casos seguintes.

Page 98: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Seleções MúltiplasSeleções Múltiplas

OBSERVAÇÃO:OBSERVAÇÃO:

As seleções Múltiplas nãonão aceitam variáveis CADEIACADEIA (STRINGSTRING) e nem variável Realvariável Real.

As seleções Múltiplas só aceitam variáveis CARACTERCARACTER (UM ÚNICO CARACTER) ou INTEIROINTEIRO.

Page 99: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Faça um programa que a pessoa escolha qual é a sua Universidade pelo número dado:

1 – UNIFEI2 – UFMG3 – UFU4 – Outra

Page 100: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - PortugolExemplo - Portugolinicio inteiro opcao imprima (“Escolha a sua Universidade: “) imprima (“1 – UNIFEI”) imprima (“2 – UFMG”) imprima (“3 – UFU”) imprima (“4 – Outra”) leia (opcao) caso (opcao) 1 : imprima (“UNIFEI”) 2 : imprima (“UFMG”) 3 : imprima (“UFU”) 4 : imprima (“Outra”) fim-casofim

Page 101: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - C/C++Exemplo - C/C++

#include <bits/stdc++.h>using namespace std;int main(){ int opcao; printf("Escolha a sua Universidade:\n"); printf("1) UNIFEI\n"); printf("2) UFMG\n"); printf("3) UFU\n"); printf("4) Outra\n"); scanf("%d",&opcao);

Page 102: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Exemplo - C/C++Exemplo - C/C++● Continuação

switch(opcao) { case 1: printf("UNIFEI\n"); break; case 2: printf("UFMG\n"); break; case 3: printf("UFU\n"); break;

Page 103: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo● Continuação

case 4: printf("Outra\n"); break; break; } return 0;}

Page 104: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

11UNIFEIUNIFEI

22UFMGUFMG

33UFUUFU

44OutraOutra

55

Porque?Porque?

Page 105: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

● Faça um programa que escolha a letra que começa o nome de uma fruta, conforme a lista abaixo:

a – abacaxia – abacaxib – bananab – bananac – cajuc – cajud – damascod – damasco

● Caso o usuário digite outra letra, imprima que está errado.

Page 106: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo

inicio caracter opcao imprima (“Escolha a primeira letra de uma fruta: “) imprima (“a – abacaxi”) imprima (“b – banana”) imprima (“c – caju”) imprima (“d – damasco”) leia (opcao)

Page 107: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo caso (opcao) ’a’ : imprima (“abacaxi”) ’b’ : imprima (“banana”) ’c’ : imprima (“caju”) ’d’ : imprima (“damasco”) senao : imprima (“Opcao errada”) fim-casofim

Page 108: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo● Em linguagem C/C++

#include <bits/stdc++.h>using namespace std;int main(){ char opcao; printf("Escolha a primeira letra de uma fruta:\n"); printf("a) abacaxi\n"); printf("b) banana\n"); printf("c) caju\n"); printf("d) damasco\n"); scanf(" %c",&opcao);

Page 109: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo● Continuação

switch(opcao) { case 'a': printf("abacaxi\n"); break; case 'b': printf("banana\n"); break; case 'c': printf("caju\n"); break;

Page 110: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExemploExemplo● Continuação

case 'd': printf("damasco\n"); break; default: printf("Opcao errada\n"); } return 0;}

Page 111: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

aaabacaxiabacaxi

bbbananabanana

cccajucaju

dddamascodamasco

&&Opcao erradaOpcao errada

Porque?Porque?

Page 112: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_07.pdf · 2020. 5. 12. · Programação Condicional Uma programação condicional, como o próprio nome

ExercíciosExercícios

● https://www.urionlinejudge.com.br/judge/en/loginhttps://www.urionlinejudge.com.br/judge/en/loginURI 1035 a 1038, 1040 a 1052, 1061, 1837, 1847, 1929, 1933, 2057, URI 1035 a 1038, 1040 a 1052, 1061, 1837, 1847, 1929, 1933, 2057, 2059, 2235, 2313, 2670, 2717.2059, 2235, 2313, 2670, 2717.

● https://open.kattis.com/problems?order=problem_difficulty&dir=aschttps://open.kattis.com/problems?order=problem_difficulty&dir=ascQuadrant Selection, Take Two Stones, Spavanac, Quadrant Selection, Quadrant Selection, Take Two Stones, Spavanac, Quadrant Selection, Provinces and Gold, Filip, Datum (switch), Cetvrta.Provinces and Gold, Filip, Datum (switch), Cetvrta.

● https://neps.academy/https://neps.academy/● Vá em Programação e Assunto: Procure por Estruturas de Decisão. Vá em Programação e Assunto: Procure por Estruturas de Decisão.

Faço todos os exercícios.Faço todos os exercícios.