{
 }
 }
 {

2

 
código
 


go
 

AVISOS

AS TECNOLOGIAS ABORDADAS NESTE BLOCO DO CURSO FORAM CRIADAS COM O PROPÓSITO DE PRODUZIR ARTEFATOS DE ARTE GENERATIVA EM UM TEMPO ONDE OS DISPOSITIVOS MOBILE AINDA NÃO ERAM POPULARES. AINDA QUE ESTE MATERIAL TENHA SIDO PRODUZIDO NA TENTATIVA DE MAXIMIZAR A COMPATIBILIDADE COM DISPOSITIVOS MOBILE, AS INTERAÇÕES DA TECNOLOGIA NÃO LIDAM BEM COM TELAS SENSÍVEIS À TOQUE, E A AUSÊNCIA DE UM MOUSE.

DEPARTAMENTO DE DESIGN
dDESIGN | UFPE

UNIVERSIDADE FEDERAL DE PERNAMBUCO

PESQUISA EM EXPERIÊNCIA E ESTÉTICA DA INTERAÇÃO

2017 © PROF. DR. GUILHERME RANOYA

SINTAXE
rect(20,20,50,50);

{

 

     

   }

float x = 10.5;
  void xpto(int n, float k) {

FUNÇÃO

A INSTRUÇÃO EM QUESTÃO É UMA FUNÇÃO. FUNÇÕES SÃO CARACTERIZADAS PELOS "( )". A FUNÇÃO "RECT" DESENHA UM RETÂNGULO NA TELA

INSTRUÇÃO / LINHA DE COMANDO

CADA INSTRUÇÃO DIZ À MÁQUINA COMPUTACIONAL O QUE ELA DEVE REALIZAR NAQUELE MOMENTO

DADOS DA FUNÇÃO

A FUNÇÃO "RECT" PRECISA DE DADOS PARA REALIZAR SUA TAREFA. ESTES DADOS SÃO INFORMADOS DENTRO DOS "( )", SEPARADOS POR ","

EOL / FIM DE LINHA

CADA INSTRUÇÃO TERMINA SEMPRE COM UM ";" PARA QUE A MÁQUINA COMPUTACIONAL ENTENDA QUE AQUELE É O FIM DA INSTRUÇÃO

BLOCO

A FUNÇÃO "RECT" AGORA FAZ PARTE DE UM BLOCO DE PROGRAMAÇÃO, QUE AGRUPA VÁRIAS INSTRUÇÕES JUNTAS, E TEM ESCOPO PRÓPRIO (OUTROS BLOCOS NÃO ACESSAM SEUS DADOS E VARIÁVEIS)

TIPOLOGIA / TIPO DE DADO

O TERMO "FLOAT" INFORMA UM TIPO DE DADO PARA A MÁQUINA COMPUTACIONAL. AO INFORMAR UM TIPO DE DADO, VOCÊ ESTÁ DECLARANDO ALGO NOVO PARA ELA. O TIPO "FLOAT" É O DO CONJUNTO DOS NÚMEROS REAIS.

VARIÁVEL

O QUE ESTÁ SENDO DECLARADO É UMA NOVA VARIÁVEL. VARIÁVEIS PODEM TER QUALQUER NOME ESCOLHIDO POR VOCÊ. ESTA VARIÁVEL SENDO DECLARADA CHAMA-SE "X"

OPERAÇÃO

AO SE DECLARAR A VARIÁVEL, TAMBÉM ESTÁ SENDO REALIZADA UMA OPERAÇÃO DE ATRIBUIÇÃO. A VARIÁVEL DE NOME "X", DO TIPO "FLOAT" CAPAZ DE ARMAZENAR NÚMEROS REAIS, ESTÁ RECEBENDO O VALOR "10,5"

INSTRUÇÃO / LINHA DE COMANDO

JÁ ESTA INSTRUÇÃO É UMA DECLARAÇÃO DE NOVA VARIÁVEL.

DADO

O DADO ATRIBUÍDO PRECISA SER COMPATÍVEL COM O TIPO DA VARIÁVEL PARA NÃO GERAR UM ERRO. A VARIÁVEL "X" NÃO PODERIA ARMAZENAR UMA PALAVRA, PORQUE ELA É DO TIPO NUMÉRICO-REAL

DECLARAÇÃO DE NOVA FUNÇÃO

O BLOCO AGORA É PARTE DA DECLARAÇÃO DE UMA NOVA FUNÇÃO DE NOME "XPTO", DO TIPO VOID, QUE RECEBE 2 DADOS DIFERENTES, REPRESENTADOS PELA VARIÁVEL "N" DO TIPO INT (NÚMEROS INTEIROS) E PELA VARIÁVEL "K" DO TIPO FLOAT (NÚMEROS REAIS). É POSSÍVEL RECONHECER QUE SE TRATA DA DECLARAÇÃO PELA PRESENÇA DE UMA TIPOLOGIA DE DADOS SENDO INFORMADA, E DE QUE SE TRATA DE UMA FUNÇÃO (E NÃO DE UMA VARIÁVEL) PELA PRESENÇA DOS "( )".

VARIÁVEIS
int k = 10;

A VARIÁVEL "K" DO TIPO INT (NÚMEROS INTEIROS) RECEBE O VALOR 10, QUE É COMPATÍVEL COM SEU TIPO

int p = 5;

A VARIÁVEL "P" DO TIPO INT (NÚMEROS INTEIROS) RECEBE O VALOR 5, QUE É COMPATÍVEL COM SEU TIPO

k = p;

A OPERAÇÃO DE ATRIBUIÇÃO FAZ COM QUE A VARIÁVEL "K" RECEBA O VALOR ARMAZENADO NA VARIÁVEL "P". OS TIPOS DE "K" E "P" SÃO IDÊNTICOS, ENTÃO O VALOR RECEBIDO POR "K" É COMPATÍVEL COM SEU TIPO. NENHUM TIPO FOI INFORMADO ANTES DAS VARIÁVEIS POIS NENHUMA DELAS É UMA VARIÁVEL NOVA (UMA DECLARAÇÃO) 

float z = 3;

A VARIÁVEL "Z" DO TIPO FLOAT (NÚMEROS REAIS) RECEBE O VALOR 3, QUE É COMPATÍVEL COM SEU TIPO. PORÉM, O NÚMERO 3 SERÁ GUARDADO NA MEMÓRIA COMO 3.000, POR SE TRATAR DE UM NÚMERO DO TIPO REAL (COM CASAS DECIMAIS)

String w = "3";

A VARIÁVEL "W" DO TIPO STRING (TEXTO) RECEBE A PALAVRA "3" (NÃO É UM NÚMERO, MAS UM TEXTO COM O CARACTERE 3), QUE É COMPATÍVEL COM SEU TIPO. PORÉM, O QUE SERÁ REGISTRADO NA MEMÓRIA É O BYTE "51" QUE REPRESENTA O CARACTERE "3" NA TABELA ASCII DE CARACTERES DE TEXTO

p = w;

A VARIÁVEL "P" DO TIPO INT (NÚMEROS INTEIROS) NÃO TEM COMO RECEBER O QUE ESTÁ GUARDADO EM UMA VARIÁVEL "W" DO TIPO TEXTO. O TIPO DE "P" NÃO É COMPATÍVEL COM O DADO DE TEXTO "3"

p = Integer.parseInt(w);

A FUNÇÃO INTEGER.PARSEINT() CONVERTE UM DADO PARA O FORMATO INT, QUANDO POSSÍVEL. ELA É CAPAZ DE TRANSFORMAR UM TEXTO COM CARACTERES NUMÉRICOS EM UM NÚMERO INTEIRO, TORNANDO O DADO CONTIDO EM "W" (STRING) EM ALGO COMPATÍVEL COM "P" DO TIPO INT

k = z;

A VARIÁVEL "K" DO TIPO INT (NÚMEROS INTEIROS) NÃO TEM COMO RECEBER O QUE ESTÁ GUARDADO EM UMA VARIÁVEL "Z" DO TIPO FLOAT. APESAR DE AMBOS SEREM NÚMEROS, OS TIPO INT E FLOAT REGISTRAM DADOS DE FORMA DIFERENTE (COM OU SEM CASAS DECIMAIS), E NÃO SÃO COMPATÍVEIS ENTRE SI

k = Integer.parseInt(z);

A FUNÇÃO INTEGER.PARSEINT() TAMBÉM PODE CONVERTER UM DADO FLOAT PARA O TIPO INT, FAZENDO COM QUE "K" RECEBA O NÚMERO REGISTRADO EM "Z". CONTUDO, SE HOUVER ALGUMA INFORMAÇÃO EM CASAS DECIMAIS, ELAS SERÃO IGNORADAS NA CONVERSÃO. SE "Z" FOR IGUAL A 2.5, "K" RECEBERÁ O VALOR 2

OPERADORES ARITMÉTICOS
E LÓGICOS
a = 10;

ATRIBUIÇÃO. A RECEBE O VALOR 10

a == 10;

COMPARAÇÃO. SE O VALOR DE A FOR IGUAL A 10, O RESULTADO É TRUE (BOOLEAN), E SE NÃO FOR, É FALSE.

true
a <= random(5);
false

COMPARAÇÃO. A É MENOR OU IGUAL A UM NÚMERO ALEATÓRIO ENTRE 0 E 5? SE SIM, O RESULTADO É TRUE (BOOLEAN), E SE NÃO FOR, É FALSE.

a++;

SOMA. O NOVO VALOR DE A É IGUAL AO VALOR ANTIGO ACRESCIDO DE 1

a = a + 1;
11
é igual?
b = a * 3;

MULTIPLICAÇÃO. B É RECEBE O VALOR DE A MULTIPLICADO POR 3

é menor, ou igual?
valor aleatório
entre 0 e 5

multiplicação
float c = b / 3;
divisão

DIVISÃO. O VALOR DE C (FLOAT) É ATRIBUÍDO COM A DIVISÃO DE B POR 3. COMO ESTA DIVISÃO PODE TER UM RESULTADO COM CASAS DECIMAIS, C PRECISA SER DO TIPO FLOAT

33
11.0000
(a > 5 && a < 15);

COMPARAÇÃO. SE O VALOR DE A ESTIVER ENTRE 5 E 15, O RESULTADO SERÁ TRUE (BOOLEAN). DO CONTRÁRIO, FALSE

 

true
(b > 15 || c > 15);

COMPARAÇÃO. SE O VALOR DE  B, OU O VALOR DE C FOREM MAIORES QUE 15, O RESULTADO SERÁ TRUE (BOOLEAN). DO CONTRÁRIO, SERÁ FALSE

 

true
esse  e  esse
esse  ou  esse
c != 15;

COMPARAÇÃO. SE O VALOR DE  C FOR DIFERENTE DE 15, O RESULTADO SERÁ TRUE (BOOLEAN). DO CONTRÁRIO (SE C FOR IGUAL A 15), SERÁ FALSE

 

true
é diferente?
LOOPS
for(int x=0; x < 10; x = x + 1) {

 

 

 

}

CRIAÇÃO DE UM LOOP

A INSTRUÇÃO FOR ESTABELECE UM LOOP QUE SERÁ EXECUTADO ENQUANTO A CONDIÇÃO DADA PERMANECER VERDADEIRA

1ª PARTE DA CONDIÇÃO

UMA VARIÁVEL DE CONTROLE PRECISA SER DECLARADA PARA CONTROLAR O LOOP

2ª PARTE DA CONDIÇÃO

UMA OPERAÇÃO LÓGICA COM A VARIÁVEL DE CONTROLE PRECISA RESULTAR TRUE

3ª PARTE DA CONDIÇÃO

O QUE ACONTECE COM A VARIÁVEL DE CONTROLE A CADA ITERAÇÃO DO LOOP

BLOCO

CONJUNTO DE INSTRUÇÕES EXECUTADAS NOVAMENTE A CADA ITERAÇÃO DO LOOP

println(x);
line(0,0,x,0);
FUNÇÕES / MÉTODOS
void xpto(int k, boolean b) {

 

 

 

}

BLOCO

CONJUNTO DE INSTRUÇÕES EXECUTADAS CADA VEZ QUE A FUNÇÃO FOR INVOCADA

println(b);
line(k,0,k+10,0);
return (k+10);
 int xpto(int k, boolean b) {

 

 

 

}

TIPO DO RETORNO

QUE TIPO DE DADO A FUNÇÃO DEVOLVE APÓS SER EXECUTADA

NOME DA FUNÇÃO

NOME ESCOLHIDO PELO PROGRAMADOR, QUE NÃO SEJA IGUAL AO DE ALGUMA FUNÇÃO DO PRÓPRIO PROCESSING

NO TIPO VOID NÃO HÁ RETORNO (O RETORNO É NULO / VAZIO)

NO TIPO INT O RETORNO É UM VALOR NUMÉRICO INTEIRO

PARÂMETROS

DECLARAÇÃO DE VARIÁVEIS QUE SERÃO UTILIZADAS INTERNAMENTE NA FUNÇÃO, E CUJOS DADOS SERÃO PASSADOS PARA ELA AO SER INVOCADA

QUANTOS PARÂMETROS FOREM NECESSÁRIOS, SEPARADOS POR VÍRGULA

TIPO DO RETORNO

QUE TIPO DE DADO A FUNÇÃO DEVOLVE APÓS SER EXECUTADA

INSTRUÇÃO DE RETORNO

DEFINE QUE VALOR SERÁ DEVOLVIDO AO FIM DA EXECUÇÃO DA FUNÇÃO, QUANDO SEU TIPO NÃO FOR VOID

xpto(10,false);
int p = xpto(10,false);

RETORNO

DADOS DE FUNÇÕES COM RETORNO INVOCADAS PRECISAM SER GUARDADOS EM ALGUMA VARIÁVEL COMPATÍVEL

FUNÇÃO INVOCADA

EXECUTA A FUNÇÃO

FUNÇÃO INVOCADA

EXECUTA A FUNÇÃO

println(xpto(5,true));

FUNÇÃO INVOCADA

EXECUTA UMA FUNÇÃO QUE PRECISA DE UM PARÂMETRO NUMÉRICO

RETORNO

RETORNO DA FUNÇÃO XPTO É ENCADEADO COMO PARÂMETRO DA FUNÇÃO PRINTLN

OBJETOS / INSTÂNCIAS
MATRIZES / ARRAYS
INSTRUÇÕES GRÁFICAS
GEOMETRIA
GUIA DE REFERÊNCIA

DESIGN GENERATIVO MOBILE - PROCESSING

By Guilherme Ranoya

DESIGN GENERATIVO MOBILE - PROCESSING

Material de aula versão mobile sobre programação em Processing, parte da disciplina de Design Generativo do departamento de Design da Universidade Federal de Pernambuco

  • 44
Loading comments...

More from Guilherme Ranoya