Histórico para June, 2007

Seja um piloto Red Bull Air Race

Tuesday, June 12th, 2007

Red Bull Air Race - 2006 - Austrália

(use o mouse)

Máquina de Bichos

Tuesday, June 12th, 2007

agência: JWT
anunciante: Fundação SOS Mata Atlântica
produto: Institucional

Máquina de Bichos

Estilingue da FedEx

Wednesday, June 6th, 2007

Agência: Agency
Marca:FEDEX

Banner Game

Tuesday, June 5th, 2007

Agência: Farfar [SE]
Marca:Misc

Leão x Búfalo x Crocodilo

Tuesday, June 5th, 2007

Luta pela sobrevivência.

Projeto - PIM

Tuesday, June 5th, 2007

PIM

Baixe esse arquivo para saber toda a programação do PIM.

Programação do PIM

Estrutura de Condição

Sunday, June 3rd, 2007

IF é uma estrutura de controle utilizada para tomar decisões. É uma condicional que realiza umas ou outras operações em função de uma expressão. Funciona da seguinte maneira, primeiro se avalia uma expressão se o resultado dá positivo realizam-se as ações relacionadas com o caso positivo.

A sintaxe da estrutura IF é a seguinte:

if (expressão) {

   ações a realizar em caso positivo

   …

}

Opcionalmente se podem indicar ações a realizar no caso de que a avaliação da sentença dê resultados negativos.

if (expressão) {

   ações a realizar em caso positivo

   …

} else {

   ações a realizar em caso negativo

   …

}

Observemos várias coisas: Para começar vemos como com umas chaves englobam as ações que queremos realizar no caso de que se cumpram ou não as expressões. Estas chaves devem ser colocadas sempre, exceto no caso de que somente haja uma instrução como ações a realizar, que são opcionais.

Outro detalhe que está descarado é a margem que colocamos em cada um dos blocos de instruções para executar nos casos positivos e negativos. Esta margem é totalmente opcional, somente fizemos assim para que a estrutura IF se compreenda de uma maneira mais visual. As quebras de linhas também não são necessárias e foram assim colocadas para que se veja melhor a estrutura. Poderíamos perfeitamente colocar toda a instrução IF na mesma linha de código, mas isso não ajudará que as coisas estejam claras. Nós, e qualquer programador, aconselhamos que utilizem as margens e as quebras de linhas necessárias para que as instruções possam ser entendidas melhor, hoje e dentro de um mês, quando já não será tão fácil lembrar o que foi feitos em seus scripts.

Vejamos um exemplo de condicionais IF.


if (dia == “Segunda-feira”)

   window.alert (”Que tenha um ótimo começo de semana”)

Se for segunda-feira nos desejará uma ótima semana. Não fará nada em caso contrário. Como neste exemplo somente indicamos uma instrução para o caso positivo, não será preciso utilizar as chaves. Observe também no operador condicional que consta de dois signos “igual”.

Vamos ver agora outro exemplo, um pouco mais comprido.


if (credito >= preço) {

   window.alert(”comprou o artigo ” + novoArtigo) //mostro compra

   carrinho += novoArtigo //coloco o artigo no carrinho da compra

   credito -= preço //diminuo o crédito conforme o preço do artigo

} else {

   window.alert(”acabou o seu crédito”) //informo que lhe falta dinhero

   window.location = “carrinhodacompra.html” //vou à página do carrinho

}

Este exemplo é um pouco mais complexo, e também um pouco fictício. O que faço é comprovar se tenho crédito para realizar uma suposta compra. Para isso, vejo se o crédito é maior ou igual que o preço do artigo, se é assim, informa da compra, coloco o artigo no carrinho e subtraio o preço ao crédito acumulado. Se o preço do artigo é superior ao dinheiro disponível, informo a situação e mando ao navegador à página onde se mostra seu carrinho da compra.

Expressões condicionais

A expressão a avaliar se coloca sempre entre parêntesis e está composta por variáveis que se combinam entre si mediante operadores condicionais. Lembramos que os operadores condicionais relacionavam duas variáveis e devolviam sempre um resultado boleano. Por exemplo, um operador condicional é o operador “é igual” (==), que devolve true no caso de que os operandos sejam iguais ou false no caso de que sejam distintos.

if (idade > 18)

   window.alert(”pode ver esta página para adultos”)

Neste exemplo, utilizamos em operador condicional “é maior” (>). Neste caso, devolve true se a variável idade é maior que 18, com o que se executaria a linha seguinte que nos informa de que se pode ver o conteúdo para adultos.

As expressões condicionais podem ser combinadas com as expressões lógicas para criar expressões mais complexas. Lembramos que as expressões lógicas são as que têm como operandos aos boleanos e que devolvem outro valor boleano. São os operadores de negação lógica, E lógico e O lógico.

if (bateria == 0 && redeEletrica = 0)

   window.alert(”seu aptopvai se apagar em segundos”)

O que fazemos é comprovar se a bateria de nosso suposto computadorestá a zero (acabada) e também comprovamos se o computador não tem rede elétrica (se está fora da tomada). Logo, o operador lógico os relaciona com um E, de modo que se está sem bateria E sem rede elétrica, informo que o ordenador vai se apagar.

A lista de operadores que se podem utilizar com as estruturas IF, podem ser vistos no capítulo de operadores condicionais e operadores lógicos.

Operadores Javascript

Sunday, June 3rd, 2007

Operadores de cadeias

As cadeias de caracteres, ou variáveis de texto, também têm seus próprios operadores para realizar ações típicas sobre cadeias. Apesar do ter somente um operador para cadeias se podem realizar outras ações com uma série de funções pré-definidas na linguagem que veremos mais adiante.

+ Concilia duas cadeias, pega a segunda cadeia a seguir da primeira.

Exemplo

cadeia1 = “ola”

cadeia2 = “mundo”

cadeiaConciliada = cadeia1 + cadeia2 //cadeia conciliada vale “olamundo”

Um detalhe importante que pode ser visto neste caso, é que o operador + serve para dois usos distintos, se seus operandos são números, os soma, mas se se trata de cadeias, as concilia. Isto ocorre em geral com todos os operadores que se repetem na linguagem, javascript é suficientemente esperto para entender que tipo de operação realizar mediante uma comprovação dos tipos que estão implicados nela.

Um caso que seria confuso é o uso do operador + quando se realiza a operação com operadores texto e numéricos misturados. Neste caso javascript assume que se deseja realizar uma conciliação e trata aos dois operandos como se tratasse de cadeias de caracteres, inclusive se a cadeia de texto que temos for um número. Isto veremos mais facilmente com o seguinte exemplo.

meuNumero = 23

minhaCadeia1 = “pedro”

minhaCadeia2 = “456″

resultado1 = meuNumero + minhaCadena1 //resultado1 vale “23pedro”

resultado2 = meuNumero + minhaCadeia2 //resultado2 vale “23456″

minhaCadeia2 += meuNumero //minhaCadena2 agora vale “45623″

Como podemos ver, também no caso do operador +=, se estamos tratando com cadeias de texto e números misturados, tratará aos dois operadores como se fossem cadeias.

Operadores lógicos

Estes operadores servem para realizar operações lógicas, que são aquelas que dão como resultado um verdadeiro ou um falso, e se utilizam para tomar decisões em nossos scripts. Ao invés de trabalhar com números, para realizar este tipo de operações se utilizam operandos boleanos, que conhecemos anteriormente, que são o verdadeiro (true) e o falso (false). Os operadores lógicos relacionam os operandos boleanos para dar como resultado outro operando boleano, tal como podemos ver no seguinte exemplo.

Se tenho fome e tenho comida, então irei comer

