0% encontró este documento útil (0 votos)
68 vistas39 páginas

Tutorial de Processing

El documento es un tutorial de Processing que guía a los estudiantes en la creación de sketches, incluyendo instrucciones sobre la escritura de código, captura de pantalla y entrega de ejercicios. Se presenta una rúbrica de evaluación que detalla criterios como la correctitud del código, la calidad de las capturas y la organización del trabajo. Además, se explican conceptos básicos de Processing, como el entorno de desarrollo, la estructura de un sketch, y se incluyen ejemplos prácticos de dibujo y transformaciones.

Cargado por

miguelito220308
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
68 vistas39 páginas

Tutorial de Processing

El documento es un tutorial de Processing que guía a los estudiantes en la creación de sketches, incluyendo instrucciones sobre la escritura de código, captura de pantalla y entrega de ejercicios. Se presenta una rúbrica de evaluación que detalla criterios como la correctitud del código, la calidad de las capturas y la organización del trabajo. Además, se explican conceptos básicos de Processing, como el entorno de desarrollo, la estructura de un sketch, y se incluyen ejemplos prácticos de dibujo y transformaciones.

Cargado por

miguelito220308
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Tutorial de Processing.

Instrucciones para el alumno


1.Escribe el código en Processing para cada ejercicio.
2.Ejecuta el programa y toma una captura de pantalla de la salida.
3.Guarda el código y la captura en un archivo (Word, PDF, etc.).
4.Asegúrate de que el código esté bien comentado y organizado.
5.Entrega todos los ejercicios completos (código + captura) en la plataforma indicada.

Rubrica para evaluación de tutorial de processing.

Criterio Excelente (5) Bueno (4) Regular (3) Deficiente (2) Insuficiente (1)

Correctitud del Código funciona Código funciona, Código tiene errores Código tiene errores Código tiene errores
código perfectamente y pero tiene pequeños que afectan graves que impiden graves que impiden
resuelve el problema errores no parcialmente el su funcionamiento. su funcionamiento.
de manera óptima. relevantes. resultado.
Captura de pantalla Captura muestra Captura muestra la Captura no coincide Captura no muestra No se entrega la
claramente la salida y salida, pero tiene completamente con la salida correcta o captura de pantalla.
coincide exactamente pequeños detalles no el código o está está incompleta
con el código. relevantes. desenfocada
Creatividad y Código está bien Código está Código está Código está muy Código es ilegible o
presentación organizado, organizado, pero le desorganizado o le desorganizado y no no se entrega.
comentado y sigue faltan algunos faltan varios sigue buenas
buenas prácticas. comentarios o comentarios prácticas.
detalles.
Entrega completa Se entregan todos Se entregan la Se entregan algunos Se entregan muy No se entrega ningún
los ejercicios con mayoría de los ejercicios, pero faltan pocos ejercicios o ejercicio.
código y capturas de ejercicios, pero falta varios códigos o están incompletos.
pantalla completas. algún detalle menor. capturas.

Rúbrica de evaluación para programas en Processing


Criterios de evaluación
1.Correctitud del código:
El código funciona sin errores.
El código resuelve el problema planteado.
El código sigue buenas prácticas de programación.
2.Captura de pantalla:
La captura muestra claramente la salida del programa.
La captura coincide con el código entregado.
3.Creatividad y presentación:
El código está bien organizado y es fácil de entender.
La captura está bien recortada y enfocada en la salida.
4.Entrega completa:
Se entregan todos los ejercicios solicitados.
Cada ejercicio incluye código y captura de pantalla.
1. Introducción a Processing
1.1 ¿Qué es Processing?
Processing es un lenguaje de programación y entorno de desarrollo integrado (IDE) diseñado para artistas,
diseñadores y principiantes. Se utiliza principalmente para crear arte visual, animaciones y proyectos
interactivos. Está basado en Java, pero simplifica muchas cosas para que sea más accesible.

1.2 Entorno de desarrollo (IDE) de Processing


El IDE de Processing es muy sencillo. Consta de:

Un editor de código (donde escribes tu programa).


Un botón de "Play" (para ejecutar el programa).
Una ventana de visualización (donde se muestra el resultado, llamado "canvas").

1.3 Estructura básica de un sketch: setup() y draw()


En Processing, un programa se llama "sketch". Todo sketch tiene dos funciones principales:

1.setup(): Se ejecuta una sola vez al inicio. Aquí defines configuraciones iniciales, como el tamaño del
canvas.
2.draw(): Se ejecuta continuamente en bucle. Aquí defines lo que se dibuja o actualiza en el canvas.

1.4 ¿Qué es un pseudocódigo?


Un pseudocódigo es una descripción informal y simplificada de un programa. No sigue la sintaxis de un
lenguaje de programación, pero explica la lógica y los pasos necesarios para resolver un problema. Es útil
para planificar antes de escribir el código real.

Pseudocódigo de un sketch básico


1. Iniciar el sketch:

- Tamaño del canvas: 400x400 píxeles.

- Color de fondo: gris claro.

2. Dibujar en el canvas:

- Dibujar un círculo en la posición (200, 200) con radio 50.

- Color del círculo: azul.

Código en Processing
void setup() {
size(400, 400); // Tamaño del canvas
background(200); // Color de fondo (gris claro)
}
void draw() {
fill(0, 0, 255); // Color de relleno (azul)
ellipse(200, 200, 50, 50); // Dibujar un círculo
}
Salida esperada
Una ventana de 400x400 píxeles con fondo gris claro.
Un círculo azul en el centro de la ventana.

2. Trabajo con el Canvas


