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

C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar ponteiros em C++ - Apostila de C++ para iniciantes

Quantidade de visualizações: 8394 vezes
Antes de pensarmos em ponteiros, é importante nos lembrarmos de alguns aspectos referentes à variáveis. Dependendo do seu conhecimento de programação, você deve saber que variáveis possuem nomes que as identificam durante a execução do programa. Você deve saber também que uma variável armazena um valor (que pode ser fixo, no caso de uma constante, ou pode mudar durante a execução de seus códigos).

O que poucos programadores se lembram é que uma variável possui um endereço, e que o nome da variável não é nada mais que um apelido para a localização deste endereço. Desta forma, um ponteiro não é nada mais que um tipo especial de variável que armazena o endereço de outra. Veja um exemplo:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // variável do tipo int
  int valor = 10;

  // ponteiro para uma variável do tipo int
  int *p = &valor;

  // exibe o valor da variável "valor", apontada
  // pelo ponteiro p
  cout << *p << endl;

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

Neste código nós temos a declaração e definição de duas variáveis:

int valor = 10;
int *p = &valor;

A primeira variável é uma variável do tipo int e a segunda é um ponteiro para uma variável do tipo int. Veja que devemos sempre usar "*" antes do nome de um ponteiro em sua declaração. O símbolo "&" serve para indicar que estamos acessando o endereço de uma variável e não o seu conteúdo. O resultado destas duas linhas é que agora temos um ponteiro que nos permite acessar e manipular a variável valor.

Observe a linha:

 
cout << *p << endl;

Aqui nós estamos acessando o valor da variável apontada por p. Veja o uso do símbolo "*" para acessar o valor da variável. Isso é chamado de desreferenciamento de ponteiros. Pareceu complicado? Veja uma linha de código que altera indiretamente o valor da variável valor para 30:

 
*p = 30;

Ponteiros são ferramentas muito importantes na programação em C++. No entanto, é preciso ter muito cuidado ao lidar com eles. A primeira coisa a ter em mente é que um ponteiro não está apontando para nenhum lugar até que atribuimos a ele o endereço de uma outra variável. E é aí que mora o perigo. Um programa entra em colapso absoluto se tentarmos acessar um ponteiro que aponta para um local de memória que já foi liberado novamente ao sistema. No caso menos grave, estaremos tentando acessar locais de memória inválidos ou reservados a outros programas ou tarefas do sistema operacional. Isso me lembra os velhos tempos da tela azul de morte.


Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular o peso que um pilar aguenta usando Python - Python para Engenharia Civil

Quantidade de visualizações: 462 vezes


O sonho de todo estudante de Engenharia Civil é poder responder, com segurança, a uma das perguntas mais recorrentes no nosso dia-a-dia: Quanto de peso um pilar aguenta?

Para responder, basta nos lembrarmos de que o concreto é muito resistente à compressão, e, no caso dos pilares, a armadura é usada, em sua maior parte, para combater a flambagem, que é quando o pilar tende a fletir para os lados, parecendo-se com um arco ou com uma barriga de chope.

Então, uma vez que o pilar recebe sua carga em seu eixo (carga axial) e o concreto é muito resistente à compressão, só precisamos nos concentrar na resistência característica do concreto à compressão e na área da seção transversal do pilar.

Sempre que falamos de resistência do concreto, nós estamos falando de FCK C15, C20, C25, C30, etc, que são os termos usados para designar sua resistência. Assim, um concreto C25 é o mesmo que 25 MPa, ou seja, esse concreto resiste a 250Kg/cm2.

Os concretos usinados, em geral, vêm com resistência de 25 MPa para cima, enquanto aquele concreto que fazemos na obra, na betoneira, usando a combinação de 3x1, chega no máximo a 15 MPa. Além disso, é importante nos lembrarmos de que a norma NBR 6118/2014 exige que o concreto seja igual ou superior a 25 MPa.

Há também o fator de segurança de 40%, também exigido pela norma NBR 6118/2014. Dessa forma, se o concreto for de 25 MPa, aplicado o fator de segurança, só podemos contar com 15 MPa mais ou menos, o que daria 150Kg/cm2.

Vamos ver código agora? Veja o código Python completo que pede os lados b (base) e h (altura) do pilar e o FCK do concreto usado e retorna o peso que o pilar suporta (já aplicado o fator de segurança):

# Algoritmo Python que calcula o peso suportado por um pilar
# dados os seus lados e o FCK do concreto

# função principal do programa
def main():
  # vamos ler o lado b do pilar
  base = float(input("Informe a base (b) do pilar em cm: "))
  # vamos ler a altura h do pilar
  altura = float(input("Informe a altura (h) do pilar em cm: "))

  # vamos calcular a área da seção transversal do pilar
  area = base * altura

  # agora vamos ler o FCK do concreto em MPa
  fck = float(input("Informe o FCK do concreto em MPa: "))

  # vamos calcular o peso suportado pelo pilar
  peso_suportado = area * (fck * 10)
  # vamos aplicar o fator de segurança de 40%
  peso_suportado = peso_suportado / 1.4

  # e mostramos o resultado
  print("A área da seção transversal é: {0} cm2".format(area))
  print("Esse pilar suporta {0} kg".format(peso_suportado))

if __name__== "__main__":
  main()

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

Informe a base (b) do pilar em cm: 14
Informe a altura (h) do pilar em cm: 26
Informe o FCK do concreto em MPa: 20
A área da seção transversal é: 364.0 cm2
Esse pilar suporta 52000.0 kg

Lembre-se de que a área mínima da seção de um pilar, de acordo com a NBR 6118/2014 é de 360 cm2.


Python ::: Dicas & Truques ::: Lista (List)

Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambda

Quantidade de visualizações: 997 vezes
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python.

Veja o código completo para o exemplo:

# método usado para ordenar a lista de acordo com a soma
# de seus dígitos
def ordenar(vetor):
  return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-"))

# função principal do programa
def main():
  # vamos criar uma lista de inteiros
  valores = [21, 10, 8, 32, 70, 41, 40, 11]
  # vamos exibir a lista original
  print("Lista na ordem original: {0}".format(valores))
  
  # agora vamos ordenar de acordo com a soma dos dígitos
  lista_ordenada = ordenar(valores)
  print("Lista ordenada: {0}".format(lista_ordenada))
  
if __name__== "__main__":
  main()

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

Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11]
Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8]


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de Java - Como percorrer todos os elementos de um vetor de inteiros e exibir a soma de seus valores

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

Considere o seguinte vetor de inteiros:

// um vetor de inteiros contendo sete elementos
int valores[] = {4, 5, 1, 8, 2, 2, 10};
Escreva um programa Java console ou GUI que usa um laço for para percorrer todos os elementos deste vetor e exibir a soma de seus valores. Seu programa deverá exibir uma saída com a mensagem:

A soma dos valores do vetor é: 32

Resposta/Solução:

public static void main(String[] args){
  // um vetor de inteiros contendo sete elementos
  int valores[] = {4, 5, 1, 8, 2, 2, 10};
    
  // o primeiro passo é criar uma variável que vai receber a soma
  // dos valores dos elementos
  int soma = 0;

  // agora vamos usar uma laço for para percorrer todos os elementos
  // do vetor, obter o valor do elemento atual e adicionar ao valor atual
  // da variável soma
  for(int i = 0; i < valores.length; i++){
    soma = soma + valores[i];
    // poderia também ser escrito assim:
    // soma += valores[i];
  }

  // vamos exibir a soma dos valores do vetor
  System.out.println("A soma dos valores do vetor é: " + soma);
}



Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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