Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

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

C++ ::: Desafios e Lista de Exercícios Resolvidos ::: STL Vector C++

Exercícios Resolvidos de C++ - Escreva um programa C++ que retorna os elementos em um vector que são estritamente menores que seus vizinhos adjacentes da esquerda e da direita

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

Escreva um programa C++ que retorna os elementos em um vector que são estritamente menores que seus vizinhos adjacentes da esquerda e da direita. Seu código deverá pedir para o usuário informar 10 valores inteiros, guardá-los em um vector e então calcular e exibir o resultado.

Sua saída deverá ser parecida com:

Informe o 1.o valor: 8
Informe o 2.o valor: 4
Informe o 3.o valor: 9
Informe o 4.o valor: 3
Informe o 5.o valor: 1
Informe o 6.o valor: 6
Informe o 7.o valor: 2
Informe o 8.o valor: 7
Informe o 9.o valor: 3
Informe o 10.o valor: 8

Conteúdo do vector: 8  4  9  3  1  6  2  7  3  8

Os elementos menores que seus vizinhos adjascentes são:

4  1  2  3
Resposta/Solução:

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

// vamos fazer os includes ncessários
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

// função para encontrar os elementos no vector que são menores
// que seus vizinhos adjacentes
vector<int> verificar(vector<int> valores) {
  // vamos inicializar um vector vazio para guardar os elementos
  // que passarem na condição
  vector<int> temp;
    
  // vamos percorrer o vector recebido como argumento
  for(int i = 1; i < valores.size() - 1; i++) {
    // o elemento atual é menor que o elemento anterior e posterior a ele?
    if(valores[i] < valores[i - 1] && valores[i] < valores[i + 1]) {
      // vamos adicionar no vector temporário
      temp.push_back(valores[i]);
    }
  }
    
  // retornamos o vector temporário
  return temp;
}
 
// função principal do programa
int main(int argc, char *argv[]) {
  // vamos criar o vector que guardará os valores informados
  // pelo usuário
  vector<int> numeros;
  int valor;

  // vamos ler 10 números inteiros
  for (int i = 0; i < 10; i++) {
    cout << "Informe o " << (i + 1) << ".o valor: ";
    cin >> valor;
    numeros.push_back(valor);
  }

  // vamos mostrar o conteúdo do vector original
  cout << "\nConteúdo do vector: ";
  for (int n: numeros) {
    cout << n << "  ";
  }
 
  // agora vamos testar os números que são menores que seus
  // vizinhos adjascentes
  vector<int> resultado = verificar(numeros);
  cout << "\n\nOs elementos menores que seus vizinhos adjascentes são:\n\n";   
  for (int n: resultado) {
    cout << n << "  ";
  }
 
  cout << "\n\n";
  return EXIT_SUCCESS;
}



Python ::: Dicas & Truques ::: Strings e Caracteres

Como verificar se uma string contém apenas caracteres alfanuméricos (letras e números) usando a função isalnum() do módulo str da linguagem Python

Quantidade de visualizações: 18405 vezes
Nesta dica mostrarei como é possível usar a função isalnum() do módulo str do Python para verificar se uma palavra, frase ou texto contém apenas caracteres alfanuméricos (letras e números).

Veja o código completo para o exemplo:

# função principal do programa
def main():
  texto = "34kwjii5992"
 
  if texto.isalnum():
    print("A string contém apenas caracteres" \
      " alfanumericos")  
  else:
    print("A string não contem somente caracteres" \
      " alfanumericos")
 
if __name__== "__main__":
  main()

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

A string contém apenas caracteres alfanuméricos


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como inverter uma string em Ruby usando as funções reverse e reverse!

Quantidade de visualizações: 10078 vezes
Esta dica mostra como podemos inverter uma string em Ruby, ou seja, reverter a ordem de seus caracteres. Para isso nós temos dois métodos: reverse e reverse!. O método reverse retorna uma nova string enquanto reverse! reverte o conteúdo da string original. Veja o trecho de código:

# declara e inicializa uma variável string
frase = "Osmar J. Silva"

# inverte a string sem afetar o original
invertida = frase.reverse

# exibe o resultado
puts "Original: " + frase
puts "Invertida: " + invertida

# inverte afetando o original
frase.reverse!

# exibe o resultado
puts "Original: " + frase

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

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


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: 511 vezes


A Força Normal Adimensional de um pilar, também chamada de Força Normal Reduzida, é representada pela letra grega &#957; (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:

&#957; é 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.

&#947;c é o fator de ponderação do concreto e, em geral, possui o valor 1,4. Ao dividirmos o fck pelo &#947;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 &#957; (ni) é o valor que, junto com o &#956; (mi), forma a dupla de fatores para o ábaco de VENTURINI que nos retornará o valor de &#969; (ô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 &#957; 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


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como converter todo o conteúdo de uma string para letras minúsculas usando a função AnsiLowerCase() do Delphi

Quantidade de visualizações: 12983 vezes
Algumas vezes precisamos converter todo o conteúdo de uma string para letras minúsculas. Em Delphi isso pode ser feito com o auxílio da função AnsiLowerCase(). Esta função recebe uma string e retorna outra string com todos os caracteres minúsculos. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
begin
  nome := 'OSMAR';

  // vamos converter a string para letras minúsculas
  nome := AnsiLowerCase(nome);

  // exibe o resultado
  ShowMessage(nome);
end;

Note que esta função suporta caracteres de mais de um byte e com acentuações.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Python ::: Dicas & Truques ::: Strings e Caracteres

Como pesquisar substrings em strings usando a função index() da linguagem Python

Quantidade de visualizações: 8601 vezes
Este exemplo mostra como pesquisar uma substring em uma string usando o método index() do Python. A assinatura desta função é:

index(substring[, start[, end]])


onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa.

Se a substring não for encontrada, uma exceção do tipo ValueError é levantada. Se for encontrada, o índice do primeiro caractere é retornado.

Veja o código Python completo para a dica:

def main():
  frase = "Gosto de Python e JavaScript"

  try:
    indice = frase.index("Python")
  except ValueError:
    print("A palavra não foi encontrada")
  else:
    print("A palavra foi encontrada no índice", indice)

if __name__== "__main__":
  main()

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

A palavra foi encontrada no índice 9.


VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe Array

Quantidade de visualizações: 7419 vezes
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    ' cria um array de inteiros
    Dim valores() As Integer = {1, 2, 3, 4, 5}

    ' exibe os valores do primeiro array
    For Each valor As Integer In valores
      Console.WriteLine(valor)
    Next

    ' cria um segundo array e copia os elementos
    ' do primeiro para o segundo
    Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20}
    valores.CopyTo(valores2, 0)
    Console.WriteLine()

    ' exibe os valores do segundo array
    For Each valor As Integer In valores2
      Console.WriteLine(valor)
    Next

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

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

1
2
3
4
5

1
2
3
4
5
15
20


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

Java para iniciantes - Como usar o método trim() da classe String para remover espaços antes e depois de uma palavra, frase ou texto

Quantidade de visualizações: 82 vezes
Em várias ocasiões precisamos tratar textos lidos de arquivos ou informados pelo usuário. Como parte desse tratamento precisamos remover os espaços antes e depois da palavra, frase ou texto informado ou lido.

Para isso podemos usar o método trim() da classe String. Este método recebe como argumento uma string e retorna outra string com os espaços já removidos.

Veja um exemplo completo de seu uso:

// Este exemplo mostra como remover espaços do início
// e fim de uma string
 
public class Estudos{
  public static void main(String[] args){
    String frase = " Programar em Java é bom demais. ";
     
    frase = frase.trim();
     
    System.out.println(frase);
     
    System.exit(0);
  }
}

Este exemplo foi revisado e testado no Java 8.


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

Como calcular juros compostos e montante usando Delphi

Quantidade de visualizações: 943 vezes
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte.

Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos:

1º mês: M = P .(1 + i)
2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i)
3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i)

Simplificando, obtemos a fórmula:

M = P . (1 + i) ^ n

Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses.

Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período:

J = M - P

Vejamos um exemplo:

Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros?

Veja o código Delphi para a resolução:

procedure TForm1.Button1Click(Sender: TObject);
var
  principal, taxa, juros, montante: double;
  meses: integer;
begin
  principal := 2000.00;
  taxa := 0.03;
  meses := 3;

  montante := principal * power((1 + taxa), meses);
  juros := montante - principal;

  ShowMessage('O total de juros a ser pago é: '
    + FloatToStr(juros));
  ShowMessage('O montante a ser pago é: '
    + FloatToStr(montante));
end;

Um outra aplicação interessante é mostrar mês a mês a evolução dos juros.

procedure TForm1.Button1Click(Sender: TObject);
var
  principal, taxa, juros, montante, anterior: double;
  i, meses: integer;
begin
  principal := 2000.00;
  taxa := 0.03;
  meses := 3;
  anterior := 0.0;

  for i := 1 to meses do
    begin
      montante := principal * power((1 + taxa), i);
      juros := montante - principal - anterior;

      anterior := anterior + juros;

      Memo1.Lines.Add('Mês: ' + IntToStr(i) + ' - Montante: '
        + FloatToStr(montante) + ' - Juros: ' + FloatToStr(juros));
    end;
end;

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a distância entre dois pontos no plano em Python - Python para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 10668 vezes
Como calcular a Distância Euclidiana entre dois pontos usando Python.

Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Python, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço).

Comece analisando a imagem abaixo:



Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y).

Veja a fórmula:

\[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\]

Agora, jogando os valores dos dois pontos da fórmula nós teremos:

\[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\]

Que resulta em 6,32 (aproximadamente).

E agora veja o código Python completo que lê as coordenadas dos dois pontos e mostra a distância entre eles:

import math

# função que permite calcular a distância
# entre dois pontos no plano (R2)
def distancia2d(x1, y1, x2, y2):
  a = x2 - x1
  b = y2 - y1
  c = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
  return c

# função principal do programa
def main():
  # vamos ler os dados do primeiro ponto
  x1 = float(input("Informe o x do primeiro ponto: "))
  y1 = float(input("Informe o y do primeiro ponto: "))
    
  # vamos ler os dados do segundo ponto
  x2 = float(input("Informe o x do segundo ponto: "))
  y2 = float(input("Informe o y do segundo ponto: "))
    
  # vamos obter a distância entre eles
  distancia = distancia2d(x1, y1, x2, y2)
  print("Distância entre os dois pontos: %0.2f" % distancia);
  
if __name__== "__main__":
  main()

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

Informe o x do primeiro ponto: 3
Informe o y do primeiro ponto: 6
Informe o x do segundo ponto: 9
Informe o y do segundo ponto: 4
Distância entre os dois pontos: 6.32

Carregar Publicações Anteriores


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 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
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

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