A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 05) Prof. Alessandro Bernardo.

Apresentações semelhantes


Apresentação em tema: "FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 05) Prof. Alessandro Bernardo."— Transcrição da apresentação:

1 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 05) Prof. Alessandro Bernardo FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores

2 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional Exemplos: (1)Fazer um programa que leia um número do teclado e escreva se ele é positivo, negativo ou zero; (2)Fazer um programa que leia dois números reais do teclado e os escreva na ordem crescente e na ordem decrescente; (3)Fazer um programa que leia três números do teclado e escreva o maior deles. Na aula passada foram visos alguns exemplos da estrutura de controle condicional do C++, a sintaxe e os operadores relacionais. Entretanto, para resolver alguns problemas envolvendo essa estrutura, deve-se conhecê-la um pouco mais. Isso será feito a partir da apresentação de exemplos.

3 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Exemplo: (1)Fazer um programa que leia um número do teclado e escreva se ele é positivo, negativo ou zero; Nesse caso, deve-se verificar três possibilidades. Entretanto, a estrutura condicional que vimos pode tratar, em uma condição, apenas duas. Com isso, deve-se utilizar aninhamento de estruturas (uma estrutura dentro da outra), como visto no exemplo.

4 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional (1) Fazer um programa que leia um número do teclado e escreva se ele é positivo, negativo ou zero; using namespace std; #include int main() { cout << Insira um número:; double num; cin >> num; if (num > 0) cout << número positivo; else if (num < 0) cout << número negativo; else cout << número igual a zero; system(pause); return(0); }

5 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional (1) Fazer um programa que leia um número do teclado e escreva se ele é positivo, negativo ou zero; using namespace std; #include int main() { cout << Insira um número:; double num; cin >> num; if (num > 0) cout << número positivo; else if (num < 0) cout << número negativo; else cout << número igual a zero; system(pause); return(0); } Essa estrutura if esta dentro de outra. Assim, ela só executa quando a condição (num > 0) é falsa.

6 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (2) Fazer um programa que leia dois números reais do teclado e os escreva na ordem crescente e na ordem decrescente; Nesse caso, no momento em que sabe-se qual número é maior, deve-se escrever os dois em ordem crescente e decrescente. O melhor para esse caso é inserir duas linhas de execução dentro do if e duas dentro do else. Entretanto, o formato que vimos na aula anterior não permite isso. Assim, para incluir mais de uma linha dentro de cada bloco é necessário delimitá-las por chaves, como visto na solução do exemplo.

7 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (3) Fazer um programa que leia dois números reais do teclado e os escreva na ordem crescente e na ordem decrescente; cout << Insira dois número:; double a,b; cin >> a >> b; if (a > b) { cout << crescente: << b << a << endl; cout << decrescente: << a << b << endl; } else { cout << crescente: << a << b << endl; cout << decrescente: << b << a << endl; }

8 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (2) Fazer um programa que leia dois números reais do teclado e os escreva na ordem crescente e na ordem decrescente; cout << Insira dois número:; double a,b; cin >> a >> b; if (a > b) { cout << crescente: << b << a << endl; cout << decrescente: << a << b << endl; } else { cout << crescente: << a << b << endl; cout << decrescente: << b << a << endl; } Linhas executadas caso a condição seja verdadeira. Linhas executadas caso a condição seja falsa.

9 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional Sintaxe: if ( condição ) { // linhas executadas quando a condição é verdadeira } else { // linhas executadas quando a condição é falsa } opcional obrigatório

10 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (2) Fazer um programa que leia três números do teclado e escreva o maior deles Nesse caso, pode-se utilizar várias estruturas if aninhadas. Entretanto, se utilizarmos operadores lógicos poderemos fazer isso com menos comandos if. Em algoritmo, o código poderia ficar assim: SE a for maior que b E a for maior que c ENTÃO escrever valor de a SENÃO SE b for maior que c ENTÃO escrever valor de b SENÃO escrever valor de c

11 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (2) Fazer um programa que leia três números do teclado e escreva o maior deles ou cout << Insira três números:; double a,b, c; cin >> a >> b >> c; if ( (a > b) && (a > c) ) { cout << maior: << a << endl; } else { if (b > c) cout << maior: << b << endl; else cout << maior: << c << endl; } cout << Insira três números:; double a,b, c; cin >> a >> b >> c; if ( (a > b) && (a > c) ) cout << maior: << a << endl; else if (b > c) cout << maior: << b << endl; else cout << maior: << c << endl;

12 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (2) Fazer um programa que leia três números do teclado e escreva o maior deles. cout << Insira três números:; double a,b, c; cin >> a >> b >> c; if ( (a > b) && (a > c) ) { cout << maior: << a << endl; } else { if (b > c) cout << maior: << b << endl; else cout << maior: << c << endl; } O operador lógico de conjunção em C++ é &&.

13 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Operadores lógicos OperadorSignificado &&E ||OU !NÃO

14 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Operadores lógicos pqp && qp || q! p FFFFV FVFVV VVVVF VFFVF (7 > 4) || (5 == 3) --- verdadeiro (7 > 4) && ( 5 == 3 ) --- falso (10 < 20) && (7 != 20) --- verdadeiro ( 10 < 10 ) || (5 != 5) --- falso ( 10 < 10 ) && (5 != 5) --- falso (10 < 20) || (7 != 20) --- verdadeiro

15 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Operadores lógicos pqp && qp || q! p FFFFV FVFVV VVVVF VFFVF !(7 > 4) || (5 == 3) --- falso !( (7 > 4) && ( 5 == 3 ) ) --- verdadeiro !( (10 < 20) && (7 != 20) ) --- falso

16 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional Exemplos: (1)Fazer um programa que leia três números e os escreva em ordem crescente; (2)Fazer um programa que leia os três coeficientes de uma equação de segundo grau e calcule as raízes dessa equação. Esse programa deverá emitir uma mensagem de erro caso possa ocorrer divisão por zero ou o cálculo da raiz quadrada de número negativo.

17 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (1)Fazer um programa que leia três números e os escreva em ordem crescente; cout << Insira três números:; double a,b, c; cin >> a >> b >> c; if ( (a > b) && (a > c) ) if (b > c) cout << c << b << a; else cout << b << c << a; else if (b > c) if (a > c) cout << c << a << b; else cout << a << c << b; else if (a > b) cout << b << a << c; else cout << a << b << c;

18 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (1)Fazer um programa que leia três números e os escreva em ordem crescente; cout << Insira três números:; double a,b, c; cin >> a >> b >> c; if ( (a > b) && (a > c) ) if (b > c) cout << c << b << a; else cout << b << c << a; else if (b > c) if (a > c) cout << c << a << b; else cout << a << c << b; else if (a > b) cout << b << a << c; else cout << a << b << c; Nessa solução existem estruturas if aninhadas. Assim, caso a primeira condição seja verdadeira, esse será o código a ser executado. Já se essa condição for falsa, o código executado será esse.

19 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (1)Fazer um programa que leia três números e os escreva em ordem crescente; cout << Insira três números:; double a,b, c; cin >> a >> b >> c; if ( (a > b) && (a > c) ) if (b > c) cout << c << b << a; else cout << b << c << a; else if (b > c) if (a > c) cout << c << a << b; else cout << a << c << b; else if (a > b) cout << b << a << c; else cout << a << b << c; Esses dois blocos de execução também estão aninhados.

20 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional (2) Fazer um programa que leia os três coeficientes de uma equação de segundo grau e calcule as raízes dessa equação. Esse programa deverá emitir uma mensagem de erro caso possa ocorrer divisão por zero ou o cálculo da raiz quadrada de número negativo. cout << Insira os três coeficientes:; double a,b, c; cin >> a >> b >> c; double delta = b*b – 4*a*c; if ( (delta >= 0) && (a != 0) ) { double x1, x2; x1 = ( -b + sqrt(delta) ) / (2*a); x2 = ( -b – sqrt(delta) ) / (2*a); cout << raízes = << x1 << x2 << endl; } else { cout << ERRO!!; }

21 FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional Exercícios: (1)Faça um programa para ler os comprimentos dos três lados de um triângulo e escrever se esse triângulo pode existir ou não. (2)Fazer um programa que leia três números e escreva o menor deles; (3)Fazer um programa que leia dois números (a e b) e escreva os resultados das expressões a seguir. Esse programa deverá emitir uma mensagem de erro caso ocorra divisão por zero ou raiz quadrada de número negativo.


Carregar ppt "FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 05) Prof. Alessandro Bernardo."

Apresentações semelhantes


Anúncios Google