• Nenhum resultado encontrado

Bac004 - Parte 4

N/A
N/A
Protected

Academic year: 2021

Share "Bac004 - Parte 4"

Copied!
36
0
0

Texto

(1)
(2)

BAC004-Informática-Teórica-Fabiana C Guedes

2

Estrutura Condicional



A estrutura condicional permite a escolha do

grupo de ações e estruturas a ser

executado quando determinadas condições

são ou não satisfeitas.



A estrutura condicional pode ser

apresentada por meio de uma estrutura

(3)

BAC004-Informática-Teórica-Fabiana C Guedes

3

Estrutura Condicional

Isso significa que podemos selecionar

entre ações alternativas dependendo

de critérios desenvolvidos no decorrer

da execução do programa

(4)

BAC004-Informática-Teórica-Fabiana C Guedes 4

Comandos de Seleção

-Simples



Forma Geral

if (expressão)

comando1;

Expressão da Condição deve estar entre parênteses.

Caso tenha mais de um comando eles devem ser delimitados por chaves. Seria igual a:

SE <condição> ENTÃO

(5)

BAC004-Informática-Teórica-Fabiana C Guedes

5

Comandos de Seleção

-Simples

(6)

BAC004-Informática-Teórica-Fabiana C Guedes

6

Comandos de Seleção

-Simples

if(sexo_usuario=='f' && dia==8 && mes==3) cout << "Parabens, mulher, pelo seu dia!";

(7)

BAC004-Informática-Teórica-Fabiana C Guedes

7

Comandos de Seleção

- Simples

• Em C/C++ é obrigatória a utilização de chaves

quando houver mais de uma instrução a ser executada quando a expressão condicional for verdadeira. • FormaGeral if (Teste Condicional) { instrução1; instrução2; instruçãon; }

As chaves delimitam o Bloco que só será executado no caso da expressão verdadeira.

(8)

BAC004-Informática-Teórica-Fabiana C Guedes

8

Comandos de Seleção

- Simples

if(sexo_usuario=='f' && dia==8 && mes==3) {

cout << "Parabéns, mulher, pelo seu dia!" << endl; cout << "Você é a "

<< cont + 1

<< "a. mulher a acessar o sistema hoje." << endl;

cont++; }

Ou cont=cont + 1. Ao criar a variável cont, ela deve receber o valor 0.

(9)

BAC004-Informática-Teórica-Fabiana C Guedes 9

Comandos de Seleção

- Simples

/*ProgC014.cpp

Primeiro exemplo de estrutura condicional*/ #include <iostream>

#include <cstdlib>

using namespace std; int main(){

cout << "Quantos anos voce tem? " << endl; int anos;

cin >> anos;

if( anos < 30 ) //Toma decisão caso anos < 30 cout << "Voce e muito jovem!" << endl;

system("PAUSE"); return 0;

}

Faz o teste perguntando se (anos < 30)

Só executa se a condição for verdadeira

Sem as chaves só executa uma única linha de código.

(10)

BAC004-Informática-Teórica-Fabiana C Guedes

10

Comandos de Seleção

-Simples

//ProgC015.cpp - Programa que verificar se número é par ou impar #include <iostream>

#include <cstdlib> using namespace std; int main (){

int num;

cout << "Digite o numero: "; cin >> num;

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

cout << "Numero par.\n"; }

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

cout << "Numero impar.\n"; }

system("pause > null"); return 0;

}

(11)

BAC004-Informática-Teórica-Fabiana C Guedes

11

Estrutura Condicional

- Composta

É uma expansão de um simples comando if

O comando if permite que executemos algo

somente se a sua expressão de teste for

verdadeira, caso contrário nada será

executado

Suponhamos que você queira executar uma

coisa se a expressão de teste for verdadeira

e outra se a expressão de teste for falsa

Nesse caso, você deve usar o comando if

(12)

BAC004-Informática-Teórica-Fabiana C Guedes

