Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
C ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria Analítica e Álgebra Linear |
Exercício Resolvido de C - Como calcular o quadrante de uma coordenada cartesiana em CQuantidade de visualizações: 1926 vezes |
|
Pergunta/Tarefa: O Plano Cartesiano, ou Sistema de Coordenadas Cartesianas, é formado por duas retas reais perpendiculares, ou seja, o ângulo entre elas é de 90 graus. Essas retas determinam um único plano, que é denominado como sistema ortogonal de coordenadas cartesianas ou somente plano cartesiano. No ano de 1637, René Descartes teve a brilhante ideia de relacionar álgebra e geometria, dando início à conhecida geometria analítica, método que possibilita descrever a geometria utilizando uma menor quantidade de diagramas e desenhos. Apesar de os créditos dessa descoberta serem dados a Descartes, Pierre de Fermat já conhecia e utilizava alguns conceitos de geometria analítica, logo o plano cartesiano. Há quatro quadrantes no Sistema de Coordenadas Cartesianas, conforme a figura a seguir: ![]() Como podemos ver, no primeiro quadrante, tanto o x quanto o y são positivos. No segundo quadrante o x é negativo e o y é positivo. No terceiro quadrante, tanto o x quanto o y são negativos. Por fim, no quarto quadrante, o x é positivo e o y é negativo. Escreva um programa C que pede para o usuário informar os valores x e y de uma coordenada cartesiana e informe em qual quadrante essa coordenada se situa. Se os valores de x e y forem zero, informe que o ponto se situa na origem do plano cartesiano. Sua saída deverá ser parecida com: Informe o valor x da coordenada: 12 Informe o valor y da coordenada: -7 A coordenada (12,-7) está no Quarto Quadrante (+,-) Veja a resolução comentada deste exercício em C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int x, y;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar as coordenadas
printf("Informe o valor x da coordenada: ");
scanf("%d", &x);
printf("Informe o valor y da coordenada: ");
scanf("%d", &y);
// a coordenada está no primeiro quadrante?
if (x > 0 && y > 0){
printf("A coordenada (%d,%d) está no Primeiro Quadrante (+,+)", x, y);
}
// a coordenada está no segundo quadrante?
else if (x < 0 && y > 0){
printf("A coordenada (%d,%d) está no Segundo Quadrante (-,+)", x, y);
}
// a coordenada está no terceiro quadrante?
else if (x < 0 && y < 0){
printf("A coordenada (%d,%d) está no Terceiro Quadrante (-,-)", x, y);
}
// a coordenada está no quarto quadrante?
else if (x > 0 && y < 0){
printf("A coordenada (%d,%d) está no Quarto Quadrante (+,-)", x, y);
}
// a coordenada está na origem
else{
printf("A coordenada (%d,%d) está na origem", x, y);
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
GNU Octave ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional |
Exercício Resolvido de Octave - Programação Linear - Um fazendeiro decidiu misturar duas rações, a Ração X e a Ração Y. Cada porção de ração dada aos animaisQuantidade de visualizações: 575 vezes |
|
Pergunta/Tarefa: Este exercício de Octave aborda o uso da função glpk() para resolver um problema de Pesquisa Operacional usando Programação Linear. 1) Um fazendeiro decidiu misturar duas rações, a Ração X e a Ração Y. Cada porção de ração dada aos animais exige 60g de proteína e 30g de gordura. A Ração X possui 15g de proteína e 10g de gordura, e custa R$ 80,00 a unidade. A Ração Y apresenta 20g de proteína e 5g de gordura e custa R$ 50,00 a unidade. Quanto de cada ração deve ser usada para minimizar os custos do fazendeiro? Sua saída deverá ser parecida com: A solução para o problema de minimização é: x = 2.40 y = 1.20 O custo mínimo é: 252.00 Antes de passarmos ao código Octave, vamos fazer a modelagem matemática do problema. O primeiro passo é identificar as variáveis. Assim, vamos chamar de x o número de unidades da Ração X e de y o número de unidades da Ração Y. Veja: x = Número de unidades da Ração X y = Número de unidades da Ração Y E então temos a função custo: custo = 80x + 50y A primeira restrição diz respeito à quantidade de proteína em cada porção de ração. Sabendo que a Ração X apresenta 15g de proteína e a Ração Y apresenta 20g de proteína nós temos: R1: 15x + 20y >= 60 (proteína) A segunda restrição diz respeito à quantidade de gordura em cada porção de ração. Sabendo que a Ração X apresenta 10g de gordura e a Ração Y apresenta 5g de gordura nós temos: R2: 10x + 5y >= 30 (gordura) As restrições R3 e R4 dizem respeito à não negatividade das variáveis de decisão: R3: x >= 0 R4: y >= 0 Veja agora o código Octave completo (pesquisa_operacional.m):
# vamos começar definindo a matriz que representa a função de
# minimização
c = [80.0, 50.0]';
# agora a matriz de restrições
A = [15, 20; 10, 5];
b = [60, 30]';
# as restrições de não negatividade e o limite superior
lb = [0, 0]';
ub = [];
# definimos as restrições como limites inferiores
ctype = "LL";
# indicamos que vamos usar variáveis contínuas (não inteiros)
vartype = "CC";
# vamos usar minimização, por isso definimos o valor 1. Se fosse
# maximização o valor seria -1
s = 1;
# definimos os parâmetros adicionais
param.msglev = 1;
param.itlim = 100;
# e chamamos a função glpk()
[xmin, fmin, status, extra] = glpk(c, A, b, lb, ub, ctype, vartype, s, param);
# mostramos a solução para o problema de minimização
printf("A solução para o problema de minimização é:\n\n");
printf("x = %.2f\n", xmin(1));
printf("y = %.2f\n", xmin(2));
# para finalizar vamos mostrar o custo mínimo
printf("\nO custo mínimo é: %.2f\n\n", fmin);
Ao executar o código você perceberá que, para minimizar os custos do fazendeiro, deverão ser usados na mistura 2,4 unidades da Ração X e 1,2 unidades da Raça Y, a um custo mínimo de R$ 252,00. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Data e Hora |
Exercícios Resolvidos de C - Escreva um programa C que peça para o usuário informar um ano e informe o dia da semana que o ano começou (domingo, segunda-feiraQuantidade de visualizações: 734 vezes |
|
Pergunta/Tarefa: Escreva um programa C que pede para o usuário informar um ano e então mostre em qual dia da semana o ano começou, por exemplo, domingo, segunda-feira, terça-feira, quarta-feira, etc. Sua saída deverá ser parecida com: Informe um ano: 2022 O ano informado começou em um(a) Sábado Informe um ano: 2023 O ano informado começou em um(a) Domingo Informe um ano: 2024 O ano informado começou em um(a) Segunda-feira Informe um ano: 2025 O ano informado começou em um(a) Quarta-feira Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
// função principal do programa
int main(int argc, char *argv[]) {
// variáveis usadas na resolução do problema
char dias_semana[][20] = {"Domingo", "Segunda-feira", "Terça-feira",
"Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"};
int ano, dia_inicial;
// vamos pedir para o usuário informar o ano
printf("Informe um ano: ");
scanf("%d", &ano);
// vamos calcular o número equivalente ao dia da semana que o
// ano iniciou: 0:Domingo, 1:Segunda-feira, 2:Terça-feira, etc
// note que as divisões abaixo são divisões por inteiro, ou seja,
// sem a parte fracionária
dia_inicial = (ano + (ano - 1) / 4) - ((ano - 1) / 100) +
((ano - 1) / 400);
dia_inicial = dia_inicial % 7;
// e mostramos o resultado
printf("O ano informado começou em um(a) %s", dias_semana[dia_inicial]);
printf("\n\n");
system("PAUSE");
return 0;
}
|
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas)Quantidade de visualizações: 591 vezes |
|
Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas) Pergunta/Tarefa: Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas). Para os demais clientes o desconto é 5% apenas. Leia o valor do produto, o nome, sexo e a idade do cliente e aplique o desconto correspondente. Sua saída deverá ser parecida com: Informe o valor do produto: 520 Informe o nome do cliente: FABRICIA DE CASTRO Informe a idade: 23 Informe o sexo: F FABRICIA DE CASTRO, você ganhou o desconto de 20% Valor a pagar: 416.0 Informe o valor do produto: 830 Informe o nome do cliente: OSMAR SLVA Informe a idade: 38 Informe o sexo: M OSMAR SLVA, você ganhou apenas o desconto de 5% Valor a pagar: 788.5 Veja a resolução deste exercício em VisuAlg:
algoritmo "Ler o valor do produto, o valor do produto, o sexo..."
var
valor: real
nome, sexo: caractere
idade: inteiro
inicio
// vamos ler o valor do produto
escreva("Informe o valor do produto: ")
leia(valor)
// agora vamos ler o nome do cliente
escreva("Informe o nome do cliente: ")
leia(nome)
// agora vamos ler a idade
escreva("Informe a idade: ")
leia(idade)
// e finalmente vamos ler o sexo do cliente
escreva("Informe o sexo: ")
leia(sexo)
// vamos verificar se o cliente faz jus ao desconto
// de 20%
se ((idade >= 18) e (idade <= 35) e (sexo = "F")) entao
valor <- valor - (valor * (20 / 100))
escreval(nome, ", você ganhou o desconto de 20%")
escreval("Valor a pagar: ", valor)
senao
valor <- valor - (valor * (5 / 100))
escreval(nome, ", você ganhou apenas o desconto de 5%")
escreval("Valor a pagar: ", valor)
fimse
fimalgoritmo
|
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em GNU Octave usando a função cos() - Calculadora de cosseno em OctaveQuantidade de visualizações: 3122 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem GNU Octave (script do GNU Octave). Esta função, já embutida na linguagem, recebe um valor numérico double e retorna um valor double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
# vamos calcular o cosseno de três números
fprintf("Cosseno de 0 = %f\n", cos(0))
fprintf("Cosseno de 1 = %f\n", cos(1))
fprintf("Cosseno de 2 = %f\n", cos(2))
Ao executar este código GNU Octave nós teremos o seguinte resultado: Cosseno de 0 = 1.000000 Cosseno de 1 = 0.540302 Cosseno de 2 = -0.416147 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Veja mais Dicas e truques de GNU Octave |
Dicas e truques de outras linguagens |
|
C# - Como abrir outros formulários de sua aplicação C# Windows Forms a partir do formulário principal |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







