Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Dado um número, crie um programa Dart que escreva todos os números ímpares menores que o número - Desafio de Programação Resolvido em Dart

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

Dado um número, crie um programa Dart que escreva todos os números ímpares menores que o número informado e maiores do que um. Assuma que o número informado é positivo.

Sua saída deverá ser parecida com:

Digite um número inteiro positivo: 12
11 9 7 5 3
Resposta/Solução:

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

Código para exercicio.dart:

// Vamos importar a biblioteca dart:io
import 'dart:io';
 
void main(){
  // vamos ler o número
  stdout.write("Digite um número inteiro positivo: ");
  int num = int.parse(stdin.readLineSync());  

  // enquanto o número for negativo, será pedido
  // novamente
  while(num < 0){
    stdout.write("Erro! Digite um número inteiro positivo: ");
    num = int.parse(stdin.readLineSync());
  }  

  // se o número for par nós diminuimos 1
  if(num % 2 == 0){
    num = num - 1; // ou num--;
  } 
  else{
    // é ímpar, vamos diminuir 2
    num = num - 2;
  }  
   
  // agora já podemos exibir os números pedidos
  while(num > 1){
    stdout.write('${num} ');
    num = num - 2; // diminui em 2
  }  
}


Link para compartilhar na Internet ou com seus amigos:
Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima

Java ::: Dicas & Truques ::: Formulários e Janelas

Java Swing - Como centralizar a janela JFrame ao abrir a aplicação Java Swing

Quantidade de visualizações: 20032 vezes
Em várias ocasiões nós gostaríamos de centralizar a janela JFrame, ou seja, a janela principal de nossa aplicação Java Swing ao abrir o programa. Para isso nós podemos usar o método setLocationRelativeTo() e fornecer a ele o valor null.

Veja como isso pode ser feito no código abaixo:

import java.awt.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("Uso da classe JFrame");
     
    setSize(350, 250);
    setVisible(true);
 
    // centraliza a janela    
    setLocationRelativeTo(null);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Fundamentos da Linguagem ::: Estruturas de Controle

Java para iniciantes - Como criar laços for infinitos em Java

Quantidade de visualizações: 9288 vezes
Laços for infinitos em Java podem ser criado da seguinte forma:

for(;;){
  // bloco de instruções
}

Veja um exemplo:

import javax.swing.JOptionPane;

public class Estudos{
  public static void main(String[] args) {
    int valor;
    int soma = 0;

    // Lê continuamente até o usuário informar 0
    for(;;){
      // efetua a próxima leitura
      String str = JOptionPane.showInputDialog(null,
        "Informe um valor inteiro:\n(ou 0 para sair)",
         "Estudos", JOptionPane.QUESTION_MESSAGE);

      valor = Integer.parseInt(str);
  
      // testa se o laço pode ser finalizado
      if(valor == 0)
        break;
 
      soma += valor;
    }

    JOptionPane.showMessageDialog(null, "A soma é: " + soma,
       "Estudos", JOptionPane.INFORMATION_MESSAGE);
  }
}

Sempre que criar laços infinitos, tenha a certeza de fornecer um teste de parada dentro do corpo do laço. Do contrário seu programa só poderá ser interrompido matando-se o processo.


Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Números Aleatórios, Números Randômicos, Amostras Aleatórias, Amostras Randômicas

Como gerar um número randômico em Python usando a função rand() do módulo random da NumPy

Quantidade de visualizações: 446 vezes
Em algumas situações nós precisamos gerar um número aleatório na faixa de 0 e 1 (não incluído). Para isso nós podemos usar a função rand() do módulo random da biblioteca NumPy do Python. Veja um exemplo:

# importamos o módulo random da biblioteca NumPy
import numpy as np

# método principal
def main():
  # vamos gerar um número decimal aleatório de 0 (incluído) 
  # à 1 (não incluído) 
  valor = np.random.rand()
  print("O número sorteado foi: {0}".format(valor)) 
  
if __name__== "__main__":
  main()

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

O número sorteado foi: 0.2037063569952866

Note que o número retornado pela função rand() é um float com uma precisão semelhante ao double em outras linguagens de programação.

Veja agora uma modificação deste código para gerar 10 números aleatórios:

# importamos o módulo random da biblioteca NumPy
import numpy as np

# método principal
def main():
  # vamos gerar 10 números decimais aleatórios de 0 (incluído) 
  # à 1 (não incluído) 
  for i in range(10):
    valor = np.random.rand()
    print("O número sorteado foi: {0}".format(valor)) 
  
if __name__== "__main__":
  main()

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

O número sorteado foi: 0.57920714427429
O número sorteado foi: 0.06329414607318185
O número sorteado foi: 0.12184477988071851
O número sorteado foi: 0.5410663009618577
O número sorteado foi: 0.790229323250604
O número sorteado foi: 0.4733277307431061
O número sorteado foi: 0.7669969432159425
O número sorteado foi: 0.6934927410217504
O número sorteado foi: 0.13216036543343856
O número sorteado foi: 0.6958612722883786


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca)

Exercícios Resolvidos de Java - Como usar a Ordenação da Bolha em Java para ordenar os valores de um vetor em ordem crescente ou decrescente

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

A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.

No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.

Escreva um programa Java que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente.

Sua saída deverá ser parecida com:

Informe o valor para o índice 0: 84
Informe o valor para o índice 1: 23
Informe o valor para o índice 2: 9
Informe o valor para o índice 3: 5
Informe o valor para o índice 4: 11
Informe o valor para o índice 5: 3
Informe o valor para o índice 6: 50
Informe o valor para o índice 7: 7
Informe o valor para o índice 8: 2
Informe o valor para o índice 9: 73

O array informado foi:

84   23   9   5   11   3   50   7   2   73   

O array ordenado é:

2   3   5   7   9   11   23   50   73   84
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 declarar e construir um vetor de 10 elementos
    int valores[] = new int[10];
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir que o usuário informe os valores
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o valor para o índice " + i + ": ");
      valores[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // vamos mostrar o vetor informado
    System.out.println("\nO array informado foi:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");
    }
    
    // vamos ordenar os elementos do vetor usando a ordenação da bolha
    // laço externo de trás para frente
    for(int i = valores.length - 1; i > 1; i--){
      for(int j = 0; j < i; j++){ // laço interno vai no fluxo normal
        if(valores[j] > valores[j + 1]){ // temos que trocá-los de lugar 
          int temp = valores[j];
          valores[j] = valores[j + 1];
          valores[j + 1] = temp;
        }
      }
    }
    
    // vamos exibir o vetor já ordenado
    System.out.println("\n\nO array ordenado é:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");
    }
    
    System.out.println("\n");
  }
}



Python ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercício Resolvido de Python - Uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura

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

Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa.

A data de nascimento pode ser informada como uma String (no formato 05/10/1982, por exemplo) e, no cálculo da idade, considere apenas o ano da data de nascimento informada.

Sua saída deverá ser parecida com:



Resposta/Solução:

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

Código para a classe Pessoa (pessoa.py):

from datetime import datetime

class Pessoa:
  # construtor da classe Pessoa
  def __init__(self, nome, data_nascimento, altura):
    self._nome = nome
    self._data_nascimento = data_nascimento
    self._altura = altura

  # método que imprime todos os dados da pessoa
  def imprimir_dados(self):
    print("Nome:", self._nome, "\nData de Nascimento:" ,
      self._data_nascimento, "\nAltura:", self._altura)

  # método que calcula a idade da pessoa
  def calcular_idade(self):
    # vamos obter o ano da data de hoje
    ano_data_atual = datetime.today().year
    
    # agora vamos obter o ano de nascimento da pessoa
    partes_data_nascimento = self._data_nascimento.split("/")
    ano_nascimento = partes_data_nascimento[2]
    
    # agora mostramos a idade da pessoa
    anos = ano_data_atual - int(ano_nascimento)
    print("A pessoa tem", anos, "anos.")

  # método que define o nome da pessoa
  def set_nome(self, nome):
    self._nome = nome

  # método que obtém o nome da pessoa
  def get_nome(self):
    return self._nome

  # método que define a data de nascimento da pessoa
  def set_data_nascimento(self, data_nascimento):
    self._data_nascimento = data_nascimento

  # método que obtém a data de nascimento da pessoa
  def get_data_nascimento(self):
    return self._data_nascimento

  # método que define a altura da pessoa
  def set_altura(self, altura):
    self._data_altura = altura

  # método que obtém a altura da pessoa
  def get_altura(self):
    return self._altura      

Código para o arquivo principal.py:

# importa a classe Pessoa
from pessoa import Pessoa

def main():
  # cria um novo objeto da classe Pessoa
  pessoa = Pessoa("Amanda Rodrigues", "12/03/1972", 1.65)

  # exibe os dados da pessoa
  pessoa.imprimir_dados()

  # mostra a idade da pessoa
  pessoa.calcular_idade()
  
if __name__== "__main__":
  main()



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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