Funções da biblioteca Matematica - Math.h

A biblioteca Math.h oferece protótipos para funções matemáticas básicas como funções trigonométricas como seno e cosseno, calculo de raiz quadrada, logaritmos e potenciação. Vou fazer um resumo sobre as principais funções dessa biblioteca.

Raiz quadrada - O comando para calcular a raiz quadrada de um numero é sqrt. Na figura 1 temos um programa em C++ onde a variável Y armazena a raiz quadrada de um numero X que foi digitada via teclado.
Figura 1. Seta vermelha mostrando o comando para calcular a raiz quadrada de uma variável X. 

Potenciação - A biblioteca matemática também calcula a potenciação. Para  realizar o calculo, é usado comando pow e os valores da base e do expoente entre parenteses. Na figura 2 temos o código em C++ da potenciação 2³.
Figura 2. Código usado para o calculo de potenciação
Logaritmos - Com o uso da biblioteca matemática é possível calcular logaritmo natural e logaritmo da base 10. Na figura 3 há um exemplo da função de calculo do ln e do log e a execução do programa.
Figura 3. Código em C++ e execução de programa com o calculo de log.
Funções trigonométricas  - As funções trigonométricas seno, cosseno, tangente , arco-seno, arco-cosseno, arco-tangente alem das funções hiperbólicas. A figura 4 temos um programa em C++ que calcula o seno, o cosseno e a tangente cujo o angulo foi digitado via teclado. As funções trigonométricas são calculados com ângulos em radianos.
Figura 4. Calculo da função seno, cosseno e tangente de um angulo digitado.

Outras funções  - A biblioteca matemática também possui funções para calcular exponenciais com a função exp(x) , fazer arrendondamentos pelas funções ceil(x) e floor(x) entre outras. Para conhecer outras funções clique aqui e acesse um outro blog com mais informações sobre o assunto.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Lista de exercícios - Preparação para Av3 - Gabarito

Questão 1 - Exiba todos os dados da tabela produto onde o nome do produto (nome_prod) deve estar em ordem alfabética .


Questão 2 - Exiba todos os nomes de produtos cadastrados na tabela produto exibindo o nome do produto (nome_prod) em ordem alfabética descendente e exibindo todos os caracteres do nome em letras maiúsculas.

Questão 3 - Exiba todos os nomes (nome_prod) de produtos cadastrados e seus respectivos preços de custo (preco_custo) tabela produto exibindo o nome do produto em ordem alfabética assim como todos os caracteres do nome em letra minúscula. O nome da coluna nome_prod também deve ser renomeada durante a exibição para PRODUTO.

Questão 4 - Exiba todos os nomes (nome_prod) de produtos cadastrados e seus respectivos preços de custo (preco_custo) da tabela produto onde a tabela deve ser ordenada do produto mais caro para o mais barato.

Questão 5 - O mercado onde o BD esta sendo analisado, está dando um desconto de 10% em todos os produtos. Devido a essa demanda, é preciso Exibir todos os nomes (nome_prod) de produtos cadastrados, seus respectivos preços de custo (preco_custo) e o valor do desconto. A coluna com o valor do desconto deve ser chamada "Valor do desconto" e o calculo será dado por:
desconto=preco_custo*0,1


Questão 6 - O mercado onde o BD esta sendo analisado, está numa país fictício onde o imposto sobre o produto é de 27,5%. Exiba todos os produtos(nome_prod) da tabela, seus respectivos preços (preco_custo) e o quanto de imposto deve ser pago em cada produto. O calculo do imposto é dado por:
imposto= preco_custo*0,275

Questão 7 - O mercado onde o BD esta sendo analisado, está numa país fictício onde o imposto sobre o produto é de 27,5%. Exiba todos os produtos(nome_prod) da tabela, seus respectivos preços (preco_custo) e o quanto de imposto deve ser pago em cada produto. Para facilitar a visualização, o valor do imposto de conter somente 2 casas depois da virgula usando regra de arredondamento.



Questão 8 - Qual a função do comando COMMIT?

Questão 9 - Analise a sequencia de "quase" instruções SQL abaixo:

insert into ....
insert into ....
insert into ....

savepoint A;

update....
insert into ....

savepoint B;

insert into ....
delete ....

savepoint C;

update ....
insert into ....
insert into ....

Usando a opção "Rollback to savepoint C;" a instrução onde um registro está sendo deletado foi cancela?
Resposta: Não....
Quais instruções ficarão na cache do BD se o comando "Rollback to savepoint A;" for executado?
Resposta: Todos comandos em vermelho

Questão 10 -  Exiba todos os nomes (nome_prod) e o tamanho da string dos nome dos produtos que tiver a palavra cola no nome.


