Keywords abstract default if private this boolean do implements protected throw extends null**
|
|
- Giustino Palumbo
- 7 anni fa
- Visualizzazioni
Transcript
1 Keywords abstract default if private this boolean do implements protected throw extends null** *boolean literals ** null literal break double import public throws byte else instanceof return transient case int false* short try catch final interface static void char finally long strictfp volatile true* class float native super while const for new switch continue goto package synchronized 1
2 Comments 2 modi // commento fino alla fine della linea /* commento C-style, possibilità di commento su più linee*/ Non è possibile il nesting dei commenti. /* */ non ha alcun significato in un commento che inizia con //. // non ha alcun significato speciale in un commento che inizia con /* Identificatori Nomi di cose Non possono essere gli stessi delle keyword Sono case-sensitive E costituito da : Lettera e Digits (Unicode) Il carattere underscore (_) Il carattere dollaro ($) Deve iniziare con una lettera Possono avere qualsiasi lunghezza 2
3 Literals Literals sono valori costanti utilizzati in un programma. Non usiamo il termine constant perchè viene utilizzato per definire qualche altra cosa. Esempi: x = y + 3; System.out.println( Ciao ); finished = false; Tipi di dato Ogni cosa che ha un valore deve avere un tipo. Ogni cosa che puo essere memorizzata in una variabilre, passata ad un metodo, ritornata da un metodo In Java ci sono due genere di tipi : Primitive Types Reference Types 3
4 Tipi primitivi boolean char byte short int long float double TIPI char e intero 4
5 TIPI DI DATO PRIMITIVI caratteri char (2 byte) codifica UNICODE coincide con ASCII sui primi 127 caratteri e con ANSI / ASCII sui primi 255 caratteri Character Literals I caratteri sono codificati utilizzando il codice unicode. character literals sono rappresentati come in C/C++: a, b, C, \n' '\t Qualsiasi cosa che inizia con \u è trattata come valore corrispondente al numero unicode: '\u03df, \u003f' Literals INTEGER Di default si usano I numeri in base 10 Esempio Java supporta anche I numeri in base 16 0x23 0x1 0xaf3c21 0xAF3C21 E in base LONG Literal hanno il suffisso 'l' o 'L' 23L 100l 0xABCDEF01234L Senza la 'l' ci riferiremo al tipo integer. 5
6 TIPI DI DATO PRIMITIVI:reali reali (IEEE-754) float (4 byte) double (8 byte) Le costanti float terminano con la lettera F 3.54 è una costante double 3.54F è una costante float double x = 3.54; è una frase lecita double x = 3.54F; è una frase lecita float fx = 3.54F; è una frase lecita float fx = 3.54; è una frase illecita Floating Point Literals Solo base 10. Suffissi opzionali: 'f' o 'F' significa float 'd' o 'D' significa double E23D 1.5e-4 6
7 TIPI DI DATO PRIMITIVI Boolean boolean (1 bit) false e true tipo autonomo totalmente disaccoppiato dagli interi: non si convertono boolean in interi e viceversa, neanche con un cast le espressioni relazionali e logiche danno come risultato un boolean, non un int come in C Boolean Literals Due valori: true false UN ESEMPIO Un programma su tre classi, tutte usate come componenti software (solo parte statica): Una classe Esempio con il main Le classi di sistema Math e System (Il nome di una classe (Math o System) definisce uno spazio di nomi) Chi è Math? Math è, di fatto, la libreria matematica comprende solo costanti e funzioni statiche: costanti: E, PI funzioni: abs(), asin(), acos(), atan(), min(), max(), exp(), log(), pow(), sin(), cos(), tan()... 7
8 Esempio (continua) Per usare una funzione o una costante definita dentro di esse occorre specificarne il nome completo, mediante la notazione puntata Esempio: public class EsempioMath { public static void main(string args[]){ double x = Math.sin(Math.PI/3); System.out.println(x); Esempio (continua) Invece di un double, usiamo un float Occorre prendersi le proprie responsabilità Java non accetta che un valore double sia asserendo esplicitamente che il valore "impunemente" assegnato a un float, perché ciò double causerebbe sia convertito una perdita in d'informazione float con un cast: public class EsempioMath {{ public static void main(string args[]){ float f=(float)math.sin(math.pi/3); fx = System.out.println(f); System.out.println(x); 8
9 UNA CLASSE PER I NUMERI PRIMI Problema: costruire un componente software che permetta di ottenere la successione dei numeri primi (o, più in generale, il successivo numero di una sequenza) Progetto: poiché non esiste una formula per "produrre" i numeri primi, a ogni richiesta occorre considerare il successivo numero dispari (a parte il 2) controllare se è primo applicando la definizione (non ha altri divisori oltre sé stesso e 1) se è primo, esso costituisce il risultato; altrimenti, si deve considerare il numero dispari successivo. UNA CLASSE PER I NUMERI PRIMI Occorre dunque una funzione in grado di verificare se un naturale N è primo. Adottiamo il noto Crivello di Eratostene Specifica di I livello: Occorre provare a dividere N per tutti i numeri K: K 2 N: se nessuno risulta essere un divisore, allora N è primo Specifica di II livello: Se N è 1, 2 o 3, allora è primo senz altro. Altrimenti, se è un numero pari, non è primo. Se invece N è dispari e >3, occorre tentare tutti i possibili divisori da 3 in avanti, fino a N. 9
10 UNA CLASSE PER I NUMERI PRIMI Interfaccia: una funzione pubblica nextprime() che restituisca a ogni invocazione il successivo valore della sequenza. Possibile implementazione: una variabile permanente ma privata, lastprime, permantenere lo stato (ultimo valore prodotto) una funzione privata isprime(int p) che, applicando l algoritmo di Eratostene, restituisca true se il numero intero p è primo, e false altrimenti. Codifica: C, Java, o qualsiasi altro linguaggio. CODIFICA IN C #include <math.h> static int isprime(int n) { /* invisibile fuori dal file */ int max,i; if (n>=1 && n<=3) return true; /* 1,2,3 primi */ if (n%2==0) return false; /* numeri pari no */ max = sqrt(n); for(i=3; i<=max; i+=2) if (n%i==0) return false; return true; 10
11 CODIFICA IN C int nextprime(void) { /* unica funzione pubblica */ static int lastprime = 0; /* mantiene lo stato */ if (lastprime>=0 && lastprime<=2) return ++lastprime; else { do { lastprime += 2; while (!isprime(lastprime)); return lastprime; NUMERI PRIMI: CODIFICA IN JAVA Non esistono visibilità associate ai moduli (la parola chiave static non ha più quel significato): si specifica esplicitamente cosa sia privato e cosa pubblico tramite private e public Il modulo C viene sostituito dalla parte statica di una classe Java le funzioni diventano funzioni statiche della classe la variabile statica che manteneva lo stato, interna alla funzione lastprime, diventa una variabile statica della classe Java 11
12 Continua public class NumeriPrimi { private static int lastprime = 0; private static boolean isprime(int p) { l algoritmo di verifica (Crivello di Eratostene)... public static int nextprime() { generare un nuovo intero (dispari) e verificarlo, fino a che se ne trova uno per cui isprime è true È un puro componente software (ha solo la parte statica) lastprime e isprime() sono privati e come tali invisibili a chiunque fuori dalla classe La funzione nextprime() è invece pubblica e come tale usabile da chiunque, dentro e fuori dalla classe Altre differenze... Un altra differenza rispetto al C: una funzione senza parametri viene definita senza la parola-chiave void NON così public static int nextprime(void) { MA così: public static int nextprime(){ la parola-chiave void viene ancora usata, ma solo per il tipo di ritorno delle procedure. 12
13 Reference Types Ogni cosa che non è un tipo primitivo è un reference type. Ci sono tre tipi di reference types: Classes Arrays Interfaces Litteral null Other Literals Esistono string literals Ciao e array literals (utilizzati solo per l inizializzazione): int a[] = {1,3,5,7,9; 13
14 Variabili È un area di memoria Una dichiarazione di variabile ne dichiara Identificatore Tipo Attributi Il contenuto può essere modificato durante l esecuzione Deve essere dichiarata prima di essere utilizzata Può non essere inizializzata automaticamente Class level inizializzazione con valore di default Se un nuovo valore è assegnato il vecchio valore è distrutto Il valore di una variabile può essere modificato con una istruzionedi assegnazione o un istruzione di input (read) 14
15 Variabili Per I tipi primitivi una variabile contiene il valore reale (la memoria è utilizzata per memorizzare il valore). Per un tipo reference, una variabile contiene il riferimento all oggetto. I nomi delle variabili sono identificatori Gli identificatori sono un sequenza di lettere, cifre e '_ di qualsiasi lunghezza che inizia con una lettera. Il carattere '$' è anche supportato ma generalmente viene utlizzato dai generatori di codice Convenzioni Convenzioni Sun: Lettere minuscole e maiscole con la prima lettera minuscola. I nomi delle variabili non dovrebbero iniziare con underscore _ o dollaro Dovrebbero essere brevi tanto da essere autoesplicative 15
16 Variabili Ci sono diversi tipi di variabili: Campi Variabili locali Parametri final Dichiarazione di campi e di variabili locali [<modificatore>] <tipo> <lista_identificatori>; Gli attribbuti (o variabili campo) sono membri di classe e interfacce. I campi possono essere inizializzati attraverso: Inizializzazione all interno di un blocco Costruttore Valori iniziali di default Le variabili locali possono essere dichiarate ovunque all interno di un blocco Visibilita: dalla dichiarazione alla fine del blocco Inzializzazione: nessuna di default Obbligo di inizializzazione esplicita L unico modificatore utilizzabile final 16
17 Variabili final Non possono essere cambiate durante l esecuzione del programma La dichiarazione avviene attraverso la parola riservata final E inizializzata quando viene dichiarata Dovrebbe essere rappresentata da un identificatore costituito da caratteri maiuscoli separati da _ in accordo con la convenzione Sun final int MIN_VALUE = 0; final String MY_NAME = Claudio ; Operatori aritmetici/logici assegnazione boolean/relationali String 17
18 Precedenza degli Operatori Aritmetica Aritmetica intera modulare in complemento a due Non genera ne overflow ne underflow ma genera riavvolgimenti La divisione per zero genera AritmetichException Aritmetica in virgola mobile Genera overflow e underflow Aritmetica in virgola mobile stretta e non stretta Uso del modificatore strictfp per un classe 18
19 Espressioni intere Tutti gli operandi sono interi Esempi * x y/7 x + 2 * (y z) + 18 Espressioni Floating-point Tutti gli operandi sono floating-point Esempio 12.8 * x * y
20 Espressioni miste Gli operandi sono di tipi differenti Esempi: / Se gli operandi sono di diversi tipo viene eseguita una conversione implicita Esempio Un intero e un floating-point presenti in una espressione generano una espressione floating-point Conversioni (Casting) E utilizzato per evitare la conversione implicita Sintassi (datatypename) expression Viene prima valutata l espressione e quindi convertita nel tipo datatypename Examples: (int)( ) = 14 (int)(7.9) + (int)(6.7) = 13 20
21 Strutture di controllo if if/else do while for switch La sintassi nella maggior parte è identica al C/C++ Niente goto if if (espressione booleana) istruzione; example code if (espressione booleana){ istruzione 1; istruzione 2; if ( a < 12 ) b = 45; if ( x.length()<10) { x = x + "BLAH"; y=x.length()-3; 21
22 if else if (espressione booleana) istruzione; else istruzione; if ( a < 12 ) b = 45; else { if ( x<10 y>2 ) z=3; Note La clausola else corrisponde all ultima clausola if nell stesso blocco. Per esempio int i = 1; int j = 2; int k = 3; if (i > j) if (i > k) System.out.println("A"); else System.out.println("B"); È equivalente a int i = 1; int j = 2; int k = 3; if (i > j) if (i > k) System.out.println("A"); else System.out.println("B"); 22
23 while loop while (espressione booleana) istruzione; i = 0; x = 0; while (i < 10) { x = x + i; i++; do do istruzione; while (espressione booleana) i=0; x=0; do { x += i; i++; while ( i<10 ); 23
24 for for ( initialization; espressione booleana ; incrementor ) istruzione; initialization questo codice è eseguito una sola volta prima di iniziare il ciclo espressione booleana viene valutata prima dell esecuzione dell istruzione ad ogni ciclo incrementor viene eseguita dopo l esecuzione dell istruzione ad ogni ciclo for examples for (i=0; i<10; i++) System.out.println("i is " + i); for (int j=10; j>=0; j=j-2 ) { System.out.println("j is " + j); if (j>x) break; 24
25 switch switch (switch-expression) { case value1 : istruzione; case value2 : istruzione; default : istruzione; La switch-expression deve essere di tipo char, byte, short, or int e deve sempre essere fra parentesi. IL value1,..., e valuen devono essere dello stesso tpo della switchexpression switch switch (switch-expression) { case value1 : istruzione; break; case value2 : istruzione; break; default : istruzione; 25
26 switch example switch(food) { case 1: System.out.println("Chicken"); break; case 2: System.out.println("Pizza"); break; default: System.out.println("Sorry, we are out"); 26
27 break e continue L istruzione break è simile al C++: Provoca l uscita da un loop o da un case break può anche specificare il target di un loop. Questo permette al break di saltare fuori da un loop annidato. continue è utilizato nei loop per saltare all inzio del loop (saltando le istruzioni tra il continue e la fine del loop). break examples for (int i=0;i<10;i++) { System.out.println("i is " + i); if (i==3) break; outer: for (int j=0;j<5;j++) { for (int k=0;k<5;k++) { if (k==3) break outer; System.out.println("j,k: " + j + "," + k); 27
28 continue examples for (int i=0;i<10;i++) { if (i==3) continue; System.out.println("i is " + i); outer: for (int j=0;j<5;j++) { for (int k=0;k<5;k++) { if (k==3) continue outer; System.out.println("j,k: " + j + "," + k); 28
Tipi primitivi ed Istruzioni in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 05 - Tipi primitivi ed Istruzioni
DettagliProgrammazione 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
DettagliLinguaggi e Laboratorio. Tipi primitivi ed Istruzioni in Java
Linguaggi e Laboratorio Laurea in Ingegneria Telematica Università Kore di Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 05 -
DettagliOCA 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
DettagliCorso 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
DettagliRiassunto. 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
DettagliLe basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
DettagliPrima 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
DettagliIL 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
DettagliPrima 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
DettagliElementi 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
DettagliUtilizza 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
DettagliIntroduzione 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
DettagliInformatica 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)
DettagliIl paradigma di programmazione a oggetti
Il paradigma di Paradigma a oggetti Il paradigma di Corso di laurea in Comunicazione digitale Formalizza mediante le classi il concetto di modulo che incapsula i dati e le procedure per modificarli Le
DettagliAlgebra 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
DettagliIndice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma
Indice Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java Introduzione all ambiente di sviluppo - Compilazione ed esecuzione di un programma - Compilazione ed esecuzione
DettagliProgrammazione 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
DettagliUso 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
DettagliLaboratorio 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[]
DettagliUnità 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
DettagliIl 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
DettagliLe 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
DettagliLa velocità di una carovana
Programmazione A.A. 2002-03 I linguaggio Java ( Lezione X, Parte I ) Il primo programma Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliTipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.
Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi
DettagliProgrammazione 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
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliLezione 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,
DettagliProgrammazione 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
DettagliLinguaggio 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
DettagliIl Linguaggio Java. Concetti e costrutti di base
Il Linguaggio Java Concetti e costrutti di base Hello world /** * La classe Ciao implementa un applicazione che * semplicemente scrive Ciao! sullo standard * output */ public class Ciao { public static
DettagliLinguaggio 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
DettagliTipi 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
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
Dettagli3) 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
Dettagli19 - 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
DettagliProgrammazione 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
DettagliCostrutti per il controllo del flusso di esecuzione
Costrutti per il controllo del flusso di esecuzione Fondamenti di informatica L-B Laboratorio Alessandro Falchi afalchi@deis.unibo.it Operatori (1) PRECEDENZA ASSOCIATIVITÀ OPERATORE TIPO/I DEGLI OPERANDI
DettagliIl linguaggio Java Istruzioni di Controllo
Il linguaggio Java Istruzioni di Controllo Istruzioni per il controllo di flusso Istruzioni di selezione if switch Istruzioni di iterazione while do-while for Istruzioni di salto break continue return
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliIntroduzione 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
DettagliSULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI
SULL USO DEI CARATTERI Ricordiamo che: int x; si legge con ( %d,&x) e si stampa con ( %d,x) float x; si legge con ( %f,&x) e si stampa con ( %f,x) double x;si legge con ( %lf,&x) e si stampa con ( %f,x)
DettagliLa sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
DettagliINTRODUZIONE 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
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliEsonero 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
DettagliCostanti 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
DettagliModulo 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
DettagliTIPI PRIMITIVI E CLASSI WRAPPER
I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende
DettagliElementi di C++ di base
Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi
DettagliIndice. 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
Dettagli9 - 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
DettagliVariabili. Tipi di dati di base. Variabili. Variabili
Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva
DettagliLaboratorio 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
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
DettagliUso di metodi statici. Walter Didimo
Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un
DettagliGocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Variabili ed espressioni Booleane Variabile booleana: può assumere valore true o false Espressione Booleana: valore di ritorno true o
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliProgrammazione Java Variabili membro, Metodi La parola chiave final
Programmazione Java Variabili membro, Metodi La parola chiave final Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Variabili membro»
DettagliUn esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)
Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Macchina astratta: un linguaggio di programmazione trasforma un calcolatore in una macchina
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliCorso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4
Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario
DettagliClassi Wrapper. int Integer float Float char Char byte Byte double Double. classe "wrapper"
1 Classi Wrapper classe "wrapper" int Integer float Float char Char byte Byte double Double Generano oggetti che hanno come variabile di istanza un tipo di dato primitivo con nome uguale Integer int Float
DettagliProgrammazione 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
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliLinguaggio C++ Linguaggi di terza generazione
Linguaggio C++ Linguaggi di terza generazione Insieme di primitive ad alto livello, ognuna traducibile in una sequenza di primitive in linguaggio macchina Es.: pesolordo pesocarico + pesoveicolo Due load,
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliBasi 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
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
Dettagli1 PANORAMICA SUL LINGUAGGIO C
1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato
DettagliIntroduzione 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)
DettagliEsercizi di preparazione Prima Parte
Esercizi di preparazione Prima Parte DEFINIZIONE VARIABILI Quali delle seguenti dichiarazioni di variabili sono errate e perché a. int am,1h; b. boolean false; c. long x=7; d. shorte y,e-; i. : String
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliCorso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Le variabili in C KP Cap. 3, pp. 95-129 Cap. 5, pp. 190-193 DD Cap. 9, pp.352-355 Tipi di dato Abbiamo già parlato delle variabili, ed
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliMetodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliSintassi: Per la dichiarazione di variabili dei tipi fondamentali:
Sintassi: Per la dichiarazione di variabili dei tipi fondamentali: declaration ::= type declarator list ; declarator list ::= declarator {, declarator} opt declarator ::= identif ier identif ier = initializer
DettagliIntroduzione 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
DettagliUguaglianza e copia di oggetti
Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliIntroduzione alla Java Collections Framework
OGGI (RI)VEDIAMO Recap ereditarietà, Object, final Classi wrapper Introduzione alla Java Collections Framework Tabelle hash 1 Ereditarietà - recap Una classe può derivare da un altra - extends Eredita
DettagliProgrammazione 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
DettagliJavaScript 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
DettagliFondamenti di Programmazione. Strutture di controllo
Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due
DettagliEsercizi Programmazione I
Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=
DettagliUniversità 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
Dettagli4 - Tipi di dato primitivi
4 - Tipi di dato primitivi 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
DettagliIstruzioni di Controllo. Emilio Di Giacomo e Walter Didimo
Istruzioni di Controllo Emilio Di Giacomo e Walter Didimo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di
DettagliFunzioni. (Dichiarazione, Prototipo, Chiamata) Concetto di funzione
Funzioni (Dichiarazione, Prototipo, Chiamata) Concetto di funzione L astrazione di funzione è presente in tutti i linguaggi di programmazione di alto livello. Una funzione è un componente software che
Dettagli14 - 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
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliEspressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!
Espressioni Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica! Valutazione automatica di expr aritmetiche = obiettivo primario dei primi LP
DettagliALGORITMI E STRUTTURE DATI
ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Introduzione al C + Array
DettagliFondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi Programmazione orientata a oggetti 1 Programmazione OO Concetti base: dati istruzioni Dati: variabili tipi Istruzioni: istruzioni base strutture di controllo
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliLinguaggio 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