Atenção
Na linguagem Actionscript você deve prestar muita atenção na hora de digitar seu código fonte, pois, o Java é caso sensitivo, ou seja, ele diferencia letras maiúsculas de minúsculas. Por exemplo, as palavras história, História e HISTÓRIA são palavras diferentes.
Por exemplo, veja este código abaixo:
Texto="A raiz quadrada de 9 é 3";
trace(Texto);
As palavras Texto e traceestão corretos, porém, se você alterar o código fonte com letras maiúsculas e minúsculas,causará erros no código fonte. Observe:
Texto="A raiz quadrada de 9 é 3";
Trace(TEXTO);
As palavras TEXTO e Trace estão errados,causando erros. O computador nãoreconhece estas palavras. Na hora em que digitar o código fonte preste bastante atenção nas letras maiúsculas e minúsculas, por causa de uma letra pode causar erros.
Uma boa prática ao programar utilizando Actionscript é sempre usar o; (ponto-e-vírgula) no final das suas declarações, mas seu uso NÃO é obrigatório.
Você precisa utilizaer o ponto-e-vírgula se utilizar algum compressor de Actionscript para reduzir o tamanho do arquivo. como os comperssores distribuem os códigos em uma única linha, sem eles será impossível determinar onde começa e termina uma istruçõa, ocasionando erro.
Editor de texto é apenas um processador de texto que é usado para digitar o programa. O texto resultante é conhecido como código fonte.
O editor de texto é um software que permite ao usuário selecionar trechos de um arquivo, alterar, apagar ou adicionar testo ao código-fonte.
Código-fonte é uma seqüência de instruções numa linguagem de programação. O código-fonte é escrito por um programador.
Este mesmo código é traduzido por um outro programador que pode ser pelo navegador no caso do Javascript, pelo servidor no caso do PHP, ou pelo compilador no caso Java.
O código-fonte é o código básico de um programa.
Para começar vamos analisar um exemplo bem simples - abra um editor de texto comum e digite o código que está escrito abaixo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "Esta é a nova mensagem";
} |
|
Salve este documento com o nome página01.fla
Assim que o exemplo for salvo no editor de texto (bloco de notas, por exemplo) com a extensão .fla, ao ser executado, o programa enviará a seqüência de caracteres "Esta é minha primeira página" para a saída padrão que é a tela do monitor.
Para criar um arquivo Flash, basta definir os elementos e suas formatações ou um editor de texto, e salvá-lo com a extensão .fla, exemplo:
programa.fla
texto.fla
arquivo01.fla
Basicamente, a sintaxe do corpo do programa consiste em:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "================== COMANDOS AQUI ==================";
} |
|
No Flash , há a possibilidade de colocar mais de 1 arquivo externo ao documento. Ao invés de trabalharmos com o Flash internamente, podemos trabalhá-lo externamente. Em vez de trabalharmos com um arquivo, podemos trabalhar com mais de um arquivo.
Isto pode facilitar e muito a vida do programador.
Abra um editor de texto e copie o arquivo abaixo:

| Arquivo teste.fla |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var f:arquivoexterno = new arquivoexterno();
texto.text = f.arquivo();
}
|
| Arquivo arquivoexterno.as |
package {
public class arquivoexterno{
public function arquivoexterno():void{
}
public function arquivo():String{
var Texto:String;
Texto = "";
Texto += "Testando um arquivo externo. ";
Texto += "Bom dia ";
Texto += "Boa tarde e ";
Texto += "Boa noite. ";
Texto += "Fim do arquivo externo.";
return Texto;
}
}
}
|
Salve este arquivo com arquivoesterno.as.
Para incluir um arquivo externo ao documento use o comando, no exemplo acima o arquivo externo é "teste.fla". Devemos sempre salvar este arquivo externo com a extensão as .
Abra o editor de texto de novo e copie este arquivo abaixo:
var Texto:String;
Texto = "";
Texto += "Testando um arquivo externo. ";
Texto += "Bom dia ";
Texto += "Boa tarde e ";
Texto += "Boa noite. ";
Texto += "Fim do arquivo externo.";
return Texto;
Salve este arquivo como teste.fla.
Assim que o documento arquivoexterno.as seja executado ao ser executado o programa enviará para a tela do monitor: "Testando um arquivo externo. Bom dia, Boa tarde e Boa noite. Fim do arquivo externo."
Observação: Se você está trabalhando com o arquivo externo do Javascript. Não use as tags <script> e </script> dentro do código, o que causaria erros de programação. O arquivo teste.fla só aceita comandos Javascript se colocarmos tags html geraria erros, só use tags html dentro de aspas "duplas" ou 'simples'.
Comentário é uma breve nota de explicação inseridas em um programa para descrever o que ele fará.
Os programadores usam comentários em seus programas para que outros programadores (e ele próprio) entendam o que o programa faz e como funciona.
Os comentários geralmente descrevem o que o programa faz, quem é o seu autor, por que ele foi alterado, e assim por diante. A maioria das linguagens de programação usa uma sintaxe própria para a especificação de comentários, de modo que os comentários sejam ignorados pelo compilador.
Os comentários não são analisados pelo programa.
Os comentários podem ocupar uma ou várias linhas. Veja o exemplo abaixo:
Para inserir um comentário de uma linha basta colocar o símbolo // antes de qualquer comentário.
Exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "Início do comentário. "; |
|
Para inserir comentários com mais de uma linha basta colocar os símbolos / * para abrir um comentário e * / para fechar o comentário.
Exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "Início do comentário. ";
/*
Comentário
com mais de
uma linha
*/
/*
Exemplo 1
Exemplo 2
Exemplo 3
*/
texto.text += "Fim do comentário."
}
|
|
Ás vezes necessitamos informar algo entre aspas dentro de uma string. Isto pode ser resolvido alterando-se aspas duplas e simples. Isto é usado em Javascript e PHP, veja o exemplo em Javascript.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto:String = "";
Texto += "<img src='Teste.gif'>";
Texto += "\n";
Texto += '<input Type="button" name="teste" value="Clique Aqui" onclick="alert(\'Exemplo de Aspas\')">';
texto.text = Texto;
}
|
|
Para inserir um texto no programa use o comando document.write, veja o exemplo abaixo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text ="";
texto.text += "A raiz quadrada de 9 é 3\n";
texto.text += "A soma de 5 + 4 é igual a 9\n";
texto.text += "6 dividido por 3 é igual a 2\n";
} |
|
Para editar um texto externamente basta usar o comando leia:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| x1 | Label |
| nome | TextInput |
| x2 | Label |
| idade | TextInput |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite seu nome:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var nome:TextInput = new TextInput();
nome.text = "";
nome.width = 200;
nome.height = 25;
nome.x = 100+10;
nome.y = 10;
addChild(nome);
var x2:Label = new Label();
x2.text = "Digite sua idade:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var idade:TextInput = new TextInput();
idade.text = "";
idade.width = 200;
idade.height = 25;
idade.x = 100+10;
idade.y = 10+26;
addChild(idade);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*2);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*3);
addChild(texto);
function onClick(evt:MouseEvent):void {
texto.text = "meu nome é " + nome.text + " e tenho " + idade.text + " anos.";
} |
|
Dentro de uma string de texto, podem ser especificado caracteres especiais mostrados a seguir:
| Hífen | \' |
| Aspas | \" |
| Barra invertida | \\ |
| Nova linha | \n |
| Marca de tabulação | \t |
| Retorno de carro | \r |
| Backspace | \b |
Exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "";
texto.text += "\tO livro: \"Manual Prático do ";
texto.text += "Programador\". \nEstá nas livrarias ";
texto.text += "e \\ ou jornaleiros. ";
} |
|
Resultado:
O livro: "Manual Prático do Programador". Está nas livrarias e \ ou jornaleiros.
Variáveis são símbolos que representa um valor numérico ou string usada no programa. O uso de variáveis dá ao programador flexibilidade para mudar o valor a qualquer momento no programa, mesmo que a princípio pareça não ser necessário este tipo de flexibilidade.
O conteúdo de uma variável pode mudar a qualquer momento.
Por exemplo, uma variável chamado cheque poderia conter o número 12, mas o programa teria condições de modificar esse valor a qualquer momento.
O nome de uma variável pode começar com uma letra ou sublinhado "_" seguido de números ou letras sem espaço. Veja alguns exemplos de nomes válidos:
nome
Conta_pag
z01
_cod
Variável String é um conjunto contínuo de caracteres alfanuméricos que não contém números usados para cálculos. Nomes, endereços, palavras e frases são strings. Esses caracteres podem ser as letras maiúsculas, as letras minúsculas, os números e os caracteres especiais (&, #, @, ?, + ). Exemplos:
"aluno"
"1234"
"@ internet"
"0.34"
"1 + 2"
Observação: os dados do tipo literal na linguagem de programação são sempre representados entre aspas duplas(") ou aspas simples (').
Os dados numéricos dividem-se em dois grupos: inteiros e reais.
Os números inteiros podem ser positivos ou negativos e NÃO possuem parte decimal. Este tipo de dado é armazenado na memória do computador, exemplos:
-23
98
0
1350
-257
237
-2
Os números reais podem ser positivos ou negativos e possuem parte decimal. Este tipo de dado é armazenado na memória do computador, exemplo:
23.45
346.98
-34.88
0.0
-247.0
Observação: na linguagem de programação, a separação entre a parte inteira e a parte decimal de um número é feita pelo ponto (.), e a simples presença do ponto já significa que é um número real.
Variável Booleana é uma expressão cujo resultado só pode ser verdadeiro (true) ou falso (false).
As variáveis booleanas são mais usadas em:
Este tipo de variável, quando armazenado na memória do computador, ocupa 1 byte, pois possui apenas duas possibilidades de representação: true ou false.
Exemplo:
| Expressão | Resultado | Significado |
| teste=true | verdadeiro | |
| x=false | falso | |
| y=true | verdadeiro | |
| a=4<2 | a=false | falso |
| b=8>3 | b=true | verdadeiro |
| c=(3>2)&&(5<4) | c=false | falso |
| d=(3>4)||(5<4) | d=true | verdadeiro |
O primeiro operador que você deve conhecer é o de atribuição "=". Ele atribui o conteúdo da expressão à sua direita para a variável do seu lado esquerdo.
x=30
y=10/2 + 6
z=true
a="texto"
Para criar uma variável, a variável deve obedecer as seguintes regras:
Dependendo da linguagem de programação usado pelo programador (ASP, Java, PHP, Javascript, Delphi, Visual Basic e outros) cada linguagem recebe regras de programação diferente, por exemplo:
O Java, por exemplo,faz diferenciação entre letras maiúsculas e minúsculas; portanto a variável NUM é exatamente diferente a variável num;
Observação: algumas linguagens de programação são sensíveis à caixa alta e caixa baixa, um exemplo disso é o Java, "Olá" e "OLÁ" são duas palavras totalmente diferentes. O Delphi por exemplo não é sensível a caixa, "abc" é exatamente igual a "ABC".
Palavras reservadas são nomes utilizados pelo compilador para representar comandos de controle do programa, operadores e nomes de seções de programas. As palavras reservadas da linguagem Pascal são: (veja a tabela abaixo)
Exemplos de variáveis válidos:
A
a
nota
NOTA
x5
A32
Nota_1
MATRICULA
nota_1
dia
IDADE
Exemplos de variáveis inválidos
5b
e 12
x-y
prova 2n
nota(2)
case
Set
matrícula
Obs: matrícula com acento no í.
Resolva os exercícios abaixo:
Exercício 1: Identifique o tipo dos dados:
(a) numérico inteiro;
(b) numérico real;
(c) lógico;
(d) string.
| (c) true | (b) 45.0 | (a) 1234 | (b) 0.0 |
| (d) "aula" | (d) "c * d" | (a) -234 | (d) "1 2 3 4" |
| (b) -0.342 | (b) 35.23 | (d) "34" | (b) -18.589 |
| (d) " " | (b) -354.0 | (b) -15.2 | (c) false |
| (a) 0 | (a) 897 | (d) "false" | (a) -23 |
Concatenar: Reunir duas strings de caracteres em um só por exemplo, combinar as duas strings "bom" e "dia" formando uma única string "bom dia".

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
// Exemplo 1:
var Variavel="Texto1 " + "Texto2" + "\n";
// Exemplo 2:
var String1="Isto é ";
var String2="um texto";
var String3="\n";
var String4=String1 + String2 + String3;
// Exemplo 3
var Nome="José ";
var Sobrenome="Antônio";
var resp = "Meu nome é: " + Nome + Sobrenome;;
texto.text = Variavel+String4+resp;
} |
|
Quando usamos formulários para efetuar cálculos matemáticos precisamos converter os valores strings dos formulários em valores numéricos, para logo em seguida calcular usando operadores aritméticos e funções matemáticas.
Se não convertermos os valores strings para numéricas impossibilita de efetuarmos cálculos matemáticos, por exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
var A="7";
var B="9";
var C=5;
Texto += A + B + C;
texto.text = Texto;
} |
|
Esta operação geraria erros de programação o correto é usarmos conversores, veja o exemplo abaixo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
var A="7";
var B="9";
var C=5;
Texto += parseFloat(A) + parseFloat(B) + C;
texto.text = Texto;
} |
|
Observando que C já é um valor numérico, enquanto A e B são strings.
Veja alguns conversores:
Inteiros:
parseInt(string)
Reais:
parseFloat(string)
Veja outro exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | Altura |
| Label | x2 |
| TextInput | Largura |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Altura:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var Altura:TextInput = new TextInput();
Altura.text = "";
Altura.width = 200;
Altura.height = 25;
Altura.x = 100+10;
Altura.y = 10;
addChild(Altura);
var x2:Label = new Label();
x2.text = "Largura:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var Largura:TextInput = new TextInput();
Largura.text = "";
Largura.width = 200;
Largura.height = 25;
Largura.x = 100+10;
Largura.y = 10+26;
addChild(Largura);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*2);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*3);
addChild(texto);
function onClick(evt:MouseEvent):void {
texto.text = ""+((parseFloat(Altura.text) * parseFloat(Largura.text))/2);
} |
|
Os valores Largura e Altura são valores strings e Area é um valor numérico. No exemplo acima usamos os formulários Altura e Largura, os valores Largura e Altura são valores strings enquanto Area é um valor numérico.
Se efetuarmos os cálculos Area = Altura * Largura/2 sem converter string em numérica geraríamos erros de programação.
O correto éArea=parseFloat(Altura) * parseFloat(Largura)/2.
Exercício 1: Use a calculadora abaixo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| RadioButtonGroup | grupo |
| RadioButton | Adicao |
| RadioButton | Subtracao |
| RadioButton | Divisao |
| RadioButton | Multiplicacao |
| Label | x1 |
| TextInput | Campo1 |
| Label | x2 |
| TextInput | Campo2 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Campo 1:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var Campo1:TextInput = new TextInput();
Campo1.text = "";
Campo1.width = 200;
Campo1.height = 25;
Campo1.x = 100+10;
Campo1.y = 10;
addChild(Campo1);
var x2:Label = new Label();
x2.text = "Campo 2:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var Campo2:TextInput = new TextInput();
Campo2.text = "";
Campo2.width = 200;
Campo2.height = 25;
Campo2.x = 100+10;
Campo2.y = 10+26;
addChild(Campo2);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*2);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*3);
addChild(texto);
var grupo:RadioButtonGroup = new RadioButtonGroup("Calculo");
var Adicao:RadioButton = new RadioButton();
var Subtracao:RadioButton = new RadioButton();
var Divisao:RadioButton = new RadioButton();
var Multiplicacao:RadioButton = new RadioButton();
Adicao.group = grupo;
Subtracao.group = grupo;
Divisao.group = grupo;
Multiplicacao.group = grupo;
Adicao.label = "+";
Subtracao.label = "-";
Divisao.label = "/";
Multiplicacao.label = "*";
Adicao.move(10+200, 52+10+26);
Subtracao.move(10+200, 52+10+26*2);
Divisao.move(10+200, 52+10+26*3);
Multiplicacao.move(10+200, 52+10+26*4);
addChild(Adicao);
addChild(Subtracao);
addChild(Divisao);
addChild(Multiplicacao);
function onClick(evt:MouseEvent):void {
var op1:Number = parseFloat(Campo1.text);
var op2:Number = parseFloat(Campo2.text);
var res:Number = 0;
switch (grupo.selection) {
case Adicao :
res = op1+op2;
break;
case Subtracao :
res = op1-op2;
break;
case Divisao :
res = op1/op2;
break;
case Multiplicacao :
res = op1*op2;
break;
}
texto.text = ""+res;
} |
|
Exercício 2: Use esta outra calculadora

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| RadioButtonGroup | grupo |
| RadioButton | Soma |
| RadioButton | Multiplica |
| Label | x1 |
| TextInput | Campo1 |
| Label | x2 |
| TextInput | Campo2 |
| Label | x3 |
| TextInput | Campo3 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Campo 1:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var Campo1:TextInput = new TextInput();
Campo1.text = "";
Campo1.width = 200;
Campo1.height = 25;
Campo1.x = 100+10;
Campo1.y = 10;
addChild(Campo1);
var x2:Label = new Label();
x2.text = "Campo 2:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var Campo2:TextInput = new TextInput();
Campo2.text = "";
Campo2.width = 200;
Campo2.height = 25;
Campo2.x = 100+10;
Campo2.y = 10+26;
addChild(Campo2);
var x3:Label = new Label();
x3.text = "Campo 3:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var Campo3:TextInput = new TextInput();
Campo3.text = "";
Campo3.width = 200;
Campo3.height = 25;
Campo3.x = 100+10;
Campo3.y = 10+26*2;
addChild(Campo3);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
var grupo:RadioButtonGroup = new RadioButtonGroup("Calculo");
var Soma:RadioButton = new RadioButton();
var Multiplica:RadioButton = new RadioButton();
Soma.group = grupo;
Multiplica.group = grupo;
Soma.label = "Soma";
Multiplica.label = "Multiplica";
Soma.move(10+200, 52+10+26);
Multiplica.move(10+200, 52+10+26*2);
addChild(Soma);
addChild(Multiplica);
function onClick(evt:MouseEvent):void {
var op1:Number = parseFloat(Campo1.text);
var op2:Number = parseFloat(Campo2.text);
var op3:Number = parseFloat(Campo3.text);
var res:Number = 0;
switch (grupo.selection) {
case Soma :
res = op1+op2+op3;
break;
case Multiplica :
res = op1*op2*op3;
break;
}
texto.text = ""+res;
} |
|
Operadores são símbolos que representa uma operação matemática; são três tipos de operadores:
O operador mais usado é o operador de atribuição "=". Ele atribui o conteúdo da expressão à sua direita para a variável do seu lado esquerdo.
X=40
X=20/10 + 5
X=Y
Operadores aritméticos são símbolos usados pelo computador + , -, * , /, para efetuar cálculos matemáticos.
Os operadores aritméticos são os seguintes:
| Operadores | Nome | Utilização |
| + | Adição | Soma valores |
| - | Subtração | Subtrai valores |
| * | Multiplicação | Multiplica valores |
| / | Divisão | Divide valores |
| % | Módulo | Determina o resto da divisão |
Veja os exemplos abaixo:
Exemplo 1: Efetue cálculos usando operadores aritméticos
| Operação | Resultado |
| 5 + 8 | 13 |
| 12-7 | 5 |
| 3 * 6 | 18 |
| 10/3 | 3.333333 |
| 10 % 3 | 1 |
Exemplo 2: Efetue cálculos aritméticos usando parênteses
| Operação | Resultado |
| 4 * 2 + 1 | 9 |
| 4 * (2 + 1) | 12 |
| 3 + 5 * 4-2 | 21 |
| (3 + 5) * (4-2) | 16 |
| + | Adição |
| - | Subtração |
| * | Multiplicação |
| / | Divisão |
| ( ) | Parênteses |
Lista de Exercícios:
Exercício 1. Faça um programa que receba quatro números inteiros, calcula e mostre a soma desses números

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | n1 |
| Label | x2 |
| TextInput | n2 |
| Label | x3 |
| TextInput | n3 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Campo 1:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var n1:TextInput = new TextInput();
n1.text = "";
n1.width = 200;
n1.height = 25;
n1.x = 100+10;
n1.y = 10;
addChild(n1);
var x2:Label = new Label();
x2.text = "Campo 2:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var n2:TextInput = new TextInput();
n2.text = "";
n2.width = 200;
n2.height = 25;
n2.x = 100+10;
n2.y = 10+26;
addChild(n2);
var x3:Label = new Label();
x3.text = "Campo 3:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var n3:TextInput = new TextInput();
n3.text = "";
n3.width = 200;
n3.height = 25;
n3.x = 100+10;
n3.y = 10+26*2;
addChild(n3);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var op1:String = n1.text;
var op2:String = n2.text;
var op3:String = n3.text;
var res:Number = 0;
res = parseFloat(op1) + parseFloat(op2) + parseFloat(op3);
texto.text = "A soma deu: "+res;
} |
|
Exercício 2. Faça um programa que receba três notas, calcule e mostre a média aritmética entre elas.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | base |
| Label | x2 |
| TextInput | altura |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Base:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var base:TextInput = new TextInput();
base.text = "";
base.width = 200;
base.height = 25;
base.x = 100+10;
base.y = 10;
addChild(base);
var x2:Label = new Label();
x2.text = "Altura:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var altura:TextInput = new TextInput();
altura.text = "";
altura.width = 200;
altura.height = 25;
altura.x = 100+10;
altura.y = 10+26;
addChild(altura);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Xbase:String = base.text;
var Yaltura:String = altura.text;
var res:Number = 0;
res = (parseFloat(Xbase) * parseFloat(Yaltura))/2;
texto.text = "Área: "+res;
} |
|
Exercício 4. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 25%.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | salario |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Salário:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var salario:TextInput = new TextInput();
salario.text = "";
salario.width = 200;
salario.height = 25;
salario.x = 100+10;
salario.y = 10;
addChild(salario);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Salario:Number;
var aumento:Number;
var novoSalario:Number;
Salario = parseFloat(salario.text);
aumento = Salario * 25/100;
novoSalario = Salario + aumento;
texto.text = "Novo Salario: "+novoSalario;
} |
|
Exercício 5. Crie um programa que dê o resultado da soma, do produto e da diferença.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | A |
| Label | x2 |
| TextInput | B |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "A:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var A:TextInput = new TextInput();
A.text = "";
A.width = 200;
A.height = 25;
A.x = 100+10;
A.y = 10;
addChild(A);
var x2:Label = new Label();
x2.text = "B:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var B:TextInput = new TextInput();
B.text = "";
B.width = 200;
B.height = 25;
B.x = 100+10;
B.y = 10+26;
addChild(B);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Texto = "";
var a=parseFloat(A.text);
var b=parseFloat(B.text);
Texto += "Operações com números " + a + " e " + b + ":\n";
Texto += "Soma = " + (a + b) + "\n";
Texto += "Produto = " + (a * b) + "\n";
Texto += "Diferença = " + (a - b);
texto.text = Texto;
} |
|
Exercício 6. Crie um programa que dê o quadrado de um número

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | n |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite um número:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var n:TextInput = new TextInput();
n.text = "";
n.width = 200;
n.height = 25;
n.x = 100+10;
n.y = 10;
addChild(n);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var N = parseFloat(n.text);
var Quadrado = N * N;
texto.text = "O quadrado de "+ N + " é "+ Quadrado;
} |
|
Operadores relacionais são operadores que permitem ao programador comparar dois (ou mais) valores ou expressões.
Os operadores relacionais típicos são: (veja a tabela abaixo:)
| Operador | Significado | Exemplo |
| == | Igual | 3==(4-1) |
| != | Diferente | 5 != (3 + 3) |
| < | Menor que | 3<23 |
| > | Maior que | 41>39 |
| <= | Menor ou igual a | 5 <= 6 |
| >= | Maior ou igual a | 10 >= 10 |
Veja os exemplos abaixo:
Exemplo 1. Veja o seguinte resultado
| Operação | Resultado |
| 23<3 | false (falso) |
| 41>39 | true (verdadeiro) |
| 6 <= 5 | false (falso) |
| 10 >= 10 | true (verdadeiro) |
| 7==8 | false (falso) |
| 48 != 22 | true (verdadeiro) |
Exemplo 2. Se a=100 e b=200, calcule:
| Operação | Resultado |
| a>b | false (falso) |
| b>a | true (verdadeiro) |
| a != b | true (verdadeiro) |
Exemplo 3. Resolva a seguinte operação:
| Operação | Resultado |
| 23==(4 * 2 + 3 * 5) | true (verdadeiro) |
| 17==(12/2 + 8-5) | false (falso |
23==(4 * 2 + 3 * 5) 23==(8 + 15) 23==23 true |
17==(12/2 + 8-5) 17==6 + 8-5 17==9 false |
Exemplo 4. Dadas as strings abaixo resolva:
| Operação | Resultado |
| "FRED".equals("FRED") | true (verdadeiro) |
| ! "SAM".equals("FRED") | true (verdadeiro) |
| "TWO".equals("ONE") | false (falso) |
| ! "TRHEE".equals("TRHEE") | false (falso) |
| Comparações de strings não são feitas com o operador == e sim com o método equals ou com equalsIgnoreCase (que ignora maiúsculas e minúsculas). | |
AND, OR, XOR e NOT são as operações fundamentais a lógica booleana.
Estes operadores só aceitam como operandos valores lógicos: TRUE ou FALSE.
Veja a tabela abaixo
| Operador | Significado |
| And ( && ) | Verdadeiro se ambos os lados da expressão forem verdadeiros. |
| Or ( || ) | Verdadeiro se um ou ambos os lados da expressão forem verdadeiros |
| Xor ( ^ ) | Verdadeiro se apenas um lado for verdadeiro |
| Not ( ! ) | Reverte verdadeiro para falso e vice-versa |
Se você está acostumado com o C, C + + , Java e Javascript já deve ter notado que seus operadores booleanos usam símbolos diferentes.
And é substituído por &&
Or é substituído por ||
e Not é substituído por !
Se o leitor não teve nenhum contato com essas linguagens, poderá ter algumas dificuldades iniciais de escrever este tipo de código. Por exemplo:
(x>2)&&(y==9)
Leia-se: x maior que 2 E y igual a 9
(x<3)||(x>8)
Leia-se: x menor que 3 OU x maior que 8
if((altura>170)||(idade>18)) {
// Ação...
}
Leia-se: se altura maior que 170 centímetros OU idade maior que 18 anos...
Veja a tabela abaixo:
| Símbolo | Operação |
| && | And (E) |
| || | Or (Ou) |
| ! | Not (Não) |
Existem os operadores binários (semelhantes aos operadores acima), veja a tabela abaixo:
| Símbolo | Operação |
| & | And lógico |
| | | Or lógico |
| ^ | Xor lógico |
Iremos estudar cada um:
AND (&&) é verdadeiro se ambas as entradas forem verdadeiras, veja o quadro abaixo:
| (a==true)&&(b==true) o resultado é true (verdadeiro) |
| (a==false)&&(b==true) o resultado é false (falso) |
| (a==true)&&(b==false) o resultado é false (falso) |
| (a==false)&&(b==false) o resultado é false (falso) |
Por exemplo a expressão:
(3 + 2==5)&&(6 + 2==8)
É verdadeira porque as expressões em ambos os lados de And são verdadeiras. no entanto, a expressão:
(4 + 3==9)&&(3 + 3==6)
É falsa, porque a expressão à esquerda de And é falsa. Lembre-se disto quando combinar expressões com And: se qualquer expressão for falsa, toda a expressão será falsa.
OR (||) é verdadeiro se qualquer uma das entradas for verdadeira, veja o quadro abaixo:
| (a==true)||(b==true) o resultado é true (verdadeiro) |
(a==false)||(b==true) o resultado é true (verdadeiro) |
| (a==true)||(b==false) o resultado é true (verdadeiro) |
| (a==false)||(b==false) o resultado é false (falso) |
Por exemplo, as expressões:
(3 + 6==2)||(4 + 4==8)
e
(4 + 1==5)||(7 + 2==9)
São ambas verdadeiras porque pelo menos uma das expressões comparada é verdadeira. Observe que no segundo caso, ambas as expressões comparadas são verdadeiras, o que também torna verdadeira uma expressão Or.
Um XOR (OU exclusivo) é verdadeiro se somente uma das entradas for verdadeira e não ambas, veja o quadro abaixo:
| (a==true)^(b==true) o resultado é false (falso) |
| (a==false)^(b==true) o resultado é true (verdadeiro) |
| (a==true)^(b==false) o resultado é true (verdadeiro) |
| (a==false)^(b==false) o resultado é false (falso) |
Por exemplo, a expressão:
(3 + 6==2)^(4 + 4==8)
É verdadeira porque apenas a expressão (4 + 4=8) é verdadeira. No entanto a expressão:
(4 + 1==5)^(7 + 2==9)
É falsa, porque ambas as expressões são verdadeiras.
NOT (!) Uma operação lógica booleana que inverte a entrada. Se a entrada for true, a saída é false, e vice-versa, veja o quadro abaixo:
| !(true) o resultado é false |
| !(false) o resultado é true |
Por exemplo, a expressão:
(4 + 3==5)
Não é verdadeira; no entanto a expressão
!(4 + 3==5)
É verdadeira porque o operador Not reverte para verdadeiro o resultado falso da expressão (4 + 3=5).
Observe esta expressão:
(4 + 5==9) && !(3 + 1==3)
Esta expressão é verdadeira ou falsa? Se você disse verdadeira, compreende a forma como funcionam os operadores lógicos. As expressões em ambos os lados de And são verdadeiras, então toda a expressão é verdadeira.
Veja exemplos abaixo:
Exemplo 1. Resulta as seguintes operações booleanas
| Expressão | Resultado |
| (3>2)&&(5>4) | true (verdadeiro) |
| (2>1)&&(7>8) | false (falso) |
| (3>4)||(9>2) | true (verdadeiro) |
| (7>7)||(4>4) | false (falso) |
| (2==2)^(5==5) | false (falso) |
| (4>5)^(4<5) | true (verdadeiro) |
| ! true | false (falso) |
| ! (9<1)||(9<1) | true (verdadeiro) |
Exemplo 2. Se a=100, b=200 e c=300, resolva:
| Expressão | Resultado |
| b>a && c>b | true (verdadeiro) |
| b>a && b==c | falso (falso) |
| b>a || b==c | true (verdadeiro) |
| b>a ^ c>b | false (falso) |
| ! a <> b | false (falso) |
Exemplo 3. Resolva a seguinte operação:
(4 * (3 + 5))/2>100 || (5 * (3 + 4)/2<100)
Solução
(4 * (3 + 5))/2>100 || (5 * (3 + 4)/2<100)
(4 * 8)/2>100 || (5 * 7/2<100)
32/2>100 || (35/2<100)
16>100 || 17.5<100
false || false
false
Observe a lista de prioridades abaixo:
Resumindo
| Nível de prioridade | Operadores | Ordem | |
| Mais alta: | 1 | Variáveis | da esquerda para a direita |
| 2 | Propriedades do Objeto | da esquerda para a direita | |
| 3 | Parênteses | da esquerda para a direita | |
| 4 | Funções | da esquerda para a direita | |
| 5 | Potenciação | da esquerda para a direita | |
| 6 | * , /, % | da esquerda para a direita | |
| 7 | + , - | da esquerda para a direita | |
| 8 | >, <, >= , <= , ==, != | da esquerda para a direita | |
| 9 | ! | da esquerda para a direita | |
| Mais baixa: | 10 | &&, || | da esquerda para a direita |
O comando If é uma instrução de linguagem de programação que compara dois ou mais conjuntos de dados e verifica os resultados. Se o resultado for verdadeiro, as instruções que seguem o comando If serão executados; se não, as instruções que seguirem o comando Else serão executados. Veja o exemplo abaixo:
Vejamos:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var A=true;
if (A==true) {
texto.text = "Execute B";
} else {
texto.text = "Execute C";
}
} |
|
Outro exemplo a seguir também é um exemplo bem simples:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var teste=true;
if (teste) {
texto.text = "Esta linha será impressa";
} else {
texto.text = "Esta linha não será impressa";
}
} |
|
Vamos ver um exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Descontos;
var Texto;
Descontos=315;
Texto = "";
if(Descontos!=0){
Texto = "Descontos deste mês: " + Descontos;
}
texto.text = Texto;
} |
|
O sistema só executará o comando texto.text quando o valor da variável desconto for maior que 0. Agora, ficou claro que este comando é muito útil para dar ao sistema uma espécie de "poder de decisão". na verdade, estamos programando o sistema para cada tipo de situação e então o software agirá conforme a necessidade de cada problema, situação ou estado do sistema naquele momento.
Podemos dar ao fluxo mais uma opção utilizando a cláusula else. Nesse caso, o fluxo executará o bloco antes ou depois desta cláusula. No exemplo anterior, podemos incrementar o código com mais uma situação.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Descontos;
var Texto;
Descontos=315;
Texto = "";
if(Descontos != 0){
Texto = "Descontos deste mês: " + Descontos;
} else {
Texto = "Não há descontos este mês.";
}
texto.text = Texto;
} |
|
Para entender melhor o exemplo troque o valor da variável Descontos para zero e teste novamente.
A cláusulaelse ifnos permite ter várias expressões dentro do mesmo comando If. Isso permite escolher entre várias situações e, caso nenhuma retorne verdadeiro, o fluxo irá para a cláusula else, se esta for utilizada. Veja

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Salario=1550;
if (Salario<1250){
texto.text = "Remuneração isenta de imposto";
} else if (Salario >= 1250 && Salario<1800) {
texto.text = "Retenção de 5% para imposto mensal";
} else if (Salario >= 1800 && Salario<2200) {
texto.text = "Retenção de 7% para imposto mensal";
} else {
texto.text = "Retenção de 9% para imposto mensal";
}
} |
|
Podemos observar que a cláusula else if pode ser utilizada várias vezes, permitindo calcular várias faixas para um valor de salário. Aqui, utilizamos a variável Salario, mas este valor pode vir de um banco de dados que será alimentado por usuários do sistema, em momento totalmente distinto a sua programação.
Por isso, os sistemas são bastante flexíveis aos dados e devem tratá-los de acordo com as normas e legislações vigentes.
Podemos verificar isso no exemplo anterior, no qual para cada faixa salarial é aplicado um imposto que, em um software oficial, deve estar de acordo com as normas legais.
Lista de exercícios
Exercício 1. Elaborar um algoritmo para receber um número inteiro e informar se ele é par ou ímpar.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | n |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite um número:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var n:TextInput = new TextInput();
n.text = "";
n.width = 200;
n.height = 25;
n.x = 100+10;
n.y = 10;
addChild(n);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var numero:int = parseInt(n.text);
if(numero % 2 == 0){
texto.text = "Par";
} else {
texto.text = "Ímpar";
}
} |
|
Exercício 2. Receber a temperatura - em graus Celsius - de uma pessoa e emitir uma mensagem se ela estiver com febre.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | temperatura |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Temperatura:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var temperatura:TextInput = new TextInput();
temperatura.text = "";
temperatura.width = 200;
temperatura.height = 25;
temperatura.x = 100+10;
temperatura.y = 10;
addChild(temperatura);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Temperatura = parseInt(temperatura.text);
var febre=37;
if(Temperatura >= febre){
texto.text = "Paciente com febre";
}else {
texto.text = "Paciente sem febre";
}
} |
|
Exercício 3. Crie um algoritmo que informa se você é do sexo masculino ou feminino

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | s_n |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Você é do sexo Masculino? s/n??";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var s_n:TextInput = new TextInput();
s_n.text = "";
s_n.width = 200;
s_n.height = 25;
s_n.x = 200+10;
s_n.y = 10;
addChild(s_n);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
if(s_n.text == "s") {
texto.text = "Você é do sexo masculino";
} else {
texto.text = "Você é do sexo feminino";
}
} |
|
Exercício 4. Faça um programa que indique se o ano é bissexto ou não.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | Ano |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite o ano:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var Ano:TextInput = new TextInput();
Ano.text = "";
Ano.width = 200;
Ano.height = 25;
Ano.x = 100+10;
Ano.y = 10;
addChild(Ano);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Texto = "";
var ano = parseInt(Ano.text);
if (ano % 4 == 0){
Texto = ano + " é bissexto";
} else {
Texto = ano + " não é bissexto";
}
texto.text = Texto;
} |
|
| < | Menor que |
| > | Maior que |
| == | Igual a |
| <= | Menor ou Igual a |
| >= | Maior ou igual a |
| != | Diferente |
Lista de exercícios
Exercício 1. Faça um programa que indique se ele é maior, menor ou igual a 100.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | numero |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Número:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var numero:TextInput = new TextInput();
numero.text = "";
numero.width = 200;
numero.height = 25;
numero.x = 100+10;
numero.y = 10;
addChild(numero);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Numero = parseFloat(numero.text);
if(Numero < 100){
texto.text = "O número é menor do que 100";
}else{
texto.text = "O número é maior ou igual a 100";
}
} |
|
Exercício 2. Faça um programa que indique se ele é positivo, negativo ou igual a 0.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | n |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Número:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var n:TextInput = new TextInput();
n.text = "";
n.width = 200;
n.height = 25;
n.x = 100+10;
n.y = 10;
addChild(n);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var N = parseFloat(n.text);
if (N>0) {
texto.text = "O número é positivo";
}else {
texto.text = "O número ou é igual a 0 ou é negativo";
}
} |
|
Exercício 3. Faça um programa que receba dois números e mostre o maior.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | num1 |
| Label | x2 |
| TextInput | num2 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digito o 1º num.:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var num1:TextInput = new TextInput();
num1.text = "";
num1.width = 200;
num1.height = 25;
num1.x = 100+10;
num1.y = 10;
addChild(num1);
var x2:Label = new Label();
x2.text = "Digite o 2º num.:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var num2:TextInput = new TextInput();
num2.text = "";
num2.width = 200;
num2.height = 25;
num2.x = 100+10;
num2.y = 10+26;
addChild(num2);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Texto = "";
var Num1 = parseFloat(num1.text);
var Num2 = parseFloat(num2.text);
if(Num1>Num2){
Texto = "O maior número é: "+ Num1;
} else if(Num1<Num2) {
Texto = "O maior número é: "+ Num2;
}else if(Num1==Num2) {
Texto = "Os números são iguais";
}
texto.text = Texto;
} |
|
Exercício 4. Criar um algoritmo que receba a idade e informe se é criança, adolescente, adulto ou idoso:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | idade |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite sua idade:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var idade:TextInput = new TextInput();
idade.text = "";
idade.width = 200;
idade.height = 25;
idade.x = 100+10;
idade.y = 10;
addChild(idade);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Idade = parseFloat(idade.text);
if (Idade < 13) {
texto.text = "Você é uma criança";
}else if(Idade < 18) {
texto.text = "Você é um adolescente";
}else if(Idade < 65) {
texto.text = "Você é um adulto";
} else {
texto.text = "Você é um idoso";
}
} |
|
| AND | && | (E) |
| OR | || | (OU) |
| NOT | ! | (NÃO) |
Lista de exercícios
Exercício 1. Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e diga se foi aprovado, reprovado ou em recuperação.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | nota1 |
| Label | x2 |
| TextInput | nota2 |
| Label | x3 |
| TextInput | nota3 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "1ª nota:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var nota1:TextInput = new TextInput();
nota1.text = "";
nota1.width = 200;
nota1.height = 25;
nota1.x = 100+10;
nota1.y = 10;
addChild(nota1);
var x2:Label = new Label();
x2.text = "2ª nota:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var nota2:TextInput = new TextInput();
nota2.text = "";
nota2.width = 200;
nota2.height = 25;
nota2.x = 100+10;
nota2.y = 10+26;
addChild(nota2);
var x3:Label = new Label();
x3.text = "3ª nota:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var nota3:TextInput = new TextInput();
nota3.text = "";
nota3.width = 200;
nota3.height = 25;
nota3.x = 100+10;
nota3.y = 10+26*2;
addChild(nota3);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var media;
var Texto = "";
var Nota1 = parseFloat(nota1.text);
var Nota2 = parseFloat(nota2.text);
var Nota3 = parseFloat(nota3.text);
media=(Nota1 + Nota2 + Nota3)/3;
Texto += "Média aritmética: " + media;
Texto += "\n";
if(media >= 0 && media<5) {
Texto += "Reprovado";
} else if( media >= 5 && media<7) {
Texto += "Em recuperação";
} else if (media >= 7 && media <= 10) {
Texto += "Aprovado";
}
texto.text = Texto;
} |
|
Exercício 2. Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e diga se tirou nota A, B, C, D, ou E.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | nota1 |
| Label | x2 |
| TextInput | nota2 |
| Label | x3 |
| TextInput | nota3 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "1ª nota:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var nota1:TextInput = new TextInput();
nota1.text = "";
nota1.width = 200;
nota1.height = 25;
nota1.x = 100+10;
nota1.y = 10;
addChild(nota1);
var x2:Label = new Label();
x2.text = "2ª nota:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var nota2:TextInput = new TextInput();
nota2.text = "";
nota2.width = 200;
nota2.height = 25;
nota2.x = 100+10;
nota2.y = 10+26;
addChild(nota2);
var x3:Label = new Label();
x3.text = "3ª nota:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var nota3:TextInput = new TextInput();
nota3.text = "";
nota3.width = 200;
nota3.height = 25;
nota3.x = 100+10;
nota3.y = 10+26*2;
addChild(nota3);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var media;
var Texto = "";
var Nota1 = parseFloat(nota1.text);
var Nota2 = parseFloat(nota2.text);
var Nota3 = parseFloat(nota3.text);
media=(Nota1 + Nota2 + Nota3)/3;
Texto += "Média aritmética: " + media;
Texto += "\n";
if(media >= 8 && media <= 10) {
Texto += "nota A";
}else if(media >= 6 && media<8) {
Texto += "nota B";
}else if(media >= 4 && media<6) {
Texto += "nota C";
}else if(media >= 2 && media<4) {
Texto += "nota D";
}else if(media >= 0 && media<2) {
Texto += "nota E";
}
texto.text = Texto;
} |
|
Exercício 3. Dados três valores A, B, C, verificar se eles formam um triângulo eqüilátero, isósceles ou escaleno.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | a |
| Label | x2 |
| TextInput | b |
| Label | x3 |
| TextInput | c |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Lado A:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var a:TextInput = new TextInput();
a.text = "";
a.width = 200;
a.height = 25;
a.x = 100+10;
a.y = 10;
addChild(a);
var x2:Label = new Label();
x2.text = "Lado B:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var b:TextInput = new TextInput();
b.text = "";
b.width = 200;
b.height = 25;
b.x = 100+10;
b.y = 10+26;
addChild(b);
var x3:Label = new Label();
x3.text = "Lado C:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var c:TextInput = new TextInput();
c.text = "";
c.width = 200;
c.height = 25;
c.x = 100+10;
c.y = 10+26*2;
addChild(c);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var A = parseFloat(a.text);
var B = parseFloat(b.text);
var C = parseFloat(c.text);
if(A<(B + C) && B<(A + C) && C<(A + B)) {
if(A==B && B==C) {
texto.text = "Triângulo Eqüilátero";
} else if(A==B || A==C || B==C) {
texto.text = "Triângulo Isósceles";
} else {
texto.text = "Triângulo Escaleno";
}
}else {
texto.text = "Estes valore não formam um triângulo";
}
} |
|
Exercício 4. Crie uma estrutura de decisão comparando dois alunos e informe se ele foram aprovados ou reprovados

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Aluno1="Aprovado";
var Aluno2="Reprovado";
if(Aluno1 == "Aprovado" && Aluno2 == "Aprovado"){
texto.text = "Ambos estão aprovados!";
} else {
texto.text = "Um dos alunos foi reprovado";
}
} |
|
Repare nesta outra construção para comando if aninhado:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
var mes = 3;
if (mes==1) {Texto = "Jan";}
else if (mes==2) {Texto = "Fev";}
else if (mes==3) {Texto = "Mar";}
else if (mes==4) {Texto = "Abr";}
else if (mes==5) {Texto = "Mai";}
else if (mes==6) {Texto = "Jun";}
else if (mes==7) {Texto = "Jul";}
else if (mes==8) {Texto = "Ago";}
else if (mes==9) {Texto = "Set";}
else if (mes==10) {Texto = "Out";}
else if (mes==11) {Texto = "Nov";}
else if (mes==12) {Texto = "Dez";}
else {Texto = "Mês inválido";}
texto.text = Texto;
} |
|
Embora essa construção seja perfeitamente válida, há uma forma mais eficiente de se obter os mesmos resultados. É o comando case cujo funcionamento é muito parecido com os if's aninhados:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
var mes = 3;
switch (mes){
case 1: Texto = "Jan"; break;
case 2: Texto = "Fev"; break;
case 3: Texto = "Mar"; break;
case 4: Texto = "Abr"; break;
case 5: Texto = "Mai"; break;
case 6: Texto = "Jun"; break;
case 7: Texto = "Jul"; break;
case 8: Texto = "Ago"; break;
case 9: Texto = "Set"; break;
case 10: Texto = "Out"; break;
case 11: Texto = "Nov"; break;
case 12: Texto = "Dez"; break;
default: Texto = "Mês inválido!";
}
texto.text = Texto;
} |
|
Este comando permite que várias comparações sejam feitas e, no final, apenas uma seja escolhida para executar um código específico da condição selecionada. Ele funciona igualmente a vários ifs, mas agora ele testa os valores de uma mesma variável.
Vejamos um exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var valor;
var variavel;
valor=2;
switch (valor) {
case 0: variavel = "O valor da variável é 0 "; break;
case 1: variavel = "O valor da variável é 1 "; break;
case 2: variavel = "O valor da variável é 2 "; break;
case 3: variavel = "O valor da variável é 3 "; break;
case 4: variavel = "O valor da variável é 4 "; break;
}
texto.text = variavel;
} |
|
No exemplo anterior, o comando Case testará linha a linha, em busca de um case que corresponda ao valor da variável.
Quando encontrar o valor correspondente, executará os comandos que virão logo após este case.
Em linguagens de programação tais como o C, Java, Javascript PHP, esses comandos estarão entre { }, se for mais que um. Teste o código e veja como fica.
Quando precisamos executar apenas o case que corresponda ao valor da variável, utilizaremos um comando que tem a característica de para fluxos de execução, o comando break. Caso esse não seja utilizado, todos os cases após o case que corresponda ao valor da variável de referência serão executados.
Utilizando o exemplo anterior, veremos como ficaria o código com o uso do comando break:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var valor;
var variavel;
valor=2;
switch (valor) {
case 0: variavel = "O valor da variável é 0 ";
break;
case 1: variavel = "O valor da variável é 1 ";
break;
case 2: variavel = "O valor da variável é 2 ";
break;
case 3: variavel = "O valor da variável é 3 ";
break;
case 4: variavel = "O valor da variável é 4 ";
break;
}
texto.text = variavel;
} |
|
No exemplo anterior, apenas os comandos que correspondam ao case que tem o mesmo valor da variável serão executados.
Teste os exemplos anteriores, veja a diferença entre eles e descobrirá que o exemplo que possui o break é, nesse caso, o correto.
Exemplo 1. Determine o número de dias durante um mês

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | mes |
| Label | x2 |
| TextInput | ano |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite o mês:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var mes:TextInput = new TextInput();
mes.text = "";
mes.width = 200;
mes.height = 25;
mes.x = 100+10;
mes.y = 10;
addChild(mes);
var x2:Label = new Label();
x2.text = "Digite o ano:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var ano:TextInput = new TextInput();
ano.text = "";
ano.width = 200;
ano.height = 25;
ano.x = 100+10;
ano.y = 10+26;
addChild(ano);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Mes = parseInt(mes.text);
var Ano = parseInt(ano.text);
var NumDias=0;
switch(Mes) {
case 4:
case 6:
case 9:
case 11:
NumDias=30;
break;
case 2:
if (Ano % 4 == 0) {
NumDias=29;
} else {
NumDias=28;
}
break;
default:
NumDias=31;
break;
}
texto.text = "O mes "+ Mes + " tem " + NumDias + " dias.";
} |
|
Exemplo 2. Crie um algoritmo que informe o dia da semana

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
var DataToda = new Date();
var DiaDaSemana = DataToda.getDay();
switch(DiaDaSemana) {
case 0: Texto = "Domingo"; break;
case 1: Texto = "Segunda"; break;
case 2: Texto = "Terça"; break;
case 3: Texto = "Quarta"; break;
case 4: Texto = "Quinta"; break;
case 5: Texto = "Sexta"; break;
case 6: Texto = "Sábado"; break;
}
texto.text = Texto;
} |
|
Exemplo 3: Crie um algoritmo que dê um aviso de bom dia, boa tarde e boa noite:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto ="";
var DataToda=new Date();
var HoraAtual=DataToda.getHours();
switch(HoraAtual){
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
Texto = "Bom dia!";
break;
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
Texto = "Boa tarde!";
break;
default:
Texto = "Boa noite!";
break;
}
texto.text = Texto;
} |
|
Exemplo 4. Crie um programa que gerencie um caixa eletrônico

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | menu |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "1 - Inclusão, 2- Alteração, 3 - Exclusão, 4 - Relatório, 5 - Fim";
x1.width = 500;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var menu:TextInput = new TextInput();
menu.text = "";
menu.width = 200;
menu.height = 25;
menu.x = 10;
menu.y = 10+26;
addChild(menu);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Texto = "";
var x_menu = menu.text;
x_menu = x_menu.charAt(0); // Transformando String em char
switch(x_menu) {
case '1': Texto = "Incluir" ; break;
case '2': Texto = "Alterar" ; break;
case '3': Texto = "Excluir" ; break;
case '4': Texto = "Relatório" ; break;
case '5': Texto = "Sair" ; break;
default: Texto = "Opção inválida " ; break;
}
texto.text = Texto;
} |
|
Exercício 5. Crie uma calculadora com as 4 operações da matemática: adição, subtração, divisão e multiplicação.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | A |
| Label | x2 |
| TextInput | operador |
| Label | x3 |
| TextInput | B |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "1º numero";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var A:TextInput = new TextInput();
A.text = "";
A.width = 200;
A.height = 25;
A.x = 100+10;
A.y = 10;
addChild(A);
var x2:Label = new Label();
x2.text = "+, -, *, /";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var operador:TextInput = new TextInput();
operador.text = "";
operador.width = 200;
operador.height = 25;
operador.x = 100+10;
operador.y = 10+26;
addChild(operador);
var x3:Label = new Label();
x3.text = "2º número:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var B:TextInput = new TextInput();
B.text = "";
B.width = 200;
B.height = 25;
B.x = 100+10;
B.y = 10+26*2;
addChild(B);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var x_operador = operador.text;
var Texto = "";
x_operador = x_operador.charAt(0); // Transformando String em char
var a = parseFloat(A.text);
var b = parseFloat(B.text);
switch(x_operador) {
case '+': Texto = "Resultado soma da igual a "+ (a + b); break;
case '-': Texto = "Resultado da subtração igual a "+ (a - b); break;
case '*': Texto = "Resultado da multiplicação igual a "+ (a * b); break;
case '/': Texto = "Resultado da divisão igual a "+ (a / b); break;
default: Texto = "Caractere diferente de + , -, * , /"; break;
}
texto.text = Texto;
} |
|
Exercício 6. Crie um programa que digite um caractere e diga se ele é vogal maiúscula, valor numérico, operador aritmético ou outro caractere.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | caractere |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Escolha um caractere:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var caractere:TextInput = new TextInput();
caractere.text = "";
caractere.width = 200;
caractere.height = 25;
caractere.x = 100+10;
caractere.y = 10;
addChild(caractere);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var c = caractere.text;
c = c.charAt(0); // Transformando String em char
var Texto = "";
switch(c){
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
Texto = "Vogal maiúscula";
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
Texto = "Valor numérico";
break;
case '+':
case '-':
case '*':
case '/':
Texto = "Operador Aritmético";
break;
default:
Texto = "Você digitou outro caractere";
break;
}
texto.text = Texto;
} |
|
Diferente da instrução IF, o operador ternário tem este nome porque necessita de três operandos para se avaliado. Ooperador ternário tem a seguinte forma:
condição1 ? expressão_verdadeira : espressão_falsa
Para avaliar o resultado da expressão primeiro a condição1 é avaliada. Caso este resultado seja verdadeiro então resultado da expressão será igual ao valor da expressão_verdadeira, no caso contrário expressão_falsa é avaliada e se torna o resultado.
Exemplo 1:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var variavel=50;
var resultado=(variavel >= 0)&&(variavel <= 100) ? "VERDADEIRO" : "FALSO";
texto.text = resultado;
} |
|
Exemplo 2:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var horas=30;
var minutos=45;
var segundos=30;
horas=(horas >= 0)&&(horas <= 24) ? horas : 0;
minutos=(minutos >= 0)&&(minutos <= 60) ? minutos : 0;
segundos=(segundos >= 0)&&(segundos <= 60) ? segundos : 0;
texto.text = "São " + horas + ":" + minutos + ":" + segundos;
} |
|

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | nota1 |
| Label | x2 |
| TextInput | nota2 |
| Label | x3 |
| TextInput | nota3 |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "1ª nota:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var nota1:TextInput = new TextInput();
nota1.text = "";
nota1.width = 200;
nota1.height = 25;
nota1.x = 100+10;
nota1.y = 10;
addChild(nota1);
var x2:Label = new Label();
x2.text = "2ª nota:";
x2.width = 200;
x2.height = 25;
x2.x = 10;
x2.y = 10+26;
addChild(x2);
var nota2:TextInput = new TextInput();
nota2.text = "";
nota2.width = 200;
nota2.height = 25;
nota2.x = 100+10;
nota2.y = 10+26;
addChild(nota2);
var x3:Label = new Label();
x3.text = "3ª nota:";
x3.width = 200;
x3.height = 25;
x3.x = 10;
x3.y = 10+26*2;
addChild(x3);
var nota3:TextInput = new TextInput();
nota3.text = "";
nota3.width = 200;
nota3.height = 25;
nota3.x = 100+10;
nota3.y = 10+26*2;
addChild(nota3);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Nota1 = parseFloat(nota1.text);
var Nota2 = parseFloat(nota2.text);
var Nota3 = parseFloat(nota3.text);
var media=(Nota1 + Nota2 + Nota3)/3;
var resultado=(media >= 6)&&(media <= 10) ? "Aprovado" : "Reprovado";
texto.text = resultado;
} |
|
O comando FOR é uma estrutura de repetição que repete uma série de instruções um número especificado de vezes. Digamos que deseje imprimir seu nome na tela dez vezes, por exemplo:
var Texto ="";
var Nome = nome.text;
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
Texto += Nome+"\n";
texto.text = Texto;
Quando você rodar o programa, digite um nome na caixa de texto e clique no botão Ok ou dê Enter. Quando o fizer, o programa imprimirá o nome dez vezes na janela do formulário, como mostrado a seguir:
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Ter muitas linhas em seu programa contendo instruções idênticas alonga-o além do necessário e desperdiça memória. Também mostra um estilo de programação ruim. Ao menos que você deseje que seus amigos programadores riam de você pelas costas, aprenda a substituir códigos de programa redundante por loops de programa.
A rotina do programa anterior pode ser extremamente fácil usando-se um loop For, e aqui está como:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| Label | x1 |
| TextInput | nome |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var x1:Label = new Label();
x1.text = "Digite um nome:";
x1.width = 200;
x1.height = 25;
x1.x = 10;
x1.y = 10;
addChild(x1);
var nome:TextInput = new TextInput();
nome.text = "";
nome.width = 200;
nome.height = 25;
nome.x = 100+10;
nome.y = 10;
addChild(nome);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 10+26*3);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10+26*4);
addChild(texto);
function onClick(evt:MouseEvent):void {
var Texto ="";
var Nome = nome.text;
for(var i=1; i<=10; i++){
Texto += Nome+"\n";
}
texto.text = Texto;
} |
|
Substitua a rotina do programa anterior por esta. Quando você roda o programa, a saída será idêntica àquela do primeiro programa, mas agora o programa é menor e sem código redundante.
Exercício 1. Crie uma estrutura de repetição que conte de 1 até 10.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=1; x<=10; x++){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exercício 2. Crie uma estrutura de repetição que imprima os números pares.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=1; x<=10; x++){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
Exercício 3. Crie uma estrutura de repetição que imprima os números ímpares.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=1; x<=21; x=x+2){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
Exercício 4. Crie uma estrutura de repetição que imprima os números múltiplos de 5.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=0; x<=50; x=x+5){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50,
Exercício 5. Crie uma estrutura de repetição que conte de 110 até 120.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=110; x<=120; x++){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
Exercício 6. Crie uma estrutura de repetição que conte de 40 até 80 e ao mesmo tempo imprima números múltiplos de 8.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=40; x<=80; x+=8){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 40, 48, 56, 64, 72, 80,
Exercício 7. Crie uma estrutura de repetição que conte de 20 até 1 invertidamente.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=20; x>=1; x--){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
Exercício 8. Crie uma estrutura de repetição que conte de -10 até + 10 (números negativos e números positivos)

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=-10; x<=10; x++){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exercício 9. Crie uma estrutura de repetição que conte de -25 até -15.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=-25; x<=-15; x++){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15,
Exercício 10. Crie um conjunto dos números múltiplos de 3 usando a estrutura de repetição FOR.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=0; x<=30; x+=3){
Texto += x+", ";
}
texto.text = Texto;
} |
|
Resultado: 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30,
Exercício 11. Crie uma estrutura de repetição de 1 até 10, informando o quadrado deste número.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Quadrado = 0;
var Texto = "";
for (var N=1; N<=10; N++){
Quadrado = N * N;
Texto += "O quadrado de " + N + " é " + Quadrado+"\n";
}
texto.text = Texto;
} |
|
Exercício 12. Crie uma estrutura de repetição que imprima "Olá" dez vezes.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var x=1; x<=10; x++){
Texto += "Olá\n";
}
texto.text = Texto;
} |
|
O comando while é utilizado quando se deseja repetir um comando, ou um grupo de comandos, enquanto uma dada condição for verdadeira. Um exemplo muito simples é o de escrever os números inteiros entre 1 e 10 na tela. Para isto podemos construir um programa muito simples para esta tarefa

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var i=1;
var Texto = "";
while(i <= 10) {
Texto += i+", ";
i=i + 1;
}
texto.text = Texto;
} |
|
Segundo o programa acima podemos ver que o programa termina quando o teste i <= 10 der como resultado false.
Para que isto ocorra, necessariamente devemos ter i>10. A cada passo o programa primeiro testa a condição e após imprime e incrementa a variável. Assim o programa deve gerar seqüencialmente os valores 1, 2, 3... 10. Após o valor 10 faz i=11 e volta a testar a condição. Neste caso (11 <= 10) é false e o programa termina.
Exercício 1. Crie uma estrutura de repetição que conte de 1 até 10.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=1;
var Texto = "";
while(x <= 10) {
Texto += x+", ";
x=x + 1;
}
texto.text = Texto;
} |
|
Resultado: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exercício 2. Crie uma estrutura de repetição que imprima os números pares

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=0;
var Texto = "";
while(x <= 20) {
Texto += x+", ";
x=x + 2;
}
texto.text = Texto;
} |
|
Resultado: 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
Exercício 3. Crie uma estrutura de repetição que imprima os números ímpares.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=1;
var Texto = "";
while(x < 21) {
Texto += x+", ";
x=x + 2;
}
texto.text = Texto;
} |
|
Resultado: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19,
Exercício 4. Crie uma estrutura de repetição que imprima os números múltiplos de 5.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=0;
var Texto = "";
while(x <= 50) {
Texto += x+", ";
x=x + 5;
}
texto.text = Texto;
} |
|
Resultado: 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50,
Exercício 5. Crie uma estrutura de repetição que conte de 110 até 120.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=110;
var Texto = "";
while(x <= 120) {
Texto += x+", ";
x=x + 1;
}
texto.text = Texto;
} |
|
Resultado: 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
Exercício 6. Crie uma estrutura de repetição que conte de 40 até 80 e ao mesmo tempo imprima números múltiplos de 8.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=40;
var Texto = "";
while(x <= 80) {
Texto += x+", ";
x=x + 8;
}
texto.text = Texto;
} |
|
Resultado: 40, 48, 56, 64, 72, 80,
Exercício 7. Crie uma estrutura de repetição que conte de 20 até 1 invertidamente.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=20;
var Texto = "";
while(x >= 1) {
Texto += x+", ";
x=x - 1;
}
texto.text = Texto;
} |
|
Resultado: 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
Exercício 8. Crie uma estrutura de repetição que conte de -10 até + 10 (números negativos e números positivos)

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=-10;
var Texto = "";
while(x <= 10) {
Texto += x+", ";
x=x + 1;
}
texto.text = Texto;
} |
|
Resultado: -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exercício 9. Crie uma estrutura de repetição que conte de -25 até -15.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=-25;
var Texto = "";
while(x <= -15) {
Texto += x+", ";
x=x + 1;
}
texto.text = Texto;
} |
|
Resultado: -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15,
Exercício 10. Crie um conjunto dos números múltiplos de 3 usando a estrutura de repetição while.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=0;
var Texto = "";
while(x <= 30) {
Texto += x+", ";
x=x + 3;
}
texto.text = Texto;
} |
|
Resultado: 0, 3, 6, 12, 15, 18, 21, 24, 27, 30,
Exercício 11. Antes de executar um programa, crie uma mensagem informando se deseja prosseguir.
| Exemplo em Javascript |
<script language="javascript">
tentativas=1
while(tentativas <= 3){
resposta=prompt("Você deseja prosseguir (s ou n)?","")
if (resposta=="s"){
document.write("<br>Execute o programa.")
break;
} else if(resposta=="n") {
document.write("<br>Fim do programa.")
break;
} else {
document.write("<br>Opção inválida:")
document.write("<br>Tente novamente.")
tentativas=tentativas + 1
}
}
if (tentativas >= 4) {
document.write("<br>vou assumir como um não")
}
</script>
Assim como a instrução For e a instrução while, vistos anteriormente, o loop invertido, ao contrário do comando while, é um bloco de comando que será executado pelo menos uma vez e será repetido até que a condição associada seja verdadeira.
Há situações em que é importante se garantir a execução de uma seqüência de comandos pelo menos uma vez. Veja um exemplo simples:
| Exemplo em Javascript |
<script language="javascript">
mes=prompt("Digite o mês:")
mes=parseFloat(mes)
while(mes<1 || mes>12) {
document.write("<br>Digitação errada! Digite de novo.")
mes=prompt("Digite o mês:")
mes=parseFloat(mes)
}
</script>
Observe que, repetimos duas vezes o mesmo comando: "Digite o mês".
Podemos simplificar este comando somente uma vez, usando a estrutura de repetição do while .
do while é o loop invertido de while.
Usando o exemplo anterior iremos substituir o comando while pelo comando do , observe:
| Exemplo em Javascript |
<script language="javascript">
do {
mes=prompt("Digite o mês:")
mes=parseFloat(mes)
if(mes<1 || mes>12){
document.write("<br>Digitação errada! Digite de novo")
}
} while (mes<1 || mes>12)
</script>
Pode-se também utilizar este comando para execuções sucessivas de um programa. Neste caso, é comum se fazer uma pergunta do tipo "Deseja continuar (s/n)?" após cada execução.
Naturalmente, é necessário uma variável do tipo caractere que receba a resposta do usuário e que será utilizada para controlar a estrutura de repetição. Teríamos algo como:
| Exemplo em Javascript |
<script language="javascript">
// ...
do {
/ * Seqüência de comandos do programa propriamente dito * /
Resp=prompt("Deseja continuar (s/n)?","")
} while(Resp.toUpperCase()!="N")
</script>
Vale lembrar que a função toUpperCase() retorna o argumento no formato maiúsculo.
Observe mais um exemplo:
| Exemplo em Javascript |
<script language="javascript">
do {
num=prompt("Digite um número:","")
num=parseFloat(num)
if (num<100) {
document.write("<br>O número " + num + " é menor do que 100")
}
fim=prompt("Deseja testar outro [S/N] ?","")
} while (fim.toUpperCase()!="N")
</script>
Veja o exemplo abaixo:
Atenção, não teste este código!
Não teste este código
var Texto ="";
var Contador=0; var n=0;
while(Contador<=10){
Texto += n + ", ";
n=n + 1;
}
texto.text = Texto;
Não teste este código
Se você entendeu os exemplos anteriores sobre os loops, deve perceber que existe um erro nesse exemplo. Como pode ver a condição do loop while refere-se à variável contador, mas essa variável realmente não se altera durante o loop. Isso crua um loop infinito. O loop continuará executando até que seja interrompido pelo usuário ou até gerar algum tipo de erro.
Os loops infinitos nem sempre podem ser interrompidos pelo usuário, exceto fechando onavegador, em alguns casos os loops infinitos podem até impedir que onavegadorfeche ou provocar uma pane no sistema.
Eles também podem ser difíceis de serem identificados, porque este tipo de código não lhe mostrará um erro dizendo que há um loop infinito. Mas não se preocupe, pois esse tipo de loop pode ser evitado, o que tem que fazer é: toda vez que for criar um loop em um script, você deve ter cuidado de certificar-se de que há uma saída.
Nota: Dependendo da versão do navegador em utilização, o loop infinito pode até mesmo fazer o navegador para de responder ao usuário. Certifique-se de fornecer uma rota de escape de loops infinitos e salvar seu script até testá-lo, em qualquer eventualidade.
Ocasionalmente, você pode querer criar um loop infinito. Isso talvez inclua situações em que você quer que seu programa execute até o usuário interrompê-lo ou em que fornece uma rota de escape com a instruçãobreak. Uma maneira de criar um loop infinito é o seguinte:
while(true) { ...}
Como o valor true é condicional, esse loop sempre encontrará sua condição como sendo verdadeira.
Há uma maneira de escapar de um loop infinito. Você pode utilizar a instruçãobreak(que significa parar) durante um loop para sair dele imediatamente e continuar a primeira instrução depois do loop. O exemplo abaixo mostra o uso dessa instrução.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var n=0;
var total=0;
var Texto = "";
while(true){
n=n + 1;
total=total + n;
Texto += total+", ";
if(total >= 100){
break;
}
}
texto.text = Texto;
} |
|
Embora a instrução while esteja configurada como um loop infinito, a instrução if verifica o valor correspondente. Se total maior que 100, sai do loop.
Quando este tipo de código encontra uma instruçãobreak, ele pula o resto do loop e continua o script com a primeira instrução depois da chave de fechamento no final do loop. Você pode utiliza a instruçãobreakem qualquer tipo de loop, seja infinita ou não.
O comandoBreakinterrompe o comando while ou For que está sendo executado e transfere o controle do programa para o comando seguinte aquele que encerra o loop.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var i=0;
var Texto = "";
while (i<20) {
i=i+1;
if (i==10)
break;
Texto += i+", ";
}
texto.text = Texto;
} |
|
Resultado: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A declaração continue é usada quando não se quer executar nenhum dos comandos daquele ponto até o fim do bloco, mas queremos que o laço prossiga com a próxima interação. No caso do exemplo anterior, se i for 10, o laço se interrompe e o restante da matriz não será preenchido. Em lugar disto, podemos usarcontinueque não só salta o processo de atualização, mas salta além do calcula que iria provocar um erro. O seguinte código permite que o laço continue, mas salta todos os números ímpares.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var i=0;
var Texto = "";
while (i<20) {
i=i+1;
if (i==10)
break;
Texto += i+", ";
}
texto.text = Texto;
} |
|
Resultado: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
Existem dois tipos de operadores incrementais o incremento (x++ ) e o decremento (x--)
O incremento (x++ ) aumenta o valor da variável em uma unidade, o decremento (x--) diminui o valor da variável em uma unidade, ou seja:
x++ é idêntico a x=x + 1
x-- é idêntico a x=x-1
Os operadores de incremento e decremento podem ser prefixos ou pós-fixos - isto é, podem ser colocados antes ( ++x) ou depois (x++); da mesma forma é o decremento (--x) igual a (x--), ou seja:
x++ é semelhante a ++x e
x-- é semelhante a --x.
Conclui-se da seguinte forma:
x++ ou ++x é idêntico a x=x + 1
x-- ou --x é idêntico a x=x-1
Veja o exemplo abaixo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto;
var a;
Texto ="";
a=2;
Texto += "Se a=2\n";
a++;
Texto += "O resultado de a++ é "+ a;
a=2;
Texto += "\nSe a=2\n";
++a;
Texto += "O resultado de ++a é "+ a;
texto.text = Texto;
} |
|
O resultado da execução deste pequeno script é o seguinte:
Se a=2
O resultado de a++ é 3
Se a=2
O resultado de ++a é 3
Da mesma forma são os operadores decrementais a-- e --a, é só substituir + + por --; porém o resultado é 1.
Os operadores incrementais são muito usados em estruturas de repetições, tais como o For e o while. Exemplo:
Exemplo 1:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=1;
var Texto = "";
while(x<=10){
Texto += x+", ";
x++;
}
texto.text = Texto;
} |
|
Resultado: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exemplo 2:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var x=20;
var Texto = "";
while(x >= 1){
Texto += x+", ";
--x;
}
texto.text = Texto;
} |
|
Resultado: 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
Atenção programadores!!!
Em linguagens de programação tais como Java e o Javascript devemos ter cuidado na hora de usar operadores incrementais.
Quando colocamos uma variável e um outro operador de atribuição "=" na frente dos operadores incrementais + + e -- há uma sutil diferença:
A=x++
é diferente de
A= ++x
Imagine que variável x seja igual a 5. Nos dois casos o resultado de A deveria ser 6 nas duas operações.
Se:
Se: A=5 e: A=x++ O resultado é: A=5 e: x=6 |
Se A=5 e: A=++x O resultado é: A=6 e: x=6 |
Esta sutileza sintática pode gerar pequenos erros de programação.
Da mesma forma é o operador decremental "--".
Se: A=5 e: A=x-- O resultado é: A=5 e: x=4 |
Se A=5 e: A=--x O resultado é: A=4 e: x=4 |
Veja o exemplo na prática:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto;
var a;
Texto = "";
a=2;
Texto += "Incrementos \n";
Texto += "a=2 \n";
Texto += "a++="+ a++ + "\n";
a=2;
Texto += "++a="+ ++a;
texto.text = Texto;
} |
|
O resultado da execução deste pequeno script é o seguinte:
a=2
a++=2
++a=3
Operadores de atribuição (semelhante aos operadores aritméticos) são símbolos usados pelo computador + , -, * , /, para efetuar cálculos matemáticos.
Veja tabela abaixo:
| Nome | Operador | Utilização | Equivalente a |
| Adição | += | a+=b | a=a + b |
| Subtração | -= | a-=b | a=a-b |
| Multiplicação | * = | a * =b | a=a * b |
| Divisão | /= | a/=b | a=a/b |
| Módulo | %= | a%=b | a=a%b |
| Concatenação | += | a+=b | a=a+b |
Veja os exemplos:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
// Exemplo 1:
var a=2;
var b=3;
a+=b; // Resultado a=5, idêntico a a=a + b
Texto += a+"\n";
// Exemplo 2:
var x=7;
var y=4;
x-=y; // Resultado x=3, idêntico a x=x-y
Texto += x+"\n";
// Exemplo 3:
var V1=8;
V1*=2; // Resultado V1=16, idêntico a V1=V1 * 2
Texto += V1+"\n";
// Exemplo 4:
var z=12;
z/=3; // Resultado z=4, idêntico a z=z/3
Texto += z+"\n";
// Exemplo 5:
var h=9;
var i=2;
h%=i; // Resultado h=1, idêntico a h=h%i
// Observação: O operador Módulo retorna o resto da divisão
Texto += h+"\n";
// Exemplo 6:
var Variavel="texto 1 ";
Variavel+="texto 2"; // Resultado variavel="texto 1 texto 2" idêntico a variavel=variavel+"texto 2"
Texto += Variavel+"\n";
texto.text = Texto;
} |
|
Array é um conjunto de dados semelhantes (Como números, letras ou strings) armazenados com o mesmo nome. Aos dados é atribuído um número diferente no array.
Quando o array tem somente uma dimensão, é chamado de vetor.
A maioria das linguagens de programação pode armazenar e manipular matrizes de uma ou mais dimensões. As matrizes multidimensionais são muito usados em simulação científica e no processamento matemático; entretanto uma matriz pode ser apenas uma tabela de preços mantidas na memória para acesso instantâneo por um programa de entrada de pedido.
Os arrays se dividem em dois grupos: vetores e matrizes.
Vetores são arrays com uma dimensão.
Matrizes são arrays com mais de uma dimensão.
1 - Na horizontal

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var sexo:Array = ["masculino", "feminino"];
var numero:Array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var vogais:Array = ['A', 'E', 'I', 'O', 'U'];
var Frutas:Array = ["Banana", "Laranja", "Maçã", "Mamão"];
var Cursos:Array = ["Português", "Matemática", "Física", "Química", "Biologia", "Inglês", "Geografia", "História"];
var estadocivil:Array = ["solteiro", "casado", "divorciado", "viúvo"];
texto.text = sexo[0]+" "+numero[7]+" "+vogais[3]+" "+Cursos[1]+" "+" "+estadocivil[0];
} |
|
2 - Na vertical

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var sexo:Array = [];
sexo[0]="masculino";
sexo[1]="feminino";
var numero:Array = [];
numero[0]=0;
numero[1]=1;
numero[2]=2;
numero[3]=3;
numero[4]=4;
numero[5]=5;
numero[6]=6;
numero[7]=7;
numero[8]=8;
numero[9]=9;
var vogais:Array = [];
vogais[0]='A';
vogais[1]='E';
vogais[2]='I';
vogais[3]='O';
vogais[4]='U';
var Fruta:Array = [];
Fruta[0]="Banana";
Fruta[1]="Laranja";
Fruta[2]="Maçâ";
Fruta[3]="Mamão";
var Cursos:Array = [];
Cursos[0]="Português";
Cursos[1]="Matemática";
Cursos[2]="Física";
Cursos[3]="Química";
Cursos[4]="Biologia";
Cursos[5]="Inglês";
Cursos[6]="Geografia";
Cursos[7]="História";
var estadocivil:Array = [];
estadocivil[0]="solteiro";
estadocivil[1]="casado";
estadocivil[2]="divorciado";
estadocivil[3]="viúvo";
texto.text = sexo[0]+" "+numero[7]+" "+vogais[3]+" "+Cursos[1]+" "+" "+estadocivil[0];
} |
|
Exercício 1. Elabore um vetor vertical que contenha os dias da semana.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var lista= [];
lista[0]="Segunda";
lista[1]="Terça";
lista[2]="Quarta";
lista[3]="Quinta";
lista[4]="Sexta";
lista[5]="Sábado";
lista[6]="Domingo";
var Texto = "Dias da semana: ";
for (var x=0; x <= 6; x++ ) {
Texto += lista[x]+", ";
}
texto.text = Texto;
} |
|
Exercício 2. Elabore um vetor horizontal que contenha os meses do ano.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var mes:Array = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
var Texto;
Texto = "";
Texto += "Mes do ano: ";
for(var x=0; x <= 11; x++ ) {
Texto += mes[x] + ", ";
}
texto.text = Texto;
} |
|
Exercício 3. A partir da tabela abaixo, foram criados dois vetores de 6 posições: NOME e IDADE.
| Nome | Idade | |
| 1 | Beatriz | 19 |
| 2 | Pedro | 32 |
| 3 | Cláudio | 23 |
| 4 | Susana | 27 |
| 5 | Marcos | 16 |
| 6 | Celina | 35 |
Com base nesta informação, diga o que será impresso pelas instruções abaixo:
var Texto = "";
for(var i=0; i<=5; i++) {
if (idade[i]<20){
Texto += Nome[i]+" ";
}
}
Solução:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Nome:Array = [];
var idade:Array = [];
Nome[0]="Beatriz";
idade[0]=19;
Nome[1]="Pedro";
idade[1]=32;
Nome[2]="Cláudio";
idade[2]=23;
Nome[3]="Susana";
idade[3]=27;
Nome[4]="Marcos";
idade[4]=16;
Nome[5]="Celina";
idade[5]=35;
var Texto = "";
for(var i=0; i<=5; i++) {
if (idade[i]<20){
Texto += Nome[i]+" ";
}
}
texto.text = Texto;
} |
|
Exercício 4. A tabela abaixo contém o nome de algumas ruas e o bairro onde se localizam.
| Rua | Bairro |
| Mena Barreto | Botafogo |
| Constança Barbosa | Méier |
| Marechal Câmara | Centro |
| Álvaro Ramos | Botafogo |
| Cesário Alvim | Humaitá |
| José Clemente | Niterói |
As instruções a seguir iniciam um programa que cria os vetores RUAS e BAIRROS. Escreva um programa de forma que ele imprima o nome das ruas do bairro de Botafogo.
Solução

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var ruas:Array = ["Mena Barreto", "Constança Barbosa", "Marechal Câmara",
"Álvaro Ramos", "Cesário Alvim", "José Clemente"];
var bairros:Array = ["Botafogo", "Méier", "Centro",
"Botafogo", "Humaitá", "Niterói"];
var Texto;
Texto = "";
Texto += "Número total de bairros: "+bairros.length+"\n\n";
for(var i=0; i<=bairros.length-1; i++){
Texto += "Rua: " + ruas[i] + ", bairro: " + bairros[i]+"\n";
}
Texto += "\nRuas do bairro de Botafogo:\n";
for(i=0; i<=bairros.length-1; i++){
if("Botafogo" == bairros[i]){
Texto += "Nome da rua: " + ruas[i];
Texto += " Nome do bairro: " + bairros[i]+"\n";
}
}
texto.text = Texto;
} |
|
Exercício 5. Faça um programa para imprimir o signo do zodíaco correspondente a uma data qualquer (dia / mês).
A tabela a seguir mostra o último dia de cada mês e o signo correspondente:
| Mes | Último dia | Signo |
| 01 | 20 | Capricórnio |
| 02 | 19 | Aquário |
| 03 | 20 | Peixes |
| 04 | 20 | Áries |
| 05 | 20 | Touro |
| 06 | 20 | Gêmeos |
| 07 | 21 | Câncer |
| 08 | 22 | Leão |
| 09 | 22 | Virgem |
| 10 | 22 | Libra |
| 11 | 21 | Escorpião |
| 12 | 21 | Sagitário |
Importante: Armazene o horóscopo em uma array.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var mes:Array = [];
var dia:Array = [];
var signo:Array = [];
mes[0]=1;
dia[0]=20;
signo[0]="Capricórnio";
mes[1]=2;
dia[1]=19;
signo[1]="Aquário";
mes[2]=3;
dia[2]=20;
signo[2]="Peixes";
mes[3]=4;
dia[3]=20;
signo[3]="Áries";
mes[4]=5;
dia[4]=20;
signo[4]="Touro";
mes[5]=6;
dia[5]=20;
signo[5]="Gêmeos";
mes[6]=7;
dia[6]=21;
signo[6]="Câncer";
mes[7]=8;
dia[7]=22;
signo[7]="Leão";
mes[8]=9;
dia[8]=22;
signo[8]="Virgem";
mes[9]=10;
dia[9]=22;
signo[9]="Libra";
mes[10]=11;
dia[10]=21;
signo[10]="Escorpião";
mes[11]=12;
dia[11]=21;
signo[11]="Sagitário";
var Texto = "Tabela de signos:\n\n";
for(var x=0; x<=11; x++){
Texto += signo[x] + " ultimo dia " + dia[x] + " / " + mes[x]+"\n";
}
texto.text = Texto;
} |
|
Exercício 6. Faça um programa que imprima na tela a seguinte tabela abaixo:
Índice |
Planeta |
Luas |
Anos |
Distância |
1 |
Mercúrio |
0 |
0.024 |
58 |
2 |
Vênus |
0 |
0.625 |
108 |
3 |
Terra |
1 |
1 |
150 |
4 |
Marte |
2 |
1.91 |
228 |
5 |
Júpiter |
16 |
12 |
778 |
6 |
Saturno |
18 |
29.9 |
1427 |
7 |
Urano |
15 |
85.24 |
2869 |
8 |
Netuno |
8 |
167.19 |
4498 |
9 |
Plutão |
1 |
251.29 |
5900 |

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var planeta:Array = [];
var luas:Array = [];
var anos:Array = [];
var distancia:Array = [];
planeta[0]="Mercúrio";
luas[0]=0;
anos[0]=0.24;
distancia[0]=58;
planeta[1]="Vênus";
luas[1]=0;
anos[1]=0.625;
distancia[1]=108;
planeta[2]="Terra";
luas[2]=1;
anos[2]=1;
distancia[2]=150;
planeta[3]="Marte";
luas[3]=2;
anos[3]=1.91;
distancia[3]=228;
var Texto = "Planeta luas anos distância\n\n";
for(var indice=0; indice<=3; indice++){
Texto += planeta[indice] +" "+ luas[indice] +" "+ anos[indice]+ " "+ distancia[indice]+"\n";
}
texto.text = Texto;
} |
|
Tente pensar no problema como uma tabela
| Notas | Nota 1 | Nota 2 | Nota 3 |
| Aluno01 | |||
| Aluno02 | |||
| Aluno03 | |||
| Aluno04 | |||
| Aluno05 |
Veja que esta tabela tem dois tipos de informação: Alunos e notas.
Por exemplo a 2ª nota do aluno 3, encontra-se no cruzamento entre a terceira linha com a segunda coluna, ou melhor, encontra-se no cruzamento entre a linha de índice 2 com a coluna de índice 1 , isto partindo do pressuposto que o índice da primeira linha é 0 e o índice da primeira coluna é também 0 .
Podemos transformar qualquer tabela em matriz.
A array multidimensional mostrado acima pode ser alocado de forma dinâmica. Veja a tabela abaixo:
| Coluna 1 | Coluna 2 | Coluna 3 | |
| Linha 1 | a[0][0] |
a[0][1] |
a[0][2] |
| Linha 2 | a[1][0] |
a[1][1] |
a[1][2] |
| Linha 3 | a[2][0] |
a[2][1] |
a[2][2] |
| Linha 4 | a[3][0] |
a[3][1] |
a[3][2] |
Existem 4 formas de transformar uma tabela em matriz, veja o exemplo:
Cada aluno tem a sua nota, veja a tabela abaixo:
| Notas | Nota 1 | Nota 2 |
| Aluno01 | 7 |
7.5 |
| Aluno02 | 6 |
5.5 |
| Aluno03 | 7 |
8 |
| Aluno04 | 3 |
7.5 |
| Aluno05 | 4 |
4.5 |
Existem várias formas de transformar tabelas em matrizes. Vejamos o exemplo 01:
No 1º exemplo vamos transformar uma matriz de duas colunas em 2 vetores, veja:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Nota1:Array = [];
var Nota2:Array = [];
Nota1[0]=7;
Nota2[0]=7.5;
Nota1[1]=6;
Nota2[1]=5.5;
Nota1[2]=7;
Nota2[2]=8;
Nota1[3]=3;
Nota2[3]=7.5;
Nota1[4]=4;
Nota2[4]=4.5;
/* O exemplo acima não é uma matriz, mas sim, dois vetores vistos na lição anterior.
Podemos substituir matrizes por vetores. Do exemplo 2 em diante, os vetores são
substituídos por matrizes. */
// Para saber quanto o aluno 04 tirou na 2ª nota é fácil:
texto.text = Nota2[4-1];
// Observe que o aluno 04 é 3 (4-1) porque as notas iniciam com 0 e não com 1
} |
|
Exemplo 02:
Do exemplo 2 em diante transformamos a tabela em matriz.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto ="";
var Aluno01=0;
var Aluno02=1;
var Aluno03=2;
var Aluno04=3;
var Aluno05=4;
var Nota1=0;
var Nota2=1;
// Para não dar erros eu criei 2 Arrays e não 4 Arrays diferentes
var Classe:Array= [[],[]];
Classe[Nota1][Aluno01]=7;
Classe[Nota2][Aluno01]=7.5;
Classe[Nota1][Aluno02]=6;
Classe[Nota2][Aluno02]=5.5;
Classe[Nota1][Aluno03]=7;
Classe[Nota2][Aluno03]=8;
Classe[Nota1][Aluno04]=3;
Classe[Nota2][Aluno04]=7.5;
Classe[Nota1][Aluno05]=4;
Classe[Nota2][Aluno05]=4.5;
// Para saber quanto o aluno 05 tirou na 1ª nota é fácil:
for(var y=0; y<=4; y++){
for(var x=0; x<=1; x++){
Texto += Classe[x][y]+"\n";
}
}
texto.text = Texto;
} |
|
Exemplo 03:
O exemplo 3 não usa as variáveis Aluno01, Aluno02, Aluno03, Nota1, Nota2, em seu código:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto ="";
// Para não dar erros eu criei 2 Arrays e não 4 Arrays diferentes
var Classe:Array = [[],[]];
Classe[0][0]=7;
Classe[1][0]=7.5;
Classe[0][1]=6;
Classe[1][1]=5.5;
Classe[0][2]=7;
Classe[1][2]=8;
Classe[0][3]=3;
Classe[1][3]=7.5;
Classe[0][4]=4;
Classe[1][4]=4.5;
// Para saber quanto o aluno 05 tirou na 1ª nota é fácil:
for(var y=0; y<=4; y++){
for(var x=0; x<=1; x++){
Texto += Classe[x][y]+"\n";
}
}
texto.text = Texto;
} |
|
Exemplo 04:
O exemplo 04 é a forma abreviada de uma matriz

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Classe:Array = [
[7, 7.5],
[6, 5.5],
[7, 8 ],
[3, 7.5],
[4, 4.5]
];
var Texto = "";
// Para saber quanto o aluno 03 tirou na 1ª prova é fácil:
for(var y=0; y<=4; y++){
for(var x=0; x<=1; x++){
Texto += Classe[y][x]+"\n";
}
}
texto.text = Texto;
} |
|
Lista de exercício:
Exercício 1. A partir da tabela abaixo, foram criados dois vetores de 6 posições: NOME e IDADE.
| Nome | Idade | |
| 1 | Beatriz | 19 |
| 2 | Pedro | 32 |
| 3 | Cláudio | 23 |
| 4 | Susana | 27 |
| 5 | Marcos | 16 |
| 6 | Celina | 35 |
Com base nesta informação, diga o que será impresso pelas instruções abaixo:
Texto = "";
for(int i=0; i<=5; i++) {
if (idade[i]<20){
Texto += Nome[i]+" ";
}
}
Solução 1:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Nome:Array = [];
var idade:Array = [];
Nome[0]="Beatriz";
idade[0]=19;
Nome[1]="Pedro";
idade[1]=32;
Nome[2]="Cláudio";
idade[2]=23;
Nome[3]="Susana";
idade[3]=27;
Nome[4]="Marcos";
idade[4]=16;
Nome[5]="Celina";
idade[5]=35;
var Texto = "";
for(var i=0; i<=5; i++) {
if (idade[i]<20){
Texto += Nome[i]+" ";
}
}
texto.text = Texto;
} |
|
Solução 2:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var nome=0;
var idade=1;
var Matriz:Array =[[],[]];
Matriz[nome][0]="Beatriz";
Matriz[idade][0]=19;
Matriz[nome][1]="Pedro";
Matriz[idade][1]=32;
Matriz[nome][2]="Cláudio";
Matriz[idade][2]=23;
Matriz[nome][3]="Susana";
Matriz[idade][3]=27;
Matriz[nome][4]="Marcos";
Matriz[idade][4]=16;
Matriz[nome][5]="Celina";
Matriz[idade][5]=35;
var Texto = "";
for(var i=0; i<=5; i++){
if(Matriz[1][i]<20){
Texto += Matriz[0][i]+" ";
}
}
texto.text = Texto;
} |
|
Solução 3:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var nome=0;
var idade=1;
var Matriz:Array =[[],[]];
Matriz[0][0]="Beatriz";
Matriz[1][0]=19;
Matriz[0][1]="Pedro";
Matriz[1][1]=32;
Matriz[0][2]="Cláudio";
Matriz[1][2]=23;
Matriz[0][3]="Susana";
Matriz[1][3]=27;
Matriz[0][4]="Marcos";
Matriz[1][4]=16;
Matriz[0][5]="Celina";
Matriz[1][5]=35;
var Texto = "";
for(var i=0; i<=5; i++){
if(Matriz[1][i]<20){
Texto += Matriz[0][i]+" ";
}
}
texto.text = Texto;
} |
|
Solução 4:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
var Matriz:Array = [
["Beatriz", 19],
["Pedro", 32],
["Cláudio", 23],
["Susana", 16],
["Marcos", 16],
["Celina", 35]
];
for(var i=0; i<=5; i++){
if(Matriz[i][1]<20){
Texto += Matriz[i][0]+" ";
}
}
texto.text = Texto;
} |
|
Exercício 2. A tabela abaixo contém o nome de algumas ruas e o bairro onde se localizam.
| Rua | Bairro |
| Mena Barreto | Botafogo |
| Constança Barbosa | Méier |
| Marechal Câmara | Centro |
| Álvaro Ramos | Botafogo |
| Cesário Alvim | Humaitá |
| José Clemente | Niterói |
As instruções a seguir iniciam um programa que cria os vetores RUAS e BAIRROS. Escreva um programa de forma que ele imprima o nome das ruas do bairro de Botafogo.
Solução

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto ="";
var Criamatriz:Array = [[],[]];
Criamatriz[0][0]="Mena Barreto";
Criamatriz[1][0]="Botafogo";
Criamatriz[0][1]="Constança Barbosa";
Criamatriz[1][1]="Méier";
Criamatriz[0][2]="Marechal Câmara ";
Criamatriz[1][2]="Centro";
Criamatriz[0][3]="Álvaro Ramos ";
Criamatriz[1][3]="Botafogo";
Criamatriz[0][4]="Cesário Alvim ";
Criamatriz[1][4]="Humaitá";
Criamatriz[0][5]="José Clemente ";
Criamatriz[1][5]="Niterói";
for(var i=0; i<=5; i++){
Texto += "Rua: " + Criamatriz[0][i] + ", bairro: " + Criamatriz[1][i]+"\n";
}
Texto += "\nRuas do bairro de Botafogo\n\n";
for(i=0; i<=5; i++){
if (Criamatriz[1][i]=="Botafogo") {
Texto += "Nome da Rua: " + Criamatriz[0][i];
Texto += "Nome do bairro: " + Criamatriz[1][i]+"\n";
}
}
texto.text = Texto;
} |
|
Exercício 5. Faça um programa para imprimir o signo do zodíaco correspondente a uma data qualquer (dia / mês).
A tabela a seguir mostra o último dia de cada mês e o signo correspondente:
| Mes | Último dia | Signo |
| 01 | 20 | Capricórnio |
| 02 | 19 | Aquário |
| 03 | 20 | Peixes |
| 04 | 20 | Áries |
| 05 | 20 | Touro |
| 06 | 20 | Gêmeos |
| 07 | 21 | Câncer |
| 08 | 22 | Leão |
| 09 | 22 | Virgem |
| 10 | 22 | Libra |
| 11 | 21 | Escorpião |
| 12 | 21 | Sagitário |
Importante: Armazene o horóscopo em uma array.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto ="";
// {mes, dia, signo}
var SuperArray:Array = [
[1, 20, "Capricórnio"],
[2, 19, "Aquário"],
[3, 20, "Peixes"],
[4, 20, "Áries"],
[5, 20, "Touro"],
[6, 20, "Gêmeos"],
[7, 21, "Câncer"],
[8, 22, "Leão"],
[9, 22, "Virgem"],
[10, 22, "Libra"],
[11, 21, "Escorpião"],
[12, 21, "Sagitário"]
];
var mes=0;
var dia=1;
var signos=2;
Texto += "Tabela de signos\n\n";
for(var x=0; x<=11; x++) {
Texto += SuperArray[x][signos] + " último dia " + SuperArray[x][dia] + " / " + SuperArray[x][mes]+"\n";
}
texto.text = Texto;
} |
|
Exercício 6. Faça um programa que imprima na tela a seguinte tabela abaixo:
Índice |
Planeta |
Luas |
Anos |
Distância |
1 |
Mercúrio |
0 |
0.024 |
58 |
2 |
Vênus |
0 |
0.625 |
108 |
3 |
Terra |
1 |
1 |
150 |
4 |
Marte |
2 |
1.91 |
228 |
5 |
Júpiter |
16 |
12 |
778 |
6 |
Saturno |
18 |
29.9 |
1427 |
7 |
Urano |
15 |
85.24 |
2869 |
8 |
Netuno |
8 |
167.19 |
4498 |
9 |
Plutão |
1 |
251.29 |
5900 |

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto ="";
var Planeta=0;
var luas=1;
var anos=2;
var distancia=3;
var Matriz:Array =[[],[],[],[]];
Matriz[Planeta][0]="Mercúrio";
Matriz[luas][0]=0;
Matriz[anos][0]=.24;
Matriz[distancia][0]=58;
Matriz[Planeta][1]="Vênus";
Matriz[luas][1]=0;
Matriz[anos][1]=0.625;
Matriz[distancia][1]=108;
Matriz[Planeta][2]="Terra";
Matriz[luas][2]=1;
Matriz[anos][2]=1;
Matriz[distancia][2]=150;
Matriz[Planeta][3]="Marte";
Matriz[luas][3]=2;
Matriz[anos][3]=1.91;
Matriz[distancia][3]=228;
Texto += "Planeta luas anos distância\n\n";
for(var indice=0; indice<=3; indice++){
Texto += Matriz[Planeta][indice]+ " "+ Matriz[luas][indice]+ " "+ Matriz[anos][indice]+ " "+ Matriz[distancia][indice]+"\n";
}
texto.text = Texto;
} |
|
Função é um subprograma de linguagem de computador que faz alguns cálculos e retorna um único valor para o programa principal.
Exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = ""+Calcule(4, 3, 2);
}
function Calcule(a:Number, b:Number, c:Number):Number{
var d=a * b/c;
return d;
} |
|
O comando returné uma instrução que encerra o processamento de uma função e transfere o controle de volta ao módulo que o chamou, e (opcionalmente) especifica o valor da função.
A função acima retornou o valor que é 6.
Uma função pode retornar ou não poder retornar valores, basta não usar a instrução return.
Exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
Calcule(4, 3, 2);
}
function Calcule(a:Number, b:Number, c:Number):void{
var d =a * b/c;
texto.text = ""+d;
} |
|
O exemplo acima a função não retornou valores.
Em um único programa pode ser armazenado várias funções diferentes, por exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
Texto += "2 + 8=" + Adicao(2, 8)+"\n";
Texto += "7-3=" + Subtracao(7, 3)+"\n";
Texto += "3 * 4=" + Multiplicacao(3,4)+"\n";
Texto += "8/2=" + Divisao(8, 2)+"\n";
texto.text = Texto;
}
function Adicao(a:Number, b:Number):Number{
var c=a + b;
return c;
}
function Subtracao(a:Number, b:Number):Number {
return a-b;
}
function Multiplicacao(a:Number, b:Number):Number {
var c=a * b;
return c;
}
function Divisao(a:Number, b:Number):Number{
return a/b;
} |
|
Lista de exercícios
Exercício 1. Crie uma função que calcule a soma de dois números

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "A soma de 5 e 4 é " + soma(5, 4);
}
function soma(x:Number, y:Number):Number {
var sum=x + y;
return sum;
} |
|
Exercício 2. Crie uma função que calcule o cubo de um número.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = "O cubo de 8 é igual a " + cubo(8);
}
function cubo(x:Number):String{
var cubo;
cubo=x * x * x;
return cubo;
} |
|
Exercício 3. Crie uma função que calcule a área do retângulo

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var largura=4
var altura=8
texto.text = calcArea(largura, altura);
}
function calcArea(largura:Number,altura:Number):String{
var a=largura * altura;
return a;
} |
|
Exercício 4. Crie uma função que calcule números fatoriais

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto = "";
for(var k=1; k<=10; k++){
Texto += ""+k+"!="+fatorial(k)+"\n";
}
texto.text = Texto;
}
function fatorial(num:Number):String{
var res=1;
for(var k=num; k>=1; k--){
res=res * k;
}
return res;
} |
|
Variáveis públicas (ou variáveis globais)são variáveis cujo valor pode ser acessado e modificado por qualquer instrução de um programa. Ou seja, a variável fica visível para o programa inteiro, inclusive suas instruções e funções.
Em programas pequenos não é muito vantajoso usar variáveis públicas, quando o programa é muito grande, com mais de 1.00 linhas de texto é que usamos as variáveis públicas.
Analisemos o programa a seguir:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
// variáveis públicas
var Texto:String = "";
var v1:Number = 0;
var v2:Number = 0;
// fim das variáveis públicas
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = mensagem();
}
function mensagem():String{
Texto += "Exemplo de variável pública\n";
// public int v1;
v1=500;
Texto += "Variável v1 antes da execução das rotinas " + v1 +"\n";
funcao1();
Texto += "Estamos fora de FUNÇÃO1 após sua execução v1=" + v1+"\n";
return Texto;
}
function funcao1():void {
v1=100;
Texto += "Estamos dentro da rotina FUNÇÃO1... v1= "+v1+"\n";
funcao2();
Texto += "Voltamos para FUNÇÃO1... v1=" + v1+"\n";
Texto += "v2=" + v2 + "\n";
}
function funcao2():void{
// public int v2;
v1=200;
v2=300;
Texto += "Estamos na rotina FUNÇÃO2... v1=" + v1+"\n";
Texto += "v2=" + v2 +"\n";
} |
|
Resultado:
Exemplo de variável pública
Variável v1 antes da execução das rotinas 500
Estamos dentro da rotina FUNÇÃO1... v1= 100
Estamos na rotina FUNÇÃO2... v1=200
v2=300
Voltamos para FUNÇÃO1... v1=200
v2=300
Estamos fora de FUNÇÃO1 após sua execução v1=20
Para declarar uma variável pública é muito fácil, bata colocar public na frente da variável, ex:
Public String variavel="Teste"
Declare esta variável no início do programa e não no meio ou no fim do programa; porque pode causar erros no programa.
Afinal o que Null?
1 - Null é um valor que indica dados ausentes ou desconhecidos em um campo
2 - nulo
3 - vazio
4 - sem valor
Assim como existe variáveis numéricas (var_1=9), variáveis strings (var_2="Texto") e variáveis booleanas (var_3=true) existem as variáveis nulas (var_4=null).
Atenção: encontrar variáveis nulas num código fonte são raros, mas de vez enquanto aparecem, os exemplos abaixo são simplesmente demonstrações.
Quando você que limpar uma variável em faço o seguinte:
1º exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
texto.text = mensagem();
}
function mensagem():String{
var Texto = "";
/*
Obs: em Flash as variáveis nulas (null) só são usadas em váriáveis String.
Se usar outra varável numérica como Number não vão funcionar.
*/
var Var_1:int = 9;
var Var_2:String = "Texto";
var Var_3:Boolean = true;
//Limpando as variáveis
Var_1=null; // Var_1 deu erro porque é um inteiro e não uma String
Var_2=null; // Var_2 não deu erro porque é uma String
Var_3=null; // Var_3 deu erro porque é um booleano e não uma String
Texto += ""+Var_1+" "+Var_2+" "+Var_3+"\n";
/*
No caso abaixo, é possível suportar a variável Null
*/
var XVar_1 = 9;
var XVar_2 = "Texto";
var XVar_3 = true;
//Limpando as variáveis
XVar_1=null; // XVar_1 não deu erro porque é uma var
XVar_2=null; // XVar_2 não deu erro porque é uma var
XVar_3=null; // XVar_3 não deu erro porque é uma var
Texto += ""+XVar_1+" "+XVar_2+" "+XVar_3+"\n";
return Texto;
} |
|
2º exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Nome=null;
var Sobrenome=null;
if(Nome==null) {
Nome="Marcos";
}
if(Sobrenome==null){
Sobrenome="Aurelio";
}
texto.text = Nome + " " + Sobrenome;
}
|
|
3º exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var a;
var b;
var c;
var resp;
a=10;
b=null;
c=5;
resp=0;
if(a==null){
resp = parseFloat(b) + parseFloat(c);
} else if(b==null) {
resp = parseFloat(a) + parseFloat(c);
} else if(c==null) {
resp = parseFloat(a) + parseFloat(b);
} else {
resp= parseFloat(a) + parseFloat(b) + parseFloat(c);
}
texto.text = "" + resp;
}
|
|
O Javascript possui um conjunto bastante vasto de funções com aplicação específica.
As funções são muito vantajosas para o usuário, pois permitem diminuir o tempo gasto na elaboração de formulários, assim como eventuais erros na sua concepção.
As funções do Javascript agrupam-se em:
As funções do Javascript tem a seguinte sintaxe:
| = nomedafunção(argumentos) |
Os tipos de argumentos variam de função para função e em relação às necessidades de cálculo do usuário.
Os tipos de argumentos mais utilizados são: variáveis numéricas, variáveis strings, variáveis booleanas, arrays e propriedades.
Exemplos (teóricos) de funções:
Inicio
escreva( Potencia(2, 6) )
escreva( Soma(12, 36) )
escreva( Media(8, 3) )
Fim
Para auxiliar os cálculos matemáticos, além dos operadores matemáticos de adição, subtração, multiplicação e divisão existem outras funçoes matemáticas.
Algumas funções são comuns, tais como: raiz quadrada, potênciação, módulo, etc. Outras exigem conhecimento a nível de 2º grau tais como: trigonometria e logarítmos.
Vejamos
Covertendo string para numérica

