![]() |
|
||||
|
|||||
Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como converter quilômetros em metros, centímetros e milímetros usando LispQuantidade de visualizações: 1183 vezes |
|
Pergunta/Tarefa: Escreva um programa em Common Lisp para converter quilômetros em metros, centímetros e milímetros. Seu programa deverá pedir para o usuário informar a quantidade de quilômetros e exibir as conversões solicitadas. Como sabemos, um Quilômetro = 1000 Metros, 100.000 Centímetros ou 1.000.000 Milímetros. Seu programa deverá exibir uma saída parecida com: Informe a distância em quilômetros: 2.5 Distância em Quilômetros: 2.5 Distância em Metros: 2500.0 Distância em Centímetros: 250000.0 Distância em Milímetros: 2500000.0 Veja a resolução comentada deste exercício usando Common Lisp: ; Variáveis usadas na resolução do problema (let ((quilometros)(metros)(centimetros)(milimetros)) ; vamos ler a quantidade de quilômetros (princ "Informe a distância em quilômetros: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável quilometros (setq quilometros (read)) ; vamos calcular a distância em metros (setq metros (* quilometros 1000.0)) ; vamos calcular a distância em centímetros (setq centimetros (* quilometros 100000.0)) ; e agora a distância em milímetros (setq milimetros (* quilometros 1000000.0)) ; E mostramos o resultado (format t "Distância em Quilômetros: ~F" quilometros) (format t "~%Distância em Metros: ~F" metros) (format t "~%Distância em Centímetros: ~F" centimetros) (format t "~%Distância em Milímetros: ~F" milimetros) ) |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercícios Resolvidos de Java - Como converter de decimal para números romanos em JavaQuantidade de visualizações: 854 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente. Sua saída deverá ser parecida com: Informe um número decimal: 2023 O número romano correspondente é: MMXXIII Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos criar um array com os valores decimais possíveis de
// cada número romano
int valoresNumerosRomanos[] = new int[]{1000, 900, 500, 400,
100, 90, 50, 40, 10, 9, 5, 4, 1};
// representação dos números romanos
String numerosRomanos[] = new String[]{"M", "CM", "D", "CD",
"C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
// vamos pedir para o usuário informar um número decimal
System.out.print("Informe um número decimal: ");
int numero = Integer.parseInt(entrada.nextLine());
// para guardar o resultado
String resultado = "";
// o número é maior que zero?
if (numero > 0) {
// percorremos o array de valores decimais dos números romanos
for(int i = 0;i < valoresNumerosRomanos.length; i++){
// enquanto o número informado for maior que o valor do
// do número romano atual
while(numero >= valoresNumerosRomanos[i]){
// reduz o número informado
numero = numero - valoresNumerosRomanos[i];
// concatena o número romano e continua o cálculo
resultado = resultado + numerosRomanos[i];
}
}
}
// mostramos o resultado
if(resultado.isEmpty()){
System.out.println("O número informado não possui número romano");
}
else{
System.out.println("O número romano correspondente é: " + resultado);
}
}
}
|
AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como retornar as coordenadas iniciais e finais de uma linha no AutoCAD usando AutoCAD VBA e as propriedades StartPoint e EndPointQuantidade de visualizações: 450 vezes |
|
Nesta dica mostrarei como podemos usar as propriedades StartPoint e EndPoint do objeto AcadLine do AutoCAD VBA para obter e retornar as coordenadas iniciais e finais de uma linha do AutoCAD. Veja que usamos a função ThisDrawing.Utility.GetEntity para pedir para o usuário selecionar uma linha na área de desenho. Uma vez selecionada a linha nós obtemos suas coordenadas iniciais e finais usando StartPoint e EndPoint. Para finalizar nós usamos a função ThisDrawing.Utility.Prompt para exibir as coordenadas x, y e z iniciais e finais da linha na janela de comando do AutoCAD. Veja o código AutoCAD VBA completo para o exemplo:
' Esta macro AutoCAD VBA mostra como selecionar uma linha
' na área de desenho do AutoCAD e retornar suas coordenadas
' iniciais e finais
Sub CoordenadasLinha()
' vamos declarar um variável para receber a linha
' selecionada
Dim linha As AcadLine
' e também a localização da linha
Dim localizacao As Variant
' para guardar o ponto inicial
Dim ponto_inicial As Variant
' para guardar o ponto final
Dim ponto_final As Variant
' caso haja algum erro
On Error Resume Next
' agora pedimos para o usuário selecionar a linha
ThisDrawing.Utility.GetEntity linha, localizacao, _
"Selecione uma linha"
' vamos obter o ponto inicial da linha
ponto_inicial = linha.StartPoint
' vamos obter o ponto final da linha
ponto_final = linha.EndPoint
' e mostramos as coordenadas iniciais e finais da linha
ThisDrawing.Utility.Prompt "As coordenadas iniciais são: X = " _
& ponto_inicial(0) & "; Y = " & ponto_inicial(1) & "; Z = " _
& ponto_inicial(2)
ThisDrawing.Utility.Prompt vbCrLf & "As coordenadas finais são: X = " _
& ponto_final(0) & "; Y = " & ponto_final(1) & "; Z = " _
& ponto_final(2)
End Sub
Ao executar este código AutoCAD VBA nós teremos o seguinte resultado: As coordenadas iniciais são: X = 55,9523227122882; Y = 42,9870898477564; Z = 0 As coordenadas finais são: X = 116,586068002574; Y = 20,6918609035664; Z = 0 |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular a velocidade da queda livre de um corpo dado o intervalo de tempo (e a aceleração da gravidade) em CQuantidade de visualizações: 2767 vezes |
|
A Queda Livre é um Movimento Uniformemente Variado, na qual um objeto em queda livre tem a sua velocidade aumentada a taxas constantes. Abandonado em alturas próximas da terra, a velocidade com que um corpo cai aumenta a uma taxa de aproximadamente 9,8m/s. Isso é o mesmo que dizer que a aceleração da gravidade terrestre é de 9,8m/s2, o que aumenta a velocidade do objeto em 35,28km/h a cada segundo. Assim, a fórmula da velocidade de um objeto em queda livre é: \[ \text{v} = \text{g} \cdot \text{t} \] Onde: v ? velocidade de queda (m/s) g ? aceleração da gravidade (m/s2) t ? intervalo de tempo (s) Vamos ver um exemplo? Veja o seguinte enunciado: 1) Um corpo é abandonado a uma altura qualquer no tempo 0s e está em queda livre. Calcule a sua velocidade no tempo 15s. Como sabemos que o intervalo de tempo é 15s, só precisamos jogar na fórmula. Veja o código C completo para o cálculo:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// gravidade terrestre em m/s2
float gravidade = 9.80665;
// intervalo de tempo da queda livre (em segundos)
float tempo = 15.00; // em segundos
// velocidade da queda nesse intervalo
float velocidade = gravidade * tempo;
// mostramos o resultado
printf("A velocidade da queda livre é: %fm/s",
velocidade);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A velocidade da queda livre é: 147.099747m/s Se quisermos saber a velocidade em km/h, basta multiplicar o resultado por 3.6, o que dará 529.56km/h. Vamos tornar o experimento mais interessante? Veja uma modificação no código C que mostra a velocidade da queda nos 10 primeiros segundos, de forma individual:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int i; // variável de controle do laço
// gravidade terrestre em m/s2
float gravidade = 9.80665;
// intervalo de tempo da queda livre (em segundos)
int tempo;
// velocidade da queda nesse intervalo
float velocidade;
// um laço for que repete 10 vezes
for(i = 1; i <= 10; i++){
tempo = i; // inicialmente será um segundo
velocidade = gravidade * tempo;
printf("A velocidade no tempo %d: %fm/s\n",
tempo, velocidade);
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A velocidade no tempo 1: 9.806650m/s A velocidade no tempo 2: 19.613300m/s A velocidade no tempo 3: 29.419950m/s A velocidade no tempo 4: 39.226601m/s A velocidade no tempo 5: 49.033249m/s A velocidade no tempo 6: 58.839901m/s A velocidade no tempo 7: 68.646553m/s A velocidade no tempo 8: 78.453201m/s A velocidade no tempo 9: 88.259850m/s A velocidade no tempo 10: 98.066498m/s |
Dart ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DartQuantidade de visualizações: 1867 vezes |
|
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Dart completo:
// Vamos importar a biblioteca dart:io
import "dart:io";
// vamos importar a biblioteca dart:math
import "dart:math";
void main(){
// vamos ler as latitudes e longitudes das duas
// localizações
stdout.write("Informe a primeira latitude: ");
double lat1 = double.parse(stdin.readLineSync());
stdout.write("Informe a primeira longitude: ");
double lon1 = double.parse(stdin.readLineSync());
stdout.write("Informe a segunda latitude: ");
double lat2 = double.parse(stdin.readLineSync());
stdout.write("Informe a segunda longitude: ");
double lon2 = double.parse(stdin.readLineSync());
// vamos calcular a distância entre os dois pontos em Kms
double distancia = calcularDistancia(lat1, lat2, lon1, lon2);
// mostramos o resultado
print("Distância entre os dois pontos: ${distancia} kms");
}
// função que recebe dois pontos na terra e retorna a distância
// entre eles em quilômetros
double calcularDistancia(double lat1,
double lat2, double lon1, double lon2){
double raio_terra = 6378.137; // raio da terra em quilômetros
// o primeiro passo é converter as latitudes e longitudes
// para radianos
lon1 = grausParaRadianos(lon1);
lon2 = grausParaRadianos(lon2);
lat1 = grausParaRadianos(lat1);
lat2 = grausParaRadianos(lat2);
// agora aplicamos a Fórmula de Haversine
double dlon = lon2 - lon1;
double dlat = lat2 - lat1;
double a = pow(sin(dlat / 2), 2) + cos(lat1) * cos(lat2)
* pow(sin(dlon / 2),2);
double c = 2 * asin(sqrt(a));
// e retornamos a distância
return(c * raio_terra);
}
// função que permite converter graus em radianos
double grausParaRadianos(double graus){
return graus * (pi / 180);
}
Ao executar este código Dart nós teremos o seguinte resultado: Informe a primeira latitude: -16.674551 Informe a primeira longitude: -49.303598 Informe a segunda latitude: -15.579321 Informe a segunda longitude: -56.10009 A distância entre os dois pontos é: 736.9183827638687kms Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Veja mais Dicas e truques de Dart |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






