Você está aqui: Cards de Engenharia Civil - Estruturas de Aço e Madeira
Card 0 de 0
O filtro aplicado não retornou nenhum resultado. Clique o botão Remover Filtro ou experimente um filtro diferente.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Matemática e Estatística

Delphi para matemática - Como arredondar valores de ponto-flutuante para cima usando a função Ceil()

Quantidade de visualizações: 17033 vezes
A função Ceil(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para cima, ou seja, para o menor inteiro maior ou igual ao valor fornecido. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  valor: Real;
  resultado: Integer;
begin
  // uses Math

  valor := 8.3;

  // vamos arredondar o valor para cima
  // o resultado será 9
  resultado := Ceil(valor);

  // exibe o resultado
  ShowMessage('O valor arredondado para cima é: ' +
    IntToStr(resultado));
end;

Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 9. No entanto, 8.0 é arredondado para 8.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Java ::: Coleções (Collections) ::: Set (Conjunto)

Java Collections - Como usar a interface Set em seus códigos Java

Quantidade de visualizações: 5347 vezes
A interface Set estende a interface Collection mas não adiciona novos métodos ou constantes. Em vez disso, esta interface define que uma instância de Set não contenha elementos duplicados. Esta responsabilidade é transferida para as classes que implementam a interface.

A classe abstrata AbstractSet é uma classe de conveniência que herda da classe também abstrata AbstractCollection e implementa a interface Set. A classe AbstractSet fornece implementações concretas para os métodos equals() e hashCode(). Estes métodos permitem a funcionalidade da não permissão de elementos duplicados nos conjuntos.

As classes concretas mais conhecidas da interface Set são:

HashSet - Esta classe é implementada em cima de uma tabela hash, ou seja, um array (matriz) na qual os elementos são armazenados em posições calculadas de acordo com o seu conteúdo. Uma característica interessante de HashSet é que os elementos raramente são retornados na mesma ordem na qual foram inseridos.

LinkedHashSet - Esta classe estende a classe HashSet com uma implementação de lista ligada (linked list) que permite a ordenação dos elementos no conjunto.

TreeSet - Esta classe é uma classe concreta que implementa a interface SortedSet. A interface SortedSet é uma sub-interface de Set que garante que os elementos no conjunto estejam ordenados. Além disso, esta interface fornece os métodos first() e last() para acessar o primeiro e o último elemento do conjunto. Há ainda os métodos headSet(toElement) e tailSet(fromElement) para retornar uma faixa do conjunto cujos elementos sejam "menores" que toElement e "maiores" que fromElement.

Seja qual for a implementação de Set que você queira usar, é sempre uma boa idéia codificar em cima da interface. Isso facilita a troca de HashSet por TreeSet ou vice-versa sem grandes modificações no seu código.

Veja um exemplo no qual usamos a classe concreta HashSet para representar um conjunto de cinco strings únicas:

package estudos;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Estudos{
  public static void main(String[] args) {
    // vamos criar uma instância da classe HashSet
    Set<String> conjunto = new HashSet<>();
    
    // vamos inserir cinco elementos no Set
    conjunto.add("Açucar");
    conjunto.add("Macarrão");
    conjunto.add("Feijão");
    conjunto.add("Carne");
    conjunto.add("Maionese");
    
    // vamos exibir os elementos inseridos
    Iterator iterator = conjunto.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
}


Ao executar este trecho de código teremos um resultado parecido com:

Macarrão
Feijão
Carne
Açucar
Maionese

Note que raramente os elementos serão exibidos na ordem na qual eles foram inseridos. Experimente agora trocar a linha:

Set<String> conjunto = new HashSet<>();

por

Set<String> conjunto = new LinkedHashSet<>();

Execute o código novamente e verá que agora os elementos são exibidos na mesma ordem que foram inseridos.


VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de VB.NET - Como retornar o primeiro elemento de um vetor em VB.NET

Quantidade de visualizações: 600 vezes
Pergunta/Tarefa:

Dado o vetor:

[9, 5, 3, 2, 4, 8]

Escreva um programa VB.NET que mostra como acessar e retornar o primeiro elemento de um vetor (array) em VB.NET.

Sua saída deverá ser parecida com:

O primeiro elemento do array é: 9 
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' vamos criar um array de inteiros
    Dim valores As Integer() = {9, 5, 3, 2, 4, 8}

    ' agora vamos retornar o primeiro elemento do vetor
    Dim primeiro As Integer = valores(0)

    ' e mostramos o resultado
    Console.WriteLine("O primeiro elemento do array é: " & primeiro)

    Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub

End Module



Delphi ::: VCL - Visual Component Library ::: TStringGrid

Como centralizar os títulos das colunas (ou o conteúdo de qualquer célula) de um TStringGrid do Delphi

Quantidade de visualizações: 13949 vezes
Em algumas situações nós precisamos centralizar os títulos das colunas de um TStringGrid. Em geral os títulos das colunas são exibidos nas células da primeira linha fixa do TStringGrid. Nesta dica eu mostrarei a forma mais comum de alcançar este efeito. Note que a técnica pode ser usada para centraliar o conteúdo de qualquer célula da grid:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  conteudo: String;
  alinhamento_anterior: Word;
begin
  // vamos centralizar os títulos das colunas, ou seja, o conteúdo
  // das células na primeira linha
  if ARow = 0 then
    begin
      // vamos obter o conteúdo da célula
      conteudo := (Sender as TStringGrid).Cells[ACol, ARow];

      // vamos obter o alinhamento atual
      alinhamento_anterior := SetTextAlign((Sender as TStringGrid).Canvas.Handle,
        TA_CENTER);

      // vamos colocar o conteúdo de volta na célula
      (Sender as TStringGrid).Canvas.TextRect(Rect,
        Rect.Left + (Rect.Right - Rect.Left) div 2, Rect.Top + 5, conteudo);

      // vamos voltar o alinhamento anterior para as demais células
      SetTextAlign((Sender as TStringGrid).Canvas.Handle, alinhamento_anterior);
    end;
end;

Aqui nós temos duas chamadas à função SetTextAlign() da API do Windows. Na primeira vez nós obtemos o alinhamento atual e definimos o novo alinhamento como TA_CENTER. Na segunda chamada nós voltamos o alinhamento anterior. Se não fizermos este procedimento, todas as demais células da grid terão seus conteúdos também alinhados ao centro.


Python ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar um diretório em Python usando a função mkdir() do módulo os

Quantidade de visualizações: 3344 vezes
Podemos usar a função mkdir() do módulo os da linguagem Python para criarmos diretórios. Em sua versão mais simples, este método pede somente o nome e caminho do diretório a ser criado. Se o caminho for omitido, o novo diretório será criado no diretório atual, ou seja, o diretório da aplicação Python.

Veja um exemplo no qual criamos um diretório chamado "app" no diretório "C:\estudos_python":

# importa o módulo os
import os

# método principal  
def main():
  # nome do diretório
  diretorio = "C:\\estudos_python\\app"

  # vamos criar o diretório
  os.mkdir(diretorio)

  # mostramos o resultado
  print('O diretório foi criado com sucesso.')

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

c:\estudos_python>python estudos.py
O diretório foi criado com sucesso.

Note que um erro do tipo FileExistsError será exibido se o diretório já existir:

Traceback (most recent call last):
File "c:\estudos_python\estudos.py", line 16, in <module>
main()
File "c:\estudos_python\estudos.py", line 10, in main
os.mkdir(diretorio)
FileExistsError: [WinError 183] Não é possível criar um arquivo já existente: 'C:\\estudos_python\\app'

Uma forma de evitar este erro é verificar se o diretório já existe ou usar uma construção try...except. Veja:

# importa o módulo os
import os

# método principal  
def main():
  # nome do diretório
  diretorio = "C:\\estudos_python\\app"

  try:
    # vamos criar o diretório
    os.mkdir(diretorio)
    # mostramos o resultado
    print('O diretório foi criado com sucesso.')
  except os.error as error_msg:
    print("Houve um erro: %s" % str(error_msg))

if __name__== "__main__":
  main()

Execute o código novamente e veja como o tratamento de erro ficou mais elegante.


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 103 usuários muito felizes estudando em nosso site.