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 03) Prof. Alessandro Bernardo [email protected] http://bsi.k6.com.br FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Funções no C++ No C++, como em todas as outras linguagens, existe a possibilidade de declaração e utilização de funções para execução de algoritmos específicos. Nesse curso não foca-se a criação desse tipo de estrutura. Entretanto, ao longo do curso, essas estruturas serão muito úteis para automatizar cálculos matemáticos e armazenamento. As funções não são palavras reservadas. Elas podem ser consideradas nomes de cálculos que já estão definidos em alguma biblioteca do C+=. Por exemplo, a biblioteca de funções matemáticas do C++ (math.h) define que o identificador ABS chama uma seqüência de cálculos para calcular o valor absoluto de um número. FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Funções no C++ Funcionamento: Retorno NOME_DA_FUNÇÃO ( ) Resultado do cálculo Argumento Dado a ser utilizado no cálculo FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Funções do C++ A biblioteca matemática do C++ (math.h) possui várias funções e dados úteis em cálculos matemáticos e aritméticos. Dentre elas, pode-se citar as mostradas abaixo. Função Descrição Exemplo abs() Cálculo do valor absoluto abs(-10) = 10 sin() Calcula o seno sin(0) = 0 cos() Calcula o cosseno cos(0) = 1 sqrt() Calcula a raiz quadrada sqrt(9) = 3 pow() Calcula a potenciação de um valor por outro pow(5,2) = 25 Observação: Para se utilizar essas funções, deve-se incluir a biblioteca math.h. Para isso, deve-se acrescentar um novo include antes da função principal. Essa inclusão é mostrada abaixo: #include <math.h> FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Funções do C++ Exemplos: using namespace std; #include <iostream> #include <math.h> using namespace std; #include <iostream> #include <math.h> int main() { double base, expoente; int main() { cout << “Insira a base:”; double num; cin >> base; cout << “Insira um número:”; cout >> “Insira o expoente:”; cin >> num; cin >> expoente; cout << “Valor absoluto:” << abs(num) << endl; double pot = pow(base,expoente); cout << “Raiz quadrada:” << sqrt(num) << endl; cout << “Potenciação:” << pot << endl; system(“pause”); return(0) } system(“pause”); return(0) } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos: 1. Fazer um programa que leia o teclado o comprimento dos dois catetos de um triângulo retângulo e escreva no monitor o valor da hipotenusa; 2. Fazer um programa que leia dois números reais (a e b) e escreva o resultado das expressões abaixo. a 2 b2 f1 a b , f 2 a 5 ab a b e f3 a b2 3. Fazer um programa que leia três números reais (a, b e c) e escreva o resultado das expressões abaixo. f1 a 2 b 2 c 2 f2 2 a b 2 b c 2 c a abc f3 ac FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos: 1. Fazer um programa que leia o teclado o comprimento dos dois catetos de um triângulo retângulo e escreva no monitor o valor da hipotenusa; using namespace std; #include <iostream> #include <math.h> int main() { cout << “Insira os dois catetos:”; double c1, c2; cin >> c1 >> c2; double hip = sqrt(c1*c1 + c2*c2); cout << “hipotenusa: ” << mf << endl; system(“pause”); return(0); } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos: 2. Fazer um programa que leia dois números reais (a e b) e escreva os resultados das expressões abaixo. using namespace std; #include <iostream> #include <math.h> int main() { a 2 b2 f1 a b f 2 a 5 ab a b cout << “Insira os dois valores:”; double a, b; cin >> a >> b; f3 a b2 double f1 = (a*a + b*b)/(a-b); double f2 = pow(a,5) + a*b + sqrt(a+b); double f3 = abs(a+b*b); cout << “f1 = “ << f1 << endl; cout << “f2 = “ << f2 << endl; cout << “f3 = “ << f3 << endl; system(“pause”); return(0); } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exemplos: 3. Fazer um programa que leia três números reais (a, b e c) e escreva os resultados das expressões abaixo. using namespace std; #include <iostream> #include <math.h> int main() { f1 a 2 b 2 c 2 cout << “Insira os três valores:”; double a, b, c; f 2 2ab 2bc 2ca cin >> a >> b >> c; abc f3 ac double f1 = a*a + b*b + c*c; double f2 = 2*a*b + 2*b*c + 2*c*a; double f3 = sqrt(a+b+c)/(a+c); cout << “f1 = “ << f1 << endl; cout << “f2 = “ << f2 << endl; cout << “f3 = “ << f3 << endl; system(“pause”); return(0); } FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Exercícios: 1. Escrever um programa que leia dois números reais e escreva a soma, a diferença, o produto, a divisão, a potenciação entre eles e a raiz quadrada de ambos. 2. Fazer um programa que leia os coeficientes (a, b e c) de uma equação de segundo grau (abaixo) e calcule as duas raízes reais a partir da equação de Báscara (abaixo). Equação de segundo grau: Equação de Báscara: ax2 bx c 0 b b 2 4ac x 2a