• Nenhum resultado encontrado

Estruturas condicionais(if, if-else, switch-case)

N/A
N/A
Protected

Academic year: 2022

Share "Estruturas condicionais(if, if-else, switch-case)"

Copied!
22
0
0

Texto

(1)

Estruturas condicionais (if, if-else, switch-case)

Programação de Computadores I

Natália Batista

https://sites.google.com/site/nataliacefetmg/

nataliabatista@decom.cefetmg.br

2º semestre/ 2017

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS

(2)

1. Estruturas condicionais

(1/3)

 Permitem determinar qual é a ação a ser tomada com base no resultado de uma expressão condicional.

 Desviam a execução do algoritmo para uma

outra ação.

(3)

3

1. Estruturas condicionais

(2/3)

 Algoritmo para determinar aprovação nas disciplinas para alunos frequentes:

Se (média é maior ou igual a 60), então Imprima "Aprovado!"

senão

Imprima "Exame!"

(4)

1. Estruturas condicionais

(3/3)

 A linguagem C/C++ oferece três estruturas condicionais:

if: estrutura condicional simples.

if-else: estrutura condicional composta.

switch: comando condicional seletivo.

(5)

5

2. Estrutura condicional simples

(1/7)

 If

if (condição){

comando1;

comando2;

...

comandoN;

} if (condição)

comando_único;

(6)

2. Estrutura condicional simples

(2/7)

Condição ou teste condicional:

expressão lógica que produz como resultado o valor “verdadeiro” ou “falso”.

podem ser usados os operadores relacionais: <,

>, <= , >= , == , !=

além dos operadores lógicos: && , || e !

 Exemplo: (nota >= 60) && (frequencia >= 22)

(7)

7

2. Estrutura condicional simples

(3/7)

Exemplo 1: Faça um programa para calcular as raízes de uma equação de segundo grau:

ax

2

+ bx + c = 0 .

Entrada?

Processamento?

Saída?

(8)

#include <stdio.h>

#include <math.h>

int main(){

int a, b, c;

float delta, x1, x2;

printf("Digite os coeficientes da equacao: ");

scanf("%d%d%d", &a, &b, &c);

delta = b * b - 4 * a * c;

if (delta == 0){

x1 = (-b + sqrt(delta) ) / (2 * a);

printf("Uma raiz real: %f\n", x1);

}

if (delta > 0){

x1 = (-b + sqrt(delta) ) / (2 * a);

x2 = (-b - sqrt(delta) ) / (2 * a);

printf("Duas raizes reais: %f e %f\n", x1, x2);

}

if (delta < 0)

printf("Nao existem raizes reais.\n");

return 0;

}

(9)

9

2. Estrutura condicional simples

(6/7)

Exemplo 3: Qual será o valor final das variáveis declaradas no seguinte algoritmo, depois de sua execução?

#include <stdio.h>

int main(){

int a, b, aux;

a = 5;

b = 3;

if (a > b) { aux = a;

a = b;

b = aux;

}

printf(“a = %d b = %d”, a, b);

return 0;

}

(10)

3. Estrutura condicional composta

(1/6)

 If-else

if (condição){

//comandos;

}

else {

//comandos;

}

(11)

11

3. Estrutura condicional composta

(2/6)

Se o resultado da “condição” for verdadeiro, será executado o “comando1”; se for falso, será

executado o “comando2”.

A parte “else comando2;” pode não existir.

if (condição) comando1;

else

comando2;

(12)

3. Estrutura condicional composta

(4/6)

Exemplo 1: Faça um programa que receba um

número e verifique se esse número é par ou ímpar.

#include <stdio.h>

int main (){

int num;

printf("Digite o numero: ");

scanf("%d", &num);

if ((num % 2) == 0){

printf("Numero par.\n");

}

else{

printf("Numero impar.\n");

}

return 0;

}

(13)

13

3. Estrutura condicional composta

(5/6)

 Exemplo 2: Considere o seguinte programa que faz a divisão de dois números inteiros passados pelo usuário. Lembre-se que é

impossível fazer divisão por zero. Emita uma

mensagem caso isso ocorra.

(14)

#include <stdio.h>

int main() {

int dividendo, divisor;

int quociente;

printf("Entre com o dividendo e o divisor: ");

scanf("%d %d", &dividendo, &divisor);

if (divisor != 0) {

quociente = dividendo / divisor;

printf("O quociente é: %d\n", quociente);

} else

printf("Impossível fazer a divisão. O divisor é igual a zero.\n");

return 0;

}

(15)

15

4. Estruturas condicionais aninhadas

(1/2)

 Uma estrutura condicional está aninhada

quando é utilizada dentro de outra estrutura

condicional.

(16)

4. Estruturas condicionais aninhadas

(2/2)

Dados 3 números inteiros distintos passados pelo usuário, verificar o maior deles.

#include <stdio.h>

int main() {

int n1, n2, n3;

printf("Entre com 3 numeros inteiros: ");

scanf("%d %d %d", &n1, &n2, &n3);

if (n1 > n2) if (n1 > n3)

printf("O maior é: %d\n", n1);

else

printf("O maior é: %d\n", n3);

else

if (n2 > n3)

printf("O maior é: %d\n", n2);

else

printf("O maior é: %d\n", n3);

return 0;

}

Neste exemplo não

foram utilizadas chaves, pois cada estrutura

condicional composta equivale a uma

instrução.

(17)

17

5. Switch-case

(1/3)

switch (variável) {

case valor1: lista de comandos;

break;

case valor2: lista de comandos;

break;

...

default: lista de comandos;

}

(18)

5. Switch-case

(2/3)

O comando switch possui as seguintes regras:

O corpo de um switch deve estar entre chaves;

Pode haver nenhuma, uma ou mais instruções seguindo cada caso. Geralmente, a última instrução de um caso é break, que causa a saída imediata de todo o corpo do switch. Na falta dele, todas as instruções após o caso

escolhido serão executadas, mesmo as que pertencem aos casos seguintes;

switch testa a variável que deve ser do tipo int ou char;

Não se pode usar uma variável ou expressão lógica como rótulo de caso (que vem após o case). É apenas permitido constantes do tipo int ou char;

Cada um dos cases pode ser considerado um if;

Um caso default é opcional. Pode ser encarado como o

else de todos os ifs. Ou seja, se nenhum caso for satisfeito

e existir um caso default, a execução começará nele.

(19)

19

5. Switch-case

(3/3)

Considere o seguinte exemplo: programa que lê o conceito obtido pelo aluno no semestre (de A a F) e imprime seu significado.

#include <stdio.h>

int main(){

char Conceito;

printf("Digite o conceito obtido no semestre: ");

scanf("%c", &Conceito);

switch( Conceito ){

case 'A' : printf("Excelente\n"); break;

case 'B' : printf("Otimo\n"); break;

case 'C' : printf("Bom\n"); break;

case 'D' : printf("Regular\n"); break;

case 'F' : printf("Ruim\n"); break;

default : printf("O conceito informado nao existe.\n");

}

return 0;

}

(20)

6. Exercícios

Calculadora de quatro operações. Faça um programa que, dados dois números e um caracter (+, -, *, /), calcule e

imprima:

A soma desses números, caso seja digitado o caracter +.

A subtração desses números, caso seja digitado o caracter -.

A multiplicação desses números, caso seja digitado o caracter *.

A divisão desses números, caso seja digitado o caracter /.

(21)

21

6. Exercícios

 Escreva um programa que peça para o

usuário entrar um número correspondente a um dos meses do ano e que então

apresente na tela o nome do mês e o número de dias desse mês. Utilize o

comando switch. Se o número digitado não corresponder a um mês válido no

calendário, escrever a mensagem ‘Mês

Inválido’.

(22)

7. Atividades sugeridas

 Leitura do livro-texto e exercícios: Capítulo 3

(Damas).

Referências

Documentos relacionados

Planejamento, elaboração, desenvolvimento e execução de projetos individuais ou em grupo no ensino de arte visual. 7TCC601 Trabalho de Conclusão de

Ao serem atravessados por raios X, tecidos mais densos (como o fígado) ou com elementos mais pesados (como o cálcio), absorvem mais radiação que ou com elementos mais pesados (como

A três meses do início da operação da Linha 4 do Metrô, os consórcios construtores já realizam os servi- ços de reurbanização do entorno dos canteiros das futuras

Portanto, o valor energético escrito no rótulo equivale a 586 kJ (quilojoule). a) Calcule, com base nos dados da tabela, o valor da variação de entalpia (ΔH), em kJ/mol, para

Os experimentos para quebra de emulsão na presença de líquidos iônicos e eta- nol foram conduzidos todos em batelada, empregando aquecimento micro-ondas, e em dois reatores, um do

A Pró-reitoria de Extensão, Cultura e Assuntos Estudantis da Universidade Federal de Uberlândia, no uso de suas atribuições, torna pública a abertura de

Este Plano de Dados M2M se destina à prestação do Serviço Móvel Pessoal por meio de rede virtual (RV-SMP), exclusivamente para o tráfego de dados M2M (machine-to-machine), com o fim

Contribuir para a consciencializa- ção da importância da interacção como forma de se apropriar de situações sociais;     (continuação) Organizar o ensino com base em