funcioness

Download Funcioness

If you can't read please download the document

Upload: carolina-ramos

Post on 14-Mar-2016

214 views

Category:

Documents


0 download

DESCRIPTION

processing

TRANSCRIPT

Funciones

Funciones

Las funciones son la base de nuestra programacin.

Utilizados frecuentemente : size, line, fill, rect, ellipse, etc.

Modularidad: Ladrillos de lego.

Funciones Bsicas

Ejemplo 8-1: Orden de lectura de cada funcin:Configuracin rollDice cada vez.

void setup() {

println("Ready to roll!");

rollDice(20);

rollDice(20);

rollDice(6);

println("Finished.");

}

void rollDice(int numSides) {

int d = 1 + int(random(numSides));

println("Rolling... " + d);

}

Sin ttulo.jpgEjemplo 8-2:Random

Devuelve un numero entre 0 y el numero especificado.

Al azar (6).. 0 y 5,99999

Int () para convertir en entero: ahora (6) devolver 0,1,2,3,4 y 5

Si adems agregamos 1: devolver de 1 a 6

void setup() {
println("Ready to roll!");
int d1 = 1 + int(random(20));
println("Rolling... " + d1);
int d2 = 1 + int(random(20));
println("Rolling... " + d2);
int d3 = 1 + int(random(6));
println("Rolling... " + d3);
println("Finished.");
}

Sin ttulo2.jpgHacer una funcin

Una funcin nos sirve para el caso de querer multiplicar un elemento en un plano, en vez de escribir un cdigo y copiarlo enumeradas veces se utilizan las funciones as el trabajo no se hace mas tedioso, en realidad las funciones son los cdigos, para que estas variables no enven nuestros cdigos a un error nos tenemos que asegurar que estn bien ubicados en las funciones los parmetros x-y.
Tambin con las funciones se puede modificar cdigos ya robados, como en color, tamao, dimetro, escala, figuras, etc.

Ejemplo8-5:Una funcin Lechuza

En este ejemplo,una funcin seintrodujopara dibujar doslechuzascon el mismo cdigo.

Sihacemosel cdigo queseala a lalechuzaa la pantallaen una nueva
funcin, el cdigonecesitaslo aparecer una vezen el programa:

noStroke();
fill(255);
ellipse(-17.5, -65, 35, 35); //Lefteye dome
ellipse(17.5, -65, 35, 35); //Righteye dome
arc(0, -65, 70, 70, 0, PI); // Chin
fill(0);
ellipse(-14, -65, 8, 8); //Lefteye
ellipse(14, -65, 8, 8); //Righteye
quad(0, -58, 4, -51, 0, -44, -4, -51); //Beak
popMatrix();
}

voidsetup() {

size(480, 120);

smooth();

}

voiddraw() {

background(204);

owl(110, 110);

owl(180, 110);

}