import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto:String = "";
// ==> Para testar, coloque o script abaixo aqui <==
texto.text = Texto;
} |
|
Atenção: |
|
| Números Inteiros | |
| parseInt(String) | De -2.147.483.648 a +2.147.483.647 (32 bits) Transforma string em inteiro Exemplo: Resultado: 79 |
| Números Reais | |
| parseFloat(String) | (32 bits) Exemplo: Resultado: 79.65732 |
Arredondando valores
Funções matemáticas comuns
Funções trigonométricas
Calculando o seno, cosseno e tangente pelo computador
Se o argumento estiver em graus, multiplique-o por PI()/180 ou use a função radianos() para convertê-lo em radianos.
Exemplo:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto:String ="";
Texto += "\n"+ Math.sin(Math.PI); // O seno de radianos de pi(0, aproximadamente). Resultado: 1.2246063538223773e-16
Texto += "\n"+Math.sin(Math.PI/2); // O seno de radianos de pi/2 (1). Resultado: 1
Texto += "\n"+Math.sin(30*Math.PI/180); // O seno de 30 graus (0,5). Resultado: 0.49999999999999994
Texto += "\n"+Math.sin(30*radianos()); // O seno de 30 graus (0,5). Resultado: 0.49999999999999994
Texto += "\n"+Math.cos(60*Math.PI/180); // O cosseno de 60 graus (0,5). Resuntado: 0.5000000000000001
Texto += "\n"+Math.cos(60*radianos()); // O cosseno de 60 graus (0,5). Resultado: 0.5000000000000001
Texto += "\n"+Math.tan(45*Math.PI/180); // A tangente de 45 graus (1). Resultado: 0.9999999999999999
Texto += "\n"+Math.tan(45*radianos()); // A tangente de 45 graus (1). Resultado: 0.9999999999999999
texto.text = Texto;
}
function radianos():Number{
return Math.PI/180;
} |
|
Calculando o arco seno, arco cosseno e arco tangente pelo computador
Retorna o arco seno ou o seno inverso de um número. O arco seno é o ângulo cujo seno é núm. O ângulo retornado é fornecido em radianos; o mesmo para arco cosseno e arco tangente.
Para expressar o arco seno em graus, multiplique o resultado por 180/PI( ) ou use a função graus().

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto:String ="";
Texto += "\n"+Math.round(Math.asin(0.5)*180/Math.PI); // O arco seno de 0,5 em graus é 30
Texto += "\n"+Math.round(Math.asin(0.5)*graus()); // O arco seno de 0,5 em graus é 30
Texto += "\n"+Math.round(Math.acos(-0.5)*180/Math.PI); // O arco cosseno de -0.5 em graus é 120
Texto += "\n"+Math.round(Math.acos(-0.5)*graus()); // O arco cosseno de -0.5 em graus é 120
Texto += "\n"+Math.round(Math.atan(1)*180/Math.PI); // O arco tangente de 1 em graus é 45
Texto += "\n"+Math.round(Math.atan(1)*graus()); // O arco tangente de 1 em graus é 45
texto.text = Texto;
}
function graus():Number{
return 180/Math.PI;
} |
|
Manipulando Strings
O Javascript é bastante poderoso no manuseio de Strings, fornecendo ao programador uma total flexibilidade em seu manuseio.
Abaixo apresentamos os métodos disponíveis para manuseio de strings.

