Você está aqui: Cards de Python |
||
|
||
|
|
||
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em Ruby usando o operador +Quantidade de visualizações: 9755 vezes |
Nesta dica mostrarei como podemos usar o operador + (operador de adição ou soma) para concatenar strings na linguagem Ruby. Veja:frase1 = "Gosto muito de Ruby" frase2 = " e de Java" # vamos concatenar as duas strings res = frase1 + frase2 # exibe o resultado puts res Ao executar este código Ruby nós teremos o seguinte resultado: Gosto muito de Ruby e de Java |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Como rotacionar os elementos de um vetor de inteiros n vezes para a direita - Solução usando vetor temporárioQuantidade de visualizações: 788 vezes |
|
Pergunta/Tarefa: Dado o vetor:
// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
Importante: a solução que apresentamos usa um array adicional para resolver o desafio. Fique à vontade para usar força-bruta ou outra abordagem que achar mais conveniente. Sua saída deverá ser parecida com: Array na ordem original: 1 6 9 3 7 8 5 2 Rotação do vetor no passo 1 do primeiro laço: 8 0 0 0 0 0 0 0 Rotação do vetor no passo 2 do primeiro laço: 8 5 0 0 0 0 0 0 Rotação do vetor no passo 3 do primeiro laço: 8 5 2 0 0 0 0 0 Rotação do vetor no passo 1 do segundo laço: 8 5 2 1 0 0 0 0 Rotação do vetor no passo 2 do segundo laço: 8 5 2 1 6 0 0 0 Rotação do vetor no passo 3 do segundo laço: 8 5 2 1 6 9 0 0 Rotação do vetor no passo 4 do segundo laço: 8 5 2 1 6 9 3 0 Rotação do vetor no passo 5 do segundo laço: 8 5 2 1 6 9 3 7 Array depois de rotacionar 3 vezes: 8 5 2 1 6 9 3 7 Veja a resolução comentada deste exercício em Java:
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
// mostramos o array na ordem original
System.out.println("Array na ordem original:");
exibirVetor(valores);
// vamos rotacionar o array 3 casas para a direita
valores = rotacionarArray(valores, 3);
// e mostramos o resultado
System.out.println("Array depois de rotacionar 3 vezes:");
exibirVetor(valores);
}
// método usado para exibir o array
public static void exibirVetor(int []vetor){
// percorremos cada elemento do vetor
for (int i = 0; i < vetor.length; i++) {
System.out.print(vetor[i] + " ");
}
System.out.println("\n");
}
// método que recebe um vetor de inteiros e o rotaciona um
// determinado número de vezes
public static int[] rotacionarArray(int[] vetor, int n) {
// vamos obter a quantidade de elementos no vetor
int quant = vetor.length;
// o número de rotações é maior que a quantidade de
// elementos no vetor? Se for nós ajustamos o número
// de rotações usando o operador de módulo
if(n > quant){
n = n % quant;
}
// criamos um vetor temporário
int[] resultado = new int[quant];
// o primeiro laço movimenta os elementos a partir
// do valor de n
for(int i = 0; i < n; i++){
resultado[i] = vetor[quant - n + i];
// mostramos o progresso
System.out.println("Rotação do vetor no passo " + (i + 1) +
" do primeiro laço:");
exibirVetor(resultado);
}
// ajustamos o índice para o primeiro elemento do vetor
int indice = 0;
for(int i = n; i < quant; i++){
resultado[i] = vetor[indice];
// mostramos o progresso
System.out.println("Rotação do vetor no passo " + (indice + 1) +
" do segundo laço:");
exibirVetor(resultado);
indice++; // incrementa o índice
}
// retorna o vetor rotacionado
return resultado;
}
}
A solução que apresentamos aqui usa um vetor temporário, isto é, um array adicional, para melhorar a perfomance. Em outras dicas do site nós apresentamos uma solução para este desafio usando força-bruta. A força-bruta não é a melhor abordagem, mas pode ser mais fácil de ser entendida por iniciantes em programação. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deveráQuantidade de visualizações: 469 vezes |
|
Pergunta/Tarefa: Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tente novamente Sua saída deverá ser parecida com: Adivinhe o número mágico: 100 Tente um número menor. Adivinhe o número mágico: 50 Tente um número maior. Adivinhe o número mágico: 60 Tente um número maior. Adivinhe o número mágico: 80 Tente um número maior. Adivinhe o número mágico: 90 Tente um número maior. Adivinhe o número mágico: 95 Tente um número menor. Adivinhe o número mágico: 94 Tente um número menor. Adivinhe o número mágico: 93 Tente um número menor. Adivinhe o número mágico: 92 Você acertou o número em 9 tentativas. Classificação: Normal Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Random;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// variáveis usadas na resolução do problema
int numero_magico, palpite, tentativas = 0;
boolean acertou = false;
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos sortear o número entre 0 e 500
Random rand = new Random();
numero_magico = rand.nextInt(501);
// um laço que repete enquanto o usuário não
// acertar o número mágico
while (!acertou) {
System.out.print("Adivinhe o número mágico: ");
palpite = Integer.parseInt(entrada.nextLine());
// registra essa tentativa
tentativas = tentativas + 1;
// o usuário acertou o número mágico?
if (palpite == numero_magico) {
System.out.println("Você acertou o número em " + tentativas + " tentativas.");
// mostra a classificação do usuário
if (tentativas <= 3) {
System.out.println("Classificação: Muito Sortudo");
}
else if ((tentativas >= 4) && (tentativas <= 6)) {
System.out.println("Classificação: Sortudo");
}
else if ((tentativas >= 7) && (tentativas <= 10)) {
System.out.println("Classificação: Normal");
}
else {
System.out.println("Classificação: Tente Novamente");
}
// sai do laço
acertou = true;
}
else {
// indica se o palpite é maior ou menor
if (palpite < numero_magico) {
System.out.println("Tente um número maior.\n");
}
else {
System.out.println("Tente um número menor.\n");
}
}
}
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Desenvolva um programa que leia dez números do tipo inteiro ao usuário Armazene esses dez números em um vetorQuantidade de visualizações: 1548 vezes |
|
Exercício Resolvido de Java - Desenvolva um programa que leia dez números do tipo inteiro ao usuário. Armazene esses dez números em um vetor Pergunta/Tarefa: Desenvolva um programa que leia dez números do tipo inteiro ao usuário. Armazene esses dez números em um vetor. Para os valores dos elementos inseridos nas posições pares desse vetor, calcule o somatório deles, para os demais calcule a subtração desses valores. Em seguida, o programa deverá apresentar na tela os resultados. Sua saída deverá ser parecida com: Digite o 1.o número inteiro: 5 Digite o 2.o número inteiro: 1 Digite o 3.o número inteiro: 2 Digite o 4.o número inteiro: 3 Digite o 5.o número inteiro: 7 Digite o 6.o número inteiro: 8 Digite o 7.o número inteiro: 10 Digite o 8.o número inteiro: 54 Digite o 9.o número inteiro: 4 Digite o 10.o número inteiro: 5 A soma dos números nas posições pares é: 28 A subtração dos números nas posições ímpares é: -71 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) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
int numeros[] = new int[10]; // vetor para guardar os 10 números inteiros
int soma = 0; // soma dos números nas posições pares
int subtracao = 0; // subtração dos números nas posições impares
// vamos fazer a leitura dos 10 valores inteiros
for(int i = 0; i < numeros.length; i++){
System.out.print("Digite o " + (i + 1) + ".o número inteiro: ");
numeros[i] = Integer.parseInt(entrada.nextLine());
}
// agora vamos percorrer o vetor e obter a soma dos elementos nas posições
// pares e a subtração dos elementos nas posições ímpares
for(int i = 0; i < numeros.length; i++){
if(i % 2 == 0){
// posição par
soma = soma + numeros[i];
}
else{
// posição ímpar
subtracao = subtracao - numeros[i];
}
}
System.out.println("A soma dos números nas posições pares é: " + soma);
System.out.println("A subtração dos números nas posições ímpares é: "
+ subtracao);
}
}
|
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C para iniciantes - Como usar o laço for em CQuantidade de visualizações: 39194 vezes |
O laço for é usado quando queremos executar um bloco de instruções um determinado número de vezes. Este laço é composto de três partes:
for(inicialização; teste; incremento/decremento){
bloco de instruções
}
Na parte inicialização nós definimos o valor inicial da variável de controle. Na parte teste nós usamos o valor da variável de controle para testar a continuidade ou interrupção do laço. Finalmente, na parte incremento/decremento nós alteramos o valor da variável de controle para cima ou para baixo. Veja um exemplo:
int main(int argc, char *argv[])
{
int i;
for(i = 1; i <= 10; i++){
printf("%d ", i);
}
printf("\n\n");
system("PAUSE");
return 0;
}
O incremento/decremento da variável de controle não precisa ser necessariamente em 1. Podemos usar qualquer expressão. Veja um trecho de código que exibe os números pares de 0 à 10:
int main(int argc, char *argv[])
{
int i;
for(i = 0; i <= 10; i += 2){
printf("%d ", i);
}
printf("\n\n");
system("PAUSE");
return 0;
}
Observe que "i += 2" é o mesmo que "i = i + 2". Com exceção da parte de testes, podemos inserir múltiplas expressões nas demais partes de um laço for. Veja:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i, x;
for(i = 0, x = 2; i <= 10; printf("%d ", i * x), i++);
printf("\n\n");
system("PAUSE");
return 0;
}
Este último código é um pouco exótico, mas muito fácil de ser encontrado por aí. |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





