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.

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

Como converter uma string em um valor real em Ruby usando a função to_f

Quantidade de visualizações: 6428 vezes
Nesta dica mostrarei como podemos usar a função to_f do objeto String da linguagem Ruby para converter uma string em um valor de ponto-flutuante, ou seja, um valor real, com casas decimais.

Veja o código completo para o exemplo:

# Este exemplo mostra como usar o método to_f
# para converter uma string em um valor numérico
# de ponto-flutuante

# vamos pedir para o usuário informar
# dois números
print "Informe o primeiro número: "
num1 = (gets.chomp).to_f
print "Informe o segundo número: "
num2 = (gets.chomp).to_f

# vamos exibir a soma dos valores informados
puts "A soma dos valores é: #{num1 + num2}"

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

Informe o primeiro número: 5
Informe o segundo número: 3
A soma dos valores é: 8.0

Note que usei gets para ler o texto informado pelo usuário. Em seguida usei chomp para remover quaisquer quebras de linhas no final do texto e, finamente, usei to_f para converter a string lida em um valor do tipo float.


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

Exercícios Resolvidos de Java - Usando um laço for para solicitar ao usuário que informe 10 valores inteiros e mostrar quantos valores negativos foram informados

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

Escreva um programa Java console que usa o laço for para solicitar que o usuário digite 10 valores inteiros. Em seguida seu programa deverá contar quantos valores negativos foram informados.

Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

A resolução deste exercício envolve a criação de uma variável auxiliar para contar a quantidade de valores negativos lidos, do tipo int, e que deverá ser inicializada com o valor 0. Veja:

int negativos = 0; // guardará a quantidade de valores negativos
Veja a resolução completa para o exercício, comentada linha a linha:

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

  int valor; // guarda o valor lido
  int negativos = 0; // guardará a quantidade de valores negativos

  // vamos pedir ao usuário que informe 10 valores inteiros
  for(int i = 0; i < 10; i++){
    System.out.print("Informe o " + (i + 1) + "º valor: ");
    valor = Integer.parseInt(entrada.nextLine());

    // vamos verificar se o valor informado é negativo
    if(valor < 0){
      negativos++;
    }
  }

  // vamos exibir a quantidade de números negativos lidos
  System.out.println("\nVocê informou " + negativos + " valores negativos.\n");
}



Java ::: Pacote java.io ::: Console

Java para iniciantes - Como usar a classe Console da linguagem Java

Quantidade de visualizações: 10073 vezes
A classe Console, que é definida no pacote java.io como public e final, fornece métodos para acessar o dispositivo de console baseado em caracteres associado com a máquina virtual Java (JVM) sendo executada no momento. Um objeto desta classe é obtido por meio de uma chamada ao método console() da classe System. Veja:

import java.io.Console;

public class Estudos {
  public static void main(String[] args) {
    // vamos obter o console para a JVM atual
    Console console = System.console();
    
    // vamos testar se o console foi obtido com sucesso
    if(console != null){
      System.out.println("Console obtido com sucesso");
    }
    else{
      System.out.println("Não foi possível obter o console");
    }
  }
}


É importante observar que, durante a autoria desta dica (Maio/2012), não é possível obter um objeto da classe Console executando a aplicação dentro do Netbeans e/ou Eclipse, somente executando a aplicação a partir da linha de comando ou outros editores, tais como o JCreator. A razão disso é que, tanto o Netbeans quanto o Eclipse executam a janela de console como um processo de fundo, afim de obter sua saída e exibir em suas próprias janelas.

Veja a posição desta classe na hierarquia de classes da plataforma Java:

java.lang.Object
  java.io.Console
A classe Console implementa a interface Flushable.

O fato de a máquina virtual ter um console ou não depende da plataforma na qual ela está sendo executada, e também na forma que a JVM foi invocada. Se a máquina virtual é iniciada a partir de uma janela de linha de comando interativa sem redirecionar os fluxos de entrada e saída padrão, então o console existirá e estará conectado ao teclado e tela a partir da qual a JVM foi lançada. Se a máquina virtual é iniciada automaticamente, por exemplo, como um gerenciador de agendamento de tarefas em segundo plano, então ela, em geral, não terá um console.

Se a JVM atual tiver um console, então este é representado por uma instância única da classe Console, que pode ser obtida por meio de uma chamada ao método console() da classe System. Se nenhum dispositivo de console estiver disponível, uma chamada a este método retornará o valor null.

Operações de leitura e escrita são sincronizadas para garantir a atomicidade das operações críticas. Assim, as chamadas aos métodos readLine(), readPassword(), format() e printf(), assim como operações de leitura, formatação e escrita nos objetos retornados pelos métodos reader() e writer() poderão causar bloqueios em cenários de múltiplas threads.

Chamar close() nos objetos retornados pelos métodos reader() e writer() não fechará os fluxos destes objetos.

Os métodos de leitura da classe Console retornam null quando o fim do fluxo de entrada de console é alcançado, por exemplo, ao digitar control-D no Linux/Unix ou control-Z no Windows. Operações de leitura subsequentes terão sucesso se caracteres adicionais forem inseridos mais tarde no dispositivo de entrada do console.


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

Exercícios Resolvidos de Java - Como criar um conversor de moedas em Java - Um programa Java para converter de Real para Dólar e de Dólar para Real

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

Escreva um programa Java para converter de Real para Dólar e vice-versa. Seu programa deverá ler o valor a ser convertido e a opção de conversão, ou seja, se o usuário quer converter de Real para Dólar ou se quer converter de Dólar para Real. Em seguida mostre o valor convertido.

Você pode pedir também a cotação do Dólar ou já deixar definido no código. Na resolução eu fixei a cotação no código mesmo, tomando como base a cotação do Dólar na data 20/02/2023.

Sua saída deverá ser parecida com:

Valor a ser convertido: 7

1. Converter de Real para Dólar
2. Converter de Dólar para Real
Sua opção: 1

O valor convertido para Dólar é: $ 1,28

Valor a ser convertido: 1

1. Converter de Real para Dólar
2. Converter de Dólar para Real
Sua opção: 2

O valor convertido para Real é: R$ 5,46
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 registrar aqui a cotaçao do dólar
    double cotacao_dolar = 5.4613; // 20/02/2023
    // valor informado e valor convertido
    double valor, valor_convertido;
    // para ler a opção do usuário
    int opcao;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar o valor a ser convertido
    System.out.print("Valor a ser convertido: ");
    valor = Double.parseDouble(entrada.nextLine());
    
    // vamos mostrar as opções de conversão
    System.out.println("\n1. Converter de Real para Dólar");
    System.out.println("2. Converter de Dólar para Real");
    System.out.print("Sua opção: ");
    opcao = Integer.parseInt(entrada.nextLine());

    // vamos fazer a conversão entre as moedas 
    switch(opcao){
      case 1: // efetua a conversão de Real para Dólar
        valor_convertido = valor / cotacao_dolar;
        System.out.printf("\nO valor convertido para Dólar é: $ %.2f\n\n",
          valor_convertido);
        break;
      
      case 2: // efetua a conversão de Dólar para Real
        valor_convertido = valor * cotacao_dolar;
        System.out.printf("\nO valor convertido para Real é: R$ %.2f\n\n",
          valor_convertido);
        break;
        
      default:
        System.out.println("\nVocê informou uma opção inválida.\n\n");
    }
  }
}



C ::: Dicas & Truques ::: Arquivos e Diretórios

Apostila de C para iniciantes - Como usar a função fread() da linguagem C para ler todo o conteúdo de um arquivo de uma só vez

Quantidade de visualizações: 23104 vezes
A função fread() se torna muito útil quando precisamos ler grandes blocos ou até mesmo todo o conteúdo de um arquivo. Neste caso, o conteúdo lido é guardado em um buffer para uso posterior. Veja o protótipo desta função:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

