Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
LISP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como declarar variáveis globais em Lisp usando as funções defvar e defparameterQuantidade de visualizações: 1253 vezes |
|
Em algumas situações nós precisamos declarar variáveis globais em Lisp, ou melhor, em Common Lisp, que é a padronização da Lisp que adotamos para estas dicas. Variáveis globais em Common Lisp se comportam de forma idêntica àquelas de outras linguagens de programação, ou seja, possuem valores permanentes por todo o sistema Lisp e mantém seus valores até que novos valores são especificados. Se quisermos, por exemplo, a partir do corpo de uma função acessar uma variável fora dela, então esta variável deverá ser declarada globalmente. Em Common List nós podemos declarar variáveis globais usando as funções defvar e defparameter. Vamos ver exemplos envolvendo as duas e no final desta dica eu mostro a diferença. Veja um trecho de código Common Lisp na qual declaramos uma variável global chamada valor e a acessamos de dentro de uma função: ; vamos declarar uma variável global (defvar valor 10) ; vamos mostrar o valor atual da variável global (format t "O valor da variável global é ~D" valor) ; agora vamos acessar a variável global ; de dentro de uma função (defun ModificaValor() ; vamos alterar o valor da variável global (setq valor 50) ) ; chamamos a função ModificaValor (ModificaValor) ; e checamos se o valor da variável global foi ; mesmo alterado (terpri) (format t "O valor da variável global é ~D" valor) Ao executar este código Common List nós teremos o seguinte resultado: O valor da variável global é 10 O valor da variável global é 50 Veja agora um trecho de código Common Lisp no qual usamos a função defparameter para declarar e inicializar as variáveis globais: ; vamos declarar três variáveis globais (defparameter *a* 5) (defparameter *b* 3) (defparameter *soma* 0) ; agora vamos acessar as variáveis globais ; de dentro de uma função (defun Somar() ; vamos somar as duas variáveis globais ; e guardar o resultado em uma terceira ; variáveis global (setq *soma* (+ *a* *b*)) ) ; chamamos a função Somar (Somar) ; e mostramos o resultado da soma (format t "A soma das variáveis globais é ~D" *soma*) Ao executar este novo código Common Lisp nós teremos o seguinte resultado: A soma das variáveis globais é 8 Note que coloquei asteríscos (*) ao redor dos nomes das variáveis globais. Esta é uma prática comum entre programadores Lisp e altamente recomendado pelo comunidade, pois facilita a distinção entre variáveis globais e locais. Então, qual é a diferença entre defvar e defparameter? A primeira delas é que a função defparameter nos obriga a informar o valor inicial para a variável global, enquanto a função defvar não o faz. A segunda diferença é que, ao redefinirmos o valor de uma variável global usando defparameter, o valor armazenado anteriormente será sobreposto, enquanto a função defvar não altera o valor anterior. |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a área de um Triângulo Equilátero em Java - Java para Geometria, Trigonometria e Álgebra LinearQuantidade de visualizações: 2063 vezes |
|
Um Triângulo Equilátero é o triângulo que possui os três lados iguais, e cujos ângulos internos são todos 60 graus (somando 180). Veja na figura abaixo as características de um Triângulo Equilátero: ![]() Nesta dica de Java eu mostrarei como calcular a área do triângulo equilátero. Para isso, vamos revisar a fórmula para o cálculo da área do triângulo equilátero: \[\text{Área K} = \dfrac{1}{4} \times \sqrt{3} \times L^2 \] E veja o código Java para o cálculo:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para efetuar a leitura do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar o valor do lado do triângulo
System.out.print("Informe o lado do triângulo: ");
double lado = Double.parseDouble(entrada.nextLine());
// agora vamos calcular a área do triângulo equilátero
double area = (1.0 / 4.0) * Math.sqrt(3) * Math.pow(lado, 2);
// e finalmente mostramos o resultado
System.out.println("A área do triângulo equilátero é: " + area);
}
}
Ao executarmos este código nós teremos o seguinte resultado: Informe o lado do triângulo: 5 A área do triângulo equilátero é: 10.825317547305483 |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em C#Quantidade de visualizações: 8007 vezes |
|
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C# completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
bool primo = true;
// vamos solicitar um número inteiro positivo
Console.Write("Informe um número inteiro positivo: ");
int numero = int.Parse(Console.ReadLine());
// o número é negativo?
if (numero < 0) {
Console.WriteLine("Número inválido.");
}
// é 0 ou 1?
else if ((numero == 0) || (numero == 1)) {
Console.WriteLine("Número válido, mas não é primo.");
}
// passou até aqui. Vamos testar se o número é primo
else {
for (int i = 2; i <= (numero / 2); i++) {
// se passar no teste, não é primo
if (numero % i == 0) {
primo = false; // recebe false
break;
}
}
if (primo) {
Console.WriteLine("O número informado é primo");
}
else {
Console.WriteLine("O número informado não é primo");
}
}
Console.WriteLine("\n\nPressione qualquer tecla para sair...");
// pausa o programa
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
C# ::: Coleções (Collections) ::: ArrayList |
Como escrever um método C# que retorna uma ArrayListQuantidade de visualizações: 17535 vezes |
|
Estudantes C# ficam um pouco confusos quando solicitados a escrever funções que retornam objetos de classes. E essa confusão é maior ainda quando precisam retornar uma ArrayList, mais precisamente um objeto da classe ArrayList. Esta dica mostra como isso pode ser feito. Veja que temos um método que define, em sua assinatura, que o tipo de retorno não é void (sem retorno) mas sim um objeto da classe ArrayList. No corpo deste método temos a criação da ArrayList propriamente dita, a adição de cinco inteiros e finalmente o uso da palavra-chave return para retornar o ArrayList já preenchido ao chamador do método. Note que o método Main é responsável por efetuar uma chamada ao método, obter o ArrayList resultante e em seguida usar o laço foreach para exibir seus valores:
// método que retornará uma ArrayList
static ArrayList obterLista(){
// Cria o ArrayList
ArrayList lista = new ArrayList();
// Adiciona 5 inteiros
lista.Add(1);
lista.Add(2);
lista.Add(3);
lista.Add(4);
lista.Add(5);
// retorna o ArrayList preenchido
return lista;
}
static void Main(string[] args){
// obtém um ArrayList preenchido a partir do
// método obterLista
ArrayList mLista = obterLista();
// exibe os valores do ArrayList
foreach (int valor in mLista){
Console.Write("{0} ", valor);
}
// pausa o programa
Console.ReadKey();
}
|
C# ::: C# para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como somar os elementos da diagonal principal de uma matriz em C#Quantidade de visualizações: 2925 vezes |
|
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas. Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas. Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja: ![]() Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando C#. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código C#. Veja um trecho de código C# completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
// vamos declarar e construir uma matriz de três linhas
// e três colunas
int[,] matriz = new int[3, 3];
int soma_diagonal = 0; // guarda a soma dos elementos na diagonal
// principal
// vamos ler os valores para os elementos da matriz
for (int i = 0; i < matriz.GetLength(0); i++) { // linhas
for (int j = 0; j < matriz.GetLength(1); j++) { // colunas
Console.Write("Informe o valor para a linha " + i + " e coluna "
+ j + ": ");
matriz[i, j] = Int32.Parse(Console.ReadLine());
}
}
// vamos mostrar a matriz da forma que ela
// foi informada
Console.WriteLine();
// percorre as linhas
for (int i = 0; i < matriz.GetLength(0); i++) {
// percorre as colunas
for (int j = 0; j < matriz.GetLength(1); j++) {
Console.Write(" " + matriz[i, j]);
}
// passa para a próxima linha da matriz
Console.WriteLine();
}
// vamos calcular a soma dos elementos da diagonal
// principal
for (int i = 0; i < matriz.GetLength(0); i++) {
for (int j = 0; j < matriz.GetLength(1); j++) {
if (i == j) {
soma_diagonal = soma_diagonal + matriz[i, j];
}
}
}
// finalmente mostramos a soma da diagonal principal
Console.WriteLine("\nA soma dos elementos da diagonal principal é: "
+ soma_diagonal);
Console.WriteLine("\n\nPressione qualquer tecla para sair...");
// pausa o programa
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Informe o valor para a linha 0 e coluna 0: 3 Informe o valor para a linha 0 e coluna 1: 7 Informe o valor para a linha 0 e coluna 2: 9 Informe o valor para a linha 1 e coluna 0: 2 Informe o valor para a linha 1 e coluna 1: 4 Informe o valor para a linha 1 e coluna 2: 1 Informe o valor para a linha 2 e coluna 0: 5 Informe o valor para a linha 2 e coluna 1: 6 Informe o valor para a linha 2 e coluna 2: 8 3 7 9 2 4 1 5 6 8 A soma dos elementos da diagonal principal é: 15 |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
|
AutoCAD Civil 3D .NET C# - Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# API |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






