Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Python ::: Python para Engenharia ::: Física - Mecânica - Estática |
Como calcular o centroide ou centro de gravidade de um triângulo em PythonQuantidade de visualizações: 2336 vezes |
|
O centro de gravidade, ou centroide (centro geométrico), é o ponto no qual a massa de um triângulo se equilibra. Para ajudar a visualizar isso, imagine uma figura triangular suspensa sobre a ponta de um lápis. A figura vai se equilibrar se a ponta do lápis for posicionada em seu centro de gravidade. Encontrar o centroide pode ser necessário em vários projetos e aplicações de engenharia, e pode ser encontrado usando geometria simples. Veja a seguinte figura: ![]() Nesta figura nós temos os três vértices do triângulo devidamente registrados, assim como o ponto representando seu centroide. Assim, a fórmula do centroide do triângulo é: \[x_c = \frac{x_1 + x_2 + x_3}{3}\] \[y_c = \frac{y_1 + y_2 + y_3}{3}\] Agora vamos ver como calcular o centro de gravidade do triângulo em Python. Para isso nós vamos pedir para o usuário informar as coordenadas dos três vértices do triângulo e, em seguida, vamos mostrar as coordenadas do ponto que representa o centroide. Veja:
# função principal do programa
def main():
# vamos ler as coordenadas do primeiro vértice
va_x = float(input("Informe o x do primeiro vértice: "))
va_y = float(input("Informe o y do primeiro vértice: "))
# vamos ler as coordenadas do segundo vértice
vb_x = float(input("Informe o x do segundo vértice: "))
vb_y = float(input("Informe o y do segundo vértice: "))
# vamos ler as coordenadas do terceiro vértice
vc_x = float(input("Informe o x do terceiro vértice: "))
vc_y = float(input("Informe o y do terceiro vértice: "))
# vamos calcular as coordenadas do centroide
c_x = (va_x + vb_x + vc_x) / 3
c_y = (va_y + vb_y + vc_y) / 3
# vamos mostrar o resultado
print("As coordenadas do centroide são: x={0}; y={1}".format(
round(c_x, 2), round(c_y, 2)))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o x do primeiro vértice: 3 Informe o y do primeiro vértice: 10 Informe o x do segundo vértice: 12 Informe o y do segundo vértice: 15 Informe o x do terceiro vértice: 14 Informe o y do terceiro vértice: 7 As coordenadas do centroide são: x=9.67; y=10.67 |
C++ ::: STL (Standard Template Library) ::: unordered_map |
Como contar as frequências de palavras em uma frase ou texto em C++ usando um unordered_mapQuantidade de visualizações: 992 vezes |
|
Nesta dica mostrarei como podemos usar o mapa não ordenado (unordered_map) da linguagem C++ para contar as frequências das palavras individuais de uma palavra ou texto. O exemplo mostrado aqui serve como base para a criação de aplicações muito interessantes. Veja o código C++ completo:
#include <string>
#include <iostream>
#include <unordered_map>
#include <bits/stdc++.h>
using namespace std;
// protótipo da função que exibe a frequência de palavras em uma
// frase ou texto
void exibir_frequencias(const string &frase);
int main(int argc, char *argv[]){
// vamos declarar uma frase
// retirei acentos e pontuações de propósito
string frase = "Gosto de Java e Python pois quero aprender Java";
// mostramos a frase
cout << "A frase é: " << frase << endl;
// chamamos a função que exibe as frequencias
cout << "\nA frequência das palavras é:\n" << endl;
exibir_frequencias(frase);
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
// função que exibe a frequência de palavras em uma
// frase ou texto
void exibir_frequencias(const string &frase){
// vamos declarar um mapa que terá como chave uma string
// e como valor um int
unordered_map<string, int> frequencias;
// agora convertemos a frase recebido como argumento
// em um objeto stringstream
stringstream ss(frase);
// e percorremos as palavras individualmente
string palavra;
while (ss >> palavra){
// essa palavra já existe no mapa?
if (frequencias.find(palavra) == frequencias.end()){
// adiciona esta palavra ao mapa
frequencias[palavra] = 1;
}
else{
// já existe. Vamos incrementar esta frequência
frequencias[palavra] = frequencias[palavra] + 1;
}
}
// agora percorremos o mapa não ordenado, acessando
// cada chave e mostrando a frequencia de cada palavra
unordered_map<string, int>:: iterator p;
for (p = frequencias.begin(); p != frequencias.end(); p++){
cout << "(" << p->first << ", " << p->second << ")\n";
}
}
Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java e Python pois quero aprender Java A frequência das palavras é: (aprender, 1) (quero, 1) (pois, 1) (Gosto, 1) (Java, 2) (e, 1) (de, 1) (Python, 1) |
Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout |
Como adicionar espaço entre o GridBagLayout do Java Swing e as bordas da janela JFrame usando o método setBorder()Quantidade de visualizações: 11671 vezes |
Se o GridBagLayout for o gerenciador de layout principal da janela, pode ser interessante adicionar algum espaço (padding) entre ele e as bordas da janela JFrame ou JDialog. Isso pode ser feito obtendo-se uma referência ao painel de conteúdo (ContentPane) da JFrame e adicionando uma borda EmptyBorder. Veja como isso é feito no trecho de código abaixo:
package arquivodecodigos;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
public class Estudos extends JFrame{
public Estudos(){
super("Como usar a classe GridBagLayout");
// define o layout
setLayout(new GridBagLayout());
// define uma borda para aumentar o espaço
// entre as bordas da janela e o gerenciador
// de layout
((JComponent)getContentPane()).setBorder(
new EmptyBorder(10, 10, 10, 10));
// cria o GridBagConstraints
GridBagConstraints gbc = new GridBagConstraints();
// controla o espaço entre os componentes
// e as linhas do GridBagLayout.
// aqui nós definimos 5 pixels para os
// lados de cima, esquerda, inferior e direita
gbc.insets = new Insets(5, 5, 5, 5);
// adiciona componentes à janela
gbc.gridy = 0; // linha
gbc.gridx = 0; // coluna
add(new JButton("Botão 1"), gbc);
gbc.gridy = 0; // linha
gbc.gridx = 1; // coluna
add(new JButton("Botão 2"), gbc);
gbc.gridy = 0; // linha
gbc.gridx = 2; // coluna
add(new JButton("Botão 3"), gbc);
gbc.gridy = 1; // linha
gbc.gridx = 0; // coluna
add(new JButton("Botão 4"), gbc);
gbc.gridy = 1; // linha
gbc.gridx = 1; // coluna
add(new JButton("Botão 5"), gbc);
gbc.gridy = 1; // linha
gbc.gridx = 2; // coluna
add(new JButton("Botão 6"), gbc);
//setSize(350, 150);
pack(); // ajusta o tamanho da janela ao
// dos componentes
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em VB.NET usando o método ToUpper() da classe StringQuantidade de visualizações: 10854 vezes |
|
Nesta dica mostrarei como podemos usar o método ToUpper() da classe String do VB.NET para converter todos os caracteres de uma palavra, frase ou texto para letras maiúsculas. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
Dim frase As String = "VejA esta FRASe"
' vamos mostrar a frase original
Console.WriteLine("Frase original: " & frase)
' transforma tudo em letras maiúsculas
frase = frase.ToUpper()
' agora mostramos a frase em letras maiúsculas
Console.WriteLine("Em letras maiúsculas: " & frase)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: Frase original: VejA esta FRASe Em letras maiúsculas: VEJA ESTA FRASE |
C# ::: Dicas & Truques ::: Data e Hora |
Como construir uma data e hora em C# usando o objeto DateTime e fornecendo o dia, mês, ano, horas, minutos e segundos da data e hora desejadasQuantidade de visualizações: 12722 vezes |
Esta dica mostra como construir uma data e hora em C# usando o seguinte construtor da estrutura DateTime:DateTime(Int32, Int32, Int32, Int32, Int32, Int32) Este construtor pede seis valores inteiros representando o ano, mês, dia, horas, minutos e segundos da data e hora que queremos construir e retorna um objeto DateTime representando a data e hora recém-construidas (note que a hora deve ser informada no formato 0-23). Veja um exemplo:
static void Main(string[] args){
// cria um objeto DateTime para a data 10/04/2008
// e hora 18:32:10
DateTime data = new DateTime(2008, 4, 10, 18, 32, 10);
// exibe o resultado
System.Console.WriteLine(data.ToString(
"dd/MM/yyyy - HH:mm:ss"));
// pausa o programa
Console.ReadKey();
}
Tome cuidade. Este método pode lançar exceções dos tipos ArgumentOutOfRangeException e ArgumentException se os valores fornecidos estiverem fora das faixas permitidas. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