Questão 11 -  Exiba todos os nomes (nome_prod) e o tamanho da string dos nome dos produtos que tiver a palavra cola no nome. Lembre que a pessoal que cadastrou o produto pode ter usado letras maiúscula e minusculas.  Faça a busca convertendo todas as letras para maiúsculas.


Comandos de repetição

Exercício 1 - Fazer um programa que receba 10 numero via teclado e mostre quais desses valores são positivos e quais são negativos (Não será digitada zero). A figura 1 mostra o programa após sua execução.
- Os números devem ser recebidos dentro do loop;
- será necessário o uso do comando de decisão.
Figura 1. Mostrando se os números são positivos ou negativos.
Exercício 2- Fazer um programa que ficará pedindo para o usuário digitar um numero até que o usuário digite o numero 10 conforme mostra a figura 2.
- O segredo esta no condição do comando de decisão
Figura 2. O programa irá solicitar um numero até o usuário digitar 10.
Exercício 3- Fazer um programa que receba 10 numero e mostre o maior de todos os números digitados conforme apresenta a figura 3.
****Não serão digitados números negativos
- Os números devem ser recebidos dentro do loop;
- será necessário o uso do comando de decisão.
- o uso de uma variável auxiliar é recomendado.
Figura 3. Programa exibindo o maior entre 10 numeros
Exercício 4- Fazer um programa que receba 10 numero positivos, some e exiba o resultado da soma. O programa só aceitará valores positivos. Se algum valor negativo for digitado o programa deve exibir a mensagem "valor invalido, só digite números positivos" e não contar esse numero como um numero digitado conforme apresenta a figura 4.
- Os números devem ser recebidos dentro do loop;
- Devem ser digitados 10 números positivos independente dos números negativos digitados.
Figura 4. Execução do programa. Serão digitado 10 números positivos.
Exercício 5- Fazer um programa que faça exponenciação sem o uso da biblioteca Math.h. Para isso o programa deve receber o valor da base e o valor do expoente. O programa só irá calcular o a exponenciação se o expoente for maior que zero, caso seja negativo, o programa deve exibir a mensagem "expoente invalido" e finalizar o programa. A figura 5 mostra como deve ser a execução do programa.
Figura 5. Execução do programa de calculo de expoente.

Exercício 6- Fazer um programa que calcule o fatorial de um numero digitado via teclado. O fatorial que é representado por n! é o produto de todos os inteiros positivos menores ou iguais a n. A figura 6 mostra a execução do programa.
Figura 6. Execução do programa que calcula fatorial de um numero.
Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Comando de decisão de múltipla escolha

Exercício 1 - O Cardápio de uma lanchonete oferece os itens apresentados na figura 1. 
Figura 1. Menu que deve ser apresentado ao usuário.
Com base no cardápio mostrado, fazer um programa que receberá o código de um lanche e de uma bebida. Após a escolha do usuário, o programa deverá exibir o total a pagar conforme apresenta a figura 2. Caso o usuário digite algum valor invalido deve ser(em) exibida(s) a mensagem (s) conforme indicado na figura 3.
Figura 2. Escolha de um Lanche e uma bebida e total a pagar.
Figura 3. Mensagens caso escolhido uma mensagem errada.
Exercício 2 - Fazer um programa que funcionará como uma calculadora. Usando essa calculadora, o usuário poderá escolher através de um menu uma operação matemática. As opções da calculadora são mostradas na figura 4. Na figura 5 há um exemplo da execução do programa.
- O programa irá receber dois números para realizar as operações.
Figura 4.  Operações disponíveis na calculadora.
Figura 5. Execução do programa calculadora case.

Exercício 3 - Fazer um programa para uma rede de hotéis que calcule o gasto de um cliente durante sua estadia. Para realizar o calculo, o usuário do programa deve digitar as seguintes informações:

         Nome do cliente (nome)

         - Numero de diárias (n_diarias)

        - Tipo do quarto (tipo_quarto)

        - Gastos extras (gasto_extra)


Nesta rede de hotéis, há 5 suítes cujo o valor da diária é identificado pelo tipo de quarto. O preço referente a cada quarto é apresentado na  tabela abaixo:
  
         Tipo do quarto |    preço
                 1                   350,00
                 2                   250,00
                 3                   190,00
                 4                   150,00
                 5                   100,00

O custo das diárias deve ser calculado a partir da equação abaixo:

          custo_diarias= n_diarias* [valor do tipo de quarto escolhido];


O gasto extra representa o gasto do hospede com itens consumidos no frigobar. Para todo gasto extra, é adicionado 10% de taxa de serviço. A equação abaixo mostra como calcular os 10% do serviço:

           servico=gasto_extra*0.10
           