Aqui ptr é um ponteiro para o buffer que receberá o conteúdo sendo lido. A capacidade deste buffer deverá ser no mínimo o valor de size multiplicado por count. O parâmetro size é o tamanho em bytes de cada elemento sendo lido. count é o número de elementos a serem lidos e stream é um ponteiro para o arquivo cujo conteúdo será lido.

Se a leitura do conteúdo for feita com sucesso, a função fread() retornará a quantidade de elementos lidos com sucesso. No exemplo abaixo estamos lendo caracteres de 1 byte cada. Analise o código cuidadosamente e verá como é fácil modificá-lo para, por exemplo, ler apenas a metade do arquivo de cada vez:

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

int main(int argc, char *argv[]){
  // vamos abrir o arquivo para leitura no modo binário
  FILE *arquivo = fopen("dados.txt", "rb");
  if(arquivo != NULL){
    // vamos obter o tamanho do arquivo em bytes
    fseek(arquivo, 0, SEEK_END);
    long tam_arquivo = ftell(arquivo);
    rewind(arquivo);

    // vamos alocar memória para todo o conteúdo do arquivo
    char *buffer = (char*)malloc(sizeof(char) * tam_arquivo);
    // a memória foi alocada com sucesso?
    if(buffer != NULL){
      // vamos copiar o conteúdo do arquivo para o buffer
      size_t resultado = fread(buffer, 1, tam_arquivo, arquivo);

      // vamos verificar se a operação foi feita com sucesso
      if(resultado == tam_arquivo){
        puts("O conteudo do arquivo foi lido com sucesso\n\n");
        // vamos exibí-lo na tela
        puts(buffer);
      }
    }

    fclose(arquivo); // fecha o arquivo
    free(buffer); // libera a memória do buffer
  }

  puts("\n\n");
  system("PAUSE");
  return 0;
}



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

Como retornar o tamanho de uma string em Java usando o método length() da classe String

Quantidade de visualizações: 548 vezes
O método length() da classe String do Java é muito útil quando queremos o tamanho, ou seja, o comprimento de uma string. Uma string é um conjunto de caracteres que compôem uma palavra, frase ou texto em Java.

Este método é chamado diretamente na instância da classe String e retorna um int contendo o tamanho da string. Veja um exemplo de seu uso:

package arquivodecodigos;
 
// Este exemplo mostra como obter o tamanho de uma string
public class Estudos{
  public static void main(String[] args){
    String frase = "Java é muito interessante";
    
    // vamos obter o tamanho da string
    int tam = frase.length();
    
    // e mostramos o resultado
    System.out.println("Esta string contem " + 
      tam + " caracteres");
    
    System.exit(0);
  }
} 

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

Esta string contem 25 caracteres.


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

Exercícios Resolvidos de VisuAlg - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em VisuAlg

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

Escreva um programa VisuAlg que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado:

// declara um vetor de 10 inteiros
valores: vetor[1..10] de inteiro
Sua saída deverá ser parecida com:

Informe um valor: 4
O valor foi encontrado: 3 vezes

Informe um valor: 8
O valor foi encontrado: 1 vezes

Informe um valor: 3
O valor foi encontrado: 0 vezes
Resposta/Solução:

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

algoritmo "Contar quantas vezes um elemento repete em um vetor"

var
  // variáveis usadas na resolução do problema
  valores: vetor[1..10] de inteiro
  pesquisa, repeticoes, i: inteiro

inicio
  // inicializa um vetor de 10 inteiros
  valores[1] <- 4
  valores[2] <- 21
  valores[3] <- 9
  valores[4] <- 8
  valores[5] <- 12
  valores[6] <- 21
  valores[7] <- 4
  valores[8] <- 4
  valores[9] <- 1
  valores[10] <- 10

  // vamos ler um valor inteiro
  escreva("Informe um valor: ")
  leia(pesquisa)

  // vamos verificar quantas vezes o valor informado está
  // contido no vetor
  repeticoes <- 0
  para i de 1 ate 10 faca
    se valores[i] = pesquisa entao
      // encontrou? vamos contar esta ocorrência
      repeticoes <- repeticoes + 1
    fimse
  fimpara

  // vamos mostrar o resultado
  escreva("O valor foi encontrado: ", repeticoes, " vezes")

