![]() |
|
Código-Fonte Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimentoDiga 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 |
|
Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
MySQL ::: Dicas & Truques ::: Chaves, Índices e Restrições de Integridade Referencial |
Como excluir a chave primária de uma tabela MySQL usando o comando ALTER TABLE DROP PRIMARY KEYQuantidade de visualizações: 9961 vezes |
Em algumas situações, talvez com o propósito de realizar uma manutenção em um determinado banco de dados MySQL, nós precisamos remover a chave primária de uma tabela. Para isso podemos usar o comando DDL ALTER TABLE DROP PRIMARY KEY. Comece analisando a seguinte tabela "livros":Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment titulo varchar(45) NO - paginas int(10) unsigned NO - ALTER TABLE livros DROP PRIMARY KEY; Sei. O comando não funcionou como esperávamos. O MySQL nos mostrou a seguinte mensagem de erro: Error 1075: Incorrect table definition; there can be only one auto column and it must be defined as a key. Este erro nos informa de que uma tabela MySQL só pode ter uma coluna auto-incremento, e esta deve, obrigatoriamente, ser marcada como chave primária. Assim, precisamos remover o atributo auto-incrememento antes. Veja: ALTER TABLE livros MODIFY id INT NOT NULL; Pronto. Agora que já retiramos o auto-incremento do campo, o comando ALTER TABLE DROP PRIMARY KEY já pode ser disparado novamente. Você deverá ter um cuidado especial se o campo que você vai remover o auto-incremento e chave primária estiver sendo referenciado como chave estrangeira em outra(s) tabela(s). Analise estas situações antes. É próvável que o MySQL exiba um monte de mensagens de erro até você descobrir a causa da falha do comando ALTER TABLE DROP PRIMARY KEY. |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Apostila Python para iniciantes - Como calcular juros compostos e montante usando PythonQuantidade de visualizações: 18372 vezes |
|
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P . (1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i) ^ n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código Python para a resolução:
# função principal do programa
def main():
principal = 2000.00
taxa = 0.03
meses = 3
montante = principal * pow((1 + taxa), meses)
juros = montante - principal
print("O total de juros a ser pago é:", juros)
print("O montante a ser pago é:", montante)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: O total de juros a ser pago é: 185.45400000000018 O montante a ser pago é: 2185.454 Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir:
# função principal do programa
def main():
principal = 2000.00
taxa = 0.03
meses = 3
anterior = 0.0
for i in range(1, meses + 1):
montante = principal * pow((1 + taxa), i)
juros = montante - principal - anterior
anterior += juros
print("Mês:", i ," - Montante:", montante, "- Juros:", juros)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Mês: 1 - Montante: 2060.0 - Juros: 60.0 Mês: 2 - Montante: 2121.7999999999997 - Juros: 61.79999999999973 Mês: 3 - Montante: 2185.454 - Juros: 63.65400000000045 |
MySQL ::: Dicas & Truques ::: Data e Hora |
Como adicionar horas, dias, semanas, meses, anos, etc, ao valor de um campo DATE ou DATETIME usando a função DATE_ADD() do MySQLQuantidade de visualizações: 11669 vezes |
A função DATE_ADD() é muito útil quando precisamos adicionar horas, dias, semanas, meses, etc, ao valor de um campo do tipo DATE ou DATETIME. Esta função é composta de três partes:DATE_ADD(date, INTERVAL expr unit) O argumento date deve ser do tipo DATE ou DATETIME. O argumento expr indica um número inteiro que indica a quantidade de horas, dias, meses, etc, que será usada como intervalo. O argumento unit indica a unidade a ser usada. Valores possíveis são: HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc. Veja um exemplo no qual adicionamos 15 dias à data atual: SELECT DATE_ADD(NOW(), INTERVAL 15 DAY) Suponha que você tenha um campo chamado data_hora_compra do tipo DATETIME e que este campo tenha o valor 2008-03-30 02:30:15. A query: SELECT DATE_ADD(data_hora_compra, INTERVAL 2 MONTH) FROM tabela_estudos retornará 2008-05-30 02:30:15. |
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de músicaQuantidade de visualizações: 19343 vezes |
|
Um BLOB é um tipo de dados que permite armazenar grandes informações no formato binário (Binary Large OBject). Campos deste tipo podem conter dados binários ou ASCII, por exemplo, grandes arquivos de texto, documentos para o processamento de dados, arquivos de programas CAD, imagens e gráficos, vídeos, arquivos de música, etc. O tamanho de um BLOB é quase ilimitado, uma vez que eles podem ser armazenados utilizando-se várias páginas. Isso assume, contudo, que um tamanho de página suficiente tenha sido fornecido para a base de dados. Por exemplo, usando uma página de 1kb, o tamanho do BLOB não pode exceder 0,5Gb. Se usarmos um tamanho de página de 4Kb, o tamanho do BLOB está limitado a 8Gb. O Firebird suporta dois tipos pré-definidos de BLOB, diferenciados pelo atributo sub-type (palavra-chave SQL SUB_TYPE): a) BLOB SUB_TYPE 0 - Este é o tipo BLOB genérico para o armazenamento de qualquer tipo de dados, incluindo texto. Geralmente chamado de "BLOB binário sem registro de tipo". b) BLOB SUB_TYPE 1 (BLOB SUB_TYPE TEXT) - Sub-tipo mais especializado para o armazenamento de texto puro. É equivalente aos tipos CLOB e MEMO implementados em alguns bancos de dados (DBMS). É recomendado para uso com interfaces de aplicações tais como componentes RAD ou motores de pesquisa que fornecem um tratamento especial para tais tipos. Veja um comando DDL CREATE TABLE que cria uma tabela contendo um campo do tipo BLOB (usando o sub-tipo text): CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO BLOB SUB_TYPE 1 SEGMENT SIZE 4096 NOT NULL, DATA_HORA TIMESTAMP NOT NULL ); Aqui nós temos uma tabela com três campos: ID é do tipo INTEGER, DESCRICAO é do tipo BLOB com o sub-tipo 1 e DATA_HORA é do tipo TIMESTAMP. Veja agora um comando DML INSERT INTO que insere um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(10, 'REUNIÃO COM CLIENTE - SÃO PAULO', '2010-12-02 12:30:00'); Note que os valores para campos do tipo BLOB devem ser fornecidos entre aspas simples. Agora, veja um comando SQL DML SELECT que lista o registro inserido anteriormente: SELECT * FROM COMPROMISSOS; Este comando vai gerar o seguinte resultado: ID DESCRICAO DATA_HORA 10 REUNIÃO COM CLIENTE - SÃO PAULO 2/12/2010 12:30:00 |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Portugol - Calculando e exibindo os números primos entre 2 e 100Quantidade de visualizações: 601 vezes |
|
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa (algorítmo) Portugol Web Studio que usa um laço PARA, ENQUANTO ou FACA...ENQUANTO para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). Sua saída deverá ser parecida com: Numeros primos entre 2 e 100: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Veja a resolução comentada deste exercício usando Portugol Web Studio:
programa {
funcao inicio() {
// limite dos números primos (incluindo)
inteiro limite = 100
logico primo
// Lembre-se! O número 1 não é primo
escreva("Numeros primos entre 2 e " + limite + ":\n")
// laço que percorre os valores de 2 até o limite desejado
para (inteiro i = 2; i <= limite; i++) {
primo = verdadeiro
// se o valor de i for 7, a variável j do laço contará
// de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o
// módulo de 7 por qualquer um dos valores neste intervalo
// for igual a 0, então o número não é primo
para (inteiro j = 2; j <= (i / 2); j++) {
se (i % j == 0) {
primo = falso // não é primo
pare
}
}
se (primo == verdadeiro) {
escreva(i, " ")
}
}
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






