![]() |
|
||||
Código-Fonte Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesTenha 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 |
|||||
Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Java ::: Coleções (Collections) ::: Set (Conjunto) |
Como usar objetos da interface Set para representar a união de dois ou mais conjuntos na linguagem JavaQuantidade de visualizações: 4907 vezes |
|
Na teoria dos conjuntos, a união de dois ou mais conjuntos é o conjunto dos elementos que pertencem a pelo menos um destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A união desses dois conjuntos é C = {1, 2, 3, 5, 8, 19, 30}. Na programação Java podemos representar a união de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código:
package estudos;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class Estudos{
public static void main(String[] args) {
// primeiro conjunto
Set<Integer> conjuntoA = new TreeSet<>();
conjuntoA.add(2);
conjuntoA.add(5);
conjuntoA.add(8);
conjuntoA.add(19);
conjuntoA.add(30);
// segundo conjunto
Set<Integer> conjuntoB = new TreeSet<>();
conjuntoB.add(2);
conjuntoB.add(3);
conjuntoB.add(1);
conjuntoB.add(30);
// vamos obter a união dos dois conjuntos
Set<Integer> conjuntoC = uniao(conjuntoA, conjuntoB);
// vamos exibir os elementos no conjunto C
Iterator iterator = conjuntoC.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
// método genérico que permite obter a união de dois conjuntos
public static <T> Set<T> uniao(Set<T> conjA, Set<T> conjB){
// Primeiro o conjunto C recebe todos os elementos do conjunto A
Set<T> conjC = new TreeSet<>(conjA);
// Em seguida o conjunto C recebe todos os elementos do conjunto B.
// Como um Set não aceita elementos duplicados, apenas os elementos
// de B que ainda não estejam no conjunto C serão aceitos
conjC.addAll(conjB);
return conjC;
}
}
Ao executarmos este código teremos o seguinte resultado: 1 2 3 5 8 19 30 |
Python ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Python: Classes, objetos, métodos e variáveis de instância - AtualizadoQuantidade de visualizações: 14414 vezes |
|
A melhor forma de entender a programação orientada a objetos (OOP) é começar com uma analogia simples. Suponha que você queira dirigir um carro e fazê-lo ir mais rápido pressionado o acelerador. O que deve acontecer antes que você seja capaz de fazer isso? Bem, antes que você possa dirigir um carro, alguém tem que projetá-lo. Um carro geralmente começa com desenhos feitos pelos engenheiros responsáveis por tal tarefa, tal qual a planta de uma casa. Tais desenhos incluem o projeto de um acelerador que possibilita ao carro ir mais rápido. O pedal do acelerador "oculta" os mecanismos complexos responsáveis por fazer o carro ir mais rápido, da mesma forma que o pedal de freio "oculta" os mecanismos que fazem o carro ir mais devagar e o volante "oculta" os mecanismos que fazem com que o carro possa virar para a direita ou esquerda. Isso permite que pessoas com pequeno ou nenhum conhecimento de motores possam facilmente dirigir um carro. Infelizmente, não é possível dirigir o projeto de um carro. Antes que possamos dirigí-lo, o carro deve ser construído a partir do projeto que o descreve. Um carro já finalizado tem um pedal de aceleração de verdade, que faz com que o carro vá mais rápido. Ainda assim, é preciso que o motorista pressione o pedal. O carro não acelerará por conta própria. Agora vamos usar nosso exemplo do carro para introduzir alguns conceitos de programação importantes à programação orientada a objetos. A execução de uma determinada tarefa em um programa exige um método. O método descreve os mecanismos que, na verdade, executam a tarefa. O método oculta tais mecanismos do usuário, da mesma forma que o pedal de aceleração de um carro oculta do motorista os mecanismos complexos que fazem com que um carro vá mais rápido. Em Python, começamos criando uma unidade de programa chamada classe para abrigar um método, da mesma forma que o projeto de um carro abriga o design do pedal de acelerador. Em uma classe fornecemos um ou mais métodos que são projetados para executar as tarefas da classe. Por exemplo, a classe que representa uma conta bancária poderia conter muitos métodos, incluindo um método para depositar dinheiro na conta, outro para retirar dinheiro, um terceiro para verificar o saldo, e assim por diante. Da mesma forma que não podemos dirigir o projeto de um carro, nós não podemos "dirigir" uma classe. Da mesma forma que alguém teve que construir um carro a partir de seu projeto antes que pudessémos dirigí-lo, devemos construir um objeto de uma classe antes de conseguirmos executar as tarefas descritas nela. Quando dirigimos um carro, o pressionamento do acelerador envia uma mensagem ao carro informando-o da tarefa a ser executada (neste caso informando-o de que queremos ir mais rápido). Da mesma forma, enviamos mensagens aos objetos de uma classe. Cada mensagem é uma chamada de método e informa ao objeto qual ou quais tarefas devem ser executadas. Até aqui nós usamos a analogia do carro para introduzir classes, objetos e métodos. Já é hora de saber que um carro possui atributos (propriedades) tais como cor, o número de portas, a quantidade de gasolina em seu tanque, a velocidade atual, etc. Tais atributos são representados como parte do projeto do carro. Quando o estamos dirigindo, estes atributos estão sempre associados ao carro que estamos usando, e cada carro construído a partir do projeto sofrerá variações nos valores destes atributos em um determinado momento. Da mesma forma, um objeto tem atributos associados a ele quando o usamos em um programa. Estes atributos são definidos na classe a partir da qual o objeto é instanciado (criado) e são chamados de variáveis de instância da classe. Veremos agora como definir uma classe em Python e usar um objeto desta classe em um programa. Veja o trecho de código abaixo:
# Definição da classe Cliente
class Cliente:
"Minha primeira classe Python"
# define a propriedade nome
_nome = None
# um método que permite definir o nome do cliente
def definir_nome(self, nome):
self._nome = nome
# um método que permite obter o nome do cliente
def obter_nome(self):
return self._nome
# Fim da definição da classe Cliente
def main():
# Cria uma instância da classe Cliente
cliente = Cliente()
# Define o nome do cliente
cliente.definir_nome("Osmar J. Silva")
# Obtém o nome do cliente
print(cliente.obter_nome())
if __name__== "__main__":
main()
Em mais dicas dessa seção você aprenderá mais sobre a programação orientada a objeto em Python. |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Java Swing para iniciantes - Como detectar eventos do teclado em uma janela JFrame do Java SwingQuantidade de visualizações: 13774 vezes |
|
Eventos do teclado podem ser detectados em uma janela JFrame do Java Swing por meio da interface KeyListener. Neste exemplo temos uma JFrame que estende essa interface e fornece implementação para o seu método keyPressed(). Temos também um controle JTextArea desabilitado, o qual usamos para exibir a letra e o código da tecla pressionada. Veja o resultado na imagem abaixo: ![]() E aqui está o código Java Swing completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Estudos extends JFrame implements KeyListener{
private JTextArea textArea;
public Estudos(){
super("Eventos do Mouse e Teclado");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
textArea = new JTextArea(100, 150);
textArea.setEnabled(false);
textArea.setDisabledTextColor(Color.BLACK);
c.add(textArea);
addKeyListener(this);
setSize(350, 250);
setVisible(true);
}
public void keyPressed(KeyEvent e){
textArea.setText(
String.format("Tecla: %s - Código Unicode: %d",
e.getKeyText(e.getKeyCode()), e.getKeyCode()));
}
public void keyReleased(KeyEvent e){
// sem implementação
}
public void keyTyped(KeyEvent e){
// sem implementação
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deveráQuantidade de visualizações: 505 vezes |
|
Pergunta/Tarefa: Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tente novamente Sua saída deverá ser parecida com: Adivinhe o número mágico: 100 Tente um número menor. Adivinhe o número mágico: 50 Tente um número maior. Adivinhe o número mágico: 60 Tente um número maior. Adivinhe o número mágico: 80 Tente um número maior. Adivinhe o número mágico: 90 Tente um número maior. Adivinhe o número mágico: 95 Tente um número menor. Adivinhe o número mágico: 94 Tente um número menor. Adivinhe o número mágico: 93 Tente um número menor. Adivinhe o número mágico: 92 Você acertou o número em 9 tentativas. Classificação: Normal Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Random;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// variáveis usadas na resolução do problema
int numero_magico, palpite, tentativas = 0;
boolean acertou = false;
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos sortear o número entre 0 e 500
Random rand = new Random();
numero_magico = rand.nextInt(501);
// um laço que repete enquanto o usuário não
// acertar o número mágico
while (!acertou) {
System.out.print("Adivinhe o número mágico: ");
palpite = Integer.parseInt(entrada.nextLine());
// registra essa tentativa
tentativas = tentativas + 1;
// o usuário acertou o número mágico?
if (palpite == numero_magico) {
System.out.println("Você acertou o número em " + tentativas + " tentativas.");
// mostra a classificação do usuário
if (tentativas <= 3) {
System.out.println("Classificação: Muito Sortudo");
}
else if ((tentativas >= 4) && (tentativas <= 6)) {
System.out.println("Classificação: Sortudo");
}
else if ((tentativas >= 7) && (tentativas <= 10)) {
System.out.println("Classificação: Normal");
}
else {
System.out.println("Classificação: Tente Novamente");
}
// sai do laço
acertou = true;
}
else {
// indica se o palpite é maior ou menor
if (palpite < numero_magico) {
System.out.println("Tente um número maior.\n");
}
else {
System.out.println("Tente um número menor.\n");
}
}
}
}
}
|
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHPQuantidade de visualizações: 6 vezes |
|
Nesta dica veremos como é possível subtrair horas de uma data. Para isso nós usaremos a função mktime() da linguagem PHP, com as horas subtraídas da parte date("H") da nova data e hora. Veja o código PHP completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
echo "Agora é: " . date("d/m/Y - H:i:s") . "<br>";
$data_anterior = mktime(date("H") - 15, date("i"),
date("s"), date("m"), date("d"), date("Y"));
echo "15 horas atrás era: " .
date("d/m/Y - H:i:s", $data_anterior);
?>
</body>
</html>
Ao executar este código PHP nós teremos o seguinte resultado: Agora é: 21/04/2020 - 22:53:06 15 horas atrás era: 21/04/2020 - 07:53:06 |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
React.js - Aprenda a desenvolver aplicações React diretamente no HTML, sem usar a ferramenta create-react-app AutoCAD .NET API C# - Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






