Você está aqui: Cards de |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em Delphi usando a função Sin()Quantidade de visualizações: 13224 vezes |
|
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno 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 seno. 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 seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função Sin() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add('Seno de 0 = ' + FloatToStr(Sin(0)));
Memo1.Lines.Add('Seno de 1 = ' + FloatToStr(Sin(1)));
Memo1.Lines.Add('Seno de 2 = ' + FloatToStr(Sin(2)));
end;
Ao executar este código Delphi nós teremos o seguinte resultado: Seno de 0 = 0 Seno de 1 = 0,841470984807897 Seno de 2 = 0,909297426825682 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
PHP ::: Dicas & Truques ::: Data e Hora |
Como gerar um calendário mensal completo para um determinado mês e ano usando PHPQuantidade de visualizações: 1 vezes |
|
Nesta dica eu mostro como podemos usar as principais funções de data e hora da linguagem PHP para montar um calendário PHP completo (com comentários e fácil de modificar). Basta passar um mês e ano e a função se encarrega do restante. Este código é muito útil em aplicações PHP para escolas, faculdades, sistemas financeiros, etc. Veja o resultado na imagem abaixo: ![]() E agora o código completo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
// função que permite montar o calendário
function montar_calendario($mes, $ano){
// um vetor para guardar os meses
$meses = array(1 => 'Janeiro', 2 => 'Fevereiro',
3 => 'Março', 4 => 'Abril', 5 => 'Maio',
6 => 'Junho', 7 => 'Julho', 8 => 'Agosto',
9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro',
12 => 'Dezembro');
// um vetor com os dias da semana
$dias_semana = array('Dom', 'Seg', 'Ter', 'Qua',
'Qui', 'Sex', 'Sáb');
// vamos obter o primeiro dia do calendário
$primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano);
// obtém a quantidade de dias no mês
$dias_mes = date('t', $primeiro_dia);
// dia da semana que o calendário inicia (começa em 0)
$dia_inicio = date('w', $primeiro_dia);
// cria a tabela HTML para o calendário
echo '<table border="1" cellspacing="0" cellpadding="4">
<tr><th colspan="7">'. $meses[$mes] . ' - ' .
$ano . '</th>
</tr>
<tr><td align="center">';
echo implode('</td><td align="center">', $dias_semana);
echo '</td></tr>';
// precisamos de células vazias até encontrarmos
// o dia inicial da semana
if($dia_inicio > 0){
for($i = 0; $i < $dia_inicio; $i++){
echo '<td> </td>';
}
}
// agora já podemos começar a preencher o
// calendário
for($dia = 1; $dia <= $dias_mes; $dia++ ){
if($dia_inicio == 0){
// vamos colorir o domingo de vermelho
$estilo = ' style="color: red"';
}
else{
$estilo = '';
}
// vamos colocar a data de hoje sublinhada
if(($dia == date("j")) && ($mes == date("n")) &&
($ano == date("Y"))){
echo '<td ' . $estilo . ' align="center"><u>'
. $dia . '</u></td>';
}
else{
echo '<td ' . $estilo . ' align="center">' .
$dia . '</td>';
}
// vamos incrementar o dia de referência
$dia_inicio++;
// já precisamos adicionar uma nova linha na tabela?
if($dia_inicio == 7){
$dia_inicio = 0;
echo "</tr>";
if($dia < $dias_mes){
echo '<tr>';
}
}
} // fim do laço for
// agora preenchemos as células restantes
if($dia_inicio > 0){
for($i = $dia_inicio; $i < 7; $i++){
echo '<td> </td>';
}
echo '</tr>';
}
echo '</table>';
}
// vamos montar o mês de março de 2021
montar_calendario(3, 2021);
?>
</body>
</html>
|
C ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados boolean nas linguagens C e C++ - Como usar true (verdadeiro) e false (false) em C/C++Quantidade de visualizações: 19274 vezes |
|
Em praticamente todas as linguagens de programação nós encontramos expressões condicionais que definem o fluxo de execução. Expressões condicionais são aquelas que, quando avaliadas, resultam em um valor true (verdadeiro) ou false (falso). Muitas linguagens de programação possuem um tipo booleano que armazena os valores true ou false. Enquanto o C++ possui o tipo bool, o C possui uma forma bem interessante de definir true ou false. Em C, um valor true é qualquer valor diferente de 0, incluindo numeros negativos. Veja:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int pode = 1; // verdadeiro
int nao_pode = 0; // falso
if(pode)
printf("Teste resultou verdadeiro\n\n");
if(!nao_pode)
printf("Teste resultou verdadeiro\n\n");
system("PAUSE");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: Teste resultou verdadeiro Teste resultou verdadeiro Lembre-se então: false em C é o valor zero. Qualquer outro valor é true. Embora C++ já possua o tipo bool, é possível usar a abordagem do zero para false e qualquer outro valor para true em C++ também. Você verá muito código legado usando este artifício. Quer ver algo interessante agora? Execute o seguinte código C++:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
bool pode = true;
bool nao_pode = false;
cout << pode << "\n";
cout << nao_pode << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Nos compiladores que obedecem o C++ padrão você verá os valores 1 e 0 serem impressos. |
C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em C++Quantidade de visualizações: 1204 vezes |
|
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C++. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem C++:
#include <iostream>
#include <math.h>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[]){
float c = 36.056; // medida da hipotenusa
float b = 30; // medida do cateto adjascente
// agora vamos calcular o comprimento da cateto oposto
float a = sqrt(pow(c, 2) - pow(b, 2));
// e mostramos o resultado
cout << "A medida do cateto oposto é: " << a << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: A medida do cateto oposto é: 20.0009 Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Percorrer todos os elementos de um array, exibir a soma dos valores positivos e a quantidade de valores negativosQuantidade de visualizações: 13153 vezes |
|
Pergunta/Tarefa: Considere o seguinte vetor de inteiros:
// um array de inteiros contendo sete elementos
int valores[] = {-3, 9, 12, -34, -2, 20, 10};
Seu programa deverá exibir uma saída com a mensagem: A soma dos valores positivos é: 51 A quantidade de valores negativos é: 3 Resposta/Solução: Veja a resolução comentada deste exercício em Java:
public static void main(String[] args){
// um array de inteiros contendo sete elementos
int valores[] = {-3, 9, 12, -34, -2, 20, 10};
// o primeiro passo é criar uma variável que vai receber a soma
// dos valores positivos
int soma_positivos = 0;
// agora uma variável para receber a quantidade de valores negativos
int quant_negativos = 0;
// agora vamos usar uma laço for para percorrer todos os elementos
// do array
for(int i = 0; i < valores.length; i++){
// vamos verificar se o valor do elemento atual é negativo
if(valores[i] < 0){
quant_negativos++;
}
else{ // o valor é positivo
soma_positivos = soma_positivos + valores[i];
}
}
// vamos exibir a soma dos valores positivos
System.out.println("A soma dos valores positivos é: " + soma_positivos);
// vamos exibir a quantidade de valores negativos
System.out.println("A quantidade de valores negativos é: " + quant_negativos);
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |








