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 Python
Card 1 de 2
A indentação é mesmo obrigatória em Python?

Sim, a linguagem Python exige o uso da indentação como forma de formar blocos de código.

O interpretador Python é informado que um grupo de instruções pertence a um bloco específico por meio da indentação. Em geral, programadores Python usam um ou dois caracteres de tabulação (tecla Tab) como forma de indentar seus blocos de código.

Em todas as linguagens de programação a indentação facilita a leitura e compreensão do código escrito, porém, em Python, ela é um requisito obrigatório.

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 ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular a Força Normal Adimensional ou Força Normal Reduzida de um pilar em Python - Python para Estruturas de Concreto Armado

Quantidade de visualizações: 839 vezes


A Força Normal Adimensional de um pilar, também chamada de Força Normal Reduzida, é representada pela letra grega ν (ni) e nos dá uma idéia da magnitude da força normal que está sendo aplicada na seção transversal de um pilar.

A fórmula para o cálculo da Força Normal Adimensional pode ser representada da seguinte forma:

\[\nu = \frac{N_\text{sd}}{A_\text{c} \cdot \frac{f_\text{ck}}{\gamma _\text{c}}} \]

Onde:

ν é a Força Normal Adimensional sem unidade;

Nd é a força normal de projeto, em kN.

fck é a resistência característica do concreto em kN/cm2. Para converter de Mpa para kN/cm2 nós só precisamos dividir por 10.

γc é o fator de ponderação do concreto e, em geral, possui o valor 1,4. Ao dividirmos o fck pelo γc nós chegamos ao fcd, que é resistência de cálculo do concreto.

Note que o valor encontrado para a força normal adimensional ν (ni) é o valor que, junto com o μ (mi), forma a dupla de fatores para o ábaco de VENTURINI que nos retornará o valor de ω (ômega) que nos ajudará a calcular a área de aço (As) do pilar.

Há duas considerações importantes em relação à Força Normal Adimensional ν de um pilar:

a) Se &#957; < 0,30 -> pode ser adequado reduzir a seção transversal do pilar.

b) Se &#957; > 1,30 -> pode ser conveniente aumentar a seção transversal do pilar.

Agora vamos ver o código Python? Note que pediremos para o usuário informar as dimensões do pilar nas direções x e y em centímetros, a carga total no pilar em kN e o fck do concreto em Mpa e retornaremos o valor da força normal adimensional:

# método principal
def main():
  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # vamos pedir a carga total no pilar em kN
  Nk = float(input("Informe a carga total no pilar (em kN): "))

  # agora vamos obter o FCK do concreto em MPa
  fck = float(input("Informe o FCK do concreto (em MPa): "))
  # vamos converter MPa para kN/cm2
  fck = fck / 10

  # vamos obter o menor lado do pilar (menor dimensão da seção transversal)
  if (hx < hy):
    b = hx
  else:
    b = hy

  # agora vamos calcular a área do pilar em centímetros quadrados
  area = hx * hy
 
  # a área está de acordo com a norma NBR 6118 (ABNT, 2014)
  if (area < 360):
    print("A área do pilar não pode ser inferior a 360cm2")
    return

  # vamos calcular a força normal de projeto Nd
  yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
  yf = 1.4 # regra geral para concreto armado
  Nd = yn * yf * Nk

  # vamos fixar o fator de ponderação do concreto em 1.4
  yc = 1.4

  # e agora calculamos a força normal adimensional do pilar
  fna = Nd / (area * (fck / yc))

  # e mostramos o resultado
  print("\nA Força Normal Adimensional do pilar é: {0}".format(round(fna, 2)))

if __name__== "__main__":
  main()

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

Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19
Informe a carga total no pilar (em kN): 841.35
Informe o FCK do concreto (em MPa): 30

A Força Normal Adimensional do pilar é: 0.72


C ::: Dicas & Truques ::: Strings e Caracteres

Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizada

Quantidade de visualizações: 24524 vezes
O código abaixo mostra como você pode implementar uma função que inverte o conteúdo de uma string. Veja que o argumento para um função é um ponteiro para a string a ser invertida:

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

// função que reverte uma string
void str_reverse(char* str)
{
  char ch;
  int i, j;

  for(i = 0, j = strlen(str) - 1;  i < j;  ++i, --j)
  {
    ch = str[i];
    str[i] = str[j];
    str[j] = ch;
  }
}

int main(int argc, char *argv[])
{
  char nome[] = "Osmar J. Silva";

  // original
  printf("Original: %s\n", nome);

  // inverte
  str_reverse(nome);
  printf("Invertido: %s\n", nome);

  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Original: Osmar J. Silva
Invertido: avliS .J ramsO

Pressione qualquer tecla para continuar...


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

Como retornar o tamanho de uma string em Java usando o método length() da classe String

Quantidade de visualizações: 1 vezes
O método length() da classe String do Java é muito útil quando queremos o tamanho, ou seja, o comprimento de uma string. Uma string é um conjunto de caracteres que compôem uma palavra, frase ou texto em Java.

Este método é chamado diretamente na instância da classe String e retorna um int contendo o tamanho da string. Veja um exemplo de seu uso:

package arquivodecodigos;
 
// Este exemplo mostra como obter o tamanho de uma string
public class Estudos{
  public static void main(String[] args){
    String frase = "Java é muito interessante";
    
    // vamos obter o tamanho da string
    int tam = frase.length();
    
    // e mostramos o resultado
    System.out.println("Esta string contem " + 
      tam + " caracteres");
    
    System.exit(0);
  }
} 

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

Esta string contem 25 caracteres.


HTML5 ::: HTML5 + JavaScript ::: Canvas

Programação gráfica para iniciantes - Como desenhar círculos com ou sem preenchimento usando o método arc() do objeto Canvas do HTML5

Quantidade de visualizações: 7416 vezes
Podemos usar o método arc() do objeto Canvas do HTML5 para desenhar círculos com ou sem prenchimento. Veja nos exemplos abaixo como isso pode ser feito. Primeiro um círculo sem preenchimento:

<!doctype html>
<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>
 
<body>
 
<Canvas id="canvas1" width="500" height="350"></Canvas>
 
<script type="text/javascript">
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
     
  // vamos desenhar um círculo sem preenchimento com raio de 80
  contexto.beginPath(); // início um novo caminho
  // o círculo começa no x = 100, y = 100, começa no ângulo 0
  // e vai até o ângulo 360 (as medidas são em radianos, não em graus)
  contexto.arc(100, 100, 80, 0, 2 * Math.PI, false);
  contexto.lineWidth = 2; // largura da linha
  contexto.strokeStyle = '#990000'; // cor da linha
  contexto.stroke(); // realiza o desenho    
</script>
 
</body>
 
</html>

Ao abrir esta página HTML nós teremos o seguinte resultado:



E agora um círculo preenchido:

<!doctype html>
<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>
 
<body>
 
<Canvas id="canvas1" width="500" height="350"></Canvas>
 
<script type="text/javascript">
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
     
  // vamos desenhar um círculo sem preenchimento com raio de 80
  contexto.beginPath(); // início um novo caminho
  // o círculo começa no x = 100, y = 100, começa no ângulo 0
  // e vai até o ângulo 360 (as medidas são em radianos, não em graus)
  contexto.arc(100, 100, 80, 0, 2 * Math.PI, false);
 
  // vamos preencher o círculo
  contexto.fillStyle = "#CCCCCC"; // cor do preenchimento
  contexto.fill(); // preenche de fato
 
  contexto.lineWidth = 2; // largura da linha
  contexto.strokeStyle = '#990000'; // cor da linha
  contexto.stroke(); // realiza o desenho    
</script>
 
</body>
</html>

Ao abrir esta página HTML nós teremos o seguinte resultado:




C ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em C - Como remover um nó no final de uma lista ligada simples em C - Listas encadeadas em C

Quantidade de visualizações: 2404 vezes
Nesta dica mostraremos como é possível excluir o nó no fim (o último nó) de uma lista encadeada simples (singly linked list) em C. Veja a função:

// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
  struct No *n; // nó que será removido
  
  // nó que antecede o nó a ser removido. Isso
  // faz sentido, já que ele será o último nó
  // agora
  struct No *anterior;
  n = inicio; // aponta para o início da lista
  
  // varremos os nós da lista e paramos um nó antes do
  // nó a ser excluído
  while(n->proximo != NULL){
    anterior = n; // anterior assume o lugar de n
    n = n->proximo; // e n assume o seu próximo  
  }
  
  // anterior passa a ser o último nó agora
  anterior->proximo = NULL;
  
  // mostra o nó removido
  printf("\nNo removido: %d\n", n->valor);
  
  free(n); // libera o nó que antes era o último
  
  return inicio;
} 