O gasto total do hospede será o resultado da soma entre o custo das diárias mais o gasto exta e o serviço conforme indicado abaixo:

           total= custo_diarias  +  gasto_extra + servico;
Figura 6. Execução do programa hotel case.
No final o programa, caso o tipo do quarto seja digitado corretamente (valores entre 1 e 5), será exibida uma mensagem mostrada na figura 6. Caso o numero seja digitado um tipo de quarto invalido, será exibida a seguinte mensagem "Quarto não existente", conforme figura 7.
Figura 7. Execução do programa quando o tipo do quarto é digitado errado.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Desafio de comando de repetição

Desafio 1

Fazer um programa que receba um numero via teclado e exiba a tabuada desse numero conforme mostrado na figura 1.
Figura 1. programa que irá mostrar a tabuada de um numero digitado.

Desafio 2

Fazer um programa que exiba as tabuadas do 2 ao 5 conforme mostrado na figura 2
Figura 2. Programa exibindo as tabuadas do 2 ou 5.

Desafio 3

Fazer um programa que receba 10 números via teclado e mostre o maior numero digitado. Neste desafio podem ser digitados números negativos conforme mostra a figura3.
Figura 3. Maior entre 10 números.

Desafio 3

Fazer um programa que calcule potenciação onde os valores da base e do expoente serão digitados pelo usuário. O programa identificará se o expoente é positivo, negativo ou zero e aplicar as regras matemáticas para resolver o problema conforme mostra a figura 4.
Figura 4. Programa para calcular potenciação - Três tipos de cálculos possíveis dependendo do valor do expoente.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Desafio - comando de decisão

Desafio 1

Fazer um programa que receba 3 números e mostre esses números em ordem crescente conforme a figura 1.
Figura 1. Programa exibindo a ordem crescente de números digitados.
Desafio 2

Fazer um programa que para um caixa de supermercado automático. Este caixa automático irá receber o valor total da compra e o valor recebido pelo caixa e calcular o troco da pessoa. Como o sistema é todo eletrônico, o programa deve informar quais e quantas notas e/ou moedas devem ser dadas ao cliente. A maquina só possui notas 100, 50, 10, 5, 1 real e moedas de 0,50 e 0,10 centavos. O programa deve ignorar valores menores que 0,10 centavos. A figura 2 apresenta a execução do programa quando o valor do dinheiro é superior ao da compra.
Figura 2. Execução do programa quando o dinheiro do cliente é superior ao total da compra.
Quando a comprar é maior que o dinheiro, o programa exibirá quanto esta faltando e encerrará o programa. Caso o valor do dinheiro é igual ao da comprar, exibir a mensagem "Não há troco, obrigado e volte sempre"

Desafio 3

Fazer um programa  que receba um numero inteiro e verifique se esse numero é primo ou não. A figura 3 temos um print da tela com a execução do programa.
Figura 3. Execução do programa que verificar se um numero é primo ou não

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Exercícios - Comandos de repetição

Exercício 1- Fazer um programa que receba o seu primeiro nome via teclado e exiba-o em 30 linhas diferentes.

Exercício 2- Fazer um programa que mostre no dispositivo padrão a sequencia numérica de 0 até 100, conforme indicado na figura 1.
- Não é necessário entrar com nenhum valor via teclado.
- Controle somente os parâmetros de condições iniciais e finais.
Figura 1. Exibição de todos números de 0 a 100.

Exercício 3- Fazer um programa que mostre todos os números de 53 a 100 conforme indicado na figura 2 abaixo.
- Não é necessário digitar nenhum numero para iniciar o programa.
- Controle somente os parâmetros de condições iniciais e finais.
Figura 2.  Exibição de todos os números de 53 a 100.
Após fazer o exercício e responda: O que foi alterado entre o primeiro e o segundo exercício e porque?

Exercício 3 - Fazer um programa que mostre todos os números de 0 até N onde N será digitado via teclado. A figura 3 mostra a execução do programa.
- Neste caso, será necessário digitar N via teclado.
- Analise o que foi alterado nos exercícios anteriores para solucionar este exercício.
Figura 3. Exibir todos números de 0 a N.
Exercício 4- Fazer um programa que mostre no dispositivo padrão todos os números pares entre 1 e 100, conforme indicado na figura 4.
- Não é necessário digitar nenhum numero para iniciar o programa.
- Controle somente os parâmetros de condições iniciais e finais.
Figura 4. Todos números pares de 0 a 100.
Após fazer o exercício e responda: O que foi alterado entre o primeiro e  este exercício e porque?

Exercício 5- Fazer um programa que mostre todos os números de 149 a 0 conforme indica a figura 5.
Figura 5. Execução de programa exibindo os números de 149 à 0.