2.1 Tamaño del canvas: size()
El canvas es el área donde se dibuja todo en Processing. Para definir su tamaño, se usa la función size().

Pseudocódigo para definir el tamaño del canvas


1. Iniciar el sketch:
- Tamaño del canvas: 800x600 píxeles.

Código en Processing
void setup() {
size(800, 600); // Define un canvas de 800x600 píxeles
}

2.2 Sistema de coordenadas en Processing


En Processing, el sistema de coordenadas comienza en la esquina superior izquierda del canvas:

El eje X va de izquierda a derecha.


El eje Y va de arriba hacia abajo.
El punto (0, 0) es la esquina superior izquierda.

Pseudocódigo para dibujar en coordenadas específicas

1. Iniciar el sketch:
- Tamaño del canvas: 400x400 píxeles.
2. Dibujar en el canvas:
- Dibujar un punto en la posición (100, 200).

Código en Processing
void setup() {
size(400, 400); // Canvas de 400x400
}
void draw() {
point(100, 200); // Dibuja un punto en (100, 200)
}
Salida esperada
Un punto pequeño en la posición (100, 200) del canvas.

2.3 Color de fondo: background()


El color de fondo se define con la función background(). Puedes usar valores en escala de grises (0-255) o
colores RGB.

Pseudocódigo para cambiar el color de fondo


1. Iniciar el sketch:
- Tamaño del canvas: 400x400 píxeles.
- Color de fondo: verde claro.

Código en Processing
void setup() {
size(400, 400); // Canvas de 400x400
background(150, 255, 150); // Fondo verde claro (RGB)
}
Salida esperada
Una ventana de 400x400 con fondo verde claro.

2.4 Modos de color: RGB, HSB, etc.

Processing permite trabajar con diferentes modos de color:

RGB: Rojo, Verde, Azul (valores de 0 a 255).


HSB: Tono, Saturación, Brillo (valores de 0 a 255 o 0-360 para el tono).

Pseudocódigo para cambiar el modo de color

1. Iniciar el sketch:

- Tamaño del canvas: 400x400 píxeles.

- Modo de color: HSB.

- Color de fondo: tono 180 (cian), saturación 255, brillo 255.


