Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como usar a função isdigit() do header ctype.h da linguagem C para verificar se um caractere é um dígito de 0 a 9Quantidade de visualizações: 15400 vezes |
Em algumas situações podemos precisar verificar se um dado caractere é um dígito (número) de 0 a 9. Isso pode ser feito com o auxílio da função isdigit() no header ctype.h. Esta função recebe um caractere e retorna um valor diferente de 0 se o caractere testado for um dígito de 0 a 9. Caso contrário o retorno é 0. Veja um exemplo completo de seu uso:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char *argv[]){
char caractere;
// vamos ler o caractere informado pelo usuário
printf("Informe um caractere e tecle ENTER: ");
scanf("%c", &caractere);
// vamos verificar se o usuário informou um dígito
// de 0 a 9
if(isdigit(caractere))
printf("Voce informou um digito de 0 a 9");
else
printf("Voce NAO informou um digito de 0 a 9");
puts("\n\n");
system("PAUSE");
return 0;
}
|
Java ::: Dicas & Truques ::: Sistema |
Como efetuar captura de tela (screenshot) em seus programas Java usando o método createScreenCapture() da classe RobotQuantidade de visualizações: 15345 vezes |
|
Nesta dica eu vou mostrar como é possível usar o método createScreenCapture() da classe Robot, do pacote java.awt, para tirar um print screen, ou seja, capturar uma determinada região da tela do seu computador. Note que, ao tirar o print da região que queremos, nós salvamos a imagem em um determinado diretório. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Estudos{
public static void main(String[] args){
try{
Robot robot = new Robot();
// Captura a tela na àrea definida pelo retângulo
BufferedImage bi = robot.createScreenCapture(new
Rectangle(0, 0, 300, 250));
// Salva a imagem
ImageIO.write(bi, "jpg", new
File("C:\\estudos_java\\captura_tela.jpg"));
}
catch(AWTException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
}
Execute este código e verá uma imagem JPG ser gravada no endereço "C:\\estudos_java\\captura_tela.jpg". |
R ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo usando a função sin() da linguagem RQuantidade de visualizações: 1895 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 R. Esta função recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: > sin(0) [ENTER] [1] 0 > sin(1) [ENTER] [1] 0.841471 > sin(2) [ENTER] [1] 0.9092974 > 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: ![]() |
Java ::: Pacote java.awt ::: Graphics |
Como desenhar linhas em determinados ângulos usando o método drawLine() da classe Graphics - Computação Gráfica em JavaQuantidade de visualizações: 13983 vezes |
É possível usar o método drawLine() da classe Graphics para desenhar linhas em determinados ângulos. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Aqui x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Assim, vamos analisar a fórmula matemática que permite definir o ângulo de desenho. Comece definindo os valores para as coordenadas iniciais x1 e y1, o ângulo desejado e o comprimento da linha: int x1 = 30; int y1 = 50; int ang = 0; int comp = 100; Vamos começar obtendo a coordenada x final, que chamaremos de x2. Já sabemos que o ângulo é 0, então obteremos uma linha horizontal para a direita. Vamos ao cálculo: int x2 = (int)(x1 + Math.cos(ang / 180.0 * Math.PI) * comp); Já sabemos que o valor de x2 é igual a 0 pois (pode testar na barra de endereços de seu browser): javascript:alert(0 / 180.0 * Math.PI) resulta em 0 e: javascript:alert(Math.cos(0)) resulta em 1. Assim: x1 + (1 * 100) = 130. Para que nosso código esteja correto, o valor de y2 deverá ser igual a y1. Vejamos: int y2 = (int)(y1 - Math.sin(ang / 180.0 * Math.PI) * comp); Já sabemos que (ang / 180.0 * Math.PI) resulta em 0 e que o seno de 0 é 0. Assim: y1 - (0 * 100) = 50. Veja o código completo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar uma linha (ângulo)");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// Desenha uma string no JLabel
int x1 = 30; // coordenada inicial x
int y1 = 50; // coordenada inicial y
int ang = 0; // ângulo
int comp = 100; // comprimento
// coordenada x final
int x2 = (int)(x1 +
Math.cos(ang / 180.0 * Math.PI) * comp);
// coordenada y final
int y2 = (int)(y1 -
Math.sin(ang / 180.0 * Math.PI) * comp);
Graphics graphics = label.getGraphics();
graphics.drawLine(x1, y1, x2, y2);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Experimente agora fornecer ângulos diferentes, por exemplo, 45 (uma linha diagonal para a direita e para cima), 90 (uma linha vertical para cima), 135 (uma linha diagonal para a esquerda e para cima), 180 (uma linha horizontal para a esquerda), 225 (uma linha diagonal para a esquerda e para baixo), 270 (uma linha vertical para baixo), 315 (uma linha diagonal para a direita e para baixo) e 360 (uma linha horizontal para a direita). Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o tamanho de um array em C++ - Curso de C++ - Vetores e matrizes em C++Quantidade de visualizações: 11456 vezes |
Muitas vezes precisamos saber a quantidade de elementos em vetor (array). Em C++, isso pode ser feito com o uso da função sizeof(). O que fazemos é obter a quantidade de bytes contidos em todo o vetor e depois dividimos pela quantidade de bytes no primeiro elemento. Veja o código:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// declara e inicializa um array de 5 inteiros
int valores[5] = {43, 12, 8, 4, 102};
// obtém a quantidade de elementos na matriz
int quant = sizeof(valores) / sizeof(valores[0]);
// exibe o resultado
cout << "Quant. elementos : " << quant << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executarmos este código nós teremos o seguinte resultado: Quant. elementos : 5 |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
Java - Exercícios Resolvidos de Java - Como converter de binário para decimal em Java usando o laço for |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







