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
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: ActionScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Adicionando elementos no final de um array

Quantidade de visualizações: 7176 vezes
// Este exemplo mostra como adicionar elementos
// no final de um array.

var nomes:Array = ["Osmar", "Fábio", "Carlos",
  "Marcelo", "Xavier"];

var res:String = "Valores do array:\n\n";

// vamos adicionar mais um elemento no final
// do array
nomes.push("Viviane");

// vamos percorrer os elementos do array
for(var i:int = 0; i < nomes.length; i++){
  res += nomes[i] + "\n";
}

Alert.show(res);


Link para compartilhar na Internet ou com seus amigos:

Java ::: Coleções (Collections) ::: HashMap

Como adicionar novos mapeamentos chave-valor a um HashMap do Java usando o método put()

Quantidade de visualizações: 9237 vezes
Novos mapeamentos chave-valor são adicionados a um HashMap da linguagem Java usando-se o método put(). Veja sua assinatura:

public V put(K key, V value)


Note que este método recebe a chave e o valor a ser inserido e retorna um objeto do mesmo tipo daquele fornecido no segundo argumento. Este retorno é muito útil para sabermos se o novo valor não sobrepôs um valor já existente. Se o retorno for null, o novo valor foi inserido. Caso contrário o retorno será o valor existente antes da sobreposição. Apenas tenha cuidado com valores null existentes como chaves ou valores. Nestes casos o retorno do método put não ajudará em nada.

Veja um exemplo do uso do método put():

package estudos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    
    // vamos criar uma instância de HashMap
    HashMap<Integer, String> clientes = new HashMap<Integer, String>();

    // vamos adicionar três chaves e seus valores
    clientes.put(new Integer(1), "Osmar J. Silva");
    clientes.put(new Integer(2), "Salvador Miranda de Andrade");
    clientes.put(new Integer(3), "Marcos da Costa Santos");

    // é possível também referenciar o valor adicionado
    // ao HashMap, uma vez que este é o retorno do métoto put()
    String nome = clientes.put(new Integer(2), "Carlos"); 

    if(nome == null){
      System.out.println("Novo valor inserido com sucesso");
    }
    else{
      System.out.println("Valor já existia. Houve sopreposição"); 
    }

    System.exit(0);
  }
}

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

Valor já existia. Houve sopreposição


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Como testar se um número é perfeito usando Java

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

Escreva um programa Java que pede para o usuário informar um número inteiro e informa se este número é um número perfeito.

Um número perfeito é aquele cuja soma dos seus divisores, exceto ele próprio, é igual ao número. Por exemplo, o número 6 é perfeito, pois 1 + 2 + 3 = 6.

Sua saída deverá ser parecida com:

Informe um número inteiro: 6
O número informado é um número perfeito.
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    int numero; // número informado pelo usuário 
    int soma = 0; // vai guardar a soma dos dígitos

    // para efetuar a leitura da entrada do usuário
    Scanner entrada = new Scanner(System.in);

    // vamos pedir para o usuário informar o valor inteiro
    System.out.print("Informe um número inteiro: ");
    // lê o número informado
    numero = Integer.parseInt(entrada.nextLine());

    // um laço que começa em 1 e até o número informado - 1
    for(int i = 1; i < numero; i++){
      // o número é divisível pelo valor de i?
      if(numero % i == 0){
        soma = soma + i; // aumenta a soma
      }
    }

    // a soma é igual ao número informado?
    if(soma == numero){
      System.out.println("O número informado é um número perfeito.");
    }
    else{
      System.out.println("O número informado não é um número perfeito.");
    }    
  }
}



C++ ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em C++ dados dois pontos no plano cartesiano

