Desafios e Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros - Lista de Exercícios Resolvidos de C#

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

Escreva uma função recursiva em C# que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:

// função recursiva que recebe um valor e um vetor e retorna quantas
// vezes o valor é encontrado no vetor
public static int QuantRepeticoes(int indice, int valor, int[] vetor) {
  // sua implementação aqui 
}
Seu programa deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado. Sua saída deverá ser parecida com:

Informe o 1 valor: 2
Informe o 2 valor: 7
Informe o 3 valor: 4
Informe o 4 valor: 7
Informe o 5 valor: 1

Informe o valor a ser pesquisado no vetor: 7
O valor informado se repete 2 vezes.
Resposta/Solução:

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



Link para compartilhar na Internet ou com seus amigos:

Java ::: Pacote java.awt.event ::: KeyEvent

Java Swing - Como usar o método getKeyCode() da classe KeyEvent para detectar as teclas de Espaço, Enter ou Esc

Quantidade de visualizações: 5652 vezes
Em algumas situações nós precisamos detectar o pressionamento das teclas de Espaço, Enter ou Esc. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_SPACE (espaço), KeyEvent.VK_ENTER (Enter) ou KeyEvent.VK_ESCAPE (Esc).

Veja um trecho de código no qual testamos se alguma destas três teclas foi pressionada:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JFrame implements KeyListener{
  public Janela(){
    super("Eventos do Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    // vamos adicionar o objeto listener 
    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  @Override
  public void keyPressed(KeyEvent e){
    // a tecla Space foi pressionada?
    if(e.getKeyCode() == KeyEvent.VK_SPACE){
      JOptionPane.showMessageDialog(null, "A tecla de espaço foi pressionada");
    }
    // a tecla Enter foi pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_ENTER){
      JOptionPane.showMessageDialog(null, "A tecla Enter foi pressionada");
    }
    // a tecla Esc foi pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
      JOptionPane.showMessageDialog(null, "A tecla Esc foi pressionada");
    }
    else{
      JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada");  
    }
  }
    
  @Override
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  @Override
  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
  
  public static void main(String args[]){
    Janela j = new Janela();
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

É importante observar que as teclas Space, Enter e Esc podem ser detectadas somente nos eventos keyPressed e keyReleased.


Java ::: Dicas & Truques ::: Data e Hora

Como converter um objeto Calendar em um objeto Date em Java

Quantidade de visualizações: 10997 vezes
Muitas vezes precisamos converter um objeto Calendar em um objeto Date em Java. Isso pode ser feito usando-se o método getTime() da classe Calendar.

Este método retorna um objeto da classe Date representando o estado atual do objeto Calendar em milisegundos desde o Epoch. Veja um exemplo dessa conversão e o uso da classe SimpleDateFormat para formatar o resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.*;
import java.text.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Calendar cal = Calendar.getInstance();
    Date data = cal.getTime();
    
    // formata e exibe a data e hora
    Format formato = new SimpleDateFormat(
      "dd/MM/yyyy - HH:mm:ss");
    System.out.println(formato.format(data));
  } 
}

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

09/09/2022 - 14:39:53


GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como converter graus em radianos usando a função deg2rad() do GNU Octave - GNU Octave para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 1418 vezes
Quer aprender como calcular radianos ou como converter graus em radianos? Veja a fórmula nessa dica.

Quando estamos trabalhando com trigonometria no software GNU Octave, é importante ficarmos atentos ao fato de que todos os métodos e funções trigonométricas nessa linguagem recebem seus argumentos em radianos, em vez de graus.

Nesta dica veremos como converter graus em radianos (sem a chatice de ficar relembrando regra de três). Veja a fórmula abaixo:

\[Radianos = Graus \times \frac{\pi}{180}\]

Agora veja como esta fórmula pode ser escrita no GNU Octave. Primeiro vamos usar a fórmula dada e depois veremos a função deg2rad(). Assim, digite a expressão a seguir na janela de comandos do GNU Octave:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

>> 30 * (pi / 180) [Enter]
ans = 0.5236
>>

Agora veja como podemos obter o mesmo resultado usando a função deg2rad():

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

>> deg2rad(30) [Enter]
ans = 0.5236
>>

Finalmente, veja como usar esta função em um script do GNU Octave:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

graus = input("Informe o ângulo em graus: ");
radianos = deg2rad(graus);
fprintf("O ângulo em radianos é %f\n", radianos);

Execute este script e teremos o seguinte resultado na janela de comandos:

Informe o ângulo em graus: 30 [Enter]
O ângulo em radianos é 0.523599
>>


AutoCAD VBA ::: Dicas & Truques ::: Comprimentos, distâncias e ângulos

Como calcular a distância entre dois pontos no AutoCAD usando AutoCAD VBA

Quantidade de visualizações: 155 vezes
Em várias situações nós precisamos calcular e retornar a distância entre dois pontos na área de desenho do AutoCAD. Esta tarefa pode ser facilmente realizada com o uso da linguagem AutoCAD VBA.

Neste exemplo nós usaremos a função ThisDrawing.Utility.GetPoint() para pedir para o usuário selecionar dois pontos na área de desenho e em seguida vamos mostrar a distância entre eles.

Veja o código AutoCAD VBA completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

' Esta macro AutoCAD VBA demonstra como podemos
' calcular a distância entre dois pontos na área de
' desenho do AutoCAD
Sub DistanciaDoisPontos()
  ' vamos declarar os dois pontos geométricos
  Dim p As Variant
  Dim q As Variant
  ' para guardar as coordenadas temporárias
  Dim x As Double, y As Double, z As Double
  ' para guardar a distância
  Dim distancia As Double

  ' vamos pedir para o usuário informar os dois pontos
  p = ThisDrawing.Utility.GetPoint(, vbCrLf & _
    "Indique o primeiro ponto: ")
  q = ThisDrawing.Utility.GetPoint(p, vbCrLf & _
    "Indique o segundo ponto: ")

  ' agora calculamos a distância entre os dois pontos informados
  x = p(0) - q(0)
  y = p(1) - q(1)
  z = p(2) - q(2)
  distancia = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
 
  ' e mostramos o resultado
  MsgBox "A distância entre os dois pontos é: " & distancia
End Sub

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

A distância entre os dois pontos é: 64.6029


C ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators)

Exercícios Resolvidos de C - Como converter de decimal para binário usando os operadores de bits em C

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

Escreva um programa C para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits.

Sua saída deverá ser parecida com:

Informe um número decimal: 9
O número binário é: 00000000000000000000000000001001
Resposta/Solução:

Veja a resolução completa para o exercício em C, comentada linha a linha:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
#define TAM_INT sizeof(int) * 8

int main(int argc, char *argv[]){
  // variáveis para ajudar a resolver o problema
  int decimal, indice, i;
  
  // vetor para guardar o número binário
  int binario[TAM_INT];

  setlocale(LC_ALL,""); // para acentos do português 

  // vamos pedir para o usuário informar um decimal inteiro
  printf("Informe um número decimal: ");
  scanf("%d", &decimal);

  // ajustamos índice para o último elemento do vetor
  indice = TAM_INT - 1;

  // enquanto índice for maior ou igual a 0
  while(indice >= 0){
    // vamos guardar o bit menos significativo LSB
    binario[indice] = decimal & 1;
    
    // diminuímos o índice
    indice--;

    // desloca bits para a direita uma posição
    decimal = decimal >> 1;
  }

  // agora vamos exibir o número binário
  printf("O número binário é: ");
  for(i = 0; i < TAM_INT; i++){
    printf("%d", binario[i]);
  }
 
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 74 usuários muito felizes estudando em nosso site.