fimalgoritmo



C# ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

Tutorial C# para iniciantes - Como escrever seu primeiro método ou função em C#

Quantidade de visualizações: 15560 vezes
À medida que estamos desenvolvendo nossos códigos, percebemos que estes podem ser divididos de acordo com suas funcionalidades. Ao efetuar esta divisão, estamos na verdade criando blocos de códigos que executam uma determinada tarefa. E, descobrimos que tais blocos de códigos podem ser reaproveitados com frequencia em um mesmo programa. Assim, ao mecanismo usado para disparar a execução destes blocos de códigos é dado o nome de método (ou função em linguagens tais como C e C++).

Um método, em sua forma mais simples, é apenas um conjunto de instruções que podem ser chamadas a partir de locais estratégicos de um programa. Veja um exemplo:

// um método que não recebe nenhum argumento
// e não retorna nenhum valor
static void metodo(){
  Console.WriteLine("Sou um método");
}

Este método apenas exibe o texto "Sou um método". Veja o uso das chaves { e } para delimitar a área de atuação do método (o corpo do método). A palavra-chave void indica que este método não retorna nenhum valor ao finalizar sua execução enquanto a palavra-chave static é melhor explicada na nossa seção sobre modificadores em C#. Todos os métodos em C# possuem parênteses, os quais servem como marcadores para a lista de parâmetros do método. Parênteses vazios indicam que o método não possui parâmetros.[br][br]

Veja agora um trecho de código completo exemplificando a chamada ao método recém-criado:

// um método que não recebe nenhum argumento
// e não retorna nenhum valor
static void metodo(){
  Console.WriteLine("Sou um método");
}

static void Main(string[] args){
  // efetua uma chamada ao método
  metodo();

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



Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessor

Quantidade de visualizações: 7376 vezes
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome.

É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita.

Veja um exemplo:

# Definição da classe Cliente
class Cliente
   attr_accessor :nome, :idade
   
   def initialize(nome, idade)
      @nome = nome
      @idade = idade
   end
end

# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)

# Acessa as variáveis de instância sem a necessidade
# de métodos acessórios
puts cliente.nome
puts cliente.idade

# Modifica as variáveis de instância sem a necessidade
# de métodos mutatórios
cliente.nome = "Carlos da Silva"
cliente.idade = 56

# Obtém os resultados
puts cliente.nome
puts cliente.idade

Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo:

Traceback (most recent call last):
estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError)


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Um programa Java que solicita ao usuário que informe sua idade em anos, meses e dias e mostre sua idade em dias

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

Escreva um programa Java que solicite ao usuário que informe sua idade em anos, meses e dias, ou seja, sua idade atual em anos e a quantidade de meses e dias decorridos desde seu aniversário. Seu programa deverá exibir uma saída parecida com:

Informe sua idade em anos, meses e dias
Anos: 25
Meses: 2
Dias: 12
Idade expressa em dias: 9197
Aqui o usuário tem 25 anos, 2 meses e 12 dias de idade. Assim, sua idade expressa em dias é 9.197.

Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // variáveis que vão guardar a idade em anos, meses e dias;
  int anos, meses, dias;
  int idade_dias; // guardará a idade em dias

  System.out.println("Informe sua idade em anos, meses e dias");

  // obtém os anos
  System.out.print("Anos: ");
  anos = Integer.parseInt(entrada.nextLine());

  // obtém os meses
  System.out.print("Meses: ");
  meses = Integer.parseInt(entrada.nextLine());

  // obtém os dias
  System.out.print("Dias: ");
  dias = Integer.parseInt(entrada.nextLine());

  // vamos calcular a idade em dias
  idade_dias = (anos * 365) + (meses * 30) + dias;

  // vamos exibir o resultado
  System.out.println("Idade expressa em dias: " + idade_dias);
}


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