3
44 Punto 10 – Anatomía de un programa estructurado Función setup() En el momento de querer optimizar el código, nos damos cuenta que ciertas funciones sólo deben ser ejecutadas una vez. Para eso utilizamos la función setup(). Exponemos como ejemplo la función frameRate() de los bocetos anteriores: float y = 0.0; void setup() {   frameRate(30); } void draw() {   background(y * 2.5);   y = y + 0.5;   line(0, y, 100, y);   if (y > 100) {     y = 0;   } } Bloque de función setup() Cuando en Processing se ejecuta un programa, el código que se encuentra fuera de los bloques setup() y draw() se contemplado en primer lugar. Luego, se ejecuta por única vez el código dentro del bloque setup(). Por último, se ejecuta continuamente el contenido del bloque draw(). float y = 0.0; void setup() {   size(100, 100);   smooth();   fill(0); } void draw() {   background(204);   ellipse(50, y, 70, 70);   y += 0.5;   if (y > 150) {     y = -50.0;   } } Introducción a Processing v1.5+ Docente: Raúl Lacabanne

Intro Processing v1.5 - 10 - Raúl Lacabanne

Embed Size (px)

DESCRIPTION

Intro Processing v1.5 - 10 - Raúl Lacabanne

Citation preview

Page 1: Intro Processing v1.5 - 10 - Raúl Lacabanne

44

Punto 10 – Anatomía de un programa estructurado

Función setup()

En el momento de querer optimizar el código, nos damos cuenta que ciertas funciones sólo deben ser ejecutadas una vez. Para eso utilizamos la función setup(). Exponemos como ejemplo la función frameRate() de los bocetos anteriores:

float y = 0.0;

void setup() {  frameRate(30);}

void draw() {  background(y * 2.5);  y = y + 0.5;  line(0, y, 100, y);

  if (y > 100) {    y = 0;  }}

Bloque de función setup()

Cuando en Processing se ejecuta un programa, el código que se encuentra fuera de los bloques setup() y draw() se contemplado en primer lugar. Luego, se ejecuta por única vez el código dentro del bloque setup(). Por último, se ejecuta continuamente el contenido del bloque draw().

float y = 0.0;

void setup() {  size(100, 100);  smooth();  fill(0);}

void draw() {  background(204);  ellipse(50, y, 70, 70);  y += 0.5;

  if (y > 150) {    y = ­50.0;  }}

Introducción a Processing v1.5+  Docente: Raúl Lacabanne

Page 2: Intro Processing v1.5 - 10 - Raúl Lacabanne

45

Diagrama de estructura formal standard de un programa

Ámbito de ejecución de las variables

Existen dos ámbitos de ejecución de las variables: el global y el local. Cuando hablamos de ámbito global significa que podemos acceder a una variable que fue creada por afuera de cualquier bloque, desde cualquier bloque del código; mientras que cuando hablamos de ámbito local, sólo podremos acceder a una variable en el bloque que fue creada:

int d = 51;  // d variable global

void setup() {  size(100, 100);  int val = d * 2; // val variable local en setup()  fill(val);}

void draw() {  int y = 60;  // y variable local en draw()  line(0, y, d, y);  y ­= 25;  line(0, y, d, y);}

Pero ¿cómo saber cuándo declarar una variable como global o local? Para resolver esta cuestión daremos las siguientes pistas:las variables que cambian en cada repetición del bloque draw() deben

Introducción a Processing v1.5+  Docente: Raúl Lacabanne

Sección de variables globales

Sección de inicialización

Sección de dibujo

Page 3: Intro Processing v1.5 - 10 - Raúl Lacabanne

46

ser declaradas fuera de los bloques de setup() y draw().

Lectura recomendada

• Buioli, I. & Pérez Marín, J. "Processing: un lenguaje al alcance de todos", Autoedición, 2013, Unidad 18 "Estructuras: Continuidad" (pag. 89).

• Reas, C. & Fry, B. "Processing: A Programming Handbook for Visual Designers and Artists”, MIT Press, 2007, Capítulo "Structure 2: Continuous" (pag. 173).

Introducción a Processing v1.5+  Docente: Raúl Lacabanne