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.

Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Portugol - A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo Portugol

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

A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo Portugol que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo.

Até o ano 2000 o desconto é 12%, e acima de 2000 o desconto é de 7%. Seu código deverá solicitar o valor do carro e o seu ano e aplicar o desconto correspondente. Além disso o sistema deverá perguntar se deseja continuar calculando descontos até que a resposta seja: "(N) Não". Informar o total de carros com ano até 2000 e o total geral a ser pago pelo cliente.

Sua saída deve ser parecida com:

Informe o valor do carro sem desconto: 25000
Informe o ano do carro: 2010
Desconto concedido: 1750
Valor do carro com desconto: 23250
Deseja adicionar mais carros? [S, N]: S

Informe o valor do carro sem desconto: 30500
Informe o ano do carro: 1985
Desconto concedido: 3660
Valor do carro com desconto: 26840
Deseja adicionar mais carros? [S, N]: S

Informe o valor do carro sem desconto: 16800
Informe o ano do carro: 1990
Desconto concedido: 2016
Valor do carro com desconto: 14784
Deseja adicionar mais carros? [S, N]: N

Total de carros com ano até 2000: 2
Total geral a pagar: 64874
Resposta/Solução:

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

programa {
  funcao inicio() {
    // variáveis usadas na resolução do problema
    real valor_carro, valor_desconto, valor_carro_desconto
    real total_geral
    inteiro ano
    inteiro total_carros_ano_2000
    caracter resposta
    
    // vamos inicializar os valores de algumas variáveis
    total_geral = 0
    total_carros_ano_2000 = 0

    // repete até que o usuário informe o valor "N"
    faca {
      // vamos ler o valor do carro sem desconto
      escreva("\nInforme o valor do carro sem desconto: ")
      leia(valor_carro)
      
      // vamos ler o ano do carro
      escreva("Informe o ano do carro: ")
      leia(ano)

      // o ano é menor ou igual a 2000
      se (ano <= 2000) {
        valor_desconto = valor_carro * (12.0 / 100.0)
        // vamos somar mais este carro
        total_carros_ano_2000 = total_carros_ano_2000 + 1
      }
      senao {
        valor_desconto = valor_carro * (7.0 / 100.0)
      }

      // calculamos o valor do carro com o desconto
      valor_carro_desconto = valor_carro - valor_desconto
      escreva("Desconto concedido: ", valor_desconto)
      escreva("\nValor do carro com desconto: ", valor_carro_desconto)

      // somamos mais este valor ao total geral
      total_geral = total_geral + valor_carro_desconto

      // perguntamos se o usuário deseja adicionar mais carros
      escreva("\nDeseja adicionar mais carros? [S, N]: ")
      leia(resposta)
    } enquanto((resposta != 'N') e (resposta != 'n'))  

    // mostramos os resultados
    escreva("\nTotal de carros com ano até 2000: ", total_carros_ano_2000)
    escreva("\nTotal geral a pagar: ", total_geral)
  }
}



Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em Java - Como obter a quantidade de nós em uma lista singularmente ligada usando Java

Quantidade de visualizações: 7401 vezes
Em algumas situações precisamos obter a quantidade de nós em uma lista singularmente ligada. Nesta dica eu mostro como isso pode ser feito. Aqui estou assumindo que você criou uma lista singularmente ligada que possui dois nós gerenciadores, ou seja, uma referência para o primeiro nó na lista e uma referência para o último nó.

Veja o código para um método que retorna a quantidade de nós na lista:

// método que permite exibir os valores de
// todos os nós da lista
public int tamanho() {
  int tam = 0; // representa a quantidade de nós na lista

  // vamos obter uma referência ao início da lista
  No no = inicio;

  while (no != null) { // enquanto a lista não estiver vazia
    tam++; // incrementamos a variável tam
    no = no.proximo; // pula para o nó seguinte
  }

  return tam;
}

Veja como podemos chamar este nó a partir da classe principal da aplicação (Main.java):

public class Main {
  public static void main(String[] args) {
    // vamos criar uma nova lista
    Lista lista = new Lista();

    // insira alguns nós no início ou no final
    // da lista

    // exibe a quantidade de nós na lista
    System.out.println("A lista possui " + lista.tamanho() +
      " nós");
  }
}

Ao executar a aplicação você terá um resultado parecido com:

A lista possui 4 nós.


VB.NET ::: VB.NET para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em VB.NET

Quantidade de visualizações: 487 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de
Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando VB.NET. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código VB.NET.

Veja um trecho de código VB.NET completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' vamos declarar e construir uma matriz de três linhas
    ' e três colunas
    Dim matriz(2, 2) As Integer
    ' guarda a soma dos elementos na diagonal principal
    Dim soma_diagonal As Integer = 0

    For i As Integer = 0 To matriz.GetUpperBound(0)
      For j As Integer = 0 To matriz.GetUpperBound(1)
        Console.Write("Informe o valor para a linha " & i & " e coluna " _
          & j & ": ")
        ' lê o número e guarda na linha e coluna especificadas
        matriz(i, j) = Integer.Parse(Console.ReadLine())
      Next
    Next

    ' vamos mostrar a matriz da forma que ela foi informada
    Console.WriteLine(vbCrLf & "Valores na matriz: " & vbCrLf)

    For i As Integer = 0 To matriz.GetUpperBound(0)
      For j As Integer = 0 To matriz.GetUpperBound(1)
        Console.Write(matriz(i, j).ToString().PadLeft(5) & "  ")
      Next
      ' passa para a próxima linha
      Console.WriteLine()
    Next

    ' vamos calcular a soma dos elementos da diagonal   
    ' principal
    For i As Integer = 0 To matriz.GetUpperBound(0)
      For j As Integer = 0 To matriz.GetUpperBound(1)
        If i = j Then
          soma_diagonal = soma_diagonal + matriz(i, j)
        End If
      Next
    Next

    ' finalmente mostramos a soma da diagonal principal
    Console.WriteLine(vbCrLf & "A soma dos elementos da diagonal principal é: " _
      & soma_diagonal)

    Console.WriteLine(vbCrLf & vbCrLf & "Pressione 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:

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

   3   7   9
   2   4   1
   5   6   8

A soma dos elementos da diagonal principal é: 15



Java ::: Dicas & Truques ::: Timers

Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabel

Quantidade de visualizações: 17643 vezes
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para o exemplo:

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.text.DecimalFormat;
 
public class Estudos extends JFrame{
  JLabel hora;  
  Timer timer; 
  DecimalFormat formato;
 
  public Estudos() {
    super("Usando timers em Java");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    formato = new DecimalFormat("00"); 
 
    // Cria o timer
    timer = new Timer(1000, new ActionListener(){
      @Override
      public void actionPerformed(ActionEvent e){
        atualizarHoras();
      }
    });
 
    // Cria um botão com o texto "Iniciar"
    JButton iniciar = new JButton("Iniciar");
    iniciar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.start(); // inicia o timer
        }
      }
    );    
 
    // Cria um botão com o texto "Parar"
    JButton parar = new JButton("Parar");
    parar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.stop(); // pára o timer
        }
      }
    );
     
    // JLabel que exibirá a hora atual
    hora = new JLabel("00:00:00");
 
    // Adiciona os botões à janela
    c.add(iniciar);
    c.add(parar);
 
    // adiciona o label à janela
    c.add(hora);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  private void atualizarHoras(){
    // Cria uma instância de Calendar
    Calendar agora = Calendar.getInstance();    
 
    // horas, minutos e segundos
    int horas = agora.get(Calendar.HOUR);  
    int minutos = agora.get(Calendar.MINUTE);
    int segundos = agora.get(Calendar.SECOND);
    hora.setText(formato.format(horas) + ":" + 
      formato.format(minutos) + ":" + 
      formato.format(segundos));
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



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


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