Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico

Algoritmo C++ para ler um número inteiro e exibir o dobro e o triplo do número informado - Desafio de Programação Resolvido em C++

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

Faça um algoritmo C++ que pede para o usuário digitar um número inteiro e obtenha como resultado o dobro e o triplo do número digitado.

Sua saída deve ser parecida com:

Informe um número inteiro: 7
Você informou o número: 7
O dobro do número é: 14
O triplo do número é: 21
Resposta/Solução:

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

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

#include <iostream>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int numero, dobro, triplo;
    
  // vamos pedir para o usuário informar o número inteiro
  cout << "Informe um número inteiro: ";
  cin >> numero;
  cout << "Você informou o número: " << numero << endl;
    
  // vamos calcular o dobro
  dobro = numero * 2;
  cout << "O dobro do número é: " << dobro << endl;
    
  // vamos calcular o triplo
  triplo = numero * 3;
  cout << "O triplo do número é: " << triplo << endl;
  
  cout << "\n\n";
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}


Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em Python - Python para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 5661 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código Python, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código Python que declara uma matriz 2x3 e gera a matriz transposta 3x2:

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

# importamos a bibliteca NumPy
import numpy as np
   
def main():
  # vamos declarar e construir uma matrix
  # 2x3 (duas linhas e três colunas
  matriz = np.array([(3, 5, 7), (1, 2, 9)])
    
  # vamos exibir os valores da matriz
  print("Elementos da matriz:")
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      print("%7.2f" % matriz[i][j], end="")
    
    print()

  # como temos uma matriz 2x3, a transposta deverá ser
  # 3x2, ou seja, três linhas e duas colunas
  linhas = np.shape(matriz)[0] # linhas da matriz original
  colunas = np.shape(matriz)[1] # colunas da matriz original
  transposta = np.empty((colunas, linhas)) 
    
  # e agora vamos preencher a matriz transposta
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      transposta[j][i] = matriz[i][j]
    
  # vamos exibir os valores da matriz transposta
  print("\nElementos da matriz transposta:")
  for i in range(np.shape(transposta)[0]):
    for j in range(np.shape(transposta)[1]):
      print("%7.2f" % transposta[i][j], end="")
    
    print()  

if __name__== "__main__":
  main()

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

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  


É possível também obter a matriz transposta de um outra matriz usando o método transpose() da biblioteca NumPy da linguagem Python. Veja:

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

# importamos a bibliteca NumPy
import numpy as np
   
def main():
  # vamos declarar e construir uma matrix
  # 2x3 (duas linhas e três colunas
  matriz = np.array([(3, 5, 7), (1, 2, 9)])
    
  # vamos exibir os valores da matriz
  print("Elementos da matriz:")
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      print("%7.2f" % matriz[i][j], end="")
    
    print()

  # vamos transpor a matriz usando o método transpose()
  transposta = matriz.transpose() 
    
  # vamos exibir os valores da matriz transposta
  print("\nElementos da matriz transposta:")
  for i in range(np.shape(transposta)[0]):
    for j in range(np.shape(transposta)[1]):
      print("%7.2f" % transposta[i][j], end="")
    
    print()  

if __name__== "__main__":
  main()

Ao executar este novo código Python veremos que o resultado é o mesmo.


Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico

Exercícios Resolvidos de Lisp - Como calcular a soma, o produto, a diferença e o quociente de dois números inteiros informados pelo usuário

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

Escreva um programa Common Lisp que pede para o usuário informar dois número inteiros. Em seguida mostre a soma, o produto, a diferença e o quociente dois dois números informados.

Sua saída deverá ser parecida com:

Informe o primeiro número: 8
Informe o segundo número: 3
A soma dos números é: 11
O produto dos números é: 24
A diferença dos números é: 5
O quociente dos números é: 2.66667
Resposta/Solução:

Veja a resolução comentada deste exercício usando Common Lisp:

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

; Este é o programa principal
(defun Exercicio()
  ; Variáveis usadas na resolução do problema
  (let ((n1)(n2)(soma)(produto)
    (diferenca)(quociente))
    ; Vamos ler os dois números
    (princ "Informe o primeiro número: ")
    ; talvez o seu compilador não precise disso
    (force-output)
    ; atribui o valor lido à variável n1
    (setq n1 (read))
    (princ "Informe o segundo número: ")
    ; talvez o seu compilador não precise disso
    (force-output)
    ; atribui o valor lido à variável n2
    (setq n2 (read))
  
    ; vamos somar os dois números
    (setq soma (+ n1 n2))
    ; vamos calcular o produto
    (setq produto (* n1 n2))
    ; vamos calcular a diferença
    (setq diferenca (- n1 n2))
    ; vamos calcular o quociente
    (setq quociente (/ n1 (* n2 1.0)))
  
    ; E mostramos o resultado
    (format t "A soma dos números é ~D" soma)
    (format t "~%O produto dos números é ~D" produto)
    (format t "~%A diferença dos números é ~D" diferenca)
    (format t "~%O quociente dos números é ~F" quociente)	
  )
)

