Você está aqui: Cards de |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como calcular a potência de um número usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 5162 vezes |
|
Pergunta/Tarefa: A potenciação ou exponenciação é a operação de elevar um número ou expressão a uma dada potência. Escreva um método Java recursivo que recebe uma base e um expoente e eleva a base ao expoente. Seu método deverá possuir a seguinte assinatura:
public static int potencia(int base, int expoente){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Informe a base: 5 Informe o expoente: 3 A base 5 elevada ao exponente 3 é 125 Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// solicita a base
System.out.print("Informe a base: ");
// lê a base
int base = Integer.parseInt(entrada.nextLine());
// solicita o expoente
System.out.print("Informe o expoente: ");
// lê o expoente
int expoente = Integer.parseInt(entrada.nextLine());
// mostra o resultado
System.out.print("A base " + base + " elevada ao exponente " +
expoente + " é " + potencia(base, expoente));
System.out.println("\n");
}
// método recursivo que eleva uma base a um determinado expoente
public static int potencia(int base, int expoente){
// a recursivida deve parar quando o expoente for igual a 1
if(expoente == 1){
return base;
}
else{
// efetua uma nova chamada recursiva fornecendo o expoente - 1
return base * potencia(base, expoente - 1);
}
}
}
|
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausenteQuantidade de visualizações: 866 vezes |
|
Pergunta/Tarefa: Dado o vetor:
int valores[] = {1, 8, 7, 2, 6, 5, 3};
Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos. Sua saída deverá ser parecida com: O número ausente é: 4 Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício. Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// vamos declarar um vetor de inteiros faltando
// um valor na sequência (não necessariamente ordenada)
// Note a ausência do número 4
int valores[] = {1, 8, 7, 2, 6, 5, 3};
int i, soma_n, ausente, soma_elementos;
int quant = 8; // tamanho do vetor + 1
setlocale(LC_ALL,""); // para acentos do português
// o primeiro passo é obter a soma de 1..n elementos
// natuais usando a fórmula n*(n+1)/2
soma_n = (quant * (quant + 1)) / 2;
// agora vamos somar os elementos do vetor
soma_elementos = 0;
for(i = 0; i < 7; i++){
soma_elementos = soma_elementos + valores[i];
}
// agora calculamos o valor ausente
ausente = soma_n - soma_elementos;
// vamos mostrar o resultado
printf("O número ausente é: %d", ausente);
printf("\n\n");
system("PAUSE");
return 0;
}
|
CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo |
Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-imageQuantidade de visualizações: 9053 vezes |
|
Nesta dica mostrarei como usar a propriedade background-image do CSS (Cascading Style Sheet) para aplicar uma imagem de fundo às nossas páginas HTML. Note que, neste exemplo, não controlamos como e se a imagem de fundo será repetida. Em outras dicas dessa seção você aprenderá como isso pode ser feito. Veja o resultado desta dica na figura abaixo: ![]() E agora veja o código HTML completo para o exemplo, incluindo a marcação CSS:
<html>
<head>
<title>Estudando CSS</title>
<meta name="viewport" content="width=device-width,
initial-scale=1">
<style type="text/css">
body {background-image: url('fundo2.jpg')}
</style>
</head>
<body>
</body>
</html>
|
Delphi ::: VCL - Visual Component Library ::: TStringGrid |
Como centralizar os títulos das colunas (ou o conteúdo de qualquer célula) de um TStringGrid do DelphiQuantidade de visualizações: 14208 vezes |
Em algumas situações nós precisamos centralizar os títulos das colunas de um TStringGrid. Em geral os títulos das colunas são exibidos nas células da primeira linha fixa do TStringGrid. Nesta dica eu mostrarei a forma mais comum de alcançar este efeito. Note que a técnica pode ser usada para centraliar o conteúdo de qualquer célula da grid:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
conteudo: String;
alinhamento_anterior: Word;
begin
// vamos centralizar os títulos das colunas, ou seja, o conteúdo
// das células na primeira linha
if ARow = 0 then
begin
// vamos obter o conteúdo da célula
conteudo := (Sender as TStringGrid).Cells[ACol, ARow];
// vamos obter o alinhamento atual
alinhamento_anterior := SetTextAlign((Sender as TStringGrid).Canvas.Handle,
TA_CENTER);
// vamos colocar o conteúdo de volta na célula
(Sender as TStringGrid).Canvas.TextRect(Rect,
Rect.Left + (Rect.Right - Rect.Left) div 2, Rect.Top + 5, conteudo);
// vamos voltar o alinhamento anterior para as demais células
SetTextAlign((Sender as TStringGrid).Canvas.Handle, alinhamento_anterior);
end;
end;
Aqui nós temos duas chamadas à função SetTextAlign() da API do Windows. Na primeira vez nós obtemos o alinhamento atual e definimos o novo alinhamento como TA_CENTER. Na segunda chamada nós voltamos o alinhamento anterior. Se não fizermos este procedimento, todas as demais células da grid terão seus conteúdos também alinhados ao centro. |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como chamar uma função de callback para os elementos individuais de um array usando a função forEach() - Vetores e matrizes em JavaScriptQuantidade de visualizações: 2142 vezes |
|
O método forEach(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) é usado quando queremos acessar os elementos de um vetor individualmente e chamar, para cada um deles, uma função de callback personalizada. Veja no trecho de código abaixo como usar a função forEach() para obter a soma de todos os elementos maiores ou iguais a 20:
<script type="text/javascript">
function obterSoma(valor, indice, vetor){
if(valor >= 20){
soma = soma + valor;
}
}
var valores = new Array(21, 5, 30, 7, 12, 3);
// vamos obter a soma dos valores maiores ou iguais a 20
var soma = 0;
// percorremos os elementos do vetor individualmente
valores.forEach(obterSoma);
window.alert("A soma é: " + soma);
</script>
Uma função passada para o método forEach() pode conter os seguintes argumentos (nessa mesma ordem): a) O valor do item; b) O índice do item (opcional); c) O vetor a partir do qual o método forEach() está sendo chamado (opcional). Veja mais um código no qual obtemos a soma dos elementos cujos valores sejam maiores que seu antecessor (com exceção do primeiro elemento):
<script type="text/javascript">
function obterSoma(valor, indice, vetor){
if(indice == 0){
soma = soma + valor;
}
else{
if(valor > vetor[indice - 1]){
soma = soma + valor;
}
}
}
var valores = new Array(8, 5, 30, 7, 12, 3);
// vamos dos elementos cujos valores sejam
// maiores que seu antecessor (com exceção do
// primeiro elemento)
var soma = 0;
// percorremos os elementos do vetor individualmente
valores.forEach(obterSoma);
window.alert("A soma é: " + soma);
</script>
O resultado será 50, pois obtemos a soma dos valores 8, 30 e 12. |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
|
GNU Octave - Como calcular o cosseno de um ângulo em GNU Octave usando a função cos() - Calculadora de cosseno em Octave |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