import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var Texto:String ="";
// ==> Para testar, coloque o script abaixo aqui <==
texto.text = Texto;
} |
|
| length | Retorna o comprimento de uma String. Exemplo: Resultado: |
| substring(indiceInicial, indiceFinal) | O método substring (subcadeia) retorna a cadeia que se estende do indice Inicial até o caractere logo antes de indice final. Se indice Inicial for maior que indice final, o método funciona como se ambos estivessem com as posições trocadas. Se os dois índices forem iguais, retorna uma cadeia vasia. Exemplo: Resultado: |
| charAt(posição) | Funciona da mesma forma que o substring, só que, retorna o caractere simples em uma posição específica na String. Exemplo: Resultado: "e" |
| indexOf(caractere, [inicIndex]) | O método indexOf faz a busca no objeto string pela primeira ocorrência do caractere e retorna o índice correspondente. o argumento inicIndex é opcional e indica a partir de onde inicia a busca. Podemos localizar os valores dos índices para todos os caracteres do mesmo tipo iniciando após o índice anterior. Exemplo: Resultado:" 2 3 10" |
| lastIndexOf(caractere, [inicIndex]) | O método lasIndexOf é idêntico ao método index of exceto que faz
a busca do caractere na cadeia do fim para o começo iniciando em
inicIndex. Veja o exemplo anterior |
| replace(palavra, substituto) | O método replace você insere uma palavra ou uma letra em que você deseja substituir por outra. Exemplo: Resultado: |
| toLowerCase() | O método toLowerCase (para minúsculo) retorna a cadeia com todos os caracteres alterados para minúsculo. Exemplo: Resultado: |
| toUpperCase() | O método toUpperCase (para maiúsculo) retorna a cadeia com todos os caracteres alterados para maiúsculo. Exemplo: Resultado: |
Existe apenas uma função para que se possa obter a data e a hora. É a função Date(). Esta funão devolve data e hora no formanto: Dia da semana, Nome do mês, Dia do mês, Hora:Minuto:Segundo e Ano
Ex:
Fri May 24 16:58:02 1996
Para se obter os dados separadamente, existem os seguintes métodos:
No exemplo 1 abaixo obteremos o dia da semana e as horas. Para tal, utilizaremos a variável DataToda para armazenar data e hora.

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var DataToda:Date=new Date();
var Dia_do_mes=DataToda.getDate();
var Dia_da_semana=DataToda.getDay();
var Mes=DataToda.getMonth();
var Ano=DataToda.getFullYear();
// ---------------------------------------
var Horas=DataToda.getHours();
var Minutos=DataToda.getMinutes();
var Segundos=DataToda.getSeconds();
// ---------------------------------------
var semana:Array = ["Domingo",
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sabado"];
var Semana_atual=semana[Dia_da_semana];
//-------------------------
var Mes2:Array = ["Janeiro",
"Fevereiro",
"Março",
"Abril",
"Maio",
"Junho",
"Julho",
"Agosto",
"Setembro",
"Outubro",
"Novembro",
"Desembro"];
var Mes_atual=Mes2[Mes];
var Texto = "";
Texto += (Semana_atual+", "+Dia_do_mes+" de "+Mes_atual+" de "+Ano);
Texto += ("\n");
Texto += ("São: "+Horas+" horas, "+Minutos+" minutos e "+Segundos+" segundos.");
texto.text = Texto;
} |
|
exemplo 4: alterando a data
Para criar uma variável tipo Date com o conteúdo informado pela aplicação, existe o métido set. Assim temos os seguintes métodos: setDate, setDay, setMonth, setFullYear, setHours, setMinutes e setSeconds. Os mas importantes são:

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var DataToda:Date=new Date();
DataToda.setDate(28);
DataToda.setMonth(4);
DataToda.setFullYear(1997);
// ---------------------------------------
var Dia_do_mes=DataToda.getDate();
var Dia_da_semana=DataToda.getDay();
var Mes=DataToda.getMonth();
var Ano=DataToda.getFullYear();
// ---------------------------------------
var semana:Array = ["Domingo",
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sabado"];
var Semana_atual=semana[Dia_da_semana];
//-------------------------
var Mes2:Array = ["Janeiro",
"Fevereiro",
"Março",
"Abril",
"Maio",
"Junho",
"Julho",
"Agosto",
"Setembro",
"Outubro",
"Novembro",
"Desembro"];
var Mes_atual=Mes2[Mes];
var Texto = "";
Texto += (Semana_atual+", "+Dia_do_mes+" de "+Mes_atual+" de "+Ano);
texto.text = Texto;
} |
|
exmeplo 3: vendo as horas

| Arquivo: teste.fla | |
| Objetos | PROPERTIES >> <Instance Name> |
| TextArea | texto |
| Button | botao |
| Actionscript - F9 | |
import fl.controls.*;
import fl.events.*;
var texto:TextArea = new TextArea();
texto.text = "";
texto.setSize(200, 100);
texto.move(10, 10);
addChild(texto);
var botao:Button = new Button();
botao.label = "Clique Aqui!";
botao.setSize(200, 25);
botao.move(10, 100+25);
botao.addEventListener(MouseEvent.CLICK, onClick);
addChild(botao);
function onClick(evt:MouseEvent):void {
var rel:Date = new Date();
var hora = rel.getHours();
var minuto = rel.getMinutes();
var segundo = rel.getSeconds();
var temp = ""+ hora;
temp += ((minuto < 10) ? ":0" : ":") + minuto;
temp += ((segundo < 10) ? ":0" : ":") + segundo;
var Texto = "São exatamente: "+temp;
texto.text = Texto;
} |
|