; Auto-executa a função Exercicio()
(Exercicio)



Java ::: Dicas & Truques ::: Fuso Horários

Como retornar uma lista de todos os IDs de fusos horários suportados pela linguagem Java usando o método getAvailableIDs() da classe TimeZone

Quantidade de visualizações: 8731 vezes
A linguagem Java, por meio da classe TimeZone, nos permite trabalhar com uma enorme variedade de fusos horários. No entanto, antes de assumir que um determinado fuso horário é suportado, é interessante verificar se tal fuso horário está na lista de IDs suportados. Isso pode ser feito com uma chamada ao método estático getAvailableIDs(). Este método retorna o ID de todos os fusos horários suportados. Veja um exemplo de como usá-lo:

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

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // obtém todos os IDs de fusos horários 
    // disponíveis na classe TimeZone
    String fusos[] = TimeZone.getAvailableIDs();

    for(int i = 0; i < fusos.length; i++){
      System.out.println(fusos[i]);
    } 
  } 
}

Ao executar este código você terá um resultado semelhante à (optamos por listar apenas os 100 primeiros resultados):

Etc/GMT+12
Etc/GMT+11
MIT
Pacific/Apia
Pacific/Midway
Pacific/Niue
Pacific/Pago_Pago
Pacific/Samoa
US/Samoa
America/Adak
America/Atka
Etc/GMT+10
HST
Pacific/Fakaofo
Pacific/Honolulu
Pacific/Johnston
Pacific/Rarotonga
Pacific/Tahiti
SystemV/HST10
US/Aleutian
US/Hawaii
Pacific/Marquesas
AST
America/Anchorage
America/Juneau
America/Nome
America/Yakutat
Etc/GMT+9
Pacific/Gambier
SystemV/YST9
SystemV/YST9YDT
US/Alaska
America/Dawson
America/Ensenada
America/Los_Angeles
America/Tijuana
America/Vancouver
America/Whitehorse
Canada/Pacific
Canada/Yukon
Etc/GMT+8
Mexico/BajaNorte
PST
PST8PDT
Pacific/Pitcairn
SystemV/PST8
SystemV/PST8PDT
US/Pacific
US/Pacific-New
America/Boise
America/Cambridge_Bay
America/Chihuahua
America/Dawson_Creek
America/Denver
America/Edmonton
America/Hermosillo
America/Inuvik
America/Mazatlan
America/Phoenix
America/Shiprock
America/Yellowknife
Canada/Mountain
Etc/GMT+7
MST
MST7MDT
Mexico/BajaSur
Navajo
PNT
SystemV/MST7
SystemV/MST7MDT
US/Arizona
US/Mountain
America/Belize
America/Cancun
America/Chicago
America/Costa_Rica
America/El_Salvador
America/Guatemala
America/Indiana/Knox
America/Indiana/Petersburg
America/Indiana/Vincennes
America/Knox_IN
America/Managua
America/Menominee
America/Merida
America/Mexico_City
America/Monterrey
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Rainy_River
America/Rankin_Inlet
America/Regina
America/Swift_Current
America/Tegucigalpa
America/Winnipeg
CST
CST6CDT
Canada/Central
Canada/East-Saskatchewan
Canada/Saskatchewan
Chile/EasterIsland

Um bom uso deste método é quando estamos desenvolvendo uma aplicação que mostra o horário ao redor do mundo. Podemos ter uma lista de fusos horários e, mediante a seleção do usuário, fornecer o valor selecionado para o método setTimeZone() da classe Calendar, por exemplo.


PHP ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em PHP - Como usar o modificador de acesso public em suas classes PHP

Quantidade de visualizações: 7268 vezes
Quando estamos desenvolvendo a lógica de nossas classes PHP, é sempre uma boa idéia definirmos quais propriedades e métodos poderão ser acessados pelas demais classes e partes do código que formam o sistema. Este controle de acesso é feito por modificadores de acesso. Nesta dica veremos como usar o modificador public.

