Università di Bergamo Facoltà di Ingegneria. Applicazioni Internet B. Paolo Salvaneschi B5_1 V1.14. Java Script

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università di Bergamo Facoltà di Ingegneria. Applicazioni Internet B. Paolo Salvaneschi B5_1 V1.14. Java Script"

Transcript

1 Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B5_1 V1.14 Java Script Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale B5 Java Script Paolo Salvaneschi 1

2 INDICE Introduzione Elementi di base Inserimento nel testo HTML Struttura lessicale Tipi di dati Variabili Operatori Istruzioni Funzioni Oggetti Array B5 Java Script Paolo Salvaneschi 2 B5 Java Script Paolo Salvaneschi 2

3 Introduzione JavaScript non è una versione semplificata di Java Versioni JavaScript Jscript (Microsoft) Standard ECMA-262 (European Computer Manifacturers Association) ECMAScript Utilizzabile sia lato client che lato server o incorporato in applicazioni B5 Java Script Paolo Salvaneschi 3 B5 Java Script Paolo Salvaneschi 3

4 Introduzione Utilizzo di JavaScript lato client Linguaggio di programmazione integrato nella pagina HTML Gestione eventi ed interazione locale con l utente Definizione oggetti e attributi (DOM Document Object Model) componenti la pagina e modificabilità da programma CSS B5 Java Script Paolo Salvaneschi 4 B5 Java Script Paolo Salvaneschi 4

5 Introduzione Cosa non fa JavaScript lato client Non ha funzioni grafiche (salvo quelle che servono per generare dinamicamente codice HTML) Non legge e scrive files (Motivo: problemi di sicurezza; programma trasmesso via web sul client) Non supporta comunicazioni di rete (salvo invio dati da form, ) B5 Java Script Paolo Salvaneschi 5 B5 Java Script Paolo Salvaneschi 5

6 Inserimento nel testo HTML Inserimento nel testo HTML Tag <script>; inseribile più volte in HEAD o BODY Language opzionale <SCRIPT language="javascript"> document.write("hello World!"); </SCRIPT> B5 Java Script Paolo Salvaneschi 6 B5 Java Script Paolo Salvaneschi 6

7 Inserimento nel testo HTML Nascondere gli script alle vecchie versioni di navigatori I navigatori ignorano i tag sconosciuti. Navigatori non abilitati JavaScript: ignorano <SCRIPT> e </SCRIPT>; ignorano il codice incluso poiché tra tag di commento <!-- -- > Navigatori abilitati JavaScript: interpretano lo script; ignorano il commento (la linea che chiude il tag commento inizia per // ed è un commento in JavaScript) <SCRIPT> <!-- Begin to hide script contents from old browsers. JavaScript statements... // End the hiding here. --> </SCRIPT> B5 Java Script Paolo Salvaneschi 7 B5 Java Script Paolo Salvaneschi 7

8 Inserimento nel testo HTML <HTML> <HEAD> <TITLE>Fattoriali</TITLE> </HEAD> <BODY> <SCRIPT language="javascript"> document.write("<h2>tavola dei fattoriali</h2>"); for(i = 1, fact = 1; i < 10; i++, fact *= i) {document.write(i + "! = " + fact); document.write("<br>");} </SCRIPT> </BODY> </HTML> B5 Java Script Paolo Salvaneschi 8 B5 Java Script Paolo Salvaneschi 8

9 Inserimento nel testo HTML File esterno File di testo con estensione.js <SCRIPT language="javascript" src="functions.js"> </SCRIPT> B5 Java Script Paolo Salvaneschi 9 B5 Java Script Paolo Salvaneschi 9

10 Inserimento nel testo HTML <HTML> <HEAD> <TITLE>Fattoriali</TITLE> </HEAD> <BODY> <SCRIPT language="javascript" src="fatt.js"> </SCRIPT> </BODY> </HTML> Fatt.js document.write("<h2>tavola dei fattoriali</h2>"); for(i = 1, fact = 1; i < 10; i++, fact *= i) {document.write(i + "! = " + fact); document.write("<br>");} B5 Java Script Paolo Salvaneschi 10 B5 Java Script Paolo Salvaneschi 10

11 Inserimento nel testo HTML Gestore di eventi <FORM> <INPUT type="button" value="chiudi" onclick="win1.close();"> </FORM> B5 Java Script Paolo Salvaneschi 11 B5 Java Script Paolo Salvaneschi 11

12 Inserimento nel testo HTML URL javascript pseudoprotocollo javascript: Il navigatore esegue il codice non c è stringa da visualizzare <HTML> <HEAD> <TITLE>URLJavascript</TITLE> </HEAD> <BODY> Il navigatore esegue il codice e visualizza il valore della stringa dell ultima istruzione <A href="javascript: alert('ciao a tutti');">saluti</a> <BR> <BR> <A href="javascript: var now = new Date(); 'Data di oggi:' + now;">data</a> </BODY> </HTML> B5 Java Script Paolo Salvaneschi 12 B5 Java Script Paolo Salvaneschi 12

13 Inserimento nel testo HTML <HTML> <HEAD><TITLE>URLJavascript</TITLE></HEAD> <BODY> <A href="javascript: alert('ciao a tutti');">saluti</a> <BR> <BR> <A href="javascript: var now = new Date(); 'Anno corrente:' + now.getfullyear();"> Anno</A> </BODY> </HTML> B5 Java Script Paolo Salvaneschi 13 B5 Java Script Paolo Salvaneschi 13

14 Struttura lessicale Set caratteri UNICODE Case sensitive Ignora spazi, tab, avanzamenti riga tra elementi del programma Istruzioni terminate con ; Commenti //commento su unica linea /* commento disposto su linee diverse*/ B5 Java Script Paolo Salvaneschi 14 B5 Java Script Paolo Salvaneschi 14

15 Struttura lessicale Identificatori (nome variabile, nome funzione, etichetta) Il primo carattere deve essere: Lettera _ (underscore) $ Parole riservate (if, else, false,.) B5 Java Script Paolo Salvaneschi 15 B5 Java Script Paolo Salvaneschi 15

16 Tipi di dati Tipi di dati Numeri Tutti i numeri sono rappresentati in virgola mobile a 64 bit (double) 0xff esadecimale ff e+23 // 6.02*10 23 B5 Java Script Paolo Salvaneschi 16 B5 Java Script Paolo Salvaneschi 16

17 Tipi di dati Tipi di dati Stringhe "testo" 'testo' All interno delle stringhe delimitate da apici singoli è possibile inserire apici doppi e viceversa OK: <A href="javascript: alert('ciao a tutti');">saluti</a> NON OK: <A href="javascript: alert("ciao a tutti");">saluti</a> B5 Java Script Paolo Salvaneschi 17 B5 Java Script Paolo Salvaneschi 17

18 Tipi di dati Stringhe "questa stringa\nha due righe" \n -----sequenza di escape: nuova riga equivalente a: \u000a "π è il rapporto tra circonf e diametro cerchio" "\u03c0 è il rapporto tra circonf e diametro cerchio" \uxxxx carattere unicode di 4 esadecimali B5 Java Script Paolo Salvaneschi 18 B5 Java Script Paolo Salvaneschi 18

19 Tipi di dati Uso delle stringhe Concatenazione msg = "hello, " + "world"; //produce la stringa "hello, world" Le stringhe sono indicizzate a partire da 0 Metodi per operare sulle stringhe lunghezza_stringa_s = s.lenght B5 Java Script Paolo Salvaneschi 19 B5 Java Script Paolo Salvaneschi 19

20 Tipi di dati Tipi di dati Booleani true false Null Una variabile che contiene null non contiene alcun oggetto, stringa, Undefined Restituito quando una variabile non esiste o non ha mai avuto assegnato alcun valore B5 Java Script Paolo Salvaneschi 20 B5 Java Script Paolo Salvaneschi 20

21 Tipi di dati Tipi di dati Oggetto (insieme non ordinato di valori con nome) Oggetto funzione (a cui è associato codice eseguibile) Oggetto array (insieme ordinato di valori numerati) Oggetti specializzati (classi di oggetti. Es. la classe Date che definisce oggetti che rappresentano date) B5 Java Script Paolo Salvaneschi 21 B5 Java Script Paolo Salvaneschi 21

22 Variabili Tipizzazione delle variabili Linguaggio debolmente tipizzato Una variabile può contenere valori di qualunque tipo. Il tipo non è dichiarato i = 10; i = "dieci"; I tipi sono convertiti automaticamente B5 Java Script Paolo Salvaneschi 22 B5 Java Script Paolo Salvaneschi 22

23 Variabili Dichiarazione di variabile Dichiarata con la parola chiave var var sum; Dichiarata e inizializzata (se non inizializzata contiene il valore undefined) var i = 0; Leggere variabile non dichiarata >> errore Assegnare valore a variabile non dichiarata precedentemente >> JavaScript la dichiara implicitamente (come variabile globale - vedi ) B5 Java Script Paolo Salvaneschi 23 B5 Java Script Paolo Salvaneschi 23

24 Variabili Ambito (Scope) Globale visibile in ogni punto del codice JavaScript della pagina Locale --visibile solo dalla funzione in cui è assegnata --dichiarata (var) all interno della funzione B5 Java Script Paolo Salvaneschi 24 B5 Java Script Paolo Salvaneschi 24

25 Variabili var scope = "globale"; function checkscope1() { var scope = "locale"; document.write("<b>" + scope + "</B>"); } checkscope1(); var scope = "globale"; function checkscope2() { document.write("<b>" + scope + "</B>"); } checkscope2(); var scope = "globale"; function checkscope3() { scope = "locale"; // N.B. Modifica la variabile globale document.write("<b>" + scope + "</B><BR>"); } checkscope3(); document.write("<b>" + scope + "</B>"); B5 Java Script Paolo Salvaneschi 25 B5 Java Script Paolo Salvaneschi 25

26 Variabili Ho dichiarato implicitamente una variabile globale Ho dichiarato una variabile locale var scope = "globale"; function checkscope3() { scope = "locale"; // N.B. Modifica la variabile globale myscope1 = "esempio1 "; var myscope2 = "esempio2 "; document.write("<b>" + scope + "</B>"); } checkscope3(); Dichiarare tutte le variabili con var B5 Java Script Paolo Salvaneschi 26 B5 Java Script Paolo Salvaneschi 26

27 Variabili Ambito (Scope) Nessun ambito a livello di blocco Tutte le varabili dichiarate in una funzione restano definite in tutto il corpo della funzione B5 Java Script Paolo Salvaneschi 27 B5 Java Script Paolo Salvaneschi 27

28 Variabili e valori relativi Tipi primitivi Numeri, booleani, null, undefined Occupazione di memoria predefinita Tipi di riferimento Variabili Oggetti, array, funzioni (array e funzioni sono tipi specializzati di oggetti) Occupazione non predefinita Gestiti come riferimento ai valori Stringhe: occupazione non predefinita ma con contenuto non modificabile gestite come tipo riferimento immutabile che si comporta come un tipo primitivo B5 Java Script Paolo Salvaneschi 28 B5 Java Script Paolo Salvaneschi 28

29 Variabili <H2>Tipi primitivi</h2> <SCRIPT language="javascript"> var a = 3.14; //inizializza variabile var b = a; //copiala in b a = 4; // modifica var originale alert(b); //la copia non è modificata </SCRIPT> <BR> <H2>e tipi di riferimento</h2> <SCRIPT language="javascript"> var a = [1,2,3]; //inizializza array var b = a; //copia riferimento in b a[0] = 99; // modifica array originale alert(b); //il nuovo riferimento visualizza la modifica </SCRIPT> B5 Java Script Paolo Salvaneschi 29 B5 Java Script Paolo Salvaneschi 29

30 Garbage collection Variabili var s= "hello"; //Alloca memoria per una stringa var u = s.touppercase(); //Crea una nuova stringa (s resa maiuscola) s = u; //Sovrascrive il riferimento //alla stringa originale //la stringa "hello" non è più raggiungibile //e lo spazio in memoria viene deallocato B5 Java Script Paolo Salvaneschi 30 B5 Java Script Paolo Salvaneschi 30

31 Aritmetici (binari e unari) +, -, *, / % modulo (resto dopo la divisione) ++ incremento unario ++x incrementa e restituisce il valore di x x++ restituisce il valore di x e incrementa -- decremento unario Operatori - negazione unaria. Restituisce la negazione dell operando (converte un numero positivo in negativo e viceversa) B5 Java Script Paolo Salvaneschi 31 B5 Java Script Paolo Salvaneschi 31

32 Operatori Funzioni matematiche Proprietà dell oggetto Math Seno_di_x = Math.sin(x); Conversione di un numero in stringa var x = 33; var y = x.tostring(2); //2 è la base // la stringa y sarà caricata con B5 Java Script Paolo Salvaneschi 32 B5 Java Script Paolo Salvaneschi 32

33 Operatori Confronto (restituiscono un valore true false) == equal to!= not equal to >, >=, <, <= Booleani && AND OR! NOT B5 Java Script Paolo Salvaneschi 33 B5 Java Script Paolo Salvaneschi 33

34 String "Maggio" Operatori "maggio" + "ciondolo" Assegnamento = assegna alla variabile a sinistra il valore dell operando a destra += aggiunge il valore dell operando a destra alla variabile a sin e assegna il valore a variabile sin ( -=, *=, /= ) &= calcola AND tra op a destra e sin e assegna valore a var sin ( = ) B5 Java Script Paolo Salvaneschi 34 B5 Java Script Paolo Salvaneschi 34

35 Operatori Special Conditional operator Se la condizione è vera assegna alla variabile il primo valore, altrimenti il secondo (condition)? trueval : falseval preferredpet = (cats > dogs)? "felines" : "canines" B5 Java Script Paolo Salvaneschi 35 B5 Java Script Paolo Salvaneschi 35

36 Istruzioni z = x + y; Espressioni {x = 1; y = 2; z = x + y; } blocco di istruzioni if else (else può essere omesso) if (condition) { statements1; } else { statements2; } B5 Java Script Paolo Salvaneschi 36 B5 Java Script Paolo Salvaneschi 36

37 Istruzioni if (condition1) { statements1; } else if (condition2) { statements2; } else if (condition3) { statements3; } else { statements4; } B5 Java Script Paolo Salvaneschi 37 B5 Java Script Paolo Salvaneschi 37

38 Istruzioni switch switch (favoritepet){ case "dog" : statements; break; case "cat" : statements; break; case "iguana" : statements; break; default : statements; } default: caso particolare di etichetta In generale identificatore: istruzione B5 Java Script Paolo Salvaneschi 38 B5 Java Script Paolo Salvaneschi 38

39 for do while while Istruzioni for (initial-statement; test; increment) { statements; } for (i=0; i<10; i++){ statements; } do { statements;} while (condition) while (condition) { statements; } B5 Java Script Paolo Salvaneschi 39 B5 Java Script Paolo Salvaneschi 39

40 Istruzioni break Abortisce l esecuzione del loop e passa il controllo alla prima istruzione dopo il loop continue Abortisce la singola esecuzione del loop e passa il controllo alla valutazione della condizione specificata dall istruzione di loop B5 Java Script Paolo Salvaneschi 40 B5 Java Script Paolo Salvaneschi 40

41 Istruzioni break cicloesterno: for (var i=0; i<10; i++) { ciclointerno: for (var j=0; j<10; j++) {. if (.) break cicloesterno; } } Etichettatura di istruzione. Identificatore seguito da due punti identificatore: istruzione B5 Java Script Paolo Salvaneschi 41 B5 Java Script Paolo Salvaneschi 41

42 Funzione Funzioni Creazione di una funzione Preferibilmente nell HEAD della pagina (caricato per primo. Garantisce che la funzione sia caricata prima che l utente interagisca e la chiami) function funcname(argument1,argument2, ) { statements; } Utilizzo di una funzione funcname(argument1,argument2, ) B5 Java Script Paolo Salvaneschi 42 B5 Java Script Paolo Salvaneschi 42

43 Funzioni return expression; Istruzione valida solo nel corpo di una funzione expression è valutata e restituita come valore della funzione L esecuzione della funzione termina Se non c è expression associata o è raggiunta la fine del corpo della funzione, il valore restituito è undefined B5 Java Script Paolo Salvaneschi 43 B5 Java Script Paolo Salvaneschi 43

44 Funzioni <HTML> <HEAD> <SCRIPT language="javascript"> function eleva_al_quadrato(x) { return x*x; } </SCRIPT> </HEAD> B5 Java Script Paolo Salvaneschi 44 B5 Java Script Paolo Salvaneschi 44

45 Funzioni <BODY> <H1>Funzione eleva al quadrato</h1> <SCRIPT language="javascript"> for(i = 1, x=1; i < 10; i++, x++) { y = eleva_al_quadrato(x); document.write(x + " **2 = " + y); document.write("<br>"); } </SCRIPT> </BODY> </HTML> B5 Java Script Paolo Salvaneschi 45 B5 Java Script Paolo Salvaneschi 45

46 Funzioni <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <SCRIPT language="javascript"> function eleva_al_quadrato() { var x = document.calcola.numero.value; document.calcola.risultato.value = x*x; } </SCRIPT> </HEAD> B5 Java Script Paolo Salvaneschi 46 B5 Java Script Paolo Salvaneschi 46

47 Funzioni <BODY> <H1>Funzione eleva al quadrato</h1> <form name="calcola"> <table> <tr> <td>numero:</td> <td><input type="text" name="numero" size="12" onchange="eleva_al_quadrato();"></td> </tr> <tr><td>numero al quadrato:</td> <td><input type="text" name="risultato" size="12"></td> </tr> <tr> <td><input type="button" value="calcola" onclick="eleva_al_quadrato();"></td> </tr> </table> </form> </BODY> B5 Java Script Paolo Salvaneschi 47 B5 Java Script Paolo Salvaneschi 47

48 Funzioni Oggetto funzione La funzione è un tipo di dati: Si può costruire un array di funzioni Una funzione può essere passata ad un altra funzione come argomento.. function f(x) {return x*x;} var f = new Function {"x", "return x*x; "}; costruttore Function B5 Java Script Paolo Salvaneschi 48 B5 Java Script Paolo Salvaneschi 48

49 Oggetti Oggetto (insieme non ordinato di valori con nome) Oggetto immagine con proprietà altezza: immagine.altezza Gli oggetti possono contenere qualsiasi tipo di dati document.modulouno.campo1 Incluse le funzioni (metodi) document.write("hello world"); B5 Java Script Paolo Salvaneschi 49 B5 Java Script Paolo Salvaneschi 49

50 Oggetti Creazione di oggetti var point = new Object(); point.x = 2.3; point.y = 5; Accesso agli oggetti objectname.propertyname carobj.maker="toyota"; carobj.year=1990; document.write(carobj.year); B5 Java Script Paolo Salvaneschi 50 B5 Java Script Paolo Salvaneschi 50

51 Oggetti La proprietà è creata assegnando un valore <SCRIPT language="javascript"> var libro = new Object(); libro.titolo = "JavaScript: La guida"; libro.autore = "David Flanagan"; libro.editore = "Apogeo"; Oggetto annidato libro.capitolo1 = new Object(); libro.capitolo1.titolo = "Capitolo 1"; libro.capitolo1.contenuto = "Introduzione a JavaScript"; document.write("<h2>libro</h2>"); document.write("<b>" + libro.titolo + "</B><BR>"); document.write("<b>" + libro.autore + "</B><BR>"); document.write("<b>" + libro.editore + "</B><BR><BR>"); document.write("<b>" + libro.capitolo1.titolo + "</B><BR>"); document.write("<b>" + libro.capitolo1.contenuto + "</B><BR>"); </SCRIPT> B5 Java Script Paolo Salvaneschi 51 B5 Java Script Paolo Salvaneschi 51

52 Oggetti Creazione di oggetti con costruttore predefinito //Creazione di un oggetto "libro" //mediante il costruttore predefinito Object() var libro = new Object(); libro.titolo = "JavaScript: La guida"; libro.autore = "David Flanagan"; libro.editore = "Apogeo"; B5 Java Script Paolo Salvaneschi 52 B5 Java Script Paolo Salvaneschi 52

53 Oggetti Creazione di oggetti con costruttore specializzato //Definizione di un costruttore specializzato "Libro" //(Classe; la classe è definita definendo una funzione costruttore) function Libro(a,b,c) { this.titolo = a; this.autore = b; this.editore = c; } Utilizza gli argomenti per inizializzare le proprietà dell oggetto vuoto creato dalla parola chiave this Convenzione: Nome di classe: inizia con maiuscolo Nome di istanza: inizia con minuscolo B5 Java Script Paolo Salvaneschi 53 B5 Java Script Paolo Salvaneschi 53

54 Oggetti //Creazione di due oggetti della classe mediante il costruttore var libro1 = new Libro("JavaScript: La guida", "D.Flanagan","Apogeo"); var libro2 = new Libro("XML", "P.Pialorsi","Mondadori"); document.write("<h2>oggetto libro1 della classe Libro</H2>"); document.write("<b>titolo: " + libro1.titolo + "</B><BR>"); document.write("<b>autore: " + libro1.autore + "</B><BR>"); B5 Java Script Paolo Salvaneschi 54 B5 Java Script Paolo Salvaneschi 54

55 Oggetti Metodi Una funzione può essere assegnata ad una proprietà di un oggetto //Definizione delle funzioni da utilizzare come metodi function Area_rettangolo() { return this.larghezza * this.altezza } Vedi nota //Definizione del costruttore degli oggetti Rettangolo function Rettangolo(lar, alt) { this.larghezza = lar; //Definizione proprietà this.altezza = alt; this.area = Area_rettangolo; //Definizione metodi } B5 Java Script Paolo Salvaneschi 55 B5 Java Script Paolo Salvaneschi 55

56 Oggetti //Creazione di un oggetto var rettangolo1 = new Rettangolo(30,40); document.write("<h2>oggetto Rettangolo1</H2><BR>"); document.write("<b>larghezza:" + rettangolo1.larghezza + "</B><BR>"); document.write("<b>altezza:" + rettangolo1.altezza+ "</B><BR>"); //Esecuzione di un metodo dell'oggetto var a = rettangolo1.area(); document.write("<b>area:" + a + "</B><BR>"); B5 Java Script Paolo Salvaneschi 56 B5 Java Script Paolo Salvaneschi 56

57 Nota Oggetti Una funzione è un dato (può essere assegnata ad una variabile o ad una proprietà di un oggetto) function Area_rettangolo() {return this.larghezza * this.altezza}; function Rettangolo(lar, alt) {this.larghezza = lar; //Definizione proprietà } this.altezza = alt; this.area = Area_rettangolo; //Definizione metodi var a = rettangolo1.area(); USO Chiama la funzione area() DEFINIZIONE Definisce la funzione. La variabile Area_rettangolo contiene il riferimento alla struttura in memoria. RIFERIMENTO Il riferimento contenuto nella variabile Area_rettangolo è copiato nella variabile area. this.area =Area_rettangolo non this.area =Area_rettangolo() B5 Java Script Paolo Salvaneschi 57 B5 Java Script Paolo Salvaneschi 57

58 Oggetti JavaScript Debolmente tipizzato Non contiene la nozione di classe ma la emula con oggetti prototipo definiti dal metodo costruttore Proprietà degli oggetti aggiunte dinamicamente I metodi sono dati B5 Java Script Paolo Salvaneschi 58 B5 Java Script Paolo Salvaneschi 58

59 Oggetti Java Fortemente tipizzato Ereditarietà basata su classi La struttura degli oggetti definita alla definizione della classe I metodi non sono dati B5 Java Script Paolo Salvaneschi 59 B5 Java Script Paolo Salvaneschi 59

60 function Area_rettangolo() { return this.larghezza * this.altezza } function Rettangolo(lar, alt) { // attributi this.larghezza = lar; this.altezza = alt; // metodi this.area = Area_rettangolo; } var rettangolo1 = new Rettangolo(30,40); var a = rettangolo1.area() Creazione istanza e chiamata metodo JavaScript Definizione classe Oggetti class Rettangolo{ Java // attributi private int area; private int larghezza ; private int altezza; // metodi public Rettangolo(int lar, int alt) { larghezza = lar; altezza = alt; } public int getarea() { area = larghezza * altezza ; return area; } } Rettangolo rettangolo1 = new Rettangolo(30,40); int a = rettangolo1.getarea(); B5 Java Script Paolo Salvaneschi 60 B5 Java Script Paolo Salvaneschi 60

61 Oggetti JavaScript: linguaggio ad oggetti basato su prototipi Linguaggi basati su classi (java) Una classe definisce le proprietà che caratterizzano un insieme di oggetti Una istanza è uno specifico oggetto della classe B5 Java Script Paolo Salvaneschi 61 B5 Java Script Paolo Salvaneschi 61

62 Oggetti Linguaggi basati su prototipi Ci sono solo oggetti Un oggetto prototipo è uno schema da cui ottenere le proprietà iniziali di un oggetto Un oggetto specifica le sue proprietà o alla creazione o a run time Un qualunque oggetto può essere associato come prototipo ad un altro oggetto. Il secondo oggetto condividerà le risorse del primo B5 Java Script Paolo Salvaneschi 62 B5 Java Script Paolo Salvaneschi 62

63 Oggetti B5 Java Script Paolo Salvaneschi 63 B5 Java Script Paolo Salvaneschi 63

64 Oggetti Ereditarietà B5 Java Script Paolo Salvaneschi 64 B5 Java Script Paolo Salvaneschi 64

65 Oggetti Prototipi ed ereditarietà B5 Java Script Paolo Salvaneschi 65 B5 Java Script Paolo Salvaneschi 65

66 Oggetti B5 Java Script Paolo Salvaneschi 66 B5 Java Script Paolo Salvaneschi 66

67 Oggetti B5 Java Script Paolo Salvaneschi 67 B5 Java Script Paolo Salvaneschi 67

68 Oggetti B5 Java Script Paolo Salvaneschi 68 B5 Java Script Paolo Salvaneschi 68

69 Oggetti Eredita dept Eredita name Eredita e sovrascrive dept B5 Java Script Paolo Salvaneschi 69 B5 Java Script Paolo Salvaneschi 69 Eredita name

70 Array Array (insieme ordinato di valori numerati) a a[2] terzo elemento dell array (l indice inizia da 0) var a = new Array(); a[0] = 1.2; a[1] = JavaScript ; a[2] = true; Creazione di array vuoto con il costruttore Array() Assegnazione di elementi (anche di tipi diversi) all array Un nuovo elemento può essere aggiunto in qualunque momento (basta assegnargli un valore) B5 Java Script Paolo Salvaneschi 70 B5 Java Script Paolo Salvaneschi 70

71 Array Array (insieme ordinato di valori numerati) var a = new Array(10); var a = [ pippo, true, 2.34]; Creazione di array di 10 elementi a[1] = 3.14; i=2; a[i] = ciao ; a[1] = 3.14; a[1000] = fine ; Lettura / scrittura Gli indici non devono ricadere necessariamente in un intervallo continuo di numeri. E allocata memoria solo per i due indici. B5 Java Script Paolo Salvaneschi 71 B5 Java Script Paolo Salvaneschi 71

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript... SOMMARIO Prefazione... xi Panoramica del libro... xi Caratteristiche distintive...xii Aspetti qualificanti del libro...xii Browser Web da usare... xiii Ringraziamenti... xiii Da leggere prima di iniziare...xiv

Dettagli

JavaScript Distribuire il calcolo

JavaScript Distribuire il calcolo Documenti e Calcolo JavaScript Distribuire il calcolo Prof. Andrea Omicini Corso di Sistemi Distribuiti A.A. 2002/2003 Parte IV HTML Linguaggio per la descrizione di documenti Information-oriented Mobilità

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin Javascript - Corso Web Design - Media Dream Academy Stefano Gaborin stefano.gaborin@above.company www.above.company Cos è Javascript? JavaScript è un linguaggio di programmazione interpretato. Utilizzato

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Il linguaggio PHP. Elementi base

Il linguaggio PHP. Elementi base Il linguaggio PHP Elementi base Il Linguaggio PHP PHP è un acronimo ricorsivo che sta per PHP Hypertext Preprocessor Sintassi di base: un blocco di scripting PHP può stare ovunque in un documento, inizia

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore In genere il metodo alert() è usato per verificare il valore delle variabili durante la fase di correzione degli errori (debugging), fase che può essere svolta anche con l ausilio di appositi programmi

Dettagli

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Esercizi su JavaScript, DOM e Web Storage

Esercizi su JavaScript, DOM e Web Storage Linguaggi e tecnologie per il Web prof. Riccardo Rosati Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma, a.a. 2017/2018 Esercizi su JavaScript, DOM e Web Storage Esercizio

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1. I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 2 28 settembre

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

BASI LINGUAGGIO. Programmazione Web 1

BASI LINGUAGGIO. Programmazione Web 1 BASI LINGUAGGIO Programmazione Web 1 Commen0 Riga singola // This is a comment Riga mul8pla /* This is a sec8on of mul8line comments which will not be interpreted */ Programmazione Web 2 Istruzioni Un

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: Convenzioni di Stile versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione

Dettagli

Javascript. Il linguaggio Javascript. Il Il linguaggio Javascript. Sintassi. Il tag <script> Variabili. Commenti

Javascript. Il linguaggio Javascript. Il Il linguaggio Javascript. Sintassi. Il tag <script> Variabili. Commenti Javascript Il Il linguaggio Javascript Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica linguaggio di script pensato per il web (ma ora adottato anche in altri ambienti,

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Prima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato.

Prima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato. I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 2 1 ottobre

Dettagli

Introduzione a Java. Riferimenti

Introduzione a Java. Riferimenti Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Esonero di Informatica I. Ingegneria Medica

Esonero di Informatica I. Ingegneria Medica Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Informatica 3. LEZIONE 2: Sintassi e semantica

Informatica 3. LEZIONE 2: Sintassi e semantica Informatica 3 LEZIONE 2: Sintassi e semantica Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4: Routine Convenzioni dei nomi Informatica

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

BASI LINGUAGGIO. Programmazione Web 1

BASI LINGUAGGIO. Programmazione Web 1 BASI LINGUAGGIO Programmazione Web 1 Commen0 Riga singola // This is a comment Riga mul8pla /* This is a sec8on of mul8line comments which will not be interpreted */ Programmazione Web 2 Istruzioni Un

Dettagli

Logica proposizionale

Logica proposizionale Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_2 V1.1 Logica proposizionale Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale

Dettagli

14 - Metodi e Costruttori

14 - Metodi e Costruttori 14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

4. I moduli in Access 2000/2003

4. I moduli in Access 2000/2003 LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Informatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione

Informatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione Informatica 3 Informatica 3 LEZIONE 2: Sintassi e semantica Lezione 2- Modulo 1 Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4:

Dettagli

Espressione di chiamata di funzione

Espressione di chiamata di funzione Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

Introduzione a JavaScript Parte 1

Introduzione a JavaScript Parte 1 Introduzione a JavaScript Parte 1 Cos'è JavaScript? JavaScript è un linguaggio per le pagine Web. Gli script in JavaScript possono essere inclusi nelle pagine HTML. Con JavaScript si possono migliorare

Dettagli

Operatori in Java. Il Costrutto Condizionale if

Operatori in Java. Il Costrutto Condizionale if Operatori in Java Operatore Tipo Semantica > binario maggiore >= binario maggiore o uguale < binario minore

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

28/02/2014 Copyright V. Moriggia

28/02/2014 Copyright V. Moriggia Informatica per la Finanza 3 Le variabili in VBA Altri I/O 28/02/2014 Copyright 2005-2007 V. Moriggia 1 28/02/2014 3.2 Le variabili in VBA V. Moriggia 1 28/02/2014 3.3 Dichiarazione di variabili in VBA

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

5 - Istruzioni condizionali

5 - Istruzioni condizionali 5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Stringhe e Array. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Stringhe e Array. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni La Classe String In Java le stringhe, a differenza della maggior parte dei linguaggi di programmazione, non sono array di caratteri (char), bensì

Dettagli

JAVASCRIPT. JavaScript è un linguaggio di scripting sviluppato per dare interattività alle pagine HTML.

JAVASCRIPT. JavaScript è un linguaggio di scripting sviluppato per dare interattività alle pagine HTML. JAVASCRIPT JavaScript è un linguaggio di scripting sviluppato per dare interattività alle pagine HTML. Può essere inserito direttamente nelle pagine Web è lo standard «client-side» per implementare pagine

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

VISUAL BASIC FOR APPLICATION

VISUAL BASIC FOR APPLICATION VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

Definizione di classi. Walter Didimo

Definizione di classi. Walter Didimo Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73 Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione con il linguaggio LibreOffice Basic Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

Programmazione Java Struttura di una classe, Costruttore, Riferimento this Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento

Dettagli

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1 Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)

Dettagli

Prima lezione di laboratorio. I mattoni di base di un programma Java. Riassunto. Comandi Unix. Oggi. Blog & Group.

Prima lezione di laboratorio. I mattoni di base di un programma Java. Riassunto. Comandi Unix. Oggi. Blog & Group. I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 2 8 ottobre

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Sviluppare un programma in FORTRAN

Sviluppare un programma in FORTRAN Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli

Programmazione ad Oggetti. Java Parte II

Programmazione ad Oggetti. Java Parte II Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una

Dettagli

Laboratorio di Matlab

Laboratorio di Matlab Laboratorio di Matlab Alessandro Formaglio Dipartimento di Ingegneria dell Informazione, Università di Siena alex@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html 9 Luglio 2009 DII -

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

Concetti base programmazione. Antonio Gallo

Concetti base programmazione. Antonio Gallo Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,

Dettagli

Variabili riferimento

Variabili riferimento Variabili riferimento Una variabile riferimento è una variabile il cui tipo è un tipo riferimento. Tipico esempio: oggetto appartenente a una classe Una variabile riferimento non contiene memoria dell

Dettagli

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Modulo 3 DATI E OPERATORI. 1. Assegnare i dati da tastiera 2. Variabili e tipi di dati 3. Le stringhe 4. Un po di logica

Modulo 3 DATI E OPERATORI. 1. Assegnare i dati da tastiera 2. Variabili e tipi di dati 3. Le stringhe 4. Un po di logica Modulo 3 DATI E OPERATORI 1. Assegnare i dati da tastiera 2. Variabili e tipi di dati 3. Le stringhe 4. Un po di logica 1. Assegnare i dati da tastiera La possibilità di interagire con l ambiente esterno

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

LINGUAGGI DI PROGRAMMAZIONE! LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni

Dettagli

Finestre di dialogo. Corso di Laboratorio di Programmazione Web. Controllo dell input e window.alert. prompt di stringhe!

Finestre di dialogo. Corso di Laboratorio di Programmazione Web. Controllo dell input e window.alert. prompt di stringhe! Corso di Funzioni ed Oggetti Finestre di dialogo prompt( Inserisci il valore, 1000 ); restituisce la stringa inserita nel campo alarm( Stai per uscire! ); Dipartimento di Informatica Università degli Studi

Dettagli

Programmazione Caratteri, stringhe, tipo unit ed ennuple

Programmazione Caratteri, stringhe, tipo unit ed ennuple Programmazione Caratteri, stringhe, tipo unit ed ennuple Samuel Rota Bulò DAIS Università Ca Foscari di Venezia. Outline Caratteri e stringhe Booleani Il tipo unit Ennuple I caratteri Il tipo char rappresenta

Dettagli

D B M G Il linguaggio HTML

D B M G Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3 Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare

Dettagli

Istruzioni iterative (o cicliche)

Istruzioni iterative (o cicliche) Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Introduzione alla programmazione in C++

Introduzione alla programmazione in C++ Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione

Dettagli