Note que a função recebe um ponteiro para o início da lista e retorna também um ponteiro para o início da lista. Tenha o cuidado de verificar se a lista não está vazia antes de tentar fazer a exclusão. No exemplo eu fiz isso na função main(). Veja a listagem completa abaixo:

#include <stdio.h>
#include <stdlib.h>
 
// estrutura Nó
struct No{
  int valor;
  struct No *proximo;
};
// fim da estrutura Nó
 
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
  if(n != NULL){
    do{
      printf("%d\n", n->valor);
      n = n->proximo;
    }while(n != NULL);
  }
  else
    printf("A lista esta vazia\n\n");
}
 
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
  struct No *n; // nó que será removido
  
  // nó que antecede o nó a ser removido. Isso
  // faz sentido, já que ele será o último nó
  // agora
  struct No *anterior;
  n = inicio; // aponta para o início da lista
  
  // varremos os nós da lista e paramos um nó antes do
  // nó a ser excluído
  while(n->proximo != NULL){
    anterior = n; // anterior assume o lugar de n
    n = n->proximo; // e n assume o seu próximo  
  }
  
  // anterior passa a ser o último nó agora
  anterior->proximo = NULL;
  
  // mostra o nó removido
  printf("\nNo removido: %d\n", n->valor);
  
  free(n); // libera o nó que antes era o último
  
  return inicio;
} 
 
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
  // reserva memória para o novo nó
  struct No *novo = (struct No*)malloc(sizeof(struct No));
  novo->valor = v;
 
  // verifica se a lista está vazia
  if(n == NULL){
    // é o primeiro nó...não deve apontar para
    // lugar nenhum
    novo->proximo = NULL;
    return novo; // vamos retornar o novo nó como sendo o início da lista
  }
  else{ // não está vazia....vamos inserir o nó no final
    // o primeiro passo é chegarmos ao final da lista
    struct No *temp = n; // vamos obter uma referência ao primeiro nó
    // vamos varrer a lista até chegarmos ao último nó
    while(temp->proximo != NULL){
      temp = temp->proximo;
    }
    // na saída do laço temp aponta para o último nó da lista
   
    // novo será o último nó da lista...o campo próximo dele deve
    // apontar para NULL
    novo->proximo = NULL;
    // vamos fazer o último nó apontar para o nó recém-criado
    temp->proximo = novo;
    return n; // vamos retornar o início da lista intacto
  }
}
 
int main(int argc, char *argv[])
{
  // declara a lista
  struct No *inicio = NULL;
 
  // vamos inserir quatro valores no final
  // da lista
  inicio = inserir_final(inicio, 45);
  inicio = inserir_final(inicio, 3);
  inicio = inserir_final(inicio, 98);
  inicio = inserir_final(inicio, 47);
 
  // vamos exibir o resultado
  printf("Valores presentes na lista ligada antes da remocao:\n");
  exibir(inicio);
 
  // vamos remover o nó no fim da lista
  if(inicio != NULL){
    inicio = remover_final(inicio);
  }
  
  // vamos exibir o resultado
  printf("\nValores presentes na lista ligada apos a remocao:\n");
  exibir(inicio);
  
  system("pause");
  return 0;
}

Ao executar esse código você terá o seguinte resultado:

Valores presentes na lista ligada antes da remocao:
45
3
98
47

No removido: 47

Valores presentes na lista ligada apos a remocao:
45
3
98

Pressione qualquer tecla para continuar. . .



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á 12 usuários muito felizes estudando em nosso site.