Nosso programa javascript utilizaria neste exemplo um operando boleano para tomar uma decisão. Primeiro irá ver se tenho fome, se é certo (true) irá ver se disponho de comida. Se são os dois são certos, poderá comer. No caso de que não tenha comida ou de que não tenha fome não comeria, assim como se não tenho fome nem comida. O operando em questão é o operando Y, que valerá verdadeiro (true) no caso de que os dois operandos sejam verdadeiros.

! Operador NO ou negação. Se é true passa a false e vice-versa.

&& Operador Y, se são os dois verdadeiros vale verdadeiro.

|| Operador O, vale verdadeiro se pelo menos um deles for verdadeiro.

Exemplo

meuBoleano = true

meuBoleano = !meuBoleano //meuBoleano agora vale false

tenhofome = true

tenhoComida = true

comoComida = tenhoFome && tenhoComida

Operadores condicionais

Servem para realizar expressões condicionais mais complexas que desejarmos. Estas expressões se utilizam para tomar decisões em função da comparação de vários elementos, por exemplo, se um número é maior que outro ou se são iguais. Os operadores condicionais se utilizam nas expressões condicionais para tomar decisões. Como estas expressões condicionais serão objeto de estudo mais adiante será melhor descrever os operadores condicionais mais adiante. De qualquer forma, aqui podemos ver a tabela de operadores condicionais.

== Comprova se dois números são iguais

!= Comprova se dois números são distintos

> Maior que, devolve true se o primeiro operador for maior que o segundo

< Menor que, é true quando o elemento da esquerda for menor que o da direita

>= Maior igual.

<= Menor igual

Estes são muito pouco correntes e é possível que você nunca chegue a utilizá-los. Seu uso se realiza para efetuar operações com zeros e uns. Tudo o que maneja um computador são zeros e uns, a pesar de nós usarmos números e letras para nossas variáveis na verdade estes valores estão escritos internamente em forma de zeros e uns. Em alguns casos, poderemos necessitar realizar operações tratando as variáveis como zeros e uns, e para isso, utilizaremos estes operandos. Nesta manual se tornaria um pouco extenso demais se realizássemos uma discussão sobre este tipo de operadores, mas aqui você poderá ver estes operadores por acaso algum dia fizer falta.

& Y de bits

^ Xor de bits

| O de bits

<< >> >>> >>>= >>= <<= Várias classes de mudanças

Precedência dos operadores

A avaliação de uma sentença das que vimos nos exemplos anteriores é bastante simples e fácil de interpretar, mas quando em uma sentença entram em jogo uma infinidade de operadores diferentes pode haver uma confusão na hora de interpretá-la e avaliar quais operadores são os que se executam antes que outros. Para marcar umas pautas na avaliação das sentenças e que estas se executem sempre igual e com sentido comum existe a precedência de operadores, que não é mais que a ordem pela qual se irão executando as operações que eles representam. À princípio todos os operadores se avaliam da esquerda para a direita, mas existem umas normas adicionais, pelas quais determinados operadores se avaliam antes que outros. Muitas destas regras de precedência foram tiradas das matemáticas e são comuns a outras linguagens, podemos vê-las a seguir.

() [] . Parêntesis, colchetes e o operador ponto que serve para os objetos

! - ++ — negação, negativo e incrementos

* / % Multiplicação, divisão e módulo

+- Soma e diferença

<< >> >>> Mudanças a nível de bit

< <= > >= Operadores condicionais

== != Operadores condicionais de igualdade e desigualdade

& ^ | Lógicos a nível de bit

&& || Lógicos boleanos

= += -= *= /= %= <<= >>= >>>= &= ^= != Atribuição

Nos seguintes exemplos podemos ver como as expressões poderiam chegar a ser confusas, mas com a tabela de precedência de operadores poderemos entender sem erros qual é a ordem pela qual se executam.

12 * 3 + 4 - 8 / 2 % 3

Neste caso, primeiro se executam os operadores * / y %, da esquerda a direita, com o qual se realizariam estas operações. Primeiro a multiplicação e logo a divisão por estar mais à esquerda do módulo.