Exercício 6- Fazer um programa que some todos os números os números  de 0 a 100 conforme indicado na figura 6.
- Não é necessário digitar nenhum numero para iniciar o programa.
Figura 6.  Soma de todos números de 0 a 100.

Exercício 7 - Fazer um programa que some todos os números impares de 0 até 100 conforme indicado na figura 7.
Figura 7. Soma de todos números impares no intervalo de 0 a 100.

Exercício 8 - Fazer um programa que receba 10 numero via teclado e some esses valores. A figura 8 mostra o programa após sua execução.

Figura 8. Programa que soma 10 números digitados via teclado.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Modelagem de Dados - Exercício de derivação de modelos

Questão 1 - Derive os modelos de Entidade-Relacionamento para o modelo Lógico-Relacional. 



Questão 2 - Faça a notação resumida (Lógica/relacional) dos modelos acima. 

Desafios em c++

Desafio 1

Desejamos fazer um programa que irá ajudar alunos de engenharia a calcular as Raízes de uma equação 2º Grau. Para isso o usuário irá digitar a, b e c referentes a equação abaixo:

ax² + bx + c 

onde as raízes serão calculadas a partir da equação abaixo:


Como o programa também irá ajudar o futuro engenheiro a traçar o gráfico da equação, algumas informações devem ser mostradas ao usuário.

A primeira informação que será fornecida será baseada no valor do Delta onde serão exibidas as seguintes informações:

- Quando o delta for negativo, o programa exibirá o valor do delta e a mensagem "Delta negativo - não possui raízes" e finalizar o programa. Observe como deve ocorrer na figura 1.
Figura 1. Mensagem exibida quando o Delta negativo.
- Quando o delta for igual a zero, o programa exibirá o valor do delta e a mensagem "Delta = 0, teremos somente 1 raiz" e exibe o valor de X1 ou X2 já que eles são iguais.
Figura 2. Mensagem exibida quando o Delta=0.

- Quando o delta for positivo, o programa exibirá o valor do delta e as raízes  X1 e X2.
Figura 3. Mensagem que dese ser exibida quando delta positivo.
Assim como é possível notar nas figuras 2 e 3, o programa também fornecerá informações sobre como será o gráfico da equação. Neste caso devemos falar para o usuário se a concavidade da parábola é para cima ou para baixo alem de indicar para o usuário o valor do X do vértice (Xv) e Y do vertice (Yv). Precisa relembrar como fazer o calculo do Xv e Yv e informações sobre verificar se a concavidade, clique aqui.

Desafio 2

Problema retirado do desafio de programação de UFMA - 2008

Um fazendeiro resolveu lotear sua fazenda e vender os lotes de terra. Sabe­-se que sua fazenda é um retângulo/quadrado e que todos os lotes também são retângulos/quadrados. O nosso amigo fazendeiro, entretanto, está com um pequeno  problema. Depois de dividir a terra em N lotes ele acredita que irá desperdiçar uma grande quantidade de terra. (Leia-­se desperdício como “terra” que o fazendeiro não vai vender, ou seja, que não pertence a nenhum lote). O que você acha de ajudá-­lo?
Para isso o programa deve:
-  Receber o valor da largura (L) e comprimento (C) do terreno do fazendeiro.
- Receber o numero de lotes que o fazendeiro dividiu o terreno
- Receber o valor da largura (LL) e comprimento (LC) de cada lote.

Por exemplo:
Se o fazendeiro falar que seu terreno possui 10 m x 10 m e que vendeu 4 lotes de 4,5 m x 4,5 m, teremos uma distribuição de terras conforme apresentado na figura 4.
Figura 4. Exemplo para solução do problema.
Com base nas informações acima, o programa deve calcular a área vendida que neste caso foi de 81 m² e a área desperdiçada que foi de 19 m².

Desafio 3

Desejamos criar um programa que irá mostrar uma função de 1º grau extraída a partir de uma reta plotada em um plano cartesiano (figura 5).
Figura 5. Reta tipica de uma função do 1º grau.
Sabendo que a função de 1º grau é dado por :

f(x)= a x +b

onde a é o coeficiente angular e b o coeficiente linear.

Para realizar o programa o usuário deve digitar:

-  o valor de y quando x=0 que será o coeficiente linear.
-  dois pontos da reta onde será calculo o coeficiente angular.

A figura 6 mostra um resumo sobre como calcular o coeficiente angular, caso isso seja pouco para você entender, clique aqui e leia mais sobre o assunto.
Figura 6. Extração dos pontos da equação da reta e calculo do coeficiente angular.
A figura 7 mostra um print da tela com o programa acima funcionado.
Figura 7. Programa proposto executado.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....