JavaScript ::: ECMAScript 5 - JavaScript 5 - ES5 - ECMAScript 2009 ::: Passos Iniciais |
Como usar a diretiva "use strict" do ECMAScript 5 em seus códigos JavaScriptQuantidade de visualizações: 1234 vezes |
À medida que a linguagem JavaScript foi ganhando popularidade, as pessoas responsáveis por sua manutenção perceberam a necessidade de torná-la um pouco mais restritiva em relação a erros de programação que até então não eram vistos pelos navegadores como erros. Vamos ver um exemplo? Considere o código JavaScript a seguir:----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<html>
<head>
<title>Estudos PHP</title>
</head>
<body>
<script type="text/javascript">
total_cliente = 100;
document.writeln("Total: " + total_cliente);
</script>
</body>
</html>
Ao executarmos este código nós teremos o seguinte resultado: Total: 100 Note que, embora o código tenha funcionado como esperado, nós não usamos a palavra-chave "var" (ou "let" ou "const") na declaração da variável total_cliente. Quando não fazemos isso, o interpretador realiza esta tarefa por conta própria, declarando e colocando a variável como global. Até aqui nenhum problema. A questão surge quando queremos que esta variável seja usada localmente, ou ainda, quando queremos indicar, para quem estiver lendo o nosso código, o ponto exato onde uma determinada variável foi declarada. A partir do ECMAScript 5 (JavaScript 5 - ES5 - ECMAScript 2009) nós podemos usar o modo "use strict" para exibir erros sempre que uma variável não declarada (com "var", "let" ou "const" sofra atribuição ou leitura. Dessa forma nossos códigos serão mais seguros, pois o interpretador não mais colocará variáveis no escopo global sem nosso consentimento explícito. Veja agora o mesmo trecho de código anterior, dessa vez usando "use strict": ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<html>
<head>
<title>Estudos PHP</title>
</head>
<body>
<script type="text/javascript">
"use strict"
total_cliente = 100;
document.writeln("Total: " + total_cliente);
</script>
</body>
</html>
Agora o código não mais executa, e temos a seguinte mensagem de erro no console do Google Chrome ou Firefox: Uncaught ReferenceError: total_cliente is not defined at index.html:10 Neste exemplo eu usei "use strict" de forma a refletir em todos os códigos JavaScript a partir daquele ponto. No entanto, é possível colocar essa diretiva em locais expecíficos, tais como dentro do corpo de uma função. |
Python ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como acessar variáveis globais a partir de seus métodos PythonQuantidade de visualizações: 13033 vezes |
|
Por padrão, nossos próprios métodos e funções em Python não enxergam as variáveis definidas fora do seu escopo, e quando o fazem, é somente para leitura, já que alterações nas variáveis fora do escopo fazem com que o interpretar crie versões locais dessas variáveis. Uma solução é usar a palavra-chave "global" antes do nome da varíável que queremos acessar. Veja como isso pode ser feito no trecho de código abaixo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# uma variável global
nome = "Carlos"
# um método que acessa a variável global
def metodo():
global nome
nome = "Osmar J. Silva"
# função principal do programa
def main():
# chama o método
metodo()
# mostra o resultado
print("Valor alterado para:", nome)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Valor alterado para: Osmar J. Silva |
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos de dados DATE, TIME e TIMESTAMP do FirebirdQuantidade de visualizações: 30659 vezes |
|
No dialeto 3 (SQL DIALECT 3), o tipo de dados DATE do Firebird armazena apenas a data sozinha, ou seja, sem as horas. Esta forma de guardar apenas a data resulta em uma ocupação de 4 bytes (32 bits) na memória. A data armazenada pode variar de 01/01/0001 até 31/12/9999. No dialeto 1, (SQL DIALECT 1), o tipo DATE é o equivalente ao tipo TIMESTAMP do dialeto 3 (o tipo TIMESTAMP passou a existir somente a partir do dialeto 3). Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo DATE: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- CREATE TABLE ALUNOS ( ID INTEGER NOT NULL, NOME VARCHAR(40) NOT NULL, NASCIMENTO DATE NOT NULL ); Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e NASCIMENTO é do tipo DATE. Veja agora um comando DML INSERT INTO que insere um novo registro nesta tabela. Fique atento à forma como o valor da data é informado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- INSERT INTO ALUNOS VALUES(1, 'OSMAR J. SILVA', '1981-11-28'); Veja que a data, assim como o valor para o campo NOME, foi informada entre aspas simples e seguindo o formato YYYY-MM-DD, ou seja, o ano, mês e dia separados por hifens. Para obter os dados inseridos pela query anterior, podemos usar o seguinte comando DML SELECT FROM: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- SELECT * FROM ALUNOS; Esta query resulta na exibição dos seguintes dados: ID NOME NASCIMENTO 1 OSMAR J. SILVA 28/11/1981 O tipo de dados TIME, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar as horas, sem a data. Este tipo ocupa 4 bytes (32 bits) de memória e pode conter valores na faixa de 00:00 até 23:59:59.9999. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIME: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(80) NOT NULL, DATA DATE NOT NULL, HORA TIME NOT NULL ); Veja que esta tabela possui 4 campos: ID do tipo INTEGER, DESCRICAO do tipo VARCHAR(80), DATA do tipo DATE e HORA do tipo TIME. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- INSERT INTO COMPROMISSOS VALUES(10, 'ALMOÇO COM A ESPOSA', '2010-12-10', '19:00:00'); Note que, assim como fazemos com campos do tipo DATE, os valores para campos do tipo TIME também devem ser informados entre aspas simples. Veja um comando DML SELECT FROM que lista o registro inserido na query anterior: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- SELECT * FROM COMPROMISSOS; Esta query produz o seguinte resultado: ID DESCRICAO DATA HORA 10 ALMOÇO COM A ESPOSA 10/12/2010 19:00:00 O tipo TIMESTAMP, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar a data e hora juntas. Este tipo ocupa 8 bytes (64 bits) de memória e é equivalente ao tipo DATE do dialeto 1. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIMESTAMP: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(80) NOT NULL, DATA_HORA TIMESTAMP NOT NULL ); Veja que esta tabela possui três campos: ID é do tipo INTEGER, DESCRICAO é do tipo VARCHAR(80) e DATA_HORA é do tipo TIMESTAMP. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- INSERT INTO COMPROMISSOS VALUES(20, 'ALMOÇO COM A ESPOSA', '2010-10-23 19:00:00'); Note que os valores para campos do tipo TIMESTAMP também devem ser informados entre aspas simples. Para finalizar, Veja um comando DML SELECT FROM que lista o registro inserido na query anterior: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- SELECT * FROM COMPROMISSOS; Esta query produz o seguinte resultado: ID DESCRICAO DATA_HORA 20 ALMOÇO COM A ESPOSA 23/10/2010 19:00:00 |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando CQuantidade de visualizações: 2061 vezes |
|
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código C completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não: ----------------------------------------------------------------------
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>
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
int n = 3; // ordem da matriz quadrada
int matriz[n][n]; // matriz quadrada
int i, j, linha, coluna;
int identidade = 1;
// vamos pedir para o usuário informar os elementos da matriz
for (i = 0; i < n; i++){
for (j = 0; j < n; j++) {
printf("Elemento na linha %d e coluna %d: ", (i + 1), (j + 1));
scanf("%d", &matriz[i][j]);
}
}
// agora verificamos se a matriz é uma matriz identidade
for(linha = 0; linha < n; linha++){
for(coluna = 0; coluna < n; coluna++){
if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){
identidade = 0;
break;
}
}
}
// agora mostramos a matriz lida
printf("\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matriz[i][j]);
}
printf("\n");
}
if (identidade){
printf("\nA matriz informada é uma matriz identidade.");
}
else{
printf("\nA matriz informada não é uma matriz identidade.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variável |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Exercícios Resolvidos de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf() Java - Como definir a cor para o contexto de desenho usando o método setColor() da classe Graphics do Java C++ Builder - Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






