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: C ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Apostila C para iniciantes - Como usar ponteiros na linguagem C

Quantidade de visualizações: 32176 vezes
Antes de pensarmos em ponteiros, é importante nos lembrarmos de alguns aspectos referentes à variáveis. Dependendo do seu conhecimento de programação, você deve saber que variáveis possuem nomes que as identificam durante a execução do programa. Você deve saber também que uma variável armazena um valor (que pode ser fixo, no caso de uma constante, ou pode mudar durante a execução de seus códigos).

O que poucos programadores se lembram é que uma variável possui um endereço, e que o nome da variável não é nada mais que um apelido para a localização deste endereço. Desta forma, um ponteiro não é nada mais que um tipo especial de variável que armazena o endereço de outra. Veja um exemplo:

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

int main(int argc, char *argv[])
{
  // variável do tipo int
  int valor = 10;

  // ponteiro para uma variável do tipo int
  int *p = &valor;

  // exibe o valor da variável "valor", apontada
  // pelo ponteiro p
  printf("%d", *p);

  printf("\n\n");

  system("PAUSE");
  return 0;
}

Neste código nós temos a declaração e definição de duas variáveis:

int valor = 10;
int *p = &valor;

A primeira variável é uma variável do tipo int e a segunda é um ponteiro para uma variável do tipo int. Veja que devemos sempre usar "*" antes do nome de um ponteiro em sua declaração. O símbolo "&" serve para indicar que estamos acessando o endereço de uma variável e não o seu conteúdo. O resultado destas duas linhas é que agora temos um ponteiro que nos permite acessar e manipular a variável valor.

Observe a linha:

printf("%d", *p);

Aqui nós estamos acessando o valor da variável apontada por p. Veja o uso do símbolo "*" para acessar o valor da variável. Isso é chamado de desreferenciamento de ponteiros. Pareceu complicado? Veja uma linha de código que altera indiretamente o valor da variável valor para 30:

*p = 30;

Ponteiros são ferramentas muito importantes na programação em C. No entanto, é preciso ter muito cuidado ao lidar com eles. A primeira coisa a ter em mente é que um ponteiro não está apontando para nenhum lugar até que atribuimos a ele o endereço de uma outra variável. E é aí que mora o perigo. Um programa entra em colapso absoluto se tentarmos acessar um ponteiro que aponta para um local de memória que já foi liberado novamente ao sistema. No caso menos grave, estaremos tentando acessar locais de memória inválidos ou reservados a outros programas ou tarefas do sistema operacional. Isso me lembra os velhos tempos da tela azul de morte.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Strings e Caracteres

Como transformar em letras maiúsculas as iniciais de cada palavra em uma string Java

Quantidade de visualizações: 11820 vezes
Nesta dica mostrarei como podemos combinar os métodos da classe String e da classe StringBuffer para converter em letras maiúsculas as iniciais de cada palavra de uma frase ou texto. Para isso nós vamos usar os métodos charAt(), length(), toUpperCase() e setCharAt().

Veja o código completo para o exemplo:

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string contendo a nossa frase
    String frase = "Programar em java é bom demais";
    System.out.println("A frase original é: " + frase);
    
    // vamos converter a frase em letras minúsculas
    frase = frase.toLowerCase();
    
    // agora criamos um StringBuffer contendo a frase anterior 
    StringBuffer frase2 = new StringBuffer(frase);
    
    // um laço que percorra todos os caracteres da frase
    for(int i = 0; i < frase2.length(); i++){
      Character letra = frase2.charAt(i);
      if(i == 0){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
      else if((i > 0) && (frase2.charAt(i - 1) == ' ')){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
    }
    
    // retornamos para a string    
    frase = frase2.toString(); 
    // e exibimos o resultado
    System.out.println("Resultado: " + frase);
    
    System.exit(0);
  }
} 

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

A frase original é: Programar em java é bom demais
Resultado: Programar Em Java É Bom Demais


PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como copiar arquivos em PHP usando a função copy()

Quantidade de visualizações: 23187 vezes
Muitas vezes precisamos copiar um arquivo de um local para outro. Em PHP, isso pode ser feito com o auxílio da função copy(). Esta função recebe o caminho e nome do arquivo a ser copiado e o caminho e nome para o qual a cópia será feita. Veja um exemplo:

<?php
  // copia o arquivo testes.txt para o diretório 
  // imagens
  $de = "/site/public_html/testes.txt";
  $para = "/site/public_html/imagens/testes.txt";
  
  if(copy($de, $para)){
    echo "Arquivo copiado com sucesso.";
  }
  else{
    echo "Não foi possível copiar o arquivo.";
  }
?>

Tenha em mente que a função copy() retorna um valor boolean (true ou false) informando sobre o sucesso ou não da operação.


Python ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como embaralhar os elementos de um array em Python usando random.shuffle()

Quantidade de visualizações: 907 vezes
Nesta dica mostrarei como podemos embaralhar a ordem dos elementos de uma lista do Python. Para isso usaremos o método shuffle() do módulo random. Este método muda a ordem dos elementos no vetor original.

Veja o código completo para o exemplo:

# vamos importar o módulo random
import random

# função principal do programa
def main():
  # vamos criar uma lista de números inteiros
  numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  # vamos mostrar o vetor original
  print("Ordem original: {0}".format(numeros))
  
  # agora vamos embaralhar a ordem dos elementos da lista
  random.shuffle(numeros)
  # e mostramos o resultado
  print("Após o embaralhamento: {0}".format(numeros))

if __name__== "__main__":
  main()

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

Ordem original: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Após o embaralhamento: [3, 10, 6, 8, 9, 5, 7, 4, 1, 2]


Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: Passos Iniciais

Como usar a biblioteca Pandas do Python em seus projetos de Data Science e Machine Learning

Quantidade de visualizações: 2722 vezes
A biblioteca Pandas foi criada por Wes McKinney em 2008 e, desde então, tem sido adotada em projetos que envolvem Big Data, Data Science, Data Mining, Machine Learning e até mesmo aplicações gerais de Inteligência Artificial (IA).

Esta biblioteca nos oferece funções para o trabalho com datasets (conjunto de dados). Tais funções permitem analisar, limpar, explorar e manipular dados. Isso faz todo sentido, visto que o nome Pandas é uma referência à "Panel Data" e "Python Data Analysis".

Já tenho o Pandas disponível na minha instalação do Python?

Antes de iniciar qualquer projeto que envolva a bilioteca Pandas, é importante verificar se a mesma está disponível em sua instalação do Python. Isso pode ser de várias formas. Mostrarei como obter a lista de módulos usando a opção "list" do pip. Basta abrir uma janela de terminal e disparar o seguinte comando:

C:\Users\Osmar>pip list

Você terá um resultado parecido com:

Package           Version
----------------- -------
astroid           2.4.2
colorama          0.4.4
isort             5.6.4
lazy-object-proxy 1.4.3
mccabe            0.6.1
numpy             1.19.4
pandas            1.1.5
Pillow            8.0.1
pip               20.2.3
pylint            2.6.0
python-dateutil   2.8.1
pytz              2020.4
setuptools        49.2.1
six               1.15.0
toml              0.10.2
wrapt             1.12.1
wxPython          4.1.1

Uma outra forma é tentando importar o módulo pandas. Veja:

# importamos a bibliteca Pandas
import pandas as pd

def main():
  # vamos mostrar a versão da biblioteca Pandas
  versao = pd.__version__

  print("A versão do Pandas é:", versao)

if __name__== "__main__":
  main()

Se você tiver o Pandas instalado, o resultado desse código será algo como:

A versão do Pandas é: 1.1.5

Se você não tiver a biblioteca Pandas instalada, a seguinte mensagem de erro será exibida:

Exception has occurred: ModuleNotFoundError
No module named 'pandas'
  File "C:\estudos_python\estudos.py", line 2, in <module>
    import pandas as pd

Não tenho o Pandas ainda. O que faço?

Abra uma janela de terminal e dispare o comando abaixo:

C:\Users\Osmar>pip install pandas

Depois de alguns segundos você verá o seguinte resultado:

Collecting pandas
  Downloading pandas-1.1.5-cp39-cp39-win_amd64.whl (8.9 MB)
     |-| 8.9 MB 1.7 MB/s
Collecting numpy>=1.15.4
  Downloading numpy-1.19.4-cp39-cp39-win_amd64.whl (13.0 MB)
     |-| 13.0 MB 3.3 MB/s
Collecting pytz>=2017.2
  Downloading pytz-2020.4-py2.py3-none-any.whl (509 kB)
     |-| 509 kB 6.4 MB/s
Collecting python-dateutil>=2.7.3
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |-| 227 kB 3.2 MB/s
Requirement already satisfied: six>=1.5 in 
c:\users\osmar\appdata\roaming\python\python39\site-packages
 (from python-dateutil>=2.7.3->pandas) (1.15.0)
Installing collected packages: numpy, pytz, 
python-dateutil, pandas
Successfully installed numpy-1.19.4 pandas-1.1.5 
python-dateutil-2.8.1 pytz-2020.4
WARNING: You are using pip version 20.2.3; however, 
version 20.3.1 is available.
You should consider upgrading via the 'c:\python_3_9_1\python.exe -m pip install 
--upgrade pip' command.

Obteve resultado parecido? Pronto! Você já pode começar a usar a biblioteca Pandas em seus aplicações Python.


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

Exercício Resolvido de Dart - Escreva um programa Dart que usa o laço for para desenhar um padrão de diamante de estrelas

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

Neste exercício para a prática da linguagem Dart você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar.

O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante.

Seu programa deve apresentar a seguinte saída:

Informe a quantidade de linhas: 5
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
Resposta/Solução:

Veja a resolução comentada deste exercício em Dart:

// Vamos importar a biblioteca dart:io
import "dart:io";

void main(){
  // variáveis que vamos usar na resolução do problema
  int linhas, estrelas, espacos;
  
  // vamos pedir a quantidade de linhas 
  stdout.write("Informe a quantidade de linhas: ");
  // vamos ler a entrada do usuário
  linhas = int.parse(stdin.readLineSync());
  
  estrelas = 1; // começamos com uma estrela (no topo do diamante)
  // se linhas for igual a 5 nós começamos com 4 espaços
  espacos = linhas - 1;  
	
  // repete duas vezes a quantidade de linhas informadas
  for(int i = 1; i < linhas * 2; i++){
    // vamos imprimir os espaços
    for(int j = 1; j <= espacos; j++){
      stdout.write(" ");
    }
        
    // agora vamos imprimir estrelas
    for(int j = 1; j < estrelas * 2; j++){
      stdout.write("*");
    }
		    
    // passamos para a próxima linha
    stdout.write("\n");
        
    if(i < linhas){ // é a parte superior do diamante
      espacos--; // diminui os espaços
      estrelas++; // e aumenta as estrelas
    }
    else{ // é a parte inferior do diamente
      espacos++; // aumenta os espaços
      estrelas--; // e diminui as estrelas
    }
  }
}



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

Veja mais Dicas e truques de Dart

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