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

Exercícios Resolvidos de Java - Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética

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

Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética. Se a média for igual ou superior a 7,0 mostre uma mensagem indicando que o aluno foi aprovado.

Se a média for igual ou maior que 3,5 e inferior a 7,0 seu programa deverá indicar que o aluno ficou de exame. Uma média menor que 3,5 indica reprovação direta.

No caso do exame, leia uma nota entre 0 e 10. Agora a média do aluno deverá ser a média entre a média anterior e a nota do exame. Se a nova média for igual ou superior a 5,0 o aluno estará aprovado. Caso contrário o aluno será reprovado.

Use validação para evitar que o usuário informe notas inválidas, ou seja, notas menores que 0 ou maiores que 10. Caso notas inválidas sejam fornecidas seu programa deverá solicitar a nota novamente até que o usuário forneça notas válidas.

Sua saída deverá ser parecida com:

Informe a nota N1: 9.4
Informe a nota N2: 11
Nota inválida. Informe a nota N2: 8.3
A média do aluno é: 8.85
O aluno foi aprovado

Informe a nota N1: 4.2
Informe a nota N2: 1.8
A média do aluno é: 3.0
O aluno reprovou direto.

Informe a nota N1: 5.7
Informe a nota N2: 6
A média do aluno é: 5.85
Informe a nota do exame: 7
A média do aluno com o exame é: 6.425
O aluno foi aprovado após o exame.
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) {
    // variáveis usadas na resolução do problema
    double n1, n2, media, exame;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler a primeira nota
    System.out.print("Informe a nota N1: ");
    n1 = Double.parseDouble(entrada.nextLine());
    // a nota é válida?
    while ((n1 < 0) || (n1 > 10)) {
      System.out.print("Nota inválida. Informe a nota N1: ");
      n1 = Double.parseDouble(entrada.nextLine());
    }
    
    // vamos ler a segunda nota
    System.out.print("Informe a nota N2: ");
    n2 = Double.parseDouble(entrada.nextLine());
    // a nota é válida?
    while ((n2 < 0) || (n2 > 10)) {
      System.out.print("Nota inválida. Informe a nota N2: ");
      n2 = Double.parseDouble(entrada.nextLine());
    }
    
    // vamos calcular a média do aluno
    media = (n1 + n2) / 2.0;
    System.out.println("A média do aluno é: " + media);
    
    // o aluno foi aprovado?
    if (media >= 7.0) {
      System.out.println("O aluno foi aprovado");
    }
    // o aluno ficou de exame?
    else if ((media >= 3.5) && (media < 7.0)){
      // vamos ler a nota do exame
      System.out.print("Informe a nota do exame: ");
      exame = Double.parseDouble(entrada.nextLine());
      // a nota é válida?
      while ((exame < 0) || (exame > 10)) {
        System.out.print("Nota inválida. Informe a nota do exame: ");
        exame = Double.parseDouble(entrada.nextLine());
      }
      
      // calcula a nota média
      media = (media + exame) / 2.0;
      System.out.println("A média do aluno com o exame é: " + media);
      
      // o aluno foi aprovado após o exame?
      if (media >= 5.0) {
        System.out.println("O aluno foi aprovado após o exame.");
      }
      else {
        System.out.println("O aluno foi reprovado após o exame.");
      }
    }
    // reprovou direto
    else {
      System.out.println("O aluno reprovou direto.");
    }
  }
}



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

Como retornar o código ASCII ou Unicode de um caractere em Python usando a função ord()

Quantidade de visualizações: 13595 vezes
Nesta dica vou mostrar como é possível usar a função ord() da linguagem Python para retornar o código ASCII ou Unicode de um determinado caractere (letra, dígito ou símbolo).

Veja o exemplo completo:

def main():
  print("O codigo ASCII ou Unicode para o caractere A é",
    ord('A')) 
 
if __name__== "__main__":
  main()

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

O codigo ASCII ou Unicode para o caractere A é 65


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica

Exercícios Resolvidos de Python - Qual seria a vazão (m3/h) de saída para uma bacia hidrográfica "completamente impermeável", com área de 60 km2, sob uma chuva constante

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

1) Qual seria a vazão (m3/h) de saída para uma bacia hidrográfica "completamente impermeável", com área de 60 km2, sob uma chuva constante à taxa de 10 mm/h?

A) 180.000 m3/h

B) 6.000 m3/h

C) 600.000 m3/h

D) 60.000 m3/h

E) 600.000.000 m3/h

Sua saída deve ser parecida com:

Área da bacia em km2: 60
Precipitação em mm/h: 10
A vazão é: 600000.0 m3/h
Resposta/Solução:

O primeiro passo para resolver esta questão é relembrar a fórmula da vazão:

\[\text{Q} = \text{A} \cdot \text{v}\]

Onde:

Q = vazão em m3/s, m3/h, etc;

A = área da bacia m2, km2, etc.

v = a taxa da chuva, ou seja, a precipitação em mm/s, mm/h, etc.

A maior dificuldade aqui é a conversão das unidades, pois o exercício nos pede a vazão em m3/h. Por essa razão temos que converter a área para metros quadrados e a precipitação em milímetros para precipitação em metros.

Então, hora de vermos a resolução comentada deste exercício usando Python:

# função principal do programa
def main():
  # vamos ler a área da bacia em km2
  area = float(input("Área da bacia em km2: "))
    
  # vamos ler a precipitação em milímetros por hora
  precipitacao = float(input("Precipitação em mm/h: "))
    
  # vamos calcular a vazão em metros cúbicos por hora
  # primeiro convertemos a área para metros quadrados
  area = area * 1000000.0
  # agora convertemos milímetros para metros
  precipitacao = precipitacao / 1000.0
  # e calculamos a vazão
  vazao = area * precipitacao
    
  # e mostramos o resultado
  print("A vazão é: {0} m3/h".format(vazao))
  
if __name__== "__main__":
  main()



C# ::: Coleções (Collections) ::: ArrayList

Como excluir todos os elementos de uma ArrayList do C# usando o método Clear()

Quantidade de visualizações: 8388 vezes
A remoção, ou seja, a exclusão de todos os elementos de uma ArrayList do C# pode ser feita com uma chamada ao método Clear(). Veja que este método poderá lançar uma exceção NotSupportedException se a ArrayList for somente leitura ou possuir um tamanho fixo.

Veja um exemplo de seu uso:

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // Cria o ArrayList
      ArrayList cidades = new ArrayList();

      // Adiciona nomes de cidades
      cidades.Add("Goiânia");
      cidades.Add("Cuiabá");
      cidades.Add("Fortaleza");
      cidades.Add("Curitiba");

      // obtém a quantidade de elementos
      int quant = cidades.Count;
      Console.Write("A lista contém {0} itens\n", quant);

      // vamos remover todos os elementos
      cidades.Clear();

      // obtém a quantidade de elementos novamente
      quant = cidades.Count;
      Console.Write("A lista contém {0} itens", quant);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

A lista contém 4 itens
A lista contém 0 itens

Pressione uma tecla para sair...


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço for infinito em C++ - C++ do básico ao profissional

Quantidade de visualizações: 9686 vezes
É possível criar um laço for infinito em C++ simplesmente omitindo as partes início, condição e incremento/decremento. Veja:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  // um laço for infinito (cuidado! se você não
  // fornecer uma forma de parar o negócio vai
  // travar
  int valor = 0;

  for(;;){
    cout << valor << "\n";
    valor++;

    // vamos parar o laço aqui
    if(valor > 20)
      break;
  }

  cout << "\n\n";

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



Delphi ::: Imagens, Gráficos e Cores ::: TBitmap (A classe TBitmap)

Computação gráfica em Delphi - Como usar a classe TBitmap do Delphi

Quantidade de visualizações: 16654 vezes
A classe TBitmap encapsula um bitmap Windows (HBITMAP, um handle para um bitmap), incluindo sua paleta (HPALETTE, um handle para uma paleta de cores).

Esta classe herda de TGraphic e é usada para criar, manipular (redimensionar, rolar, rotacionar, pintar, etc) e armazenar imagens na memória e como arquivos em disco.

A classe TBitmap contém muitas propriedades e métodos úteis. Entre seus métodos podemos citar LoadFromFile(), usado para carregar uma imagem bitmap a partir do disco e guardá-la em memória como um objeto TBitmap. Veja o trecho de código abaixo:

procedure TForm2.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  // vamos criar o bitmap
  bmp := TBitmap.Create;

  // vamos carregar a imagem e guardá-la no bitmap
  bmp.LoadFromFile('foto.bmp');

  // vamos desenhar o bitmap no formulário
  // começando nas coordenadas x = 0; y = 0 a partir
  // do canto superior esquerdo da área cliente do formulário
  Form2.Canvas.Draw(0, 0, bmp);

  // vamos liberar o bitmap
  bmp.Free;
end;

Aqui nós carregamos o bitmap foto.bmp e o desenhamos na superfície do formulário usando o método Draw() do Canvas do formulário.

É possível também redimensionar o bitmap ao desenhá-lo no formulário. Veja este novo trecho de código:

procedure TForm2.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  retang: TRect; // um objeto TRect
begin
  // vamos criar o bitmap
  bmp := TBitmap.Create;

  // vamos carregar a imagem e guardá-la no bitmap
  bmp.LoadFromFile('foto.bmp');

  // vamos redimensionar o bitmap na memória de
  // acordo com o retângulo abaixo
  retang.Top := 0;
  retang.Left := 0;
  retang.Right := 200;
  retang.Bottom := 150;

  // vamos desenhar o bitmap usando o método
  // StretchDraw da classe TCanvas
  Form2.Canvas.StretchDraw(retang, bmp);

  // vamos liberar o bitmap
  bmp.Free;
end;

Aqui nós usamos um objeto do registro (record) TRect para criar um retângulo especificando o tamanho do bitmap e fornecemos tal retângulo, juntamente com o bitmap, para o método StretchDraw() da classe TCanvas. Este método redimensiona a imagem antes de desenhá-la na superfície do formulário.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: VCL - Visual Component Library ::: TComboBox

Como retornar o texto do item selecionado em um ComboBox do Delphi

Quantidade de visualizações: 28904 vezes
Uma das tarefas mais frequentes que precisamos realizar quando estamos usando o controle TComboBox em nossas aplicações Delphi é obter o texto do item selecionado. Isso pode ser feito fornecendo-se o índice do item selecionado (itemIndex) como subscrito para a propriedade Items (do tipo TStrings) do ComboBox. Veja o exemplo abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
  item: string;
begin
  // vamos obter o valor do item selecionado no ComboBox
  item := ComboBox1.Items[ComboBox1.ItemIndex];

  // mostra o resultado
  ShowMessage('O item selecionado é: ' + item);
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


VBA ::: Dicas & Truques ::: Rotinas de Conversão

Como converter números em strings em VBA usando a função CStr()

Quantidade de visualizações: 481 vezes
A função CStr() do VBA pode ser usada quando queremos converter valores numéricos do tipo Integer ou Double em uma string. Em geral isso é necessário quando queremos aplicar funções de strings a valores numéricos, por exemplo, testar se um determinado dígito faz parte de um número.

Veja um trecho de código no qual usamos a função CStr() para converter valores Integer e Double em string e mostrar o resultado:

' Procedimento para converter Integer e Double em string
Sub ConverterNumeroString()
  ' vamos declarar duas variáveis numéricas
  Dim codigo As Integer
  Dim preco As Double
  
  codigo = 58
  preco = 32.15
  
  Dim resultado As String
  resultado = "O código do produto é: " + CStr(codigo) + _
    " e o preço é: " + CStr(preco)
  
  ' mostramos o resultado
  MsgBox resultado
End Sub

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

O código do produto é: 58 e o preço é: 32,15


Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como converter radianos em graus na linguagem Java

Quantidade de visualizações: 3430 vezes
Todas os métodos e funções trigonométricas em Java recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() da classe Math. Esta função recebe o ângulo em radianos e retorna o seu seno.

No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo:

\[Graus = Radianos \times \frac{180}{\pi}\]

Agora veja como esta fórmula pode ser escrita em código Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    double radianos = 1.5;
    double graus = radianos * (180 / Math.PI);
 
    System.out.println(radianos + " radianos convertidos para " +
      "graus é " + graus);

    System.exit(0);
  }
}

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

1.5 radianos convertidos para graus é 85.94366926962348

Para fins de memorização, 1 radiano equivale a 57,2957795 graus.


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

Exercícios Resolvidos de Java - Como declarar e construir um array de int em Java e usar o laço for para solicitar ao usuário que informe os valores dos elementos

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

Escreva um programa Java console que declara e constrói um array, ou seja, um vetor de 10 elementos do tipo int. Em seguida use um laço for para solicitar ao usuário que informe 10 valores inteiros e armazene tais valores nos elementos do array:

Sua saída deverá ser parecida com:

Informe o 1º valor: 5
Informe o 2º valor: 7
Informe o 3º valor: 11
Informe o 4º valor: 3
Informe o 5º valor: 9
Informe o 6º valor: 4
Informe o 7º valor: 20
Informe o 8º valor: 1
Informe o 9º valor: 6
Informe o 10º valor: 63

Os valores informados foram:

O 1º valor foi: 5
O 2º valor foi: 7
O 3º valor foi: 11
O 4º valor foi: 3
O 5º valor foi: 9
O 6º valor foi: 4
O 7º valor foi: 20
O 8º valor foi: 1
O 9º valor foi: 6
O 10º valor foi: 63
Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

Como a solução deste exercício depende de valores informados pelo usuário, a classe Scanner deverá ser usada. Desta forma, você deverá importá-la, usando a linha:

import java.util.Scanner;
Lembre-se de que os imports devem estar entre a declaração de pacote (package) e a declaração da classe. Veja a solução comentada no código abaixo:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para este exercício você deverá importar a classe
    // Scanner. Ela está no pacote java.util.*;

    // vamos construir um objeto da classe Scanner para ler a
    // entrada do usuário
    Scanner entrada = new Scanner(System.in);

    // vamos declarar e construir um array de 10 inteiros
    int valores[] = new int[10];

    // agora vamos solicitar ao usuário que informe os 10 valores para
    // os elementos do array. O mais recomendável neste caso é usar um
    // laço for que repetirá 10 vezes e, a cada repetição, solicitaremos
    // um valor
    for (int i = 0; i < valores.length; i++) {
      System.out.print("Informe o " + (i + 1) + "º valor: ");
      valores[i] = Integer.parseInt(entrada.nextLine());
    }

    // para finalizar vamos exibir os valores informados pelo usuário e
    // presentes nos elementos do array
    System.out.println("\nOs valores informados foram:\n");

    for (int i = 0; i < valores.length; i++) {
      System.out.println("O " + (i + 1) + "º valor foi: " + valores[i]);
    }
  }
}


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



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