Código en Processing
void setup() {

size(400, 400); // Canvas de 400x400

colorMode(HSB, 360, 255, 255); // Cambiar a modo HSB

background(180, 255, 255); // Fondo cian

Salida esperada
Una ventana de 400x400 con fondo cian.

2.5 Ejemplo combinado: Canvas con formas y colores


Vamos a combinar todo lo aprendido en un solo sketch.

Pseudocódigo
1. Iniciar el sketch:

- Tamaño del canvas: 500x500 píxeles.

- Color de fondo: gris claro.

2. Dibujar en el canvas:

- Dibujar un rectángulo rojo en (100, 100) con tamaño 200x100.

- Dibujar un círculo azul en (300, 300) con radio 50.

Código en Processing

void setup() {

size(500, 500); // Canvas de 500x500

background(200); // Fondo gris claro

void draw() {

fill(255, 0, 0); // Color de relleno (rojo)

rect(100, 100, 200, 100); // Rectángulo rojo

fill(0, 0, 255); // Color de relleno (azul)

ellipse(300, 300, 50, 50); // Círculo azul

Salida esperada
Una ventana de 500x500 con fondo gris claro.
Un rectángulo rojo en la posición (100, 100).
Un círculo azul en la posición (300, 300).

3. Figuras básicas
En Processing, puedes dibujar figuras geométricas básicas como líneas, rectángulos, círculos, triángulos y
más. Estas figuras se dibujan usando funciones específicas.

3.1 Dibujo de formas primitivas


Processing ofrece funciones para dibujar formas primitivas. Las más comunes son:

Línea: line(x1, y1, x2, y2).


Rectángulo: rect(x, y, ancho, alto).
Círculo: ellipse(x, y, ancho, alto).
Triángulo: triangle(x1, y1, x2, y2, x3, y3).
Cuadrilátero: quad(x1, y1, x2, y2, x3, y3, x4, y4).

3.2 Propiedades de las formas


Además de dibujar las formas, puedes personalizar su apariencia con las siguientes funciones:

Color de relleno: fill(rojo, verde, azul).


Color del borde: stroke(rojo, verde, azul).
Grosor del borde: strokeWeight(grosor).
Eliminar borde: noStroke().
Eliminar relleno: noFill().

Pseudocódigo para dibujar formas básicas


1. Iniciar el sketch:

- Tamaño del canvas: 500x500 píxeles.

- Color de fondo: blanco.

2. Dibujar en el canvas:

- Dibujar una línea desde (50, 50) hasta (450, 450).

- Dibujar un rectángulo en (100, 100) con tamaño 200x100.

- Dibujar un círculo en (300, 300) con radio 50.

- Dibujar un triángulo con vértices en (400, 100), (450, 200), (350, 200).

Código en Processing
void setup() {

size(500, 500); // Canvas de 500x500

background(255); // Fondo blanco

}
void draw() {

// Dibujar una línea

stroke(0); // Color del borde (negro)

line(50, 50, 450, 450); // Línea desde (50, 50) hasta (450, 450)

// Dibujar un rectángulo

fill(255, 0, 0); // Color de relleno (rojo)

rect(100, 100, 200, 100); // Rectángulo en (100, 100)

// Dibujar un círculo

fill(0, 0, 255); // Color de relleno (azul)

ellipse(300, 300, 50, 50); // Círculo en (300, 300)

// Dibujar un triángulo

fill(0, 255, 0); // Color de relleno (verde)

triangle(400, 100, 450, 200, 350, 200); // Triángulo

Salida esperada
Una ventana de 500x500 con fondo blanco.
Una línea diagonal desde la esquina superior izquierda hasta la inferior derecha.
Un rectángulo rojo en la posición (100, 100).
Un círculo azul en la posición (300, 300).
Un triángulo verde en la parte superior derecha.

3.3 Transformaciones básicas

Processing permite aplicar transformaciones a las formas, como traslación, rotación y escalado. Las funciones
más comunes son:

Traslación: translate(x, y).


Rotación: rotate(ángulo).
Escalado: scale(factor).
Pseudocódigo para aplicar transformaciones
1. Iniciar el sketch:

- Tamaño del canvas: 400x400 píxeles.

- Color de fondo: gris claro.

2. Dibujar en el canvas:

- Trasladar el origen a (200, 200).

- Rotar 45 grados.
- Dibujar un rectángulo en (0, 0) con tamaño 100x50.

Código en Processing
void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

translate(200, 200); // Trasladar el origen a (200, 200)

rotate(radians(45)); // Rotar 45 grados (usar radians para convertir)

fill(255, 0, 0); // Color de relleno (rojo)

rect(0, 0, 100, 50); // Rectángulo en (0, 0)

Salida esperada
Una ventana de 400x400 con fondo gris claro.
Un rectángulo rojo rotado 45 grados, centrado en el canvas.

3.4 Ejemplo combinado: Figuras con colores y transformaciones


Vamos a combinar todo lo aprendido en un solo sketch.

Pseudocódigo
1. Iniciar el sketch:

- Tamaño del canvas: 600x600 píxeles.

- Color de fondo: negro.

2. Dibujar en el canvas:

- Dibujar un círculo en (300, 300) con radio 100.

- Dibujar un rectángulo rotado 30 grados en (300, 300).

- Dibujar un triángulo escalado en (300, 300).

Código en Processing
void setup() {

size(600, 600); // Canvas de 600x600

background(0); // Fondo negro

void draw() {
// Dibujar un círculo

fill(255, 0, 0); // Color de relleno (rojo)

ellipse(300, 300, 100, 100); // Círculo en (300, 300)

// Dibujar un rectángulo rotado

pushMatrix(); // Guardar la matriz de transformación actual

translate(300, 300); // Trasladar el origen a (300, 300)

rotate(radians(30)); // Rotar 30 grados

fill(0, 255, 0); // Color de relleno (verde)

rect(0, 0, 150, 75); // Rectángulo en (0, 0)

popMatrix(); // Restaurar la matriz de transformación

// Dibujar un triángulo escalado

pushMatrix();

translate(300, 300); // Trasladar el origen a (300, 300)

scale(1.5); // Escalar 1.5 veces

fill(0, 0, 255); // Color de relleno (azul)

triangle(-50, -50, 50, -50, 0, 50); // Triángulo

popMatrix();

Salida esperada
Una ventana de 600x600 con fondo negro.
Un círculo rojo en el centro.
Un rectángulo verde rotado 30 grados.
Un triángulo azul escalado.

4. Variables y tipos de datos


En Processing, las variables son contenedores que almacenan datos. Los tipos de datos más comunes son:

int: Números enteros (ejemplo: int edad = 25;).


float: Números decimales (ejemplo: float altura = 1.75;).
boolean: Valores lógicos (true o false).
String: Texto (ejemplo: String nombre = "Juan";).

4.1 Declaración e inicialización de variables


Para usar una variable, primero debes declararla (decirle a Processing qué tipo de dato almacenará) y luego
inicializarla (asignarle un valor).
Pseudocódigo para usar variables
1. Iniciar el sketch:

- Tamaño del canvas: 400x400 píxeles.

- Color de fondo: gris claro.

2. Declarar variables:

- Entero: posición X de un círculo.

- Decimal: posición Y de un círculo.

- Texto: mensaje para mostrar.

3. Dibujar en el canvas:

- Dibujar un círculo en la posición (X, Y).

- Mostrar el mensaje en la pantalla.

Código en Processing
void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

// Declarar e inicializar variables

int posX = 200; // Posición X del círculo

float posY = 150.5; // Posición Y del círculo

String mensaje = "Hola, Processing!"; // Mensaje para mostrar

// Dibujar un círculo

fill(0, 0, 255); // Color de relleno (azul)

ellipse(posX, posY, 100, 100); // Círculo en (posX, posY)

// Mostrar el mensaje

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text(mensaje, 100, 350); // Mostrar mensaje en (100, 350)

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo gris claro.
Un círculo azul centrado horizontalmente (en X = 200) y ligeramente arriba del centro vertical (en Y = 150.5).
El texto "Hola, Processing!" en la parte inferior de la pantalla, en color negro y tamaño 20.
4.2 Ámbito de las variables (globales vs locales)
Las variables pueden ser globales (accesibles en todo el sketch) o locales (accesibles solo dentro de una
función).

Pseudocódigo para variables globales y locales


1. Iniciar el sketch:

- Tamaño del canvas: 400x400 píxeles.

- Color de fondo: gris claro.

2. Declarar una variable global:

- Entero: tamaño del círculo.

3. Dibujar en el canvas:

- Declarar una variable local: posición X del círculo.

- Dibujar un círculo en (X, 200) con el tamaño global.

Código en Processing
// Variable global

int tamanoCirculo = 150;

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

// Variable local

int posX = 200; // Posición X del círculo

// Dibujar un círculo

fill(255, 0, 0); // Color de relleno (rojo)

ellipse(posX, 200, tamanoCirculo, tamanoCirculo); // Círculo en (posX, 200)

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo gris claro.
Un círculo rojo centrado verticalmente (en Y = 200) y horizontalmente (en X = 200), con un tamaño de 150
píxeles.
4.3 Ejemplo combinado: Variables dinámicas
Vamos a usar variables para crear un círculo que se mueve horizontalmente.

Pseudocódigo
1. Iniciar el sketch:

- Tamaño del canvas: 400x400 píxeles.

- Color de fondo: gris claro.

2. Declarar una variable global:

- Entero: posición X del círculo.

3. Dibujar en el canvas:

- Incrementar la posición X del círculo.

- Dibujar el círculo en la nueva posición.

- Reiniciar la posición X si sale del canvas.

Código en Processing
// Variable global

int posX = 0;

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

// Limpiar el canvas en cada fotograma

background(200);

// Dibujar un círculo

fill(0, 255, 0); // Color de relleno (verde)

ellipse(posX, 200, 50, 50); // Círculo en (posX, 200)

// Incrementar la posición X

posX = posX + 2;
// Reiniciar la posición X si sale del canvas

if (posX > 400) {

posX = 0;

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo gris claro.
Un círculo verde que se mueve de izquierda a derecha.
Cuando el círculo llega al borde derecho de la ventana, reaparece en el borde izquierdo.

5. Estructuras de control
Las estructuras de control permiten tomar decisiones y repetir acciones en un programa. Las más comunes
son:

Condicionales: if, else if, else.


Bucles: for, while.
5.1 Condicionales: if, else if, else
Los condicionales permiten ejecutar código dependiendo de si una condición es verdadera o falsa.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: gris claro.

// 2. Declarar una variable:

// - Entero: posición X del círculo.

// 3. Dibujar en el canvas:

// - Si la posición X es menor que 200, dibujar un círculo rojo.

// - Si no, dibujar un círculo azul.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

int posX = mouseX; // Posición X del círculo (seguir el ratón)


if (posX < 200) { // Si posX es menor que 200

fill(255, 0, 0); // Color de relleno (rojo)

} else { // Si no

fill(0, 0, 255); // Color de relleno (azul)

ellipse(posX, 200, 50, 50); // Dibujar un círculo en (posX, 200)

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo gris claro.
Un círculo que sigue el movimiento horizontal del ratón.
El círculo será rojo si está en la mitad izquierda del canvas (X < 200) y azul si está en la mitad derecha (X >=
200).

5.2 Bucles: for

El bucle for permite repetir un bloque de código un número específico de veces.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: negro.

// 2. Dibujar en el canvas:

// - Usar un bucle `for` para dibujar 10 círculos en una fila.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(0); // Fondo negro

void draw() {

for (int i = 0; i < 10; i++) { // Bucle de 0 a 9

float posX = 40 + i * 40; // Posición X de cada círculo

fill(255, 0, 0); // Color de relleno (rojo)


ellipse(posX, 200, 30, 30); // Dibujar un círculo

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo negro.
Una fila de 10 círculos rojos, espaciados uniformemente a lo largo del canvas.

5.3 Bucles: while


El bucle while repite un bloque de código mientras una condición sea verdadera.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Dibujar en el canvas:

// - Usar un bucle `while` para dibujar círculos hasta que se llene una fila.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

void draw() {

int i = 0; // Contador

while (i < 10) { // Mientras i sea menor que 10

float posX = 40 + i * 40; // Posición X de cada círculo

fill(0, 0, 255); // Color de relleno (azul)

ellipse(posX, 200, 30, 30); // Dibujar un círculo

i++; // Incrementar el contador

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo blanco.
Una fila de 10 círculos azules, espaciados uniformemente a lo largo del canvas.
5.4 Ejemplo combinado: Condicionales y bucles
Vamos a combinar condicionales y bucles para crear un patrón interactivo.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: gris claro.

// 2. Dibujar en el canvas:

// - Usar un bucle `for` para dibujar una cuadrícula de círculos.

// - Si el círculo está cerca del ratón, cambiar su color.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

for (int i = 0; i < 10; i++) { // Bucle para filas

for (int j = 0; j < 10; j++) { // Bucle para columnas

float posX = 40 + i * 40; // Posición X del círculo

float posY = 40 + j * 40; // Posición Y del círculo

// Calcular la distancia al ratón

float distancia = dist(posX, posY, mouseX, mouseY);

if (distancia < 20) { // Si el ratón está cerca

fill(255, 0, 0); // Color de relleno (rojo)

} else { // Si no

fill(0, 0, 255); // Color de relleno (azul)

ellipse(posX, posY, 30, 30); // Dibujar un círculo


}

Lo que físicamente se verá en la pantalla


Una ventana de 400x400 píxeles con fondo gris claro.
Una cuadrícula de 10x10 círculos azules.
Cuando el ratón se acerca a un círculo, este cambia a rojo.

6. Funciones
Las funciones son bloques de código que realizan una tarea específica. Pueden recibir parámetros y devolver
valores. En Processing, las funciones son útiles para organizar el código y reutilizarlo.

6.1 Creación de funciones personalizadas

Puedes crear tus propias funciones para realizar tareas repetitivas o complejas.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: gris claro.

// 2. Crear una función personalizada:

// - Nombre: dibujarCirculo.

// - Parámetros: posición X, posición Y, color.

// - Tarea: dibujar un círculo en la posición dada con el color especificado.

// 3. Dibujar en el canvas:

// - Llamar a la función dibujarCirculo varias veces con diferentes parámetros.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

// Llamar a la función dibujarCirculo

dibujarCirculo(100, 100, color(255, 0, 0)); // Círculo rojo

dibujarCirculo(200, 200, color(0, 255, 0)); // Círculo verde


dibujarCirculo(300, 300, color(0, 0, 255)); // Círculo azul

// Función personalizada para dibujar un círculo

void dibujarCirculo(float x, float y, color c) {

fill(c); // Usar el color especificado

ellipse(x, y, 50, 50); // Dibujar un círculo

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo gris claro.

// - Tres círculos de 50 píxeles de diámetro:

// - Uno rojo en la posición (100, 100).

// - Uno verde en la posición (200, 200).

// - Uno azul en la posición (300, 300).

6.2 Funciones con valores de retorno


Las funciones pueden devolver valores usando la palabra clave return.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: gris claro.

// 2. Crear una función personalizada:

// - Nombre: calcularArea.

// - Parámetros: radio.

// - Tarea: calcular el área de un círculo.

// 3. Dibujar en el canvas:

// - Llamar a la función calcularArea y mostrar el resultado.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

}
void draw() {

float radio = 50; // Radio del círculo

float area = calcularArea(radio); // Calcular el área

// Mostrar el resultado en el canvas

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Área: " + area, 100, 200); // Mostrar el área

// Función personalizada para calcular el área de un círculo

float calcularArea(float r) {

return PI * r * r; // Devolver el área

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo gris claro.

// - El texto "Área: 7853.98" en la posición (100, 200).

6.3 Ejemplo combinado: Funciones y bucles


Vamos a combinar funciones y bucles para crear un patrón interactivo.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: negro.

// 2. Crear una función personalizada:

// - Nombre: dibujarCuadrado.

// - Parámetros: posición X, posición Y, tamaño.

// - Tarea: dibujar un cuadrado en la posición dada con el tamaño especificado.

// 3. Dibujar en el canvas:

// - Usar un bucle `for` para dibujar una cuadrícula de cuadrados.

// - Cambiar el color de los cuadrados según la distancia al ratón.


// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(0); // Fondo negro

void draw() {

for (int i = 0; i < 10; i++) { // Bucle para filas

for (int j = 0; j < 10; j++) { // Bucle para columnas

float posX = 40 + i * 40; // Posición X del cuadrado

float posY = 40 + j * 40; // Posición Y del cuadrado

// Calcular la distancia al ratón

float distancia = dist(posX, posY, mouseX, mouseY);

// Cambiar el color según la distancia

if (distancia < 50) {

dibujarCuadrado(posX, posY, 30, color(255, 0, 0)); // Cuadrado rojo

} else {

dibujarCuadrado(posX, posY, 30, color(0, 0, 255)); // Cuadrado azul

// Función personalizada para dibujar un cuadrado

void dibujarCuadrado(float x, float y, float tam, color c) {

fill(c); // Usar el color especificado

rect(x, y, tam, tam); // Dibujar un cuadrado

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo negro.

// - Una cuadrícula de 10x10 cuadrados azules.


// - Cuando el ratón se acerca a un cuadrado, este cambia a **rojo**.

7. Ciclos anidados
Los ciclos anidados son bucles dentro de otros bucles. Son útiles para trabajar con estructuras
bidimensionales, como matrices o cuadrículas.

7.1 Dibujar una cuadrícula con ciclos anidados


Podemos usar ciclos anidados para dibujar una cuadrícula de formas en el canvas.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Dibujar en el canvas:

// - Usar dos bucles `for` anidados para dibujar una cuadrícula de círculos.

// - Espaciar los círculos uniformemente.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

void draw() {

for (int i = 0; i < 10; i++) { // Bucle para filas

for (int j = 0; j < 10; j++) { // Bucle para columnas

float posX = 40 + i * 40; // Posición X del círculo

float posY = 40 + j * 40; // Posición Y del círculo

fill(0, 0, 255); // Color de relleno (azul)

ellipse(posX, posY, 30, 30); // Dibujar un círculo

}
// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Una cuadrícula de 10x10 círculos azules, espaciados uniformemente.

7.2 Cambiar el color de la cuadrícula dinámicamente


Podemos modificar el color de los círculos en función de su posición en la cuadrícula.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: negro.

// 2. Dibujar en el canvas:

// - Usar dos bucles `for` anidados para dibujar una cuadrícula de círculos.

// - Cambiar el color de los círculos según su posición en la cuadrícula.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(0); // Fondo negro

void draw() {

for (int i = 0; i < 10; i++) { // Bucle para filas

for (int j = 0; j < 10; j++) { // Bucle para columnas

float posX = 40 + i * 40; // Posición X del círculo

float posY = 40 + j * 40; // Posición Y del círculo

// Cambiar el color según la posición

fill(i * 25, j * 25, 255); // Color de relleno (gradiente)

ellipse(posX, posY, 30, 30); // Dibujar un círculo

}
}

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo negro.

// - Una cuadrícula de 10x10 círculos con colores que cambian en un gradiente:

// - Los círculos de la izquierda son más rojos.

// - Los círculos de arriba son más verdes.

// - Todos tienen un componente azul.

7.3 Crear un patrón interactivo con ciclos anidados


Vamos a combinar ciclos anidados con interacción del ratón para crear un patrón dinámico.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: gris claro.

// 2. Dibujar en el canvas:

// - Usar dos bucles `for` anidados para dibujar una cuadrícula de cuadrados.

// - Cambiar el tamaño de los cuadrados según la distancia al ratón.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(200); // Fondo gris claro

void draw() {

for (int i = 0; i < 10; i++) { // Bucle para filas

for (int j = 0; j < 10; j++) { // Bucle para columnas

float posX = 40 + i * 40; // Posición X del cuadrado

float posY = 40 + j * 40; // Posición Y del cuadrado

// Calcular la distancia al ratón

float distancia = dist(posX, posY, mouseX, mouseY);


// Cambiar el tamaño según la distancia

float tam = map(distancia, 0, 200, 40, 10); // Mapear la distancia a un tamaño

fill(0, 0, 255); // Color de relleno (azul)

rect(posX, posY, tam, tam); // Dibujar un cuadrado

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo gris claro.

// - Una cuadrícula de 10x10 cuadrados azules.

// - Cuando el ratón se acerca a un cuadrado, este aumenta de tamaño.

// - Cuando el ratón se aleja, el cuadrado disminuye de tamaño.

7.4 Ejemplo avanzado: Espiral con ciclos anidados


Vamos a crear una espiral usando ciclos anidados y funciones trigonométricas.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: negro.

// 2. Dibujar en el canvas:

// - Usar un bucle `for` para dibujar una espiral.

// - Calcular las posiciones usando seno y coseno.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(0); // Fondo negro

void draw() {

translate(width / 2, height / 2); // Mover el origen al centro

noFill(); // Sin relleno


stroke(255); // Color del borde (blanco)

for (int i = 0; i < 360 * 5; i += 10) { // Bucle para la espiral

float angulo = radians(i); // Convertir grados a radianes

float radio = i * 0.1; // Aumentar el radio gradualmente

float x = radio * cos(angulo); // Posición X

float y = radio * sin(angulo); // Posición Y

ellipse(x, y, 10, 10); // Dibujar un círculo

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo negro.

// - Una espiral blanca compuesta por círculos pequeños.

// - La espiral comienza en el centro y se expande hacia afuera.

8. Arreglos (Arrays)
Un arreglo (o array) es una estructura de datos que permite almacenar múltiples valores del mismo tipo en
una sola variable. En Processing, los arreglos son muy útiles para trabajar con listas de números,
coordenadas, colores, etc.

// Pseudocódigo:
// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Declarar e inicializar un arreglo de números.

// 3. Mostrar los valores del arreglo en el canvas.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco


// Declarar e inicializar un arreglo de números

int[] numeros = {10, 20, 30, 40, 50};

// Mostrar los valores del arreglo en el canvas

for (int i = 0; i < numeros.length; i++) {

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Elemento " + i + ": " + numeros[i], 50, 50 + i * 30); // Mostrar el valor

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los valores del arreglo [10, 20, 30, 40, 50] se muestran en el canvas:

// - Elemento 0: 10

// - Elemento 1: 20

// - Elemento 2: 30

// - Elemento 3: 40

// - Elemento 4: 50

8.2 Modificación de arreglos


Los valores de un arreglo se pueden modificar accediendo a sus índices.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Declarar e inicializar un arreglo de números.

// 3. Modificar algunos valores del arreglo.

// 4. Mostrar los valores modificados en el canvas.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco


// Declarar e inicializar un arreglo de números

int[] numeros = {10, 20, 30, 40, 50};

// Modificar algunos valores del arreglo

numeros[1] = 25; // Cambiar el segundo elemento a 25

numeros[3] = 45; // Cambiar el cuarto elemento a 45

// Mostrar los valores modificados en el canvas

for (int i = 0; i < numeros.length; i++) {

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Elemento " + i + ": " + numeros[i], 50, 50 + i * 30); // Mostrar el valor

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los valores del arreglo [10, 25, 30, 45, 50] se muestran en el canvas:

// - Elemento 0: 10

// - Elemento 1: 25

// - Elemento 2: 30

// - Elemento 3: 45

// - Elemento 4: 50

8.3 Arreglos y bucles


Los arreglos se pueden recorrer fácilmente usando bucles, lo que permite manipular o visualizar todos sus
elementos.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Declarar e inicializar un arreglo de números.

// 3. Usar un bucle `for` para mostrar los valores del arreglo en el canvas.
// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

// Declarar e inicializar un arreglo de números

int[] numeros = {5, 15, 25, 35, 45};

// Usar un bucle `for` para mostrar los valores del arreglo

for (int i = 0; i < numeros.length; i++) {

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Elemento " + i + ": " + numeros[i], 50, 50 + i * 30); // Mostrar el valor

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los valores del arreglo [5, 15, 25, 35, 45] se muestran en el canvas:

// - Elemento 0: 5

// - Elemento 1: 15

// - Elemento 2: 25

// - Elemento 3: 35

// - Elemento 4: 45

8.4 Arreglos y funciones


Los arreglos se pueden pasar como parámetros a funciones, lo que permite modularizar el código.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Declarar e inicializar un arreglo de números.

// 3. Crear una función para mostrar los valores del arreglo.


// 4. Llamar a la función para mostrar los valores en el canvas.

// Código de Processing:

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

// Declarar e inicializar un arreglo de números

int[] numeros = {7, 14, 21, 28, 35};

// Llamar a la función para mostrar los valores del arreglo

mostrarArreglo(numeros);

// Función para mostrar los valores del arreglo

void mostrarArreglo(int[] arr) {

for (int i = 0; i < arr.length; i++) {

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Elemento " + i + ": " + arr[i], 50, 50 + i * 30); // Mostrar el valor

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los valores del arreglo [7, 14, 21, 28, 35] se muestran en el canvas:

// - Elemento 0: 7

// - Elemento 1: 14

// - Elemento 2: 21

// - Elemento 3: 28

// - Elemento 4: 35
9. Algoritmos de ordenamiento
Los algoritmos de ordenamiento son métodos para organizar datos en un orden específico (ascendente o
descendente). Vamos a implementar y visualizar dos algoritmos clásicos.

9.1 Bubble Sort


El algoritmo Bubble Sort compara elementos adyacentes y los intercambia si están en el orden incorrecto.
Repite este proceso hasta que todos los elementos estén ordenados.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Crear un arreglo de números desordenados.

// 3. Implementar el algoritmo Bubble Sort:

// - Comparar elementos adyacentes.

// - Intercambiarlos si están en el orden incorrecto.

// - Repetir hasta que el arreglo esté ordenado.

// 4. Visualizar el arreglo en el canvas.

// Código de Processing:

int[] arreglo = {5, 3, 8, 4, 6}; // Arreglo desordenado

int i = 0; // Índice para el bucle

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

frameRate(1); // Velocidad de actualización (1 fotograma por segundo)

void draw() {

background(255); // Limpiar el canvas en cada fotograma

// Dibujar el arreglo

for (int j = 0; j < arreglo.length; j++) {

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto


text(arreglo[j], 50 + j * 70, 200); // Mostrar el número

// Aplicar Bubble Sort

if (i < arreglo.length - 1) {

for (int j = 0; j < arreglo.length - i - 1; j++) {

if (arreglo[j] > arreglo[j + 1]) {

// Intercambiar elementos

int temp = arreglo[j];

arreglo[j] = arreglo[j + 1];

arreglo[j + 1] = temp;

i++;

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los números del arreglo [5, 3, 8, 4, 6] se muestran en el canvas.

// - En cada fotograma, los números se ordenan gradualmente:

// - Primera iteración: [3, 5, 4, 6, 8]

// - Segunda iteración: [3, 4, 5, 6, 8]

// - Tercera iteración: [3, 4, 5, 6, 8] (ya ordenado)

9.2 Selection Sort


El algoritmo Selection Sort busca el elemento más pequeño (o más grande) en cada iteración y lo coloca en
su posición correcta

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Crear un arreglo de números desordenados.

// 3. Implementar el algoritmo Selection Sort:


// - Buscar el elemento más pequeño en cada iteración.

// - Colocarlo en su posición correcta.

// - Repetir hasta que el arreglo esté ordenado.

// 4. Visualizar el arreglo en el canvas.

// Código de Processing:

int[] arreglo = {5, 3, 8, 4, 6}; // Arreglo desordenado

int i = 0; // Índice para el bucle

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

frameRate(1); // Velocidad de actualización (1 fotograma por segundo)

void draw() {

background(255); // Limpiar el canvas en cada fotograma

// Dibujar el arreglo

for (int j = 0; j < arreglo.length; j++) {

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text(arreglo[j], 50 + j * 70, 200); // Mostrar el número

// Aplicar Selection Sort

if (i < arreglo.length - 1) {

int minIndex = i; // Índice del elemento más pequeño

for (int j = i + 1; j < arreglo.length; j++) {

if (arreglo[j] < arreglo[minIndex]) {

minIndex = j; // Actualizar el índice del elemento más pequeño

// Intercambiar elementos
int temp = arreglo[i];

arreglo[i] = arreglo[minIndex];

arreglo[minIndex] = temp;

i++;

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los números del arreglo [5, 3, 8, 4, 6] se muestran en el canvas.

// - En cada fotograma, los números se ordenan gradualmente:

// - Primera iteración: [3, 5, 8, 4, 6]

// - Segunda iteración: [3, 4, 8, 5, 6]

// - Tercera iteración: [3, 4, 5, 8, 6]

// - Cuarta iteración: [3, 4, 5, 6, 8] (ya ordenado)

9.3 Visualización gráfica de los algoritmos


Podemos mejorar la visualización representando los números como barras de diferentes alturas.

// Pseudocódigo:

// 1. Iniciar el sketch:

// - Tamaño del canvas: 400x400 píxeles.

// - Color de fondo: blanco.

// 2. Crear un arreglo de números desordenados.

// 3. Implementar el algoritmo Bubble Sort o Selection Sort.

// 4. Visualizar el arreglo como barras en el canvas.

// Código de Processing (Bubble Sort con barras):

int[] arreglo = {5, 3, 8, 4, 6}; // Arreglo desordenado

int i = 0; // Índice para el bucle

void setup() {

size(400, 400); // Canvas de 400x400

background(255); // Fondo blanco

frameRate(1); // Velocidad de actualización (1 fotograma por segundo)

}
void draw() {

background(255); // Limpiar el canvas en cada fotograma

// Dibujar el arreglo como barras

for (int j = 0; j < arreglo.length; j++) {

fill(0, 0, 255); // Color de relleno (azul)

rect(j * 80, height - arreglo[j] * 40, 50, arreglo[j] * 40); // Dibujar barra

// Aplicar Bubble Sort

if (i < arreglo.length - 1) {

for (int j = 0; j < arreglo.length - i - 1; j++) {

if (arreglo[j] > arreglo[j + 1]) {

// Intercambiar elementos

int temp = arreglo[j];

arreglo[j] = arreglo[j + 1];

arreglo[j + 1] = temp;

i++;

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los números del arreglo [5, 3, 8, 4, 6] se representan como barras azules.

// - En cada fotograma, las barras se ordenan gradualmente:

// - Primera iteración: [3, 5, 4, 6, 8]

// - Segunda iteración: [3, 4, 5, 6, 8]

// - Tercera iteración: [3, 4, 5, 6, 8] (ya ordenado)


10. Ejemplos típicos
10.1 Cálculo de números primos
Un número primo es aquel que solo es divisible por 1 y por sí mismo. Vamos a crear un programa que
determine si un número es primo.

Descripción conceptual
Un número primo solo tiene dos divisores: 1 y él mismo.
Para verificar si un número es primo, se comprueba si es divisible por algún número entre 2 y la raíz
cuadrada del número.
// Programa para verificar si un número es primo

void setup() {

int numero = 29; // Número a verificar

boolean esPrimo = true; // Suponemos que es primo inicialmente

// Verificar si el número es primo

for (int i = 2; i <= sqrt(numero); i++) {

if (numero % i == 0) {

esPrimo = false; // Si es divisible, no es primo

break;

// Mostrar el resultado en el canvas

size(400, 200); // Tamaño del canvas

background(255); // Fondo blanco

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

if (esPrimo) {

text(numero + " es un número primo.", 50, 100); // Mostrar mensaje

} else {

text(numero + " no es un número primo.", 50, 100); // Mostrar mensaje

// Salida esperada:

// - Una ventana de 400x200 píxeles con fondo blanco.


// - El texto "29 es un número primo." en el centro del canvas.

10.2 Cálculo de números pares e impares


Un número es par si es divisible por 2; de lo contrario, es impar. Vamos a crear un programa que clasifique
números en pares e impares.

Descripción conceptual
Un número es par si el residuo de su división entre 2 es 0.
Un número es impar si el residuo de su división entre 2 es 1.
// Programa para clasificar números en pares e impares

void setup() {

int numero = 7; // Número a verificar

// Verificar si el número es par o impar

size(400, 200); // Tamaño del canvas

background(255); // Fondo blanco

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

if (numero % 2 == 0) {

text(numero + " es un número par.", 50, 100); // Mostrar mensaje

} else {

text(numero + " es un número impar.", 50, 100); // Mostrar mensaje

// Salida esperada:

// - Una ventana de 400x200 píxeles con fondo blanco.

// - El texto "7 es un número impar." en el centro del canvas.

10.3 Serie Fibonacci


La serie Fibonacci es una secuencia de números donde cada número es la suma de los dos anteriores (0, 1,
1, 2, 3, 5, 8, ...). Vamos a generar los primeros 10 números de la serie.

Descripción conceptual
La serie comienza con 0 y 1.
Cada número siguiente es la suma de los dos anteriores.
// Programa para generar la serie Fibonacci

void setup() {

int n = 10; // Número de términos a generar

int a = 0, b = 1; // Primeros dos términos de la serie

// Mostrar la serie Fibonacci en el canvas

size(400, 400); // Tamaño del canvas

background(255); // Fondo blanco

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Serie Fibonacci:", 50, 50); // Título

text("0", 50, 100); // Primer término

text("1", 50, 130); // Segundo término

int y = 160; // Posición vertical inicial

for (int i = 2; i < n; i++) {

int c = a + b; // Calcular el siguiente término

text(c, 50, y); // Mostrar el término

a = b; // Actualizar valores

b = c;

y += 30; // Ajustar posición vertical

// Salida esperada:

// - Una ventana de 400x400 píxeles con fondo blanco.

// - Los primeros 10 términos de la serie Fibonacci:

// 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.

10.4 Factorial de un número


El factorial de un número es el producto de todos los enteros positivos desde 1 hasta ese número. Por
ejemplo, el factorial de 5 es 120 (5! = 5 × 4 × 3 × 2 × 1).
Descripción conceptual
El factorial de 0 y 1 es 1.
Para números mayores, se multiplican todos los enteros desde 1 hasta el número.
// Programa para calcular el factorial de un número

void setup() {

int numero = 5; // Número para calcular el factorial

int factorial = 1; // Inicializar el factorial

// Calcular el factorial

for (int i = 1; i <= numero; i++) {

factorial *= i; // Multiplicar los valores

// Mostrar el resultado en el canvas

size(400, 200); // Tamaño del canvas

background(255); // Fondo blanco

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Factorial de " + numero + " es: " + factorial, 50, 100); // Mostrar mensaje

// Salida esperada:

// - Una ventana de 400x200 píxeles con fondo blanco.

// - El texto "Factorial de 5 es: 120" en el centro del canvas.

10.5 Suma de los primeros N números naturales


La suma de los primeros N números naturales se calcula como:

// Programa para calcular la suma de los primeros N números naturales

void setup() {

int N = 10; // Número de términos a sumar

int suma = N * (N + 1) / 2; // Calcular la suma

// Mostrar el resultado en el canvas


size(400, 200); // Tamaño del canvas

background(255); // Fondo blanco

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text("Suma de los primeros " + N + " números: " + suma, 50, 100); // Mostrar mensaje

// Salida esperada:

// - Una ventana de 400x200 píxeles con fondo blanco.

// - El texto "Suma de los primeros 10 números: 55" en el centro del canvas.

10.6 Conversión de grados Celsius a Fahrenheit


La fórmula para convertir grados Celsius a Fahrenheit es

// Programa para convertir grados Celsius a Fahrenheit

void setup() {

float celsius = 25; // Grados Celsius a convertir

float fahrenheit = (9.0 / 5) * celsius + 32; // Calcular Fahrenheit

// Mostrar el resultado en el canvas

size(400, 200); // Tamaño del canvas

background(255); // Fondo blanco

fill(0); // Color de texto (negro)

textSize(20); // Tamaño del texto

text(celsius + "°C = " + fahrenheit + "°F", 50, 100); // Mostrar mensaje

// Salida esperada:

// - Una ventana de 400x200 píxeles con fondo blanco.

// - El texto "25.0°C = 77.0°F" en el centro del canvas.

También podría gustarte