<< Chapter < Page Chapter >> Page >

L'operazione di assegnamento b = a produce

  • Se le variabili si riferiscono a tipi primitivi, la copia del contenuto di a in b .
  • Se le variabili si riferiscono a oggetti o array, la creazione di un nuovoriferimento allo stesso oggetto o array.

Per avere chiaro il significato di termini informatici quali, ad esempio, quelli che seguono, si consiglia di cercare in Wikipedia
scope
all'interno di un programma, regione in cui si può accedere ad una variabile e modificarne il valore
global scope
definita fuori da setup() e draw(), la variabile è visibile e usabile ovunque nel programma
local scope
definita all'interno di un blocco di codice o di una funzione, la variabile assumevalori locali al blocco o alla funzione, ed eventuali valori assunti da una variabile globale omonima vengonoignorati

Dichiarazione e allocazione di un array

int[] arrayDiInteri = new int[10];

Strutture di programmazione

Istruzioni condizionali

  • if: if (i == NMAX) { println("finito");} else {i++; }

Iterazioni

  • while: int i = 0; //contatore intero while (i < 10) { //scrivi i numeri da 0 a 9 println("i = "+ i); i++; }
  • for: for (int i = 0; i < 10; i++) { //scrivi i numeri da 0 a 9 println("i = "+ i); }

Inizializzazione di una tabella di numeri casuali

int MAX = 10; float[] tabella = new float[MAX]; for (int i = 0; i < MAX; i++) tabella[i] = random(1); //random numbers between 0 and 1 println(tabella.length + " elementi:"); println(tabella);

Funzioni

Le funzioni consentono un approccio modulare alla programmazione. In Processing, in modalità di programmazione intermediate , si possono definire funzioni oltre alla setup() e draw() , usabili all'interno della setup() e della draw() .

Esempio di funzione

int raddoppia(int i) { return 2*i; }

Una funzione è caratterizzata dalle seguenti entità (con riferimento all' esempio ) :

  • tipo di ritorno ( int )
  • nome di funzione ( raddoppia )
  • parametri ( i )
  • corpo della funzione ( return 2*i )

Classi e oggetti

Una classe è definita da un insieme di dati e funzioni. Un oggetto è una istanza di una classe. Viceversa, una classe èuna descrizione astratta di un insieme di oggetti.

Per una introduzione ai concetti di oggetto e di classe si veda Objects and Classes .

Esempio di classe

Dot myDot; void setup() { size(300,20); colorMode(RGB,255,255,255,100); color tempcolor = color(255,0,0); myDot = new Dot(tempcolor,0); } void draw() { background(0); myDot.draw(10); } class Dot { color colore; int posizione; //****CONSTRUCTOR*****// Dot(color c_, int xp) { colore = c_; posizione = xp; } void draw (int ypos) { rectMode(CENTER); fill(colore); rect(posizione,ypos,20,10); } }

Una classe è caratterizzata dalle seguenti entità (con riferimento all' esempio ) :

  • nome di classe ( Dot )
  • dati ( colore, posizione )
  • costruttore ( Dot() )
  • funzioni (o metodi, draw() )

Un oggetto (istanza di una classe) è dichiarato nello stesso modo in cui si dichiara una variabile, ma ad esso va poiallocato uno spazio (come si è visto per gli array) tramite il suo costruttore (con riferimento all' esempio ).

  • Dichiarazione: ( Dot myDot; )
  • Allocazione: ( myDot = new Dot(tempcolor,0) )
  • Utilizzazione: ( myDot.draw(10); )

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Programmazione di artefatti interattivi. OpenStax CNX. Dec 09, 2010 Download for free at http://cnx.org/content/col10417/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Programmazione di artefatti interattivi' conversation and receive update notifications?

Ask