Informatica I. Ingegneria Medica. Prof. Diego Salamon
|
|
- Andrea Vacca
- 5 anni fa
- Visualizzazioni
Transcript
1 Informatica I Ingegneria Medica Prof. Diego Salamon
2 Esecuzione Il codice eseguibile di un programma può venire eseguito direttamente da un calcolatore codice eseguibile esecuzione Hello World
3 Compilazione editing codice sorgente /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("ciao a tutti"); System.out.println("questo testo introduce"); System.out.println("i fondamenti dell informatica"); } } compilazione codice eseguibile esecuzione Hello World
4 Compilatori e Interpreti In realtà, due approcci alla traduzione ed esecuzione dei programmi compilazione compilatori interpretazione Interpreti Java usa un approccio misto alla compilazione dei programmi il codice sorgente Java viene compilato in bytecode Java il programma nella forma di bytecode Java può essere eseguito da un interprete, la macchina virtuale Java (JVM) la JVM rende il calcolatore una macchina virtuale che sa eseguire programmi in bytecode Java
5 Compilazione ed esecuzione editing codice sorgente /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("ciao a tutti"); System.out.println("questo testo introduce"); System.out.println("i fondamenti dell informatica"); } } compilazione bytecode Java... getstatic #6 <Field java.io.printstream out>... interpretazione calcolatore dotato di macchina virtuale Java Hello World
6 Write once, run everywhere bytecode Java... getstatic #6 <Field java.io.printstream out>... calcolatori dotati di macchina virtuale Java PC Intel Windows Power Macintosh System 8 Sun Ultra Solaris esecuzione Hello World Hello World Hello World
7 Java 2 Software Development Kit Java 2 SDK comprende i seguenti strumenti di programmazione: compilatore Java javac macchina virtuale Java java API (Application Programming Interface) di Java applet viewer appletviewer debugger jdb generatore di documentazione javadoc Le tre attività da svolgere nello sviluppo di programmi Java editing editor compilazione javac esecuzione java
8 Errori di programmazione Durante la scrittura dei programmi è possibile commettere degli errori di programmazione Una classificazione degli errori di programmazione errori grammaticali errori non grammaticali Un altra classificazione errori riconosciuti dal compilatore errori non riconosciuti dal compilatore
9 Errori riconosciuti e segnalati dal compilatore Class Scrivi { public static main(string[] args) { system.out.println( prima riga"); Sistem.out.println( seconda riga"); System.out.printnl( terza riga"); } }
10 Errori non riconosciuti dal compilatore class Scrivi { public static void main(string[] args) { System.out.print( prima riga"); System.out.println( ancora primma riga"); System.out.println( seconda riga"); } }
11 Attività legate alla correzione degli errori Individuazione degli errori riconosciuti dal compilatore per gli errori riconosciuti, il compilatore segnala posizione e tipologia di errore la comprensione dei messaggi di errore non è sempre facile Correzione degli errori riconosciuti dal compilatore Ricerca e correzione degli errori non riconosciuti dal compilatore come si fa?
12 Il linguaggio Java Tipologie di Dato
13 Tipologie di Dato Il potere espressivo di un linguaggio di programmazione è caratterizzato da due aspetti I tipi di dato che nel linguaggio si possono esprimere e manipolare Le operazioni esprimibili direttamente o per composizione Nelle lezioni successive esamineremo i due aspetti facendo riferimento al linguaggio java
14 Tipologie di Dato La necessità di definire tipologia di dati nasce dalla necessità di rappresentare collezioni di oggetti Un tipo di dato T è definito come un dominio di valori D, alcune funzioni f i, alcuni predicati P i e alcune costanti su questo dominio; T =<D,f1,f2,..,P1,P2,..,C1,C2,..,> le funzioni sono anche dette operazioni. Quindi perché un linguaggio possa esprimere delle manipolazioni su oggetti di un tipo di dato deve permettere di rappresentarli. Una rappresentazione per un tipo di dato è una descrizione del tipo di dato in termini di strutture linguistiche fornite dal linguaggio
15 Tipologie di Dato Tipo di dato primitivi e Astratti Il termine primitivo viene usato per riferirsi alla definizione e all uso di un tipo di dato intrinseco in un linguaggio di programmazione. Per i tipo primitivi le tre componenti che caratterizzano il tipo (dominio, operazioni, costanti)sono implicitamente definite nell ambito del linguaggio, in termini di definizione del tipo e della semantica degli operatori applicabili ai suoi valori.
16 Tipologie di Dato Tipo di dato primitivi e Astratti Il termine astratto viene usato per riferirsi alla definizione e all uso di un tipo di dato tipicamente definito dall utente. Per i tipo astratti le tre componenti che caratterizzano il tipo (dominio, operazioni, costanti) sono definite nell ambito del programma scritto dall utente.
17 Esempio Vogliamo definire il tipo astratto insieme, cioè il tipo di dato che consente di rappresentare collezioni di elementi di tipo V: Il tipo di dato insieme su V è caratterizzato da: Un dominio: consistente di tutti gli insiemi di elementi di tipo V Le operazioni Verifica se un insieme è vuoto Inserisci un elemento Cancella elemento Verifica appartenenza La costante insieme vuoto
18 Tipi di dato in Java : Utilità Innanzitutto I Commenti nel codice Di implementazione Descrivono la logica di implementazione // Doppio slash va bene per commenti di una riga /* Commenti con un numero di righe maggiore o uguale a uno vanno delimitati in questo modo */ Di documentazione Descrivono come si usa un programma o una classe indipendentemente dalla sua implementazione /** Commenti delimitati così vengono inclusi nella documentazione generabile automaticamente a partire dal codice sorgente con il tool JavaDoc */
19 Tipi di dato in java Esempio di commento
20 Java: le costanti Costanti intere: L 0xcafebabeL L Costanti reali: e+3 1.0E f Costanti boolean: true false Costanti carattere: a % \t \n \\ Costanti di tipo stringa: prova prova\n
21 Java: Il type system Java è fortemente tipizzato. Ogni variabile ha associato un tipo. Distinguiamo tra: Tipi primitivi Tipi riferimento o astratti
22 Java: I tipi primitivi Tipi numerici: byte - intero di 8 bit con segno [-128,+127] short - intero di 16 bit con segno [-2 15, ] int - intero di 32 bit con segno [-2 31, ] long - intero di 64 bit con segno [-2 63, ] float - floating-point di 32 bit IEEE754 double - floating-point di 64 bit IEEE754 Altri tipi: boolean - tipo enumerativo (true, false) char - carattere di 16 bit (Unicode) [0, ] L accesso ai dati semplici è diretto
23 Java: Dichiarazione di variabili Ogni variabile deve essere dichiarata prima di essere usata. Sintassi minimale: <tipo> < identificatore> [=<valore>][,<identificatore>[=<valore>] ] <tipo> : tipo primitivo, nome di una classe o di un interfaccia <identificatore> : nome della variabile <valore>: valore di inizializzazione Esempio: int d=3, e, f=5; char x = x ;
24 Esempio: dichiarazione di variabili
25 Java : I tipi riferimento Tipi Array Tipi definiti dall utente o predefiniti Classi Interfacce L accesso ai dati di tipo riferimento avviene tramite puntatori o riferimenti non accessibili dall utente
26 Java: Tipo Array Due tipi di tecniche per rappresentare collezioni di elementi: Tecniche basate su strutture indicizzate Tecniche basate su strutture collegate Un Array è una struttura indicizzata costituita da una collezione di celle numerate che possono contenere elementi di un tipo prestabilito
27 Java: Tipo Array Diremo che un array ha dimensione h se contiene h celle e gli indici delle celle possono essere compresi tra 0 e h-1. Intervallo Indice [0, h-1] Proprietà: gli indici delle celle dell array sono numeri consecutivi. In generale possiamo pensare ad un array come a un gruppo di variabili del medesimo tipo cui ci si riferisce con un nome comune e un indice numerico.
28 Java: Tipo Array Array di dati semplici o composti: char a[]; int a[]; (semplici) String tema[]; int matrix[][]; (composti) Indicizzati con int (indice primo elemento = 0), Dichiarazione, creazione e inizializzazione possono essere fatte in fasi distinte o contemporaneamente. Es: char ca[]; ca = new char[4]; ca[0]= N ;ca[1]= S ; // dichiarazione // creazione // inizializzazione char ca[]=new char[4] // dichiarazione e creazione ca[0]= N ;ca[1]= S // inizializzazione char ca[]={ N, S, E, O }// dich.,creaz. e inizializzaz.
29 Array: esempio
30 Array Esempio 2
31 Visibilità delle variabili Le variabili, così come le costanti, non sono eterne, ma possiedono un proprio ciclo vitale. Nascono nel momento in cui vengono dichiarate, divengono pronte all'uso immediatamente dopo l'inizializzazione e muoiono non appena escono dal loro ambito di validità (detto altrimenti ambito di visibilità). Gli ambiti di validità, a livello basilare, sono strettamente collegati all'impiego dei blocchi di istruzioni
32 Visibilità delle variabili L ambito di visibilità(scope) di una variabile è la zona di programma in cui ci si può riferire alla variabile mediante il suo nome. L ambito di visibilità di una variabile locale si estende dalla sua dichiarazione fino alla fine del blocco che la contiene Se gli ambiti di visibilità sono sovrapposti il compilatore segnala un errore Potete però avere variabili locali con nomi identici se i loro ambiti non si sovrappongono
33 Visibilità delle variabili public class visibilita { public static void main(string[] args) } } { int a = 5; int b = 3; int c = a + b; System.out.println(c); Le tre variabili a, b e c appartengono al blocco denominato main, poiché sono state dichiarate al suo interno. Fin quando il flusso di esecuzione percorre le istruzioni racchiuse in questa frazione del programma, i riferimenti a, b e c possono essere liberamente impiegati.
34 Visibilità delle variabili public class visibilita { public static void main(string[] args) { int a = 5; } } int b = 3; { int c = a + b; System.out.println(c); } Ora abbiamo inserito un nuovo blocco annidato nel precedente. All esecuzione del codice non avremo differenza di risultato rispetto al programma precedente
35 Visibilità delle variabili public class visibilita { public static void main(string[] args) { } } int a = 5; int b = 3; { int c = a + b; } System.out.println(c); Una volta completata l'elaborazione del blocco annidato, il riferimento c esce dal proprio ambito di validità. In poche parole, la variabile c muore al termine dell'esecuzione del blocco che la contiene. Per questo motivo, non può più essere citata nelle successive porzioni di codice, giacché sconosciuta in tale sede.
36 Visibilità delle variabili 1 2 public class visibilita { public static void main(string[] args) { { int a = 5; int b = 3; int c = a + b; System.out.println(c); } { int a = 2; int b = 3; } } } int c = a + b; System.out.println(c); Due ambiti non sovrapposti: posso definire e inizializzare variabili con lo stesso nome in modo coerente senza generare errori di compilazione.
37 Operazioni sui dati Nei linguaggi di programmazione le trasformazioni da effettuare sui dati vengono espresse mediante una serie di operazioni Queste operazioni possono essere primitive del linguaggio cioè predefinite in esso oppure essere delle astrazioni funzionali ed essere create o composte dal programmatore a partire dalle primitive secondo la sintassi del linguaggio L ordine di esecuzione di tali operazioni è definito dal programmatore mediante le primitive di controllo
38 Operazione di assegnazione L operazione di assegnazione è l operazione fondamentale su cui si basano i linguaggi imperativi (impartisco ordini e comandi al pc) <variabile> = <espressione> Il simbolo = può essere fuorviante perché non si tratta di un predicato di uguaglianza. Durante l esecuzione di un programma sia il programma che i dati da esso manipolati devono essere inseriti in memoria. La memoria può essere immaginata come organizzata linearmente in locazioni contigue ciascuna locazione ha un contenuto ed è accessibile attraverso un indirizzo
39 Operazione di assegnazione Locazioni Qualora in un programma sia stata dichiarata una variabile A e di tipo T l effetto della dichiarazione è quella di creare un associazione permenente tra l identificatore A e il tipo Ted un indirizzo I relativo ad una locazione di memoria. A T I
40 Operazione di assegnazione Mentre l associazione tra identificatore tipo e indirizzo resta fisso il contenuto della locazione può cambiare durante il programma. Il cambiamento può avvenire in vari modi ad esempio attraverso l istruzione di assegnazione. A = e L assegnazione è data dall esecuzione delle seguenti operazioni: Valuta l espressione e Deposita tale valore, cancellando il precedente, nella locazione di memoria il cui indirizzo è associato ad A ammesso che tale valore appartenga al dominio del tipo T altrimenti produci un errore. A T Valore di e
41 Operazione di assegnazione A = B+C Il ruolo delle variabili a destra e sinistra è molto diverso. Preleva il contenuto della locazione di memoria il cui indirizzo è associato a B Preleva il contenuto della locazione di memoria il cui indirizzo è associato a C Somma tali valori Memorizza il valore ottenuto nella locazione di memoria il cui indirizzo è associato ad A previo controllo della compatibilità sul tipo A Ta Val A A T ValA+ValB B Tb Val B B T Val B C Tc Val C C T Val C
42 Operazione di assegnazione La semantica rende perfettamente coerente un istruzione del tipo : A = A+1 Le due occorrenze di A hanno un ruolo completamente diverso; A a sinistra indica un indirizzo di memoria in cui memorizzare, A a destra indica un indirizzo di memoria incui prelevare un valore
43 Java : operatori Il linguaggio permette di rappresentare i dati. Il linguaggio deve permettere anche delle operazioni su questi. Operatori per tipi numerici Operatori unari Operatori di segno +x -x Incremento e decremento (prefissi e/o postfissi) Operatore y=++x y=--x y=x++ y=x-- Descrizione y=x+1;x=x+1; y=x-1;x=x-1; y=x;x=x+1; y=x;x=x-1;
44 Java: Operatori per tipi numerici Operatori binari Per tutti i tipi numerici Operatore Descrizione Operatore Descrizione x + y Somma y / y Divisione x y Sottrazione x % y Resto x * y Moltiplicazione Per tutti i tipi interi Operatore x << y x >> y Descrizione Shift di bit a sinistra Shift di bit a destra Operatore x & y x y x ^ y Descrizione AND bit a bit OR bit a bit XOR bit a bit x >>> y Shift di bit a destra senza segno
45 Operatori per tipi numerici e char Operatori binari Operatori di confronto Operatore x == y x <= y x >= y x!= y x < y x > y Descrizione true se x = y true se x <= y true se x >= y true se x y true se x < y true se x > y
46 Operatori per il tipo boolean Operatore unario Operatore!x Operatore binario Operatori con semantica condizionale Operatore x && y x y Descrizione true se x=false Descrizione x AND y x OR y Operatori di confronto Operatore x == y x!= y Descrizione true se x=y true se x!=y
47 Altri operatori Operatore di autoassegnamento x?= y equivale a x = x? y dove? è un qualunque operatore binario es: x+=5 equivale a x=x+5; x*=2 equivale a x=x*2; Operatore condizionale Sintassi: <condizione>? <valore1> : <valore2> es: x=(y==3)? 1:0; se y=3 allora x=1; altrimenti x=0;
48 Altri operatori L assegnamento come operatore x=y=3 (y=3)==3 L operatore + di concatenazione di stringhe Si applica a tutti i tipi es: pippo + 2 = pippo 2 pippo = pippo 2.54
49 Esempio: operatori
50 Coercion: conversioni automatiche di tipo La conversione è effettuata automaticamente per promuovere il tipo di un operando al tipo più generale coinvolto nell operazione. (è un tipo di polimorfismo ad-hoc ) Es: float a=3.14f; float res=0; int b=1; res=a+b; // conversione di b: (int) (float) Promozioni: byte short, int, long, float, double short int, long, float, double int long, float, double long float or double float double char int, long, float, double
51 Casting: conversioni forzate di tipo E possibile forzare una conversione di tipo attraverso l operatore di casting: (<tipo>) <espressione> Tra i tipi semplici sono consentite le seguenti conversioni (con perdita d informazione) short byte, char char byte, short int byte, short, char long byte, short, char, int float byte, short, char, int, long double byte, short, char, int, long, float byte char
Programmazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliStrumenti per la programmazione
Laboratorio di Informatica Alfonso Miola Strumenti per la programmazione Dispensa D-03 Settembre 2005 1 Contenuti Strumenti per la programmazione editing ed editor compilazione e compilatori compilazione
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
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
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,
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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
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 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
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
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
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
DettagliJava e i Tipi di dati primitivi. Parte 3
Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta
DettagliStrumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
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
DettagliBasi della programmazione in Java
Basi della programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
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
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
DettagliIL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate
Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per
DettagliIl 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
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
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
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
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
DettagliCapitolo 2 GOCCE DI JAVA. Domande a risposte multiple
GOCCE D AVA Capitolo 2 Domande a risposte multiple Selezionando una risposta, il bottone corrispondente diventa verde se la risposta è giusta, altrimenti diventa rosso. 2 1. Quale dei seguenti non è un
DettagliLINGUAGGI 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
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
DettagliFondamenti di programmazione parte 2. Elementi di informatica IGLP
Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliLINGUAGGI 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 di
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 07 Traduzione ed esecuzione di programmi Carla Limongelli Ottobre 2011 Traduzione ed esecuzione di programmi 1 Prerequisiti Architettura
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java
Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA.2.2 Operare con i dati Prerequisiti Concetti matematici di: Espressione Operatore 2 Introduzione Le variabili utilizzate da un programma vengono usate con operatori
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
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare
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
DettagliProgrammazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java
Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmi Un programma è un insieme di istruzioni che il computer deve seguire Usiamo programmi in continuazione
DettagliTipi di dato e variabili. Walter Didimo
Tipi di dato e variabili Walter Didimo Tipi di dato I dati che possono essere manipolati in un programma si classificano in tipologie differenti, chiamate tipi di dato Esistono due macro tipi di dato in
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliLinguaggi di Programmazione I Lezione 9
Linguaggi di Programmazione I Lezione 9 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 6 maggio 28 Variabili 3 Ambiti................................................................
DettagliProgrammazione in Java (I modulo) Lezione 4
Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche
DettagliProgrammazione. Tipi di dato primitivi. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino
Programmazione Francesco Tiezzi Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino Lucidi originali di Pierluigi Crescenzi Programmazione Concetti base Dati Variabile Tipo Istruzioni
DettagliCorso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.
Domanda n. 1 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple 8-Nov-2004 Argomento: Rappresentazione dell'informazione
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
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
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
DettagliCorso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario tipi di dati condizioni cicli cicli annidati per alcuni tipi di dati Java mette a disposizione una rappresentazione
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
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 11 Leggibilità Aprile 2010 Leggibilita 1 Prerequisiti Semplici programmi Java Sintassi del linguaggio Leggibilita 2 Contenuti Stile
DettagliGocce di Java. Gocce di Java. Tipi di dato primitivi. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Programmazione Concetti base Dati Variabile Tipo Istruzioni Istruzioni base Strutture di controllo Sotto-programmi Programmazione Concetti
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
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliStrumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli
Strumenti Java Fondamenti di informatica L-B A.A. 2006-2007 Alessandra Toninelli atoninelli@deis.unibo.it Cosa installare? J2SE SDK Software Development Kit (JDK): Contiene: tutte le classi con relativo
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
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
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
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
DettagliFondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi
Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15
DettagliIL LINGUAGGIO C TIPI DI DATO
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
DettagliA. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica
informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class
DettagliLINGUAGGI 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 di
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
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
DettagliDati, variabili e operatori. Lezione VI
Dati, variabili e operatori Lezione VI Scopo della lezione Ripassare i concetti di dato e di variabile Introdurre e approfondire i concetti di Tipo di dato Espressione Assegnamento Operatori Introdurre
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il
DettagliIntroduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni
Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da
DettagliLaboratorio di Programmazione Lezione 1. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliPROBLEMI E ALGORITMI
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliLinguaggi 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 di
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
DettagliFondamenti 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
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica Web: http://www.scienze.univr.it/fol/main?ent=oi&id=34121 Docente: Carlo Drioli Email: drioli@sci.univr.it 2007/2008 Lucidi a cura di Nicola Drago,
DettagliCominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi
Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la
DettagliAgenda. Caratteristiche del linguaggio. Il primo programma java. Variabili. Tipi primitivi. Assegnamento
Introduzione a Java Caratteristiche del linguaggio Il primo programma java Variabili Tipi primitivi Assegnamento Agenda Caratteristiche del linguaggio Introduzione al linguaggio Cos è Java? Java è un linguaggio
DettagliAMBIENTI DI PROGRAMMAZIONE
AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto
DettagliDichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
DettagliIntroduzione. Programma didattico
Introduzione Il corso contenuto in questa parte riguarda i concetti elementari della programmazione, al livello minimo di astrazione possibile, utilizzando il linguaggio C per la messa in pratica degli
DettagliSi possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi).
Operatori di incremento e decremento: ++ e -- ++ e -- sono operatori unari con la stessa priorità del meno unario e associatività da destra a sinistra. Si possono applicare solo a variabili (di tipi interi,
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it
DettagliMarco Faella Introduzione al corso
Marco Faella Introduzione al corso 1 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com A.A. 2009-2010 Linguaggi
Dettagli