O modificador public serve para indicar que as propriedades ou métodos (funções) de uma classe podem ser acessados sem restrições por código fora da classe. Veja um exemplo:

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

<?
  class Pessoa{
    public $nome;
  }

  $pessoa = new Pessoa;
  $pessoa->nome = "Osmar J. Silva";
  echo $pessoa->nome;
?>

Aqui podemos acessar a propriedade $nome tanto para leitura como escrita sem nenhuma restrição. Tenha em mente que a ausência de um modificador de acesso antes de uma propriedade ou método automaticamente faz com que este acesso seja public.

Veja agora um trecho de código no qual definimos um método public (público) em uma classe e o acessamos a partir de um código externo:

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

<?
  class Matematica{
    public function somar($a, $b){
      return $a + $b;
    }
  }

  $mat = new Matematica;
  echo $mat->somar(5, 7);
?>


Lembre-se de que as sub-classes de uma classe que possui propriedades e métodos public herdam toda esta funcionalidade.


C# ::: Windows Forms ::: DataGridView

Como ligar um DataGridView do C# Windows Forms à tabela de um banco de dados e efetuar inserção, alteração e remoção de registros

Quantidade de visualizações: 32489 vezes
Uma das principais dúvidas que recebo em meu site é em relação aos passos necessários para associar um DataGridView com a tabela de um banco de dados e listar os dados. Em tempo de design este processo é relativamente fácil, visto que temos wizards que nos acompanham e fazem o trabalho mais pesado nos bastidores. No entanto, o cenário é completamente diferente quando temos que realizar tal tarefa via código. Espero que esta dica o deixe mais preparado para enfrentar tais situações.

Para esta dica eu fiz uma conexão Visual C# 2005 + MySQL 5.0 usando ODBC (caso tenha dúvidas sobre isso, veja minha seção sobre C# + MySQL). Criei uma tabela MySQL chamada clientes contendo id, nome, idade, cidade e estado do cliente. Criei uma classe de conexão, inseri um DataGridView no formulário e coloquei as declarações abaixo na classe do formulário Form1.cs (fora dos métodos, para que os dados sejam globais na classe):

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

// membros de instância de acesso global na classe
// Dica: Se estiver usando SQL Server, troque "Odbc" por
// "Sql" (Ex: SQLConnection, SqlCommand, SqlDataAdapter)

// conexão com o banco de dados
OdbcConnection conn = null;
OdbcCommand cmd = null;
OdbcDataAdapter adapter = null;
DataSet ds = null;


Em seguida colocamos o código abaixo no evento Click de um botão:

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

private void button4_Click(object sender, EventArgs e){
  // Dica: Se estiver usando SQL Server, troque "Odbc" 
  // por "Sql" (Ex: SqlCommand, SqlDataAdapter, etc)
  
  // obtém a conexão com o banco de dados
  conn = ConexaoODBC.obterConexao();

  if(conn != null){
    // obtém todos os clientes cadastrados
    cmd = new OdbcCommand("SELECT * FROM clientes",
      conn);

    adapter = new OdbcDataAdapter(cmd);
    ds = new DataSet();
    adapter.Fill(ds, "clientes_table");

    // exibe os dados da tabela no DataGridView 
    dataGridView1.DataSource = ds;
    dataGridView1.DataMember = "clientes_table";

    // fecha a conexão
    ConexaoODBC.fecharConexao();
  }
}

Aqui os dados já são listados no DataGridView. Porém, as alterações efetuadas no controle ainda não são repassadas para o banco de dados. Veja o código adicional no evento Click de outro botão:

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

private void button5_Click(object sender, EventArgs e){
  // vamos salvar os dados do DataGridView para a tabela do
  // banco de dados
  
  // Dica: Se estiver usando SQL Server, troque "Odbc" por
  // "Sql" (Ex: SqlCommandBuilder)

  // obtém a conexão com o banco de dados
  conn = ConexaoODBC.obterConexao();

  if(conn != null){
    OdbcCommandBuilder cmb = new OdbcCommandBuilder(adapter);
    cmb.GetUpdateCommand();
    adapter.Update(ds.Tables["clientes_table"]);

    // fecha a conexão
    ConexaoODBC.fecharConexao();
  }
}

Pronto! Execute a aplicação, clique no primeiro botão para carregar os dados da tabela MySQL no DataGridView. Em seguida efetue algumas alterações, insira ou exclua linhas e clique no segundo botão. Feche a aplicação e abra-a novamente e se certifique de que os registros foram atualizados, inseridos ou removidos com sucesso.


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

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

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



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