Quantidade de visualizações: 1101 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem C++ que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char *argv[]){
  // coordenadas dos dois pontos
  float x1, y1, x2, y2;
  // guarda o coeficiente angular
  float m; 
       
  // x e y do primeiro ponto
  cout << "Coordenada x do primeiro ponto: ";
  cin >> x1;
  cout << "Coordenada y do primeiro ponto: ";
  cin >> y1;
     
  // x e y do segundo ponto
  cout << "Coordenada x do segundo ponto: ";
  cin >> x2;
  cout << "Coordenada y do segundo ponto: ";
  cin >> y2;   
     
  // vamos calcular o coeficiente angular
  m = (y2 - y1) / (x2 - x1);
     
  // mostramos o resultado
  cout << "O coeficiente angular é: " << m << "\n\n";
   
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.666667
Pressione qualquer tecla para continuar...

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

#include <iostream>
#include <cstdlib>
#include <math.h>
 
using namespace std;
 
int main(int argc, char *argv[]){
  // coordenadas dos dois pontos
  float x1, y1, x2, y2;
  // guarda os comprimentos dos catetos oposto e adjascente
  float cateto_oposto, cateto_adjascente;
  // guarda o ângulo tetha (em radianos) e a tangente
  float tetha, tangente;
       
  // x e y do primeiro ponto
  cout << "Coordenada x do primeiro ponto: ";
  cin >> x1;
  cout << "Coordenada y do primeiro ponto: ";
  cin >> y1;
     
  // x e y do segundo ponto
  cout << "Coordenada x do segundo ponto: ";
  cin >> x2;
  cout << "Coordenada y do segundo ponto: ";
  cin >> y2;   
     
  // vamos obter o comprimento do cateto oposto
  cateto_oposto = y2 - y1;
  // e agora o cateto adjascente
  cateto_adjascente = x2 - x1;
  // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
  // (em radianos, não se esqueça)
  tetha = atan2(cateto_oposto, cateto_adjascente);
  // e finalmente usamos a tangente desse ângulo para calcular
  // o coeficiente angular
  tangente = tan(tetha);
     
  // mostramos o resultado
  cout << "O coeficiente angular é: " << tangente << "\n\n";
   
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


Android Java ::: androidx.appcompat.app ::: AppCompatActivity

Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas

Quantidade de visualizações: 1522 vezes
Por mais simples que nossas aplicações Android sejam, elas serão compostas de duas ou mais telas, ou seja, duas ou mais Activity ou AppCompatActivity. Nesta dica mostrarei como usar o método startActivity() dessas duas classes para levar o usuário da primeira tela para a segunda. Lembre-se de que AppCompatActivity herda de Activity e, nos dias atuais, é a classe preferida para representar as telas individuais das aplicações Android.

Comece criando um novo projeto no Android Studio. Escolha Empty Activity e dê o nome "App Duas Telas" ao projeto. Observe que o Android Studio já criou uma Activity ou AppCompatActivity com o nome MainActivity.java.

Vamos nos certificar de que esta Activity é de fato a tela principal da aplicação. Abra o arquivo AndroidManifest.xml e veja se seu elemento <activity> se parece com o que temos abaixo:

<activity android:name=".MainActivity">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

Se tudo estiver Ok, vamos agora criar a segunda tela. Clique com o botão direito em cima do pacote "com.example.appduastelas" e escolha New -> Activity -> Empty Activity. Dê o nome "SegundaTela", desmarque a opção Launcher Activity e clique o botão Finish.

Se você observar o arquivo AndroidManifest.xml novamente, você verá que a segunda tela já foi adicionada lá.

Agora vamos examinar o arquivo XML de layout para a primeira tela (layout\activity_main.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="16dp"
  android:orientation="vertical"
  tools:context="com.example.appduastelas.MainActivity">

  <Button
   android:id="@+id/abrir_tela"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_marginTop="20dp"
   android:onClick="abrirSegundaTela"
   android:text="@string/abrir_tela" />
</LinearLayout>

Note que temos um elemento <LinearLayout> e, dentro dele, um elemento <Button>. No botão nós declaramos o método abrirSegundaTela para seu atributo onClick. Não esqueça de atualizar o arquivo strings.xml para refletir o texto do botão "@string/abrir_tela".

Pronto. Agora vamos ver o arquivo XML de layout para a segunda tela (layout\activity_segunda_tela.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="16dp"
  android:orientation="vertical"
  tools:context="com.example.appduastelas.SegundaTela">

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Sou a segunda tela."/>
</LinearLayout>

Nesse layout nós temos um elemento <LinearLayout> e, dentro dele, um elemento <TextView>, que serve apenas para exibir um texto qualquer na segunda tela.

Para finalizar, só precisamos escrever o método abrirSegundaTela() na MainActivity.java. Veja o código completo:

package com.example.appduastelas;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }

  // método usado para abrir a segunda tela
  public void abrirSegundaTela(View view) {
    Intent intent = new Intent(this, SegundaTela.class);
    startActivity(intent);
  }
}

Veja que dentro do método abrirSegundaTela(), que recebe uma View com parâmetro, nós criamos um novo objeto da classe Intent e fornecemos o nome da segunda tela. Em seguida fazemos uma chamada ao método startActivity() passando o Intent recém-criado como argumento.

Pronto! É só isso. Execute a aplicação, clique no botão e veja a segunda tela ser exibida. Pressione o botão Voltar e repita quantas vezes quiser. Agora é só criar mais telas e desenvolver vários e vários apps Android.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercício Resolvido de Java - Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações

Quantidade de visualizações: 5389 vezes
Exercícios Resolvidos de Java - Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações

Pergunta/Tarefa:

Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações:

void armazenaPessoa(String nome, int idade, float altura);
void removePessoa(String nome);
int buscaPessoa(String nome); // informa em que posição da agenda está a pessoa
void imprimeAgenda(); // imprime os dados de todas as pessoas da agenda
void imprimePessoa(int index); // imprime os dados da pessoa que está na posição "i" da agenda.

O código deverá ser desenvolvido em Java console (modo texto) e usar um menu switch() para as operações.

Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

Código para a classe Pessoa (Pessoa.java):

package arquivodecodigos;

public class Pessoa {
  private String nome;
  private int idade;
  private double altura;

  // construtor cheio 
  public Pessoa(String nome, int idade, double altura) {
    this.nome = nome;
    this.idade = idade;
    this.altura = altura;
  }

  // construtor vazio
  public Pessoa() {
  }
  
  
  // método que imprime todos os dados da pessoa
  public void imprimirDados(){
    System.out.println("Nome: " + nome + "\nIdade: " +
      idade + "\nAltura: " + altura);
  }
  
  public String getNome() {
    return nome;
  }

  public void setNome(String nome) {
    this.nome = nome;
  }

  public int getIdade() {
    return idade;
  }

  public void setIdade(int idade) {
    this.idade = idade;
  }

  public double getAltura() {
    return altura;
  }

  public void setAltura(double altura) {
    this.altura = altura;
  }
}     

Código para a classe Agenda (Agenda.java):

package arquivodecodigos;

public class Agenda {
  // vetor que guardará as pessoas
  private Pessoa pessoas[];

  // construtor da classe Agenda
  public Agenda(int quantidade){
    pessoas = new Pessoa[quantidade];
  }

  public void armazenaPessoa(String nome, int idade, double altura){
    // ainda temos posições disponíveis na agenda?
    boolean cadastrado = false;
    for(int i = 0; i < pessoas.length; i++){
      if(pessoas[i] == null){
        // encontramos uma posição
        Pessoa p = new Pessoa(nome, idade, altura); // criamos uma nova pessoa
        // guardamos ela no vetor
        pessoas[i] = p;
        // e avisamos que o cadastro foi efetuado com sucesso
        cadastrado = true;
        break; // sai do laço
      }
    }
    
    if(cadastrado){
      System.out.println("\nCadastro efetuado com sucesso");
    }
    else{
      System.out.println("\nNão foi possível cadastrar. Agenda cheia");
    }
  }

  // método que permite pesquisar e excluir uma pessoa
  public void removePessoa(String nome){
    // vamos verificar se a exclusão foi efetuada com sucesso
    boolean excluido = false;
    for(int i = 0; i < pessoas.length; i++){
      if(pessoas[i] != null){
        // esta é a pessoa que estamos procurando?
        if(pessoas[i].getNome().equals(nome)){
          pessoas[i] = null; // posição disponível novamente
          excluido = true;
          break; // sai do laço
        }
      }
    }
    
    if(excluido){
      System.out.println("\nPessoa removida com sucesso");
    }
    else{
      System.out.println("\nNão foi possível remover. Pessoa não encontrada.");
    }
  }

  // informa em que posição da agenda está a pessoa 
  public int buscaPessoa(String nome){
    int resultado = -1;
    
    // vamos verificar se a pessoa existe na agenda
    for(int i = 0; i < pessoas.length; i++){
      if(pessoas[i] != null){
        // esta é a pessoa que estamos procurando?
        if(pessoas[i].getNome().equals(nome)){
          resultado = i;
          break; // sai do laço
        }
      }
    }
    
    return resultado;
  }

  // imprime os dados de todas as pessoas da agenda
  public void imprimeAgenda(){
    // vamos percorrer o vetor de pessoas e imprimir cada uma
    for(int i = 0; i < pessoas.length; i++){
      if(pessoas[i] != null){
        Pessoa p = pessoas[i];
        System.out.println("\nNome: " + p.getNome());
        System.out.println("Idade: " + p.getIdade());
        System.out.println("Altura: " + p.getAltura());
      }
    }
  }

  // imprime os dados da pessoa que está na posição "i" da agenda
  public void imprimePessoa(int index){
    // este índice é válido?
    if((index < 0) || (index > (pessoas.length - 1))){
      System.out.println("\nÍndice inválido");
    }
    else{
      Pessoa p = pessoas[index];
      if(p == null){
        System.out.println("\nNão existe pessoa nesse índice ainda.");
      }
      else{
        System.out.println("\nNome: " + p.getNome());
        System.out.println("Idade: " + p.getIdade());
        System.out.println("Altura: " + p.getAltura());
      }
    }
  }  
}

Código para a classe Principal (Principal.java):

package arquivodecodigos;

import java.util.Scanner;

public class Principal {
  // para fazer a leitura da entrada do usuário
  static Scanner entrada = new Scanner(System.in);
  
  public static void main(String[] args) {
    // cria uma nova Agenda
    Agenda agenda = new Agenda(10);
    String nome; // nome da pessoa
    int idade; // idade da pessoa
    double altura; // altura da pessoa
    
    // cria o menu de opções
    while(true){
      System.out.println("\n1. Nova Pessoa");
      System.out.println("2. Excluir Pessoa");
      System.out.println("3. Buscar Pessoa");
      System.out.println("4. Imprimir Agenda");
      System.out.println("5. Imprimir Pessoa (Índice)");
      System.out.println("6. Sair");
      System.out.print("Sua opção: ");
      int opcao = Integer.parseInt(entrada.nextLine());
      
      switch(opcao){
        case 1:
          System.out.print("\nInforme o nome: ");
          nome = entrada.nextLine();
          System.out.print("Informe a idade: ");
          idade = Integer.parseInt(entrada.nextLine());
          System.out.print("Informe a altura (use ponto em vez de vírgula): ");
          altura = Double.parseDouble(entrada.nextLine());
          agenda.armazenaPessoa(nome, idade, altura);
          break;
          
        case 2:
          System.out.print("\nInforme o nome a ser removido: ");
          nome = entrada.nextLine();
          agenda.removePessoa(nome);
          break;  
        
        case 3:
          System.out.print("\nInforme o nome a ser pesquisado: ");
          nome = entrada.nextLine();
          int indice = agenda.buscaPessoa(nome);
          if(indice < 0){
            System.out.println("\nA pessoa não foi encontrada");
          }
          else{
            System.out.println("\nA pessoa foi encontrada no índice: "
              + indice);
          }
          
          break;  
        
        case 4:
          agenda.imprimeAgenda();
          break;
        
        case 5:
          System.out.print("\nInforme o índice desejado: ");
          int index = Integer.parseInt(entrada.nextLine());
          agenda.imprimePessoa(index);
          break;  
          
        case 6:
          System.exit(0);
          
        default:
          System.out.println("\nOpção inválida\n");
          break;
      }
    }
  }
}



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

Veja mais Dicas e truques de Java

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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