transforming models with atl - rosefib.webnode.com.br c... · estrutura condicional exercício...

Post on 02-Jan-2019

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Linguagem C/C++

Estrutura Condicional

Prof: Rosemary Melo

Estrutura Condicional

if... (simples)

Sintaxe (como o comando deve ser escrito):

if (condição)

comando;

ou, no caso de mais de um comando:

if (condição) {

comando 1;

:

comando n;

}

Observação: em condição pode-se ter um operador relacional ou lógico (ou uma combinação deles):

Operadores relacionais e lógicos

Exemplo:

Seja a seqüência:

Solicite e leia dois números reais (variáveis n1 e n2);

Se n1 for maior que n2 então escreva n1;

Escreva “FIM”.

Nesta seqüência de instruções, o objetivo é escrever ovalor de n1, desde que ele seja maior que n2.

Operadores relacionais Operadores lógicos > “MAIOR QUE”

< “MENOR QUE”

>= “MAIOR OU IGUAL”

<= “MENOR OU IGUAL”

!= “DIFERENTE”

== “igual a”

&& “e”

~ “NÃO”

|| “OU”

Estrutura condicional (if…)

Resp. Exemplo:#include <iostream>

using namespace std;

int n1, n2;

main () {

cout << “Informar dois numeros:\n";

cin >> n1 >>n2;

if (n1 > n2) {

cout << “n1 = " << n1 <<"\n";

}

system("PAUSE");

}

Estrutura condicional (if…)

Exercício:

1) Modificar o programa anterior para que ele leia dois números e escreva a soma se a > b.

2) Faça um programa que leia 3 números e escreva a quantidade de números maiores que 10.

3) Faça um programa que leia 3 números e escreva a quantidade de números maiores que 10 ou menores que 5.

Estrutura condicional (if…)

Respostas:1)

#include <iostream>

using namespace std;

int n1, n2;

main () {

cout << “Informar dois numeros:\n";

cin >> n1 >>n2;

if (n1 > n2)

cout << “n1 + n2 = " << n1 + n2 <<"\n";

system("PAUSE");

}

Estrutura condicional (if…)

2)

#include <iostream>

using namespace std;

int a, b, c, k;

main () {

cout << “Informe tres numeros:\n";

cin >> a >>b >>c;

k=0;

if (a>10) k=k+1;

if (b>10) k++;

if (c>10) k=k+1;

cout << "Num de elementos >10: " << k <<"\n";

system("PAUSE");

}

Faça o teste de mesapara os seguintesvalores:a = 1, b = 15 e c = 10

a = 11, b = 15 e c = 20

a = 1, b = 5 e c = 8

Estrutura condicional (if…)

3)

Algoritmo

Solicite 3 números

Leia 3 números reais;

Atribuir, ao número k, inicialmente, o valor 0 (zero);

Se a > 10 ou a < 5 então faça k = k + 1;

Se b > 10 ou b < 5 então faça k = k + 1;

Se c > 10 ou c < 5 então faça k = k + 1;

Escrever k

Fim algoritmo

Estrutura condicional (if…)

3)

#include <iostream>

using namespace std;

float a,b,c;

int k;

main() {

cout << "Escrever tres numeros: \n";

cin >> a >> b >> c;

if ((a>10) || (a<5)) k++;

if ((b>10) || (b<5)) k++;

if ((c>10) || (c<5)) k++;

cout << "Numero de elementos >10 ou <5 = " << k<< "\n";

system("Pause");

}

Estrutura condicional (if…)

Teste o exemplo anterior para um conjunto de valores para a, b e c abaixo:

N (a, b e c) N>10 N<5 (N>10)ou(N<5) k+1

A 11 V F V 0+1=1

B 6 F F F 1

C 4 F V V 1+1=2

N (a, b e c) N>10 N<5 (N>10)ou(N<5) k+1

A 10 F F F 0

B 5 F F F 0

C 3 F V V 0+1=1

N (a, b e c) N>10 N<5 (N>10)ou(N<5) k+1

A 15 V F V 0+1=1

B 3 F V V 1+1=2

C 1 F V V 2+1=3

Expressões Lógica

Operadores lógico

Tipos: ~ – negação

&& – conjunção

|| – disjunção

Tabela Verdade

Conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações (V ou F), e um conjunto de operadores lógicos.

Operação de Negação

A não A

F V

V F

Expressões Lógicas

Tabela Verdade

Operação de conjunção (&&)

A B A e B

F F F

F V F

V F F

V V V

Operação de disjunção (||)

A B A ou B

F F F

F V V

V F V

V V V

Operação de Negação

A não A

F V

V F

Expressões Lógicas

Prioridade Operadores

1 não

2 e

3 ou

Prioridades

entre operadores lógicos

entre todos os operadores

Prioridade Operadores

1 Parênteses mais internos

2 Operadores aritméticos

3 Operadores relacionais

4 Operadores lógicos

Estrutura condicional (if…)

Exercício proposto:

1) Escrever um programa que leia dois números reais e faça a divisãodo primeiro pelo segundo (no caso: a dividido por b), se a for maiorque b. Aqui, b deve ser diferente de zero.

Seqüência de instruções:

Algoritmo

Solicite dois números

Leia dois números

Se a > b e b ≠ 0 então escreva a/b;

Fim

Estrutura condicional (if…)

Exercício proposto:1)

#include <iostream>

using namespace std;

float a,b;

main () {

cout << "Informe dois numeros:\n";

cin >> a >> b;

if ((a>b) && (b!=0)) cout << "a/b = "<<a/b <<”\n”;

cout <<“FIM \n”;

system("PAUSE");

}

Estrutura Condicional (if…else)

if...else

Sintaxe: if (condição)

comando 1;

else

comando 2;

ou, no caso de mais de um comando por alternativa

if (condição) {

comando 1;

comando 2;}

else {

comando 1;

comando n; }

Estrutura Condicional (if…else)

Exemplos:

Considerando-se a seqüência de instruções:

Solicite dois números

Leia dois números

Se a > b, escreva a

Senão, escreva b.

Nesta seqüência, o número impresso será o maior entre os dois escritos.

Estrutura Condicional (if…else)

Exemplos:#include <iostream>

using namespace std;

float a,b;

main ()

{

cout << “Informe dois numeros:\n";

cin >>a >>b;

if (a>b)

cout << "Maior = " <<a <<"\n";

else

cout << "Maior = " <<b <<"\n";

cout << "FIM \n”;

system("PAUSE");

}

Estrutura Condicional (if…else)

Proposta: alterar o programa anterior para comparar 3 números.

1ª forma: com cout e cin

#include <iostream>

using namespace std;

float n1,n2,n3;

main () {

cout <<“Informe tres numeros:\n";

cin >>n1 >>n2 >>n3;

if (n1>n2) {

if (n1>n3) cout <<"Maior = " <<n1 <<"\n";

else cout <<"Maior = " <<n3 <<"\n"; }

else {

if (n2>n3) cout <<"Maior = " <<n2 <<"\n";

else cout <<"Maior = " <<n3 <<"\n"; }

system("PAUSE"); }

Estrutura Condicional (if…else)

Proposta: alterar o programa anterior para comparar 3 números.

2ª forma:

#include <iostream>

using namespace std;

float n1,n2,n3,maior;

main () {

cout << “Informe tres numeros:\n";

cin >>n1 >>n2 >>n3;

maior=n1;

if (n2>maior) maior=n2;

if (n3>maior) maior=n3;

cout <<"Maior = " <<maior <<"\n";

system("PAUSE");

}

Estrutura Condicional

Exercício Proposto:

1) Faça um programa que leia 2 números e escreva a diferença se o primeiro for maior que o segundo. Caso contrário escreva a soma.

2) Faça um programa que leia dois números reais e faça a divisão deles, de acordo com as condições:

Se o 1º for maior ou igual ao 2º, divide-se o 1º pelo 2º. O 2º número deve ser diferente de zero (fazer a/b se a≥b e b ≠ 0);

Se o 2º for maior que o 1º, divide-se o 2º pelo 1º. O 1º número deve ser diferente de zero (fazer b/a se b>a e a ≠ 0).

Estrutura Condicional

3) Considere a seguinte função de duas sentenças:

- fazer um programa para calcular o valor da função para um certo valor de x (que deve ser digitado na execução do programa).

- Testar o programa para os valores -1; 0; 1; 2 e 5. (isto equivale a executar o programa 5 vezes).

1xsex2

1xse3x

)x(f

Estrutura Condicional

4) Dado três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo, se forem, verificar se compõem um triângulo equilátero (todos os lados iguais), isósceles (pelo menos dois lados iguais) ou escaleno (todos os lados diferentes). Caso contrário, informar que estes três valores não compõe nenhum triângulo. A regra para três valores formar um triângulo é que cada lado informado deve ser menor que a soma dos outros dois lados.

top related