![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de C - Um método recursivo que conta de 10 até 0Quantidade de visualizações: 916 vezes |
Pergunta/Tarefa: Escreva um método recursivo em C que conta e exibe os valores de 10 até 0. Seu método deverá possuir a seguinte assinatura: void contar_recursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 10 9 8 7 6 5 4 3 2 1 0 Veja a resolução comentada deste exercício usando C console: #include <stdio.h> #include <stdlib.h> #include <locale.h> // função recursiva que conta de 10 até 0; void contar_recursivamente(int n){ // vamos exibir o número atual printf("%d\n", n); // devemos prosseguir com a recursividade? if(n > 0){ // decrementa o valor de n n--; contar_recursivamente(n); // e faz uma nova chamada recursiva } } int main(int argc, char *argv[]){ setlocale(LC_ALL,""); // para acentos do português // efetua uma chamada ao método recursivo fornecendo // o primeiro valor contar_recursivamente(10); printf("\n\n"); system("pause"); return 0; } |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em JavaScript usando a função toUpperCase() do objeto String - JavaScript para iniciantesQuantidade de visualizações: 28 vezes |
A função toUpperCase() do objeto String da linguagem JavaScript nos permite transformar todos os caracteres de uma palavra, frase ou texto em letras maiúsculas. Veja o código completo para o exemplo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var frase = "Veja Esta Frase."; document.writeln(frase); frase = frase.toUpperCase(); document.writeln("<br>" + frase); </script> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Veja Esta Frase. VEJA ESTA FRASE. |
Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto de interseção de duas retas em Dart - Geometria Analítica e Álgebra Linear em DartQuantidade de visualizações: 1857 vezes |
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes. Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Dart. Mas, antes de vermos o código, dê uma olhada na seguinte imagem: ![]() Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta. Veja o código Dart completo que nos auxilia na resolução deste problema: // Vamos importar a biblioteca dart:io import "dart:io"; // Classe usada para representar um ponto no // plano 2d (Plano Cartesiano) class Ponto{ double x, y; // construtor da classe Ponto(double x, double y){ this.x = x; this.y = y; } } void main(){ // vamos construir os quatro pontos Ponto A = new Ponto(5, 7); Ponto B = new Ponto(9, -4); Ponto C = new Ponto(-8, 2); Ponto D = new Ponto(11, 6); // vamos obter a representação do segmento AB double a1 = B.y - A.y; double b1 = A.x - B.x; double c1 = (a1 * A.x) + (b1 * A.y); // vamos obter a representação do segmento CD double a2 = D.y - C.y; double b2 = C.x - D.x; double c2 = (a2 * C.x) + (b2 * C.y); // obtém o determinante double determinante = (a1 * b2) - (a2 * b1); // as duas retas são paralelas? if(determinante == 0){ print("\nAs duas retas são paralelas.\n"); } else{ // e construímos o ponto de intersecção double x = ((b2 * c1) - (b1 * c2)) / determinante; double y = ((a1 * c2) - (a2 * c1)) / determinante; Ponto inters = new Ponto(x, y); print("O ponto de interseção é: " + "x = ${x.toStringAsFixed(2)}; y = ${y.toStringAsFixed(2)}"); } } Ao executar este código Dart nós teremos o seguinte resultado: O ponto de interseção é: x = 5,76; y = 4,90 De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas. |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como usar a propriedade Alignment da classe TColumn para alinhar o conteúdo das células do TDBGrid do DelphiQuantidade de visualizações: 12077 vezes |
O conteúdo de cada coluna, ou seja, todas as células de uma determinada coluna, pode ser alinhado por meio da propriedade Alignment da classe TColumn. Esta propriedade aceita um de três valores (pertencentes à enumeração Classes.TAlignment): taLeftJustify - o texto é alinhado à esquerda; taCenter - o texto é alinhado ao centro; taRightJustify - o texto é alinhado à direita. O valor para esta propriedade pode ser definido em tempo de design ou execução. Para definir o alinhamento do conteúdo de uma coluna em tempo de design, basta clicar com o botão direito no DBGrid e escolher a opção Columns Editor. Em seguida clique na coluna desejada e vá em sua propriedade Alignment no Object Inspector. Em tempo de execução podemos definir o alinhamento para um determinada coluna do DBGrid usando o seguinte trecho de código: procedure TForm3.Button3Click(Sender: TObject); begin // vamos alinhar ao centro o conteúdo das células da // primeira coluna DBGrid1.Columns[0].Alignment := TAlignment.taCenter; end; Veja que neste trecho de código eu usei TAlignment.taCenter. Esta é uma boa forma de indicar no código de onde o valor taCenter está vindo. No entanto, o Delphi permite que se omita o nome da enumeração TAlignment. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30Quantidade de visualizações: 11698 vezes |
Pergunta/Tarefa: Considere os seguintes vetores: // dois vetores de 5 inteiros cada int a[] = {50, -2, 9, 5, 17}; int b[] = new int[5]; Sua saída deverá ser parecida com: Valores no vetor a: 50 -2 9 5 17 Valores no vetor b: -20 32 21 25 13 Veja a resolução comentada deste exercício usando Java: package estudos; public class Estudos { public static void main(String[] args) { // dois vetores de 5 inteiros cada int a[] = {50, -2, 9, 5, 17}; int b[] = new int[5]; // vamos preencher o segundo vetor de forma que a soma dos // valores de seus elementos seja 30 for(int i = 0; i < b.length; i++){ b[i] = 30 - a[i]; } // vamos mostrar o resultado System.out.print("Valores no vetor a: "); for(int i = 0; i < a.length; i++){ System.out.print(a[i] + " "); } System.out.print("\nValores no vetor b: "); for(int i = 0; i < b.length; i++){ System.out.print(b[i] + " "); } System.out.println(); } } |
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Como carregar uma imagem (ou foto) no objeto Canvas do HTML5Quantidade de visualizações: 2650 vezes |
O objeto Canvas do HTML5 nos permite carregar uma imagem ou foto em tempo de execução e desenhá-la em sua superfície. Para isso, comece criando um objeto Image para guardar a imagem temporariamente na memória:var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; O passo seguinte é adicionar um "ouvidor" de evento neste objeto Image para que ele nos avise quando a imagem estiver 100% carregada. Veja: // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); Pronto! Veja que agora, quando o evento load do objeto Image disparar, a função desenharImagem será chamada e a imagem será então desenhada no Canvas. Veja: function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } E aqui está o código completo para o exemplo: <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } </script> </body> </html> Ao executar a página nós teremos o seguinte resultado: ![]() |
C# ::: Windows Forms ::: CheckBox |
Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChangedQuantidade de visualizações: 9856 vezes |
Em algumas situações gostaríamos de efetuar algumas tarefas quando uma CheckBox é marcada ou desmarcada. O melhor lugar para isso é no evento CheckedChanged da própria CheckBox. Este evento é disparado todas as vezes que a CheckBox é marcada ou desmarcada. Coloque uma CheckBox no formulário e dê duplo-clique no controle. Automaticamente o marcador do evento CheckedChanged será criado. Modifique-o para o código abaixo: private void checkBox1_CheckedChanged(object sender, EventArgs e){ // vamos verificar se a CheckBox foi marcada ou desmarcada if((sender as CheckBox).Checked) MessageBox.Show("A CheckBox foi marcada"); else MessageBox.Show("A CheckBox foi desmarcada"); } Note que aqui eu usei o operador as para tratar o controle que gerou o evento (sender) como um objeto da classe CheckBox. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Como calcular o restante de um salário após o pagamento de duas contas com jurosQuantidade de visualizações: 5023 vezes |
Pergunta/Tarefa: Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia. Sua saída deverá ser parecida com: Informe o salário: 1350 Valor da primeira conta: 140 Valor da segunda conta: 300 Total das contas sem juros: 440.0 Total dos juros: 8.8 Total das contas com juros: 448.8 Sobra do salário: 901.2 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); // vamos pedir que o usuário informe o valor do salário e das duas contas System.out.print("Informe o salário: "); double salario = Double.parseDouble(entrada.nextLine()); System.out.print("Valor da primeira conta: "); double conta1 = Double.parseDouble(entrada.nextLine()); System.out.print("Valor da segunda conta: "); double conta2 = Double.parseDouble(entrada.nextLine()); // total a ser pago nas duas contas sem os juros double totalContas = conta1 + conta2; // calcula os juros double totalJuros = totalContas * 0.02; // total a ser pago com juros double totalContasComJuros = totalContas + totalJuros; // sobra do salário double sobraSalario = salario - totalContasComJuros; // mostra os resultados System.out.println("\nTotal das contas sem juros: " + totalContas); System.out.println("Total dos juros: " + totalJuros); System.out.println("Total das contas com juros: " + totalContasComJuros); System.out.println("Sobra do salário: " + sobraSalario); System.out.println("\n"); } } |
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Ruby - Escreva um programa Ruby para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1251 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Ruby: # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] # vamos mostrar o vetor na ordem original print("Vetor na ordem original:\n") for i in (0..valores.length - 1) printf("%d ", valores[i]) end # vamos inicializar j como 0 para que ele aponte para # o primeiro elemento do vetor j = 0 # agora o laço for percorre todos os elementos do vetor, # incrementanto a variável i e deixando o j em 0 for i in (0..valores.length - 1) # encontramos um valor que não é 0 if(valores[i] != 0) # fazemos a troca entre os elementos nos índices # i e j temp = valores[i] valores[i] = valores[j] valores[j] = temp # e avançamos o j para o elemento seguinte j = j + 1 end end # agora mostramos o resultado print("\n\nVetor com os zeros deslocados para o final:\n") for i in (0..valores.length - 1) printf("%d ", valores[i]) end Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem CQuantidade de visualizações: 10218 vezes |
Nesta dica mostro como pesquisar uma substring dentro de uma string. Para isso usaremos a função strstr() do header string.h. Esta função aceita a string e a substring que queremos pesquisar e retorna NULL se a substring não for encontrada. Caso esta esteja contida na string, um ponteiro para o caractere inicial de sua ocorrência é retornado. Veja o código:#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]){ char frase[] = "Gosto muito de Java e Python"; // vamos pesquisar a substring "Java" na string char *res = strstr(frase, "Java"); // se for NULL a substring não foi encontrada if(res == NULL) printf("A substring nao foi encontrada"); else printf("A substring foi encontrada: %s", res); puts("\n\n"); system("PAUSE"); return 0; } Note que neste exemplo, a substring é localizada e o conteúdo de res é o restante da string a partir do primeiro caractere da substring pesquisada. |
Nossas 20 dicas & truques de programação mais populares |
Python - Como calcular o volume de chuvas em Python - Fórmula do cálculo do volume de chuvas em Python Python - Como converter Metros Quadrados em Quilômetros Quadrados em Python - Python para Física e Engenharia |
Você também poderá gostar das dicas e truques de programação abaixo |
C# - Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da estrutura DateTime Python - Python para iniciantes - Como inserir uma determinada quantidade de espaços à direita de uma string |
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 |