36 + 4 - 4 % 3

Agora o módulo.

36 + 4 - 1

Por último as somas e as diferenças da esquerda para direita.

40 - 1

39

De qualquer forma, é importante se dar conta que o uso dos parênteses pode nos economizar muitos quebra-cabeças e, sobretudo, a necessidade de sabermos de memória a tabela de precedência dos operadores. Quando virmos pouco claro a ordem com a qual se executarão as sentenças podemos utilizá-las e assim, forçar que se avalie antes o pedaço da expressão que se encontra dentro dos parênteses.

Operadores

Sunday, June 3rd, 2007

Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e
avaliamos dados dentro do computador. Temos três tipos de operadores:

  • Operadores Aritméticos
  • Operadores Relacionais
  • Operadores Lógicos

Operadores Aritméticos

Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da
adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação.
Os símbolos para os operadores aritméticos são:

OPERAÇÃO

+ Soma de dois valores

- Diferença de dois valores, também se pode utilizar para mudar o sinal de um número se o utilizamos com um só operando -23

* Multiplicação de dois valores

/ Divisão de dois valores

% O resto da divisão de dois números (3%2 devolveria 1, o resto de dividir 3 entre 2)

++ Incremento em uma unidade, se utiliza com um só operando

– Decremento em uma unidade, utilizado com um só operando

Exemplos

preço = 128 //introduzo um 128 na variável preço

unidades = 10 //outra atribuição, logo veremos operadores de atribuição

fatura = preço * unidades //multiplico preço por unidades, obtenho o valor fatura

resto = fatura % 3 //obtenho o resto de dividir a variável fatura por 3

preço++ //incrementa em uma unidade o preço (agora vale 129)

Hierarquia das Operações Aritméticas

  1. ( ) Parênteses
  2. Exponenciação
  3. Multiplicação, divisão (o que aparecer primeiro)
  4. + ou – (o que aparecer primeiro)

Exemplo:

minhaVariavel = 23 * 5

Operadores Relacionais

Os operadores relacionais são utilizados para comparar String de caracteres e números. Os
valores a serem comparados podem ser caracteres ou variáveis.
var total = preco * quantidade

Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False)
Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize
os parênteses.

Os operadores relacionais são:

  • Igual a
    =
  • Diferente de
    <> ou #
  • Maior que
    >
  • Menor que
    <
  • Maior ou igual a
    >=
  • Menor ou igual a
    < =

Exemplo:

Tendo duas variáveis A = 5 e B = 3
Os resultados das expressões seriam:

  • A = B
    Falso
  • A <> B
    Verdadeiro
  • A > B
    Verdadeiro
  • A < B
    Falso
  • A >= B
    Verdadeiro
  • A < = B
    Falso

Operadores Lógicos

Os operadores lógicos servem para combinar resultados de expressões, retornando se o
resultado final é verdadeiro ou falso.

Os operadores lógicos são:

E / AND
Uma expressão AND (E) é verdadeira se todas as condições forem
verdadeiras
OR/OU
Uma expressão OR (OU) é verdadeira se pelo menos uma condição for
verdadeira
NOT
Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se
verdadeira inverte para falsa e vice-versa.
XOR
Um expressão XOR (NÃO) é verdadeira quando somente uma condição for verdadeira.

Tipos de variáveis

Sunday, June 3rd, 2007

As variáveis e as constantes podem ser basicamente de três tipos: Numéricas,
Alfanuméricas ou lógicas.

  • Numéricas Específicas para armazenamento de números, que posteriormente poderão ser
    utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais.
    As variáveis do tipo inteiro são para armazenamento de números inteiros e as
    Reais são para o armazenamento de números que possuam casas decimais.
  • Alfanuméricas Específicas para dados que contenham letras e/ou números. Pode em
    determinados momentos conter somente dados numéricos ou somente
    literais. Se usado somente para armazenamento de números, não poderá
    ser utilizada para operações matemáticas.
  • Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso.