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.

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Java - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

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

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Java que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // vamos ler o primeiro lado do triângulo
    System.out.print("Informe o primeiro lado do triângulo: ");
    int ladoA = Integer.parseInt(entrada.nextLine());
    
    // vamos ler o segundo lado do triângulo
    System.out.print("Informe o segundo lado do triângulo: ");
    int ladoB = Integer.parseInt(entrada.nextLine());
    
    // vamos ler o terceiro lado do triângulo
    System.out.print("Informe o terceiro lado do triângulo: ");
    int ladoC = Integer.parseInt(entrada.nextLine());
    
    // os lados informados formam um triângulo?
    if((ladoA < (ladoB + ladoC)) && (ladoB < (ladoA + ladoC)) 
      && (ladoC < (ladoA + ladoB))){
      // é um triângulo equilátero (todos os lados iguais)?
      if((ladoA == ladoB) && (ladoB == ladoC)){
        System.out.println("O triângulo é equilátero");  
      }
      else{
        // é isósceles (dois lados iguais e um diferente)?
        if((ladoA == ladoB) || (ladoA == ladoC) || (ladoC == ladoB)){
          System.out.println("O triângulo é isósceles");  
        }
        else{
          // é escaleno
          System.out.println("O triângulo é escaleno");
        }
      }
    }
    else{
      System.out.println("Os lados informados não formam um triângulo.");
    }
  }
}



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

Como remover elementos repetidos de um array em Ruby usando as funções uniq e uniq!

Quantidade de visualizações: 11022 vezes
Em algumas situações nós precisamos excluir os itens duplicados de um array em Ruby. Para isso nós podemos usar as funções uniq e uniq!. A função uniq remove os itens duplicados e retorna um novo array, enquanto uniq! opera no array original, ou seja, modificando seus valores.

Veja o código Ruby completo para o exemplo:

# Cria um array de inteiros com duplicações
valores = [2, 3, 3, 5, 5, 6, 3]

# Exibe os valores do array original
puts "Os valores do array são:\n"
valores.each do | valor |
  print valor.to_s + " "
end

# Obtém um novo array sem as duplicações
valores2 = valores.uniq
puts "\n\nO novo array sem repetições:\n"
valores2.each do | valor |
  print valor.to_s + " "
end

# Remove as duplicações do array original
valores.uniq!
puts "\n\nO array original sem repetições:\n"
valores.each do | valor |
  print valor.to_s + " "
end

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

Os valores do array são:
2 3 3 5 5 6 3

O novo array sem repetições:
2 3 5 6

O array original sem repetições:
2 3 5 6


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercício Resolvido de C++ - Um método recursivo que calcula o número de Fibonacci para um dado índice

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

Observe a série de números Fibonacci abaixo:

Série:  0  1  1  2  3  5  8  13  21  34  55  89 
Índice: 0  1  2  3  4  5  6   7   8   9  10  11 
Cada número da série é a soma dos dois números anteriores. A linha de baixo reflete o índice do número. Assim, quando falamos "O quinto número de Fibonacci", nós estamos nos referindo ao índice 4, ou seja, o valor 3.

Este algoritmo consiste em, dado um determinado índice, retornar o número de Fibonacci correspondente. Recursivamente, o cálculo pode ser feito da seguinte forma:

fib(0) = 0;
fib(1) = 1;
fib(indice) = fib(indice - 2) + fib(indice - 1); sendo o indice >= 2

Os casos nos quais os índices são 0 ou 1 são os casos bases (aqueles que indicam que a recursividade deve parar). Seu método deverá possuir a seguinte assinatura:

int fibonacci(int indice){
  // sua implementação aqui
}
Sua saída deverá ser parecida com:
Informe o índice: 6
O número de Fibonacci no índice informado é: 8

Resposta/Solução:

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

#include <string>
#include <iostream>

using namespace std;

// assinatura da função recursiva
int fibonacci(int indice);

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int indice;
  
  // vamos solicitar o índice do número de Fibonacci
  cout << "Informe o índice: ";
  // lê o índice
  cin >> indice;
    
  // calcula o número de Fibonacci no índice informado
  cout << "O número de Fibonacci no índice informado é: " <<
    fibonacci(indice) << endl;
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

// função recursiva que o número de Fibonacci em um determinado índice
int fibonacci(int indice){
  if(indice == 0){ // caso base; interrompe a recursividade
    return 0;
  }
  else if(indice == 1){ // caso base; interrompe a recursividade
    return 1;
  }
  else{ // efetua uma nova chamada recursiva
    return fibonacci(indice - 1) + fibonacci(indice - 2);
  }
}



C ::: Dicas & Truques ::: Data e Hora

Como formatar datas e horas em C usando a função strftime() da linguagem C

Quantidade de visualizações: 9503 vezes
A função strftime() pode ser usada quando queremos formatar valores de datas e horas em C. Esta função, presente no header <time.h>, possui a seguinte assinatura:

size_t strftime(char *strDest, size_t maxsize, const char *format,
   const struct tm *timeptr);

O parâmetro strDest é um ponteiro para uma matriz de caracteres que receberá uma string contendo a data e/ou hora formatada. O parâmetro maxsize é a quantidade de caracteres que serão copiados para a matriz de caracteres alvo da operação. O parâmetro format contém os especificadores que serão substituídos durante a formatação. Finalmente, timeptr é um ponteiro para uma estrutura tm contendo as informações de data e hora. O retorno da função é a quantidade de caracteres copiados para a matriz strDest.

Veja um trecho de código no qual formatamos e exibimos a data atual no formato longo e de acordo com as configurações regionais para o Português Brasileiro:

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

int main(int argc, char *argv[]){
  // vamos definir a localização para o Português do Brasil
  setlocale(LC_ALL, "Portuguese_Brazil");

  time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
  struct tm *timeinfo; // declara uma estrutura tm
  time(&data_hora_segundos); // preenche a variável data_hora_segundos
  // preenche a estrutura timeinfo
  timeinfo = localtime(&data_hora_segundos);
  // um buffer para receber a data formatada
  char data_formatada[80];

  // vamos formatar
  strftime(data_formatada, 80, "%A, %d de %B de %Y", timeinfo);

  // vamos exibir o resultado
  printf("Resultado da formatação: %s\n\n", data_formatada);

  system("PAUSE");
  return 0;
}

O resultado da execução deste código será algo como:

Resultado da formatação: segunda-feira, 23 de abril de 2011

Veja abaixo os especificadores de formatação usadas pela função strftime():

%a - Nome do dia da semana na forma abreviada. Ex: seg.
%A - Nome completo do dia da semana. Ex: terça-feira.
%b - Nome do mês abreviado. Ex: abr.
%B - Nome completo do dia do mês. Ex: abril
%c - Representação de data e hora. Ex: 23/4/2011 23:00:37.
%d - Dia do mês (01-31).
%H - Hora no formato 24 horas (00-23).
%I - Hora no formato 12 horas (01-12).
%j - Dia do ano (001-366).
%m - Mês como um número decimal (01-12).
%M - Minutos (00-59).
%p - AM ou PM.
%S - Segundos (00-61).
%U - Número da semana tendo o primeiro domingo como o primeiro dia da primeira semana do ano (00-53).
%w - Dia da semana como um número decimal tendo o domingo como 0 (0-6).
%W - Número da semana tendo a primeira segunda-feira como o primeiro dia da primeira semana do ano (00-53).
%x - Representação de data. Ex: 23/4/2011.
%X - Representação de horas. Ex: 23:00:37.
%y - Ano de dois dígitos (00-99).
%Y - Ano com quatro dígitos.
%Z - Nome ou abreviação do fuso horário.
%% - Um sinal de porcentagem.


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

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


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