FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 04) Prof. Alessandro Bernardo [email protected] http://bsi.k6.com.br FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estruturas de controle Até o momento da disciplina, todos os códigos feitos tiveram todas as suas linhas executadas. Entretanto, inclusive alguns códigos feitos anteriormente, necessitam de uma estrutura que escolha a execução de uma linha ou não. Nos exercícios da aula passada, pôde ser visto algumas expressões utilizando divisão e raiz quadrada. Esses dois cálculos merecem atenção pois, caso o usuário insira valores que levem a uma divisão por zero ou ao cálculo de uma raiz quadrada de um número negativo, pode-se ter um erro na execução do programa. Dessa forma, a linha que faz esses cálculos devem ser tratadas e só poderão ser executadas se não houver problemas. Esse controle pode ser feito pela estrutura condicional. FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional A estrutura condicional permite a escolha de execução de uma linha ou um conjunto de linhas de execução a partir de uma condição. Exemplo: faça um código para calcular o inverso de um número inserido pelo usuário. cout << “Insira um número:”; double num; cin >> num; cout << “Inverso:” << 1/num; FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional A estrutura condicional permite a escolha de execução de uma linha ou um conjunto de linhas de execução a partir de uma condição. Exemplo: faça um código para calcular o inverso de um número inserido pelo usuário. cout << “Insira um número:”; double num; cin >> num; cout << “Inverso:” << 1/num; Pode haver um erro de execução nessa linha!! Esse programa compila perfeitamente. Entretanto, na sua execução, caso o usuário digite 0, a divisão não será calculada corretamente, pois não se conhece divisão por zero. FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Para resolver esse problema de forma a não deixar o programa executar a divisão caso o denominador seja zero, é necessário a inclusão de uma estrutura condicional. Exemplo: faça um código para calcular o inverso de um número inserido pelo usuário. cout << “Insira um número:”; double num; cin >> num; if (num != 0) cout << “Inverso:” << 1/num; else cout << “Não é possível calcular!”; FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Para resolver esse problema de forma a não deixar o programa executar a divisão caso o denominador seja zero, é necessário a inclusão de uma estrutura condicional. Exemplo: faça um código para calcular o inverso de um número inserido pelo usuário. cout << “Insira um número:”; double num; cin >> num; if (num != 0) cout << “Inverso:” << 1/num; else cout << “Não é possível calcular!”; Se o número for diferente de zero então escreva o inverso senão (caso contrário) escreva que não é possível calcular FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Sintaxe: if ( condição ) obrigatório // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa opcional FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Sintaxe: if ( condição ) obrigatório // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa Exemplo: if (x == 0) cout << “numero e igual a 0”; opcional FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Sintaxe: if ( condição ) obrigatório // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa Exemplo: if (x == 0) cout << “numero e igual a 0”; else cout << ”numero e diferente de zero”; opcional FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura condicional Sintaxe: if ( condição ) obrigatório // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa Exemplo: if (x<0) cout << “numero eh menor que 0”; else cout << “numero eh maior ou igual a 0”; opcional FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional if ( condição ) // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa A condição é uma verificação que pode retornar verdadeiro ou falso. Essa verificação é feita utilizando os operadores relacionais. FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional if ( condição ) // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa verdadeiro falso FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional if ( condição ) // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa Exemplos: Operadores Relacionais: Operador Significado 8 > 10 -- falso Maior que ou igual a 7 >= 5 -- verdadeiro < Menor que 3 == 3 -- verdadeiro <= Menor que ou igual a == Igual a 4 == 3 -- falso != Diferente > Maior que >= 5 <= 5 -- verdadeiro FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional if ( condição ) // bloco de execução quando a condição é verdadeira else // bloco de execução quando a condição é falsa Exemplo: int x; cin >> x; if ( x > 0 ) cout << “o numero inserido é maior que zero”; else cout << “o número inserido é menor ou igual a zero”; FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional Exemplos: (1) Crie um programa para avaliar se um número real inserido pelo usuário é positivo ou não; (2) Crie um programa para avaliar se um número inteiro inserido pelo usuário é impar ou par; (3) Crie um programa que leia dois números e escreva qual dos dois é maior. FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos (1) Crie um programa para avaliar se um número real inserido pelo usuário é positivo ou não; using namespace std; #include <iostream> int main() { cout << “Insira um número:”; double num; cin >> num; if (num > 0) cout << “número positivo”; else cout << “número não positivo”; system(“pause”); return(0); } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos (2) Crie um programa para avaliar se um número inteiro inserido pelo usuário é impar ou par; using namespace std; #include <iostream> int main() { cout << “Insira um número:”; int num; cin >> num; if (num % 2 == 0) cout << “número par”; else cout << “número impar”; system(“pause”); return(0); } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos (3) Crie um programa que leia dois números e escreva qual dos dois é maior. using namespace std; #include <iostream> int main() { cout << “Insira um número:”; double a, b; cin >> a >> b; if (a > b) cout << “maior” << a << endl; else cout << “maior” << b << endl; system(“pause”); return(0); } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Estrutura de controle condicional Exercício: (1) Crie um programa que leia dois números e escreva o que é maior: a soma ou o produto entre eles; (2) Crie um programa que leia dois números reais e os escreva em ordem crescente.