![]() |
|
||||
![]() 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_fQuantidade 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 informadosQuantidade 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 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 JavaQuantidade 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 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 RealQuantidade 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 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ó vezQuantidade 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 StringQuantidade 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 VisuAlgQuantidade 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 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 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_accessorQuantidade 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 diasQuantidade 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 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); } |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |