Desafios e Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: PHP ::: Dicas & Truques ::: PDO (PHP Data Objects)

PHP PDO - Como disparar comandos SELECT usando a função PDO->query()

Quantidade de visualizações: 14047 vezes
Nesta dica mostrarei como disparar uma query SELECT usando PDO->query(). Veja que mostramos ainda como percorrer os resultados obtidos.

Para este exemplo eu me conectei a um banco de dados MySQL e obtive dados de uma tabela chamada "produtos".

Veja o código PHP PDO MySQL completo para o exemplo (incluindo a conexão com o banco de dados):



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

Id: 1
Nome: ARROZ TIPO A
Preço: 13
Quantidade: 320

Id: 2
Nome: FEIJÃO CARIOCA
Preço: 9.5
Quantidade: 120

Id: 3
Nome: EXTRATO DE TOMATE AMD
Preço: 4.24
Quantidade: 50

Link para compartilhar na Internet ou com seus amigos:

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

Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C

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

Escreva um programa C para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
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 <stdio.h>
#include <stdlib.h>
#include <locale.h>

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int numero, sucessor, antecessor;
	
  setlocale(LC_ALL,""); // para acentos do português 
  
  // vamos pedir para o usuário informar um número inteiro
  printf("Informe um número inteiro: ");
  scanf("%d", &numero);
    
  // vamos calcular o sucessor do número informado
  sucessor = numero + 1;
    
  // vamos calcular o antecessor do número informado
  antecessor = numero - 1;
    
  // e agora mostramos os resultados
  printf("O número informado foi: %d\n", numero);
  printf("O antecessor é %d\n", antecessor);
  printf("O sucessor é: %d", sucessor);
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



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

Exercícios Resolvidos de Java - Valor da diária, valor médio arrecadado com e sem promoção e o lucro ou prejuízo mensal de uma promoção em um hotel

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

Escreva um programa Java para resolver o seguinte problema:

Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem, escrever um algoritmo que lê a diária normal, que calcule e escreva as seguintes informações:

(a) O valor da diária no período da promoção.
(b) O valor médio arrecadado sem a promoção, durante um mês.
(c) O valor médio arrecadado com a promoção, durante um mês.
(d) O lucro ou prejuízo mensal com a promoção.

Seu código Java deverá apresentar uma saída parecida com:

Informe o valor da diária normal: 120
Diária no período de promoção: 26,40
Média arrecadada sem a promoção durante um mês: 8064,00
Média arrecadada com a promoção durante um mês: 3104,64
Prejuízo mensal com a promoção: 4959,36
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);

    // valor da diária em período normal  
    double valor_diaria_normal;
    // valor da diária no período de promoção
    double valor_diaria_promocao;

    // vamos obter o valor da diária no período normal
    System.out.print("Informe o valor da diária normal: ");
    valor_diaria_normal = Double.parseDouble(entrada.nextLine());

    // vamos obter o valor da diária no período promocional
    valor_diaria_promocao = valor_diaria_normal * (22.0 / 100.0);

    // vamos calcular o valor médio arrecadado sem a promoção, durante um mês
    // estamos assumindo 4 finais de semana por mês
    double media_arrecado_sem_promocao = (valor_diaria_normal
      * (42 * (40.0 / 100.0)) * 4);

    // vamos calcular o valor médio arrecadado com a promoção, durante um mês
    // estamos assumindo 4 finais de semana por mês
    double media_arrecado_com_promocao = (valor_diaria_promocao
      * (42 * (70.0 / 100.0)) * 4);

    System.out.printf("Diária no período de promoção: %.2f\n",
      valor_diaria_promocao);
    System.out.printf("Média arrecadada sem a promoção durante um mês: %.2f\n",
      media_arrecado_sem_promocao);
    System.out.printf("Média arrecadada com a promoção durante um mês: %.2f\n",
      media_arrecado_com_promocao);

    // houve lucro ou prejuízo?
    if (media_arrecado_sem_promocao < media_arrecado_com_promocao) {
      System.out.printf("Lucro mensal com a promoção: %.2f\n",
        media_arrecado_com_promocao - media_arrecado_sem_promocao);
    } 
    else {
      System.out.printf("Prejuízo mensal com a promoção: %.2f\n",
        media_arrecado_sem_promocao - media_arrecado_com_promocao);
    }
  }
}



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

Java Swing - Como detectar as teclas Insert ou Delete usando o método getKeyCode() da classe KeyEvent do Java

Quantidade de visualizações: 3050 vezes
Em algumas situações nós precisamos detectar o pressionamento das teclas Insert ou Delete. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_INSERT (Ins) ou KeyEvent.VK_DELETE (Del).

Veja um trecho de código no qual testamos se alguma destas duas 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 Insert foi pressionada?
    if(e.getKeyCode() == KeyEvent.VK_INSERT){
      JOptionPane.showMessageDialog(null, "A tecla Insert foi pressionada");
    }
    // a tecla Enter Delete pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_DELETE){
      JOptionPane.showMessageDialog(null, "A tecla Delete 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 Insert e Delete podem ser detectadas somente nos eventos keyPressed e keyReleased.


Java ::: Dicas & Truques ::: Formatação de datas, strings e números

Como usar o método format() da classe NumberFormat do Java para formatar um valor float ou double de acordo com as configurações regionais - Revisado

Quantidade de visualizações: 10856 vezes
Nesta dica mostrarei como usar o método format() da classe NumberFormat da linguagem Java. Esta classe está no pacote java.text e é usada para a formatação e análise de valores numéricos.

Note como usei o método getInstance() sem argumentos. Isso nos permite retornar uma instância de NumberFormat de acordo com as configurações regionais da máquina na qual o código está sendo executado.

Veja o código completo:

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

package arquivodecodigos;

import java.text.NumberFormat;

public class Estudos{
  public static void main(String[] args){
    // vamos double a ser formatado
    double valor = 1234567.89;
    
    // vamos obter uma instância de acordo com as configurações
    // regionais
    NumberFormat nf = NumberFormat.getInstance();
    // e agora usamos o método format() para formatar
    String numFormatado = nf.format(valor);
    
    // exibimos o valor original
    System.out.println("Sem formatação: " + valor);
    // com formatação
    System.out.println("Com formatação: " + numFormatado); 
  }
}

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

Sem formatação: 1234567.89
Com formatação: 1.234.567,89

Esta dica foi revisada e testada no Java 8.


Python ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para float ou double em Python usando a função float()

Quantidade de visualizações: 1255 vezes
Em algumas situações nós temos um valor numérico representado por uma string e gostaríamos de convertê-lo para um valor float ou double na linguagem Python. Para isso nós podemos usar a função float(), disponível por padrão na linguagem.

Note o uso da função type() para exibirmos o tipo da variável antes e depois da conversão.

Veja o código Python completo para o exemplo:

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

# método principal
def main():
  # vamos pedir para o usuário informar o preço de um produto
  # note que o preço será lido como uma string
  preco = input("Informe o valor do produto: ")

  # vamos exibir o valor lido e o tipo da variável
  print("Você informou o valor: {0}".format(preco))
  print("O tipo da variável é: {0}".format(type(preco)))

  # agora vamos converter a string para o tipo float
  preco = float(preco)
  
  # vamos mostrar o novo tipo da variável
  print("O novo tipo da variável é: {0}".format(type(preco)))

if __name__== "__main__":
  main()

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

Informe o valor do produto: 45.92
Você informou o valor: 45.92
O tipo da variável é: <class 'str'>
O novo tipo da variável é: <class 'float'>

É preciso, no entanto, ter cuidado ao informar a string que será convertida para float. Se, em vez de informar o ponto separador de decimal, nós informarmos a vírgula, o seguinte erro será apresentado:

Informe o valor do produto: 45,21
Você informou o valor: 45,21
O tipo da variável é: <class 'str'>
Traceback (most recent call last):
File "c:\estudos_python\estudos.py", line 18, in <module>
main()
File "c:\estudos_python\estudos.py", line 12, in main
preco = float(preco)
ValueError: could not convert string to float: '45,21'


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

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á 90 usuários muito felizes estudando em nosso site.