12

Estrutura Condicional

-Composta

(13)

BAC004-Informática-Teórica-Fabiana C Guedes 13

Comandos de Seleção –

Composta



Forma Geral

if (expressão)

comando1;

else

comando2;

Expressão da Condição deve estar entre parênteses.

Caso tenha mais de um comando eles devem ser delimitados por chaves.

(14)

BAC004-Informática-Teórica-Fabiana C Guedes

14

Comandos de Seleção

–Composta

(15)

BAC004-Informática-Teórica-Fabiana C Guedes 15

Comandos de Seleção –

Composta

if(media >= 60) cout << "Aprovado!"; else cout << "Exame!";

(16)

BAC004-Informática-Teórica-Fabiana C Guedes

16

Comandos de Seleção –

Composta

//ProgC016 - Teste de divisão por Zero #include <iostream>

using namespace std; int main(){

int dividendo, divisor; float quociente;

cout << "Entre com o dividendo e o divisor, respectivamente: "; cin >> dividendo >> divisor;

if (divisor != 0) {

quociente = (float) dividendo / divisor;

cout << "O quociente e: " << quociente << endl; }

else

cout << "Impossivel fazer a divisao. O divisor e igual a zero." << endl; return 0;

}

Como a expressão lógica fornece o valor 0 (zero) para falso e diferente de zero para verdadeiro, se o valor for verdadeiro pode ser realizada a divisão. Se o valor for falso, o segundo número digitado foi zero.

(17)

BAC004-Informática-Teórica-Fabiana C Guedes

17

Comandos de Seleção

–Composta

(18)

BAC004-Informática-Teórica-Fabiana C Guedes

18

Comandos de Seleção

–Composta

(19)

BAC004-Informática-Teórica-Fabiana C Guedes

19

Comandos de Seleção

-Composta

// ProgC017.cpp - Programa que apresenta o comando de seleção composta - if #include <iostream>

#include <cstdlib> #include <ctime> using namespace std; int main ( ){

int Numero, Palpite; srand(time(NULL)); Numero = rand()%100;

cout << "\nAdivinhe o numero magico: "; cin >> Palpite;

if (Palpite == Numero)

cout << "\n Voce ACERTOU!"; else

cout << "\n Voce errou! O correto era " << Numero; system("PAUSE > null");

return 0; }

srand() e rand() são funções para criar números

randomicamente. Neste caso pega números abaixo de 100.

Comando de seleção.Seria o comando: se Palpite = Numero então

escreva “Você Acertou!” senão

(20)

BAC004-Informática-Teórica-Fabiana C Guedes

20

Comandos de Seleção

-Aninhada

Uma estrutura condicional está

aninhada quando é utilizada dentro de

outra estrutura condicional.

Podemos ter vários comandos if

aninhados.

O comando else em C se refere ao if

mais próximo (acima deste) que está

no mesmo bloco.

(21)

BAC004-Informática-Teórica-Fabiana C Guedes 21

Comandos de Seleção

-Aninhada

• Forma Geral: if (<condição>){ comandos1; ... }else if (<condição>) { comandos2; ... }

No senão faz outro teste.

if (<condição1>) { if (<condição2>) { comandos; ... } else { comandos; ... } } else { if (<condição3>) { comandos; ... } }

(22)

BAC004-Informática-Teórica-Fabiana C Guedes

22

Comandos de Seleção

Aninhados - Exemplo

//ProgC018.cpp - Estrutura if aninhada # include <iostream>

using namespace std; int main ( ){

int n1, n2, n3;

cout << "Digite 3 numeros: "; cin >> n1 >> n2 >> n3;

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

cout << "O maior numero e: " << n1; else

cout << "O maior numero e: " << n3; else

if (n2 > n3)

cout << "O maior numero e: " << n2; else

cout << "O maior numero e: " << n3; return 0;

}

(23)

BAC004-Informática-Teórica-Fabiana C Guedes

23

Comandos de Seleção

Aninhados - Exemplo

//ProgC019.cpp - Exemplo IF Aninhado

#include <iostream>

using namespace std; int main(){

float n1, n2, res; char op;

cout << "Digite NUMERO OPERADOR NUMERO: "; cin >> n1 >> op >> n2;

if (op == '+') { res = n1 + n2;

cout << "O resultado da soma e: " << res; }

else

if (op == '-') { res = n1 - n2;

cout << "O resultado da subtracao e: " << res; }

else

if (op == '/') { res = n1 / n2;

cout << "O resultado da divisao e: " << res; }

else

if (op == '*') { res = n1 * n2;

cout << "O resultado da multiplicacao e: " << res;

} else

cout << "Operador invalido!"; cout << endl; return 0; } // fim main Entrada de Dados Soma Subtração Divisão Multiplicação

(24)

BAC004-Informática-Teórica-Fabiana C Guedes

24

Comandos de Seleção

Aninhados - Exemplo

//ProgC019a.cpp - Exemplo IF Aninhado

#include <iostream> using namespace std; int main() {

float n1, n2, res; char op;

cout << "Digite NUMERO OPERADOR NUMERO:"; cin >> n1 >> op >> n2;

if (op == '+') { res = n1 + n2;

cout << "O resultado da soma e: " << res; }

else if (op == '-') { res = n1 - n2;

cout << "O resultado da subtracao e: " << res; }

else if (op == '/') { res = n1 / n2;

cout << "O resultado da divisao e: " << res; }

else if (op == '*') { res = n1 * n2;

cout << "O resultado da multiplicacao e: " << res; }

else

cout << "Operador invalido!"; cout << endl; return 0; } // fim main Entrada de Dados Soma Subtração Divisão Multiplicação

(25)

BAC004-Informática-Teórica-Fabiana C Guedes

25

Comandos de Seleção

Aninhados - Exemplo

(26)

BAC004-Informática-Teórica-Fabiana C Guedes

26

Comandos de Seleção

Aninhados - Exemplo

(27)

BAC004-Informática-Teórica-Fabiana C Guedes

27

Comandos de Seleção

Múltipla - switch

Embora construções if – else possam

executar testes para escolha de uma

entre várias alternativas, muitas vezes

são deselegantes.

O comando switch tem um formato

(28)

BAC004-Informática-Teórica-Fabiana C Guedes 28

Comandos de Seleção

Múltipla - switch

 Forma Geral switch (expressão) {

case constante1 : seqüência de comandos1; break;

case constante2 : seqüência de comandos2; break;

...

case constanteN : seqüência de comandosN; break;

default : seqüência de comandos; }

(29)

BAC004-Informática-Teórica-Fabiana C Guedes

29

Comandos de Seleção

Múltipla - switch

• 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);

• 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.

(30)

BAC004-Informática-Teórica-Fabiana C Guedes

30

Comandos de Seleção

Múltipla - switch

// ProgC020.cpp - Programa que apresenta comando de selecao multipla #include <iostream>

using namespace std; int main ( ){

char Opcao;

cout << "\nDigite um numero: "; cin >> Opcao;

switch (Opcao){

case '1' : cout << "um "; break; case '2' : cout << "dois "; break; case '3' : cout << "tres "; break; }

return 0; }

Comando de seleção switch. Testa o

conteúdo da variável Opcao. Se valor for 1, escreverá um; se valor for 2, escreverá dois; se valor for 3, escreverá três.

(31)

BAC004-Informática-Teórica-Fabiana C Guedes

31

Comandos de Seleção

-switch

//ProgC021.cpp - Calculadora com Case #include <iostream>

using namespace std; int main(){

float n1, n2, res; char op;

cout << "Digite NUMERO OPERADOR NUMERO: "; cin >> n1 >> op >> n2;

switch (op) { case '+':

res = n1 + n2;

cout << "O resultado da soma e: " << res; break;

case '-':

res = n1 - n2;

cout << "O resultado da subtracao e: " << res; break;

case '/': res = n1 / n2;

cout << "O resultado da divisao e: " << res; break;

case '*':

res = n1 * n2;

cout << "O resultado da multiplicacao e: " << res; break;

default:

cout << "Operador invalido!"; } // fim switch return 0; } // fim main switch case Caso + Caso -Caso / Caso *

(32)

BAC004-Informática-Teórica-Fabiana C Guedes

32

Exemplo de If com

condicional string

//ProgC022 - Programa que faz teste com strings #include <iostream>

#include <string.h> using namespace std; int main(){

char nome[30];

cout << "\nDigite o seu nome: "; cin.getline(nome, 30, '\n');

if (strcmp(nome, "Fabiana") == 0)

cout << "\nO nome digitado foi: " << nome << "\n"; else

cout << "\nO nome digitado foi diferente de Fabiana"; return 0;

}

Biblioteca para manipulação de strings

Função que possibilita pegar nomes digitados com espaço

Função que compara se duas strings são iguais. Se retorna valor 0 elas são iguais, caso contrário são diferentes. Neste caso diferencia valores

maiúsculos de minúsculos. Permite ordenar de acordo com valores negativos e positivos.

(33)

BAC004-Informática-Teórica-Fabiana C Guedes

33

Exercícios

 Crie um programa para ler dois números e

mostrar o maior

 Faça um programa que receba a idade e peso de

uma pessoa. De acordo com a tabela a seguir, verifique e mostre em qual grupo de risco essa pessoa se encaixa.

(34)

BAC004-Informática-Teórica-Fabiana C Guedes

34

Exercícios



Faça um programa que:



Mostre o menu de opções a seguir,

receba a opção do usuário e os dados

necessários para executar cada

operação e mostre o resultado da

operação.

 1- Somar dois números

(35)

BAC004-Informática-Teórica-Fabiana C Guedes

35

Exercícios



Faca um programa que receba os

comprimentos dos três lados de um

triângulo e imprima se eles podem ou não

formar um triângulo (cada lado tem que ser

menor que a soma dos outros dois). O

programa deve imprimir também se o

triângulo é:

 Equilátero: três lados de mesmo comprimento

 Isósceles: dois lados de mesmo comprimento

 Escaleno: três lados de comprimentos

(36)

BAC004-Informática-Teórica-Fabiana C Guedes

36

Tópicos para Discussão



Estruturas Condicionais

 Simples

 Compostas

 switch

Referências

Documentos relacionados

Este trabalho tem por objetivo estudar e compreender as bases para a construção de fronteiras simbólicas nas diversas formas de sociabilidade estabelecidas pelos diferentes grupos

No apartamento Tipo 02, do Condomínio Amazônia, apesar de apresentar áreas menores, em relação às do Le Parc, a distribuição dos setores são mais

This work is devoted to the study a class of radial quasilinear elliptic differential equations involving a singular nonlinearity of an inverse square type.. The discontinuity on

Gametófitos masculinos desta espécie foram encontrados nos meses de abril, junho, julho, agosto e setembro, quando neste Ultimo atingiu 34% do total de plantas em reprodução.

Como vimos na seção de análise anterior, em que analisamos a organização da rotina pelas normalistas, o uso do termo: “necessidade da turma” por Larissa, Júlia e Kira, remetem a

-Houve uma redução significativa no volume do linfedema em todas as pacientes após a parte I do tratamento; -Também houve uma redução significativa no volume do linfedema na parte II

Tabela 36 – Resultados da análise de fatores e componentes extraídos pelo método dos componentes principais após transformação e padronização das variáveis medidas nas

A União, os Estados, o Distrito Federal e os Municípios exercerão, em seu âmbito administrativo, as seguintes atribuições: I - definição das instâncias e mecanismos de