voidowl(int x,int y) {

pushMatrix();

translate(x, y);

stroke(0);

strokeWeight(70);

line(0, -35, 0, -65); //Body

Se puede ver enlas ilustraciones queeste ejemploy el ejemplo8.4tienen el mismo resultado, pero este ejemploes ms corto,ya que el cdigopara dibujar el
bhoaparece una sola vez,dentro de labien llamadalechuza()funcin.este cdigo se ejecuta dos veces,porque se llamados vecesdentro dedraw ().

El bhose dibujaen dos diferentes lugaresdebido a los parmetrospasados a la funcin que marcan laXe Y-.

Se puede ver en las ilustraciones que este ejemplo y el ejemplo 8.4 tienen los mismos parmetros que son una parte importante de las funciones, ya que proporcionanflexibilidad.

Hemos visto un ejemplo en elrollDice () funcin, el nico
numSides. Esto es igual que muchosotras funciones de procesamiento.

Por ejemplo, los parmetros de la lnea ()
funcin de que sea posible trazar una lnea de cualquier pixel de la pantalla para cualquierotro pixel.Sin los parmetros, la funcin sera capaz de dibujar unnica lnea de un punto fijo a otro.

Cada parmetro tiene un tipo de datos (comoint ofloat), ya que cada
parmetro es una variable que se crea cada vez que se ejecuta la funcin.

Cuandoeste ejemplo se ejecuta la primera vez que se llama la funcin deowl, el valor deel parmetro X es de 110,y la Y tambin es 110.En el segundo uso de la funcin,el valor de x es de 180 yY es 110.

Cada valor se pasa a la funcin y siempre que el nombre de la variable dentro de la funcin, esreemplazado por el valor de entrada.

Asegrese de quelos valores pasadosa una funcinque coincida con eltipo de datosde los parmetros.

El aumento delexcedente de poblacin ahora que tenemosuna funcin bsicapara dibujarla lechuzaen cualquier Por ejemplo, silasiguiente aparecien el interior delsetup ()para
Ejemplo8-5:

owl (110.5,120.2);

Esto seraun error,porque eltipo de datospara losparmetros x e y
esint,y los valores de110,5y120,2sonvalores de coma flotante.

Ejemplo 8-6:

lugar, podemos dibujarlechuzaseficientemente mediante la colocacin dela funcin dentro deunloopy cambiar elprimer parmetrocada vez quepasa a travs delloop:

void setup() {

size(480, 120);

smooth();

}

void draw() {

background(204);

for (int x = 35; x < width + 70; x += 70) {

owl(x, 110);

}

}

// Insert owl() function from Example 8-5

void owl(int x,int y,int g, float s) {
pushMatrix();
translate(x, y);
scale(s); // Set the size
stroke(g); // Set the gray value
strokeWeight(70);
line(0, -35, 0, -65); // Body
noStroke();
fill(255-g);
ellipse(-17.5, -65, 35, 35); // Left eye dome
ellipse(17.5, -65, 35, 35); // Right eye dome
arc(0, -65, 70, 70, 0, PI); // Chin
fill(g);
ellipse(-14, -65, 8, 8); // Left eye
ellipse(14, -65, 8, 8); // Right eye
quad(0, -58, 4, -51, 0, -44, -4, -51); //Beak
popMatrix(); }

7.8Ejemplo:

Los bhosde diferentes tamaos
En este ejemplo,hemos aadido dosparmetros para cambiarel valor de gris y el tamaode cada uno debho

void setup() {

size(480, 120);

smooth();

}

void draw() {

background(204);

randomSeed(0);

for (inti = 35;i < width + 40;i += 40) {

int gray =int(random(0, 102));

float scalar = random(0.25, 1.0);

owl(i, 110, gray, scalar);

}

Valores de retorno

Las funciones puedenhacer un clculoy luegodevolver un valora los principales del programa.

Ya hemos usadolas funcionesde este tipo, incluyendoalrandom()
ysin ().

Tenga en cuenta quecuandoeste tipo de funcinaparece,el valor de retorno normalmente se asignaa una variable:
floatr =random (1,10);


En este caso,random ()devuelve un valorentre 1 y 10, quese asigna ala variabler.


Una funcinque devuelve un valortambin se utiliza frecuentementecomo un parmetro para
otra funcin.

Porejemplo:

point(random(width), random(height));

En este caso,los valores derandom ()nose asignan a unavariableque
sepasan como parmetro apunto()y se utilizapara colocar el puntoen
la ventana.

Valores

es unafuncionel cual uno puede realizar un clculo y, para lograr devolver el valor para su programa principal.

utilizan lafuncionrandom() ywithout(). Donde el valor y su funcin aparece, y se asigna a una variable:float r =random(1, 10); en este caso,random() devuelve un valor entre 1 y 10, que luego se le asigna a la variable .

los valores derandom() no son elegidos para cada variable se dirige hacia un parmetros apoint() y se utiliza para estar dentro de la ventana.

los tipos de datos como floatson la funcin de poder mostrar que se puedan devolver a un valor de coma flotante, y la ltima lnea del bloque, se devuelve hacia la variablenewWeight

Ejemplo

Imagen 1.pngFuncin del Robot

se van a dibujar cuatro robot en diferentes variaciones dentro del mismo programa (processing) . en donde losdrawRobot() es una funcin que va aparecer cuatro veces.

el cdigo esta dentro del bloquedrawRobot() se realiza cuatro veces, cada vez con un conjunto diferente de parmetros para cambiar la posicin y altura del cuerpo del robot .

Ejemplo Robot

Imagen 2.pngCambios

Sin ttulo3.jpgSin ttulo5.jpgSin ttulo4.jpgSin ttulo6.jpgHaga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de subttulo del patrn

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

27/09/2011

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

27/09/2011

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

27/09/2011