Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

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 ::: Data Controls (Controles de Dados) ::: TDBGrid

Como retornar a quantidade de colunas do TDBGrid do Delphi em tempo de execução

Quantidade de visualizações: 9742 vezes
Em algumas situações precisamos obter a quantidade de colunas em um controle TDBGrid em tempo de execução. Isso pode ser feito por meio da propriedade Count da classe TDBGridColumns. Um controle TDBGrid possui uma referência a um objeto desta classe por meio de sua propriedade Columns.

Veja um trecho de código no qual clicamos em um botão e exibimos a quantidade de colunas em um DBGrid chamado "DBGrid1":

procedure TForm3.Button3Click(Sender: TObject);
var
  colunas: Integer;
begin
  // vamos obter a quantidade de colunas no DBGrid
  colunas := DBGrid1.Columns.Count;
  ShowMessage('O DBGrid possui ' + IntToStr(colunas) + ' colunas');
end;

Ao executar o código e clicar no botão você verá uma mensagem parecida com:

"O DBGrid possui 10 colunas".

Esta dica foi escrita e testada no Delphi 2009.


VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico

Exercícios Resolvidos de VisuAlg - Escreva um programa VisuAlg para calcular e imprimir o número de lâmpadas necessárias

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

Escreva um programa VisuAlg para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado.

Sua saída deverá ser parecida com:

Informe a potência da lâmpada (em watts): 100
Informe a largura do cômodo (em metros): 6
Informe o comprimento do cômodo (em metros): 4
Serão necessárias 4 lâmpadas.
Resposta/Solução:

Veja a resolução completa para o exercício em VisuAlg, comentada linha a linha:

algoritmo "Como calcular o número de lâmpadas necessárias"

var
  // variáveis usadas na resolução do problema
  potencia_lampada, largura_comodo, comprimento_comodo: real
  area_comodo, potencia_total: real
  quant_lampadas: inteiro

inicio
  // vamos ler a potência da lâmpada
  escreva("Informe a potência da lâmpada (em watts): ")
  leia(potencia_lampada)

  // vamos ler a largura do cômodo
  escreva("Informe a largura do cômodo (em metros): ")
  leia(largura_comodo)

  // agora vamos ler o comprimento do cômodo
  escreva("Informe o comprimento do cômodo (em metros): ")
  leia(comprimento_comodo)

  // agora vamos calcular a área do cômodo
  area_comodo <- largura_comodo * comprimento_comodo

  // calculamos a potência total necessária para iluminar
  // todo o cômodo
  potencia_total <- area_comodo * 18

  // e finalmente calculamos a quantidade de lâmpadas necessárias
  quant_lampadas <- Int(potencia_total / potencia_lampada)

  // será necessário no mínimo uma lâmpada
  se quant_lampadas = 0 entao
    quant_lampadas <- quant_lampadas + 1
  fimse

  // e mostramos o resultado
  escreva("Serão necessárias ", quant_lampadas, " lâmpadas.")

fimalgoritmo



C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como ordenar os elementos de um vetor C usando a ordenação da bolha (Bubble Sort)

Quantidade de visualizações: 26502 vezes
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos.

O entendimento deste método é fácil. Se estivermos ordenados os valores do menor para o maior, o método da bolha percorre os elementos da matriz, comparando e movendo o menor valor para a primeira posição da matriz, tal qual bolhas indo para a superfície. Veja um exemplo completo:

#include <stdio.h>
#include <stdlib.h>

void bubble_sort(int matriz[], int tam){
  int temp, i, j;

  for(i = 0; i < tam; i++){
    for(j = 0; j < tam; j++){
      if(matriz[i] < matriz[j]){
        temp = matriz[i];
        matriz[i] = matriz[j];
        matriz[j] = temp;
      }
    }
  }
}

int main(int argc, char *argv[])
{
  int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
  int i, tamanho = 9;

  // imprime a matriz sem a ordenação
  for(i = 0; i < 9; i++){
    printf("%d ", valores[i]);
  }

  // vamos ordenar a matriz
  bubble_sort(valores, tamanho);

  // imprime a matriz ordenada
  puts("\n");
  for(i = 0; i < 9; i++){
    printf("%d ", valores[i]);
  }

  puts("\n");
  system("pause");
  return 0;
}



Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar os tipos CHAR e VARCHAR do Firebird

Quantidade de visualizações: 16476 vezes
O Firebird fornece dois tipos de dados básicos para armazenar informação em texto ou caracteres: CHAR e VARCHAR (O tipo BLOB também permite armazenar caracteres por meio de seu sub-tipo text).

CHAR e VARCHAR são tipos de dados que podem armazenar quaisquer informações do tipo texto. Números que não serão envolvidos em cálculos, tais como CEPs, números de ruas, etc, são geralmente armazenados em campos do tipo CHAR ou VARCHAR. O comprimento de um campo do tipo CHAR ou VARCHAR é informado entre parênteses, e pode ser um valor inteiro que vai de 1 até 32.767. Esta largura de caracteres é extremamente útil quando precisamos armazenar dados de tamanho fixo ou pré-definido, tais como códigos de CEPs para um determinado país.

Comparado com a maioria dos outros bancos de dados, o Firebird armazena somente as informações significantes. Se um campo é definido como CHAR(100), mas contém apenas 10 caracteres, os bytes definidos adicionalmente não são usados. Isso acontece porque o Firebird armazena os tipos CHAR e VARCHAR de forma igual, e não preenche o espaço não usado com caracteres vazios. Tanto CHAR quanto VARCHAR são guardados na memória em sua forma declarada, mas, o registro é comprimido antes da armazenagem.

Além disso, tenha em mente que os campos do tipo VARCHAR exigem mais espaço de armazenamento que os campos do tipo CHAR. Isso ocorre porque, ao armazenar um VARCHAR, o Firebird adiciona dois bytes que serão usados para guardar o real tamanho do campo (o tamanho declarado).

Desta forma, um CHAR ocupará menos espaço de armazenamento. Contudo, quando fazemos um SELECT envolvendo campos do tipo VARCHAR, o Firebird removerá os dois bytes adicionados anteriomente e retornará o valor armazenado. Quando um SELECT é efetuado com campos do tipo CHAR, o Firebird retorna o valor e os espaços em branco.

Em termos práticos podemos considerar esta regra: somente use CHAR se você for armazenar strings com poucos caracteres. A exceção a esta regra acontece quando estamos trabalhando com tabelas intermediárias exigidas para a exportação de dados para arquivos de tamanhos fixos. Neste caso os campos CHAR de tamanho fixo trarão uma enorme vantagem.

Esta forma eficiente de armazenamento do Firebird pode trazer algumas confusão, principalmente quando estamos importando dados, uma vez que bases de dados Paradox e dBase guardam também os espaços em branco. Assim, depois de importar um arquivo dBase de 10Mb para o Firebird, o resultado será algo em torno de 3-6Mb, ainda que todos os dados tenham sido importados corretamente.

Observe também que campos CHAR indexados não devem ter mais que 80 caracteres de comprimento (Firebird 2.5).

Quando estamos criando campos do tipo CHAR, este tipo de dados pode ser definido como CHAR ou CHARACTER. Já o tipo VARCHAR pode ser definido como VARCHAR, CHARACTER VARYING ou CHAR VARYING.

Veja um comando DDL CREATE TABLE usado para criar uma tabela do Firebird contendo campos do tipo CHAR e VARCHAR:

CREATE TABLE PESSOAS(
  ID     INTEGER NOT NULL,
  NOME   VARCHAR(40) NOT NULL,
  SEXO   CHAR(1) NOT NULL
);

Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e SEXO é do tipo CHAR(1). Veja agora um comando DML INSERT INTO que mostra como inserir um novo registro nesta tabela:

INSERT INTO PESSOAS VALUES(12, 'OSMAR J. SILVA', 'M');


É importante notar que, se um campo for do tipo CHAR(1) e, na query INSERT ou UPDATE nós fornecermos dois ou mais caracteres, o Firebird se recusará a gravar ou atualizar o registro, exibindo a seguinte mensagem de erro:

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
string right truncation.


Java ::: Dicas & Truques ::: Recursão (Recursividade)

Java Avançado - Como listar o conteúdo de um diretório recursivamente

Quantidade de visualizações: 1 vezes
Nesta dica mostrarei como podemos usar recursividade (recursão) para listar todo o conteúdo de um diretório. Este é um exercício para melhorar o seu entendimento de funções recursivas em Java.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.io.*;
import java.util.*;

public class Estudos {
  static int indentLevel = -1;

  public static void main(String[] args) {
    listPath(new File("c:\\estudos_c"));
  }

  static void listPath(File path) {
    File files[];
    indentLevel++;

    files = path.listFiles();

    Arrays.sort(files);

    for (int i = 0, n = files.length; i < n; i++) {
      for (int indent = 0; indent < indentLevel; indent++) {
        System.out.print("  ");
      }
      
      System.out.println(files[i].getName());
      
      if(files[i].isDirectory()) {
        listPath(files[i]);
      }
    }
    indentLevel--;
  }
}

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

DICA.txt
estudos
  .vs
    estudos
      v16
        .suo
        Browse.VC.db
        ipch
          AutoPCH
            1dcb307edee5acf8
              ORIGEM.ipch
  Debug
    estudos.exe
    estudos.exe.recipe
    estudos.ilk
    estudos.log
    estudos.pdb
    estudos.tlog
      CL.command.1.tlog
      CL.read.1.tlog
      CL.write.1.tlog
      estudos.lastbuildstate
      link.command.1.tlog
      link.read.1.tlog
      link.write.1.tlog
    estudos.vcxproj.FileListAbsolute.txt
    Origem.obj
    vc142.idb
    vc142.pdb
  estudos.sln
  estudos.vcxproj
  estudos.vcxproj.filters
  estudos.vcxproj.user
  Origem.cpp
Estudos_C.dev
Estudos_C.exe
Estudos_C.layout
main.c
main.o
Makefile.win



Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

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 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 Apenas R$ 19,90


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