Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
|
|
||
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em JavaQuantidade de visualizações: 8409 vezes |
Esta dica mostra como inserir nós no final de uma lista singularmente ligada. A classe usada para representar cada nó é a seguinte (No.java):
// classe No
public class No{
public int valor;
public No proximo;
}
// fim da classe No
Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no final quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código para a lista singularmente ligada (Lista.java):
public class Lista {
No inicio, fim; // início e fim da lista
// método que permite exibir os valores de
// todos os nós da lista
public void exibir() {
// vamos obter uma referência ao início da lista
No no = inicio;
if (no != null) { // a lista não está vazia
while (no != null) { // enquanto a lista não estiver vazia
System.out.println(no.valor);
no = no.proximo; // pula para o nó seguinte
}
}
else {
System.out.println("A lista está vazia\n\n");
}
}
// método que permite inserir nós no
// final da lista.
// veja que o método recebe o valor a ser
// armazenado em cada nó
public void inserirFinal(int v) {
No novo = new No(); // cria um novo nó
novo.valor = v;
// é o nó no final, portanto não deverá apontar para nenhum
// outro nó
novo.proximo = null;
// verifica se a lista está vazia
if (inicio == null) {
// novo aponta para o novo nó
inicio = novo;
// final deve apontar para o novo nó também
fim = novo;
}
else { // não está vazia....vamos inserir o nó no final da lista
// o campo próximo do último nó aponta para o nó recém-criado
fim.proximo = novo;
// o campo fim aponta para o novo nó...o campo inicio permanece igual
fim = novo;
}
}
}
Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (Main.java):
public class Main {
public static void main(String[] args) {
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores no
// finalo da lista
lista.inserirFinal(45);
lista.inserirFinal(3);
lista.inserirFinal(98);
lista.inserirFinal(17);
// exibe os valores na lista
lista.exibir();
}
}
Ao executar o aplicativo teremos o seguinte resultado: 45 3 98 17 |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com JavaQuantidade de visualizações: 1349 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Java, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Java que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo:
package estudos;
// vamos declarar a classe Circulo
class Circulo{
double xc;
double yc;
double raio;
public Circulo(double xc, double yc, double raio){
this.xc = xc; // x do centro
this.yc = yc; // y do centro
this.raio = raio; // raio do círculo
}
}
// agora vamos declarar a classe Ponto
class Ponto{
double x;
double y;
public Ponto(double x, double y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
// classe principal da aplicação
public class Estudos{
public static void main(String[] args){
// vamos criar um objeto Circulo
Circulo c = new Circulo(205, 166, 115);
// vamos criar um objeto Ponto
Ponto p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
double dx = p.x - c.xc;
double dy = p.y - c.yc;
if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){
System.out.println("O ponto está dentro do círculo");
}
else{
System.out.println("O ponto NÃO está dentro do círculo");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como centralizar uma janela QMainWindow do PyQtQuantidade de visualizações: 492 vezes |
|
Nesta dica mostrarei como podemos centralizar a janela principal de nossa aplicação PyQt. Note que esta janela principal, na maioria das vezes, é representada por uma instância da classe QMainWindow. Veja o código completo para o exemplo, já atualizado para o PyQt6:
# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
# vamos criar uma classe que herda de QMainWindow
class JanelaPrincipal(QMainWindow):
# construtor da classe
def __init__(self):
super().__init__()
# definimos o título da janela
self.setWindowTitle("Cadastro de Produtos")
# vamos definir as dimensões da janela
self.resize(600, 420)
# vamos obter a geometria do frame da nossa janela
geometria_frame = self.frameGeometry()
# acessamos a geometria da monitor e obtemos seu centro
ponto_central = self.screen().availableGeometry().center()
# movemos o retângulo obtido anteriormente para o centro da tela
geometria_frame.moveCenter(ponto_central)
# e finalmente movemos nossa janela para este ponto
self.move(geometria_frame.topLeft())
if __name__== "__main__":
# cria a aplicação
app = QApplication(sys.argv)
# cria a janela principal e a coloca visível
janela_principal = JanelaPrincipal()
janela_principal.show()
# executa a aplicação
app.exec()
|
Python ::: Dicas & Truques ::: Lista (List) |
Como remover e retornar um item aleatório em uma lista Python usando a função pop() e um número randômicoQuantidade de visualizações: 9814 vezes |
|
Em dicas anteriores eu mostrei como é possível usar o método pop() do objeto List da linguagem Python para remover elementos no início, final e em determinadas posições de uma lista. Agora mostrarei como é possível fornecer um índice aleatório para a função pop(), de forma a sortear o elemento que estará sendo removido. Note que o número randômico deverá estar nas faixas de índices aceitáveis. Veja o exemplo Python completo:
"""
Este exemplo mostra como excluir e retornar
um ítem aleatório em uma lista
"""
import random
def main():
# cria uma lista de inteiros
valores = [4, 23, 7, 1, 0, 54]
# imprime a lista
print(valores)
# remove um ítem aleatório
valor = valores.pop(random.randrange(0, len(valores)))
print("Item removido:", valor)
# exibe a lista novamente
print(valores)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos um resultado parecido com: [4, 23, 7, 1, 0, 54] Item removido: 54 [4, 23, 7, 1, 0] |
R ::: Dicas & Truques ::: Matemática e Estatística |
R para Matemática e Estatística - Como calcular desvio padrão usando a função sd() da linguagem RQuantidade de visualizações: 2475 vezes |
|
Em Matemática e Estatística, o Desvio Padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Porém, se usarmos a linguagem R, todos estes cálculos se tornam desnecessários, pois temos a função sd(), que recebe uma lista de valores numéricos e retorna o desvio padrão correspondente. Veja:
> valores <- c(10, 30, 90, 30) [ENTER]
> desvio_padrao <- sd(valores) [ENTER]
> paste("O desvio padrão é:", desvio_padrao) [ENTER]
[1] "O desvio padrão é: 34.6410161513775"
>
Ao executar estes comandos R nós teremos o seguinte resultado: O desvio padrão é: 34.6410161513775 Note que a função sd() da linguagem R retorna o Desvio Padrão Populacional, e não o Desvio Padrão Amostral. |
Veja mais Dicas e truques de R |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







