Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes.

Você está aqui: Cards de Engenharia Civil - Fundações
Card 1 de 11
Fundações diretas ou rasas

As fundações rasas ou diretas são utilizadas quando as camadas superficiais do solo apresentam resistência apropriada para receber as cargas provenientes de uma edificação.

A depender das características do solo abaixo de uma estrutura, podem ser usadas tanto fundações rasas como fundações profundas, desde que os estudos técnicos necessários sejam realizados durante a fase dos estudos preliminares.

Vale ressaltar que o uso das fundações rasas é recomendado quando o número de golpes do SPT for maior ou igual a 8 e a profundidade de assentamento não ultrapassar 2m, pois, acima desses valores, esse tipo de fundação se torna inviável técnica e economicamente.

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:

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

Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando Python

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

Escreva um programa Python contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 8
O valor 8 é potência de dois
Informe um valor inteiro: 34
O valor 34 não é potência de dois
Informe um valor inteiro: 64
O valor 64 é potência de dois
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

# método que recebe um número inteiro e informe se ele é
# potência de dois
def is_potencia_dois(n):
  # usamos o operador AND de bits para verificar se n AND n-1
  # é igual a 0
  return (n > 0) and (n & (n - 1)) == 0

# método principal
def main():
  # vamos pedir para o usuário informar um valor inteiro
  valor = int(input("Informe um valor inteiro: "))
    
  # vamos testar se o número informado é potência de dois
  if is_potencia_dois(valor):
    print("O valor {0} é potência de dois".format(valor))
  else:
    print("O valor {0} não é potência de dois".format(valor))
 
if __name__== "__main__":
  main()



Java ::: Dicas & Truques ::: Strings e Caracteres

Como contar as ocorrências de uma substring em uma string do Java usando o método substring() e um laço for

Quantidade de visualizações: 3 vezes
Nesta dica mostrarei como podemos usar o método substring() da classe String, combinado com o laço for, para contar as ocorrências de uma substring em uma string da linguagem Java. Note que usamos também os métodos length() e equals() para completar a tarefa.

Veja o código Java completo para o exemplo:

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string representando uma frase
    String frase = "Programar em Java só é melhor que programar em Java";
    
    // a substring que vamos pesquisar
    String sub = "Java"; // ocorrências de "Java"
    
    // quantidade de ocorrências
    int cont = 0;
    
    // um laço for que vai de 0 até o tamanho da primeira string menos
    // o tamanho da segunda string - 1
    for(int i = 0; i < (frase.length() - sub.length() + 1); i++){
      String res = frase.substring(i, (i + sub.length()));
      
      // encontramos a substring mais uma vez?
      if(res.equals(sub)){
        cont++;
      }
    }
    
    System.out.println("A frase contém " + cont + " ocorrências de " + sub);
    
    // fecha o programa
    System.exit(0);
  }
}  

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

A frase contém 2 ocorrências de Java


Flutter ::: Material Library - Biblioteca Material ::: TextField

Como habilitar ou desabilitar um botão ao digitar em um widget TextField do Flutter

Quantidade de visualizações: 4138 vezes
Nesta dica eu mostro como podemos habilitar ou desabilitar um botão ElevatedButton dependendo do conteúdo de um TextField. Para isso nós vamos usar a propriedade onChanged da classe TextField para desabilitar o botão quando a caixa de texto estiver vazia e habilitá-lo em caso contrário.

O truque aqui é passar um valor null para a propriedade onPressed do ElevatedButton. Só isso já basta para que o botão fique desabilitado. Veja o código completo para o exemplo:

import 'package:flutter/material.dart';

// método principal do Dart, que inicia a aplicação
void main() {
  runApp(MeuApp());
}

class MeuApp extends StatelessWidget {
  // Este  widget é a raiz da aplicação Flutter
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Controle TextField',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: TelaInicial(),
    );
  }
}

// Vamos construir a view e retornar para a raiz da aplicação
class TelaInicial extends StatefulWidget {
  TelaInicial({Key key}) : super(key: key);
  @override
  _TelaInicialState createState() => _TelaInicialState();
}

class _TelaInicialState extends State<TelaInicial> {
  bool btnDesabilitado = true; // vamos desabilitar o botão

  @override
  Widget build(BuildContext context) {
    // vamos criar uma caixa de texto chamada nomeTxt
    final nomeTxt = TextField(
      decoration: InputDecoration(
        border: OutlineInputBorder(
          borderRadius: BorderRadius.circular(10.0)),
        hintText: 'Digite seu nome'
      ),
      // Vamos detectar a mudança de conteúdo do TextField
      onChanged: (String value) async {
        // setState() força a atualização da janela
        if(value.isEmpty) { // o campo de texto não está vazio
          setState(() {
            btnDesabilitado = true; // desabilita o botão
          });
        }
        else{
          setState(() {
            btnDesabilitado = false; // habilita o botão
          });
        }
      }
    );

    final btnNome = ElevatedButton(
      onPressed: btnDesabilitado ? null : (){},
      child: Text('Clique Aqui'),
    );

    return Scaffold(
      appBar: AppBar(
        title: Text("O Widget TextField"),
      ),
      body: Center(
        child: Container(
          child: Padding(
            padding: const EdgeInsets.all(20.0),
            child: Column(
              children: <Widget>[
                // a caixa de texto TextField vai aqui
                nomeTxt,
                // o botão vai aqui
                btnNome,
              ],
            ),
          ),
        ),
      ),
    );
  }
}



Java ::: Coleções (Collections) ::: ArrayList

Como excluir de uma ArrayList todos os elementos contidos em outra ArrayList ou coleção do Java usando o método removeAll()

Quantidade de visualizações: 10568 vezes
Em algumas situações pode ser útil sabermos como remover de uma ArrayList todos os elementos contidos em outra ArrayList ou coleção. Para isso podemos usar o método removeAll(), que a classe ArrayList herda da interface java.util.List.

Veja sua assinatura:

boolean removeAll(Collection<?> c)


E agora veja um exemplo de seu uso:

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();

    // cria uma segunda ArrayList que conterá mais strings
    ArrayList<String> nomes2 = new ArrayList<String>();
    
    // adiciona itens na primeira lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");
    nomes.add("Zacarias");    

    // adiciona itens na segunda lista
    nomes2.add("Maria");
    nomes2.add("Zacarias");    
	
    // vamos remover da primeira lista todos os elementos
    // contidos na segunda lista
    nomes.removeAll(nomes2);

    // vamos exibir o resultado
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    } 

    System.exit(0);
  }
}



C++ ::: Dicas & Truques ::: Recursão (Recursividade)

Como calcular fatorial em C++ usando recursividade

Quantidade de visualizações: 10142 vezes
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma:

4 x 3 x 2 x 1 = 24

Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplicação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em C++ que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.

#include <iostream>

using namespace std;

// função recursiva para calcular o fatorial
// de um determinado número
int fatorial(int n){
  if(n == 0)
    return 1;
  else
    return n * fatorial(n - 1);
}

int main(int argc, char *argv[]){
  // vamos calcular o fatorial de 5
  int res = fatorial(5);

  // exibe o resultado
  cout << "O fatorial de 5 é: " << res << endl;

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



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

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


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