Introduzione al C. Unità 1 - Introduzione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione al C. Unità 1 - Introduzione"

Transcript

1 Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR - Introduzione D. Bloisi, S. Peluso, A. Pennisi, S. Salza

2 Obiettivi del corso (parte II) Concetti di algoritmo e programma Risolvere problemi in modo algoritmico Tradurre un algoritmo in programma Sviluppare programmi in linguaggio C Pagina 2

3 Sommario : Introduzione Linguaggi macchina Linguaggi ad alto livello Traduzione ed esecuzione dei programmi Dal problema al programma Procedure ed algoritmi Paradigmi di programmazione Il linguaggio C Ambiente di sviluppo ed esecuzione dei programmi Sviluppo di un primo programma C Funzioni Pagina 3

4 L architettura di Von Neumann L hardware dei nostri calcolatori è tuttora basato sulla cosiddetta architettura di Von Neumann Pagina 4

5 L architettura di Von Neumann (2) La macchina esegue una sequenza di istruzioni Le istruzioni vengono lette dalla memoria Ciascuna istruzione esegue una specifica azione su dati che si trovano in memoria Ciascuna istruzione è una sequenza di bit che, in una opportuna codifica, specificano: a. L azione che deve essere effettuata b. Dove si trovano i dati su cui essa deve essere effettuata c. Dove mettere il risultato Pagina 5

6 Programma Un programma specifica una procedura sistematica, per risolvere un determinato problema Una procedura è una sequenza di passi elementari il cui esito porta alla soluzione del problema Un programma è una sequenza di istruzioni Un programma viene scritto con riferimento ad una determinata piattaforma di elaborazione, usando le istruzioni che essa può eseguire direttamente Un programma può essere eseguito più volte su diverse istanze del problema, cioè su dati diversi Pagina 6

7 Esempio: somma di due numeri Problema: calcolare la somma di due numeri Procedura: 1. Leggi il primo numero e mettilo in memoria all indirizzo n 2. Leggi il secondo numero e mettilo in memoria all indirizzo m 3. Carica nella ALU (Arithmetic Logic Unit) il contenuto dell indirizzo n 4. Sommagli il contenuto dell indirizzo m 5. Sposta il contenuto della ALU in memoria all indirizzo k 6. Stampa il contenuto dell indirizzo k Programma: ad ogni passo della procedura corrisponde un istruzione del programma Ma è necessario che i passi siano a livello delle operazioni elementari che la macchina può eseguire direttamente Pagina 7

8 Linguaggio macchina Programmare direttamente un sistema di elaborazione è possibile ma poco pratico: Le istruzioni effettuano operazioni molto semplici Occorrono moltissime istruzioni anche per procedure che risolvono problemi molto semplici Le istruzioni codificate in binario sono difficili da scrivere e da leggere Chi programmava i calcolatori agli inizi degli anni 60 doveva fare così: non aveva scelta! La produttività (tempo necessario a scrivere e mettere a punto i programmi ) era bassissima Pagina 8

9 Linguaggi di programmazione Soluzione del problema: definire una macchina virtuale (cioè che uno vorrebbe avere ma non ha) che sia molto più potente della macchina reale Alla macchina virtuale corrisponde un linguaggio di programmazione molto più espressivo e più leggibile: Istruzioni più potenti: effettuato operazioni più complesse Procedure più semplici: sono necessari meno passi Programmi più compatti e leggibili: più facili da sviluppare e da mettere a punto Pagina 9

10 Traduzione dei programmi Problema: visto che la macchina virtuale non esiste, allora chi esegue questi programmi? Traduzione dei programmi: Si realizza un traduttore Il traduttore è un programma esso stesso Input: il programma scritto per la macchina virtuale Output: il programma eseguibile dalla macchina reale Ma almeno il traduttore dovrà essere eseguibile sulla macchina reale! Vuol dire che (alla peggio) si scriverà il traduttore, una tantum, in linguaggio macchina Pagina 10

11 Traduzione dei programmi (2) INPUT OUTPUT TRADUTTORE Programma Sorgente: scritto nel linguaggio della macchina virtuale Eseguibile sulla macchina reale Programma Oggetto: scritto nel linguaggio della macchina reale Pagina 11

12 Tipologie di linguaggi LINGUAGGI MACCHINA Le istruzioni sono sequenze di bit Linguaggi diversi per piattaforme diverse (Pentium, ARM, Sparc) Es (istruzione a 32 bit) LINGUAGGI ASSEMBLATIVI Istruzioni binarie codificate in forma più leggibile Corrispondenza uno a uno fra le istruzioni Es. ADD alfa, beta; (istruzione per al somma di due interi) LINGUAGGI AD ALTO LIVELLO Più evocativi e simili al linguaggio naturale Es. if (i>0) i=i+1; else printf("errore"); Pagina 12

13 Portabilità dei programmi Un programma è portabile se può essere eseguito su una piattaforma diversa da quella per la quale è stato sviluppato Programmi scritti in linguaggio macchina ed assemblativo non sono portabili per definizione Programmi scritti in linguaggi ad alto livello nascono per essere portabili: I linguaggi ad alto livello non sono legati ad una specifica piattaforma Per eseguirli su una certa piattaforma basta disporre del traduttore per quella piattaforma Pagina 13

14 Sintassi e semantica In un linguaggio distinguiamo due aspetti fondamentali SINTASSI Insieme di regole che specificano come scrivere un programma formalmente corretto Ma, come in italiano, posso scrivere un testo formalmente corretto, ma senza alcun significato. SEMANTICA Regole per attribuire un significato alle istruzioni ed alla loro composizione, cioè ai programmi Analogamente in italiano assegna un significato alle parole ed una logica ai costrutti Pagina 14

15 Dati e operazioni Un linguaggio di programmazione deve consentire di descrivere due aspetti fondamentali del processo di elaborazione DATI Quali sono e come sono organizzate le informazioni sulle quali il programma opera Deve consentire di rappresentare le informazioni nel dominio di interesse: es. numeri, stringhe dicaratteri ecc. OPERAZIONI Manipolazioni delle informazioni rappresentate Deve consentire di coprire le esigenze del dominio in cui si vuole utilizzare il linguaggio Pagina 15

16 Dal problema al programma Problema La specifica del problema definisce univocamente quello che voglio Non mi dice come posso ottenerlo Procedura risolutiva Descrive, verbalmente o con qualche formalismo, i passi che devo effettuare per arrivare ala soluzione Programma Sequenza di istruzioni che codifica la procedura risolutiva in un certo linguaggio Pagina 16

17 Algoritmo Un algoritmo è una formalizzazione della procedura risolutiva Procedura sistematica seguendo la quale arriviamo alla soluzione di un problema, ovvero insieme di passi che, eseguiti nell ordine, permettono di calcolare i risultati a partire dalle informazioni che vengono date in ingresso. Informazioni in ingresso INPUT Sequenza ordinata di passi ALGORITMO Risultati OUTPUT Pagina 17

18 Esempio: Massimo Comun Divisore Problema Calcolare il massimo comun divisore di due interi m e n, cioè il più grande intero che sia fattore primo di entrambi Specifica cosa voglio, ma non mi indica come fare per trovarlo Algoritmo Poni MCD=1; sia m < n. Ripeti per tutti gli interi 1< k m, nell ordine, il seguente passo Se k è divisore sia di n che m allora MCD=k altrimenti continua Al termine MCD ha il valore del massimo comun divisore di m e n. Programma Codifica in un linguaggio di programmazione, ad esempio C, della procedura di cui sopra N.B. L algoritmo proposto non è l unico, e nemmeno il più efficiente.. Pagina 18

19 Paradigmi di programmazione I linguaggi di programmazione si ispirano a diversi paradigmi, cioè a diverse filosofie secondo cui gli algoritmi sono codificati Imperativo Enfasi sulle operazioni, intese come azioni e comandi e istruzioni che cambiano lo stato dell elaborazione Gli oggetti sono funzionali all elaborazione Funzionale Enfasi sulle operazioni, intese come funzioni che calcolano risultati Gli oggetti sono funzionali all elaborazione Orientato agli oggetti Enfasi sugli oggetti che complessivamente rappresentano il dominio di interesse Operazioni e funzioni sono definite con riferimento agli oggetti Pagina 19

20 Il linguaggio C C è un linguaggio di programmazione ad alto livello che supporta i paradigmi imperativo e funzionale Nato agli inizi degli anni 70 con l obiettivo precipuo di riscrivere il sistema operativo UNIX (ormai non più gestibile in linguaggio macchina) Gli autori Ken Thompson e Dennis Ritchie lo chiamarono C perché era il terzo tentativo: il precedente si chiamava B. Come linguaggio nativo di UNIX (il primo sistema operativo open source) si diffuse rapidamente nel mondo universitario, e di lì nelle nuove imprese che andavano nascendo E forse oggi il linguaggio di programmazione più diffuso Subisce un lungo processo di standardizzazione che si concretizza nello standard ISO/IEC Pagina 20

21 Perché studiamo il C? E molto vicino alla struttura del calcolatore e ne permette l accesso anche a basso livello Consente un eccellente controllo a basso livello: Controllo diretto degli indirizzi Gestione efficiente di stringhe Offre anche strutture di controllo ad alto livello, che consentono anche la codifica di algoritmi molto complessi Punto di partenza per altri linguaggi molto diffusi: C++ e Java Permette di sviluppare programmi molto efficienti Il trend attuale è di iniziare con un linguaggio imperativo (come il C), rimandando ad una fase successiva l apprendimento dei linguaggi orientati agli oggetti (C++ e Java) Pagina 21

22 L ambiente di sviluppo Cosa ci occorre per scrivere ed eseguire un programma C? Carta e penna (?) Ma ormai molti di noi scrivono direttamente al PC! Un Editor di testo Permette di scrivere il programma e salvarlo come file Può offrire altre funzioni (editor diretto dalla sintassi) Un Compilatore C Traduttore da C a linguaggio macchina Genera un programma direttamente eseguibile sul nostro PC Offre anche funzioni accessorie, come la segnalazione di errori sintattici (ma non di quelli semantici!) Pagina 22

23 L ambiente consigliato Editor di testo: Notapad++ Editor guidato dalla sintassi (colorazione ecc.) Oltre al C supporta molti altri formati Direttamente scaricabile Compilatore: gcc Disponibile su diverse piattaforme (Windows, Linux, Mac) Istruzioni per l installazione sul sito del corso Si tratta di software open source, non ci sono oneri di licenza. Distribuzione e libera,qualità eccellente, diffusione altissima Pagina 23

24 Il nostro primo programma C #include <stdio.h> int main() { printf("il mio primo programma C."); return 0; } Per essere semplice è semplice! Ma qualcuno vuole seriamente sostenere che è leggibile? Certo, a prima vista, non è evidente quello che fa? E poi, che stile esoterico: ma era proprio necessario? Pagina 24

25 Cosa significa? Il programma è costituito da direttive e istruzioni Le direttive sono ordini rivolti al compilatore Alle istruzioni corrispondono azioni che si chiede di effettuare in fase di esecuzione, e strutture che ne precisano l ordine e le modalità di esecuzione 1. #include <stdio.h> È una direttiva che chiede al compilatore di includere una serie di definizioni relative alle operazioni predefinite di I/O 2. int main() {...} È la definizione della funzione main che racchiude il corpo principale del programma, contenuto tra i due simboli { e } Ogni programma C deve contenere una e una sola funzione main Pagina 25

26 Cosa significa? (continua) 3. printf("il mio primo programma C."); È un istruzione che stampa su video la stringa racchiusa tra apici Più precisamente printf è una funzione predefinita, di quelle incluse a seguito della direttiva #include <stdio.h> 4. return 0; È un istruzione che termina l esecuzione della funzione main e restituisce il valore 0 (per dire che tutto è andato bene) La cosa non vi è chiara? Niente paura: è tutto normale! Non c è, purtroppo, un iter del tutto lineare per iniziare a lavorare in C L alternativa (noiosa) è spiegare tutto prima di far succedere qualcosa Occorre un po di pazienza: le cose si chiariranno presto. Pagina 26

27 Sviluppare ed eseguire il programma 1. SCRITTURA Si scrive il programma usando un editor Il programma viene salvato sul computer in un file 2. COMPILAZIONE Il file contenete il programma viene consegnato al compilatore Il compilatore, se non rileva errori sintattici, genera un file eseguibile contenete la traduzione Altrimenti segnala gli errori e termina 3. ESECUZIONE Il file eseguibile viene mandato in esecuzione Anche più volte, senza doverlo ricompilare Pagina 27

28 Scrittura del programma Per chiarire che si tratta di un programma C, salviamo con un nome di file primo.c dove: primo è il nome che vogliamo dare al nostro programma c è l estensione di file che tradizionalmente indica i programmi C La scrittura di un programma può essere effettuata con qualsiasi programma che consenta la scrittura di un testo Es. Edit, Notepad, Vim, Notepad++, Emacs,... Attenzione però che il formato di salvataggio sia quello di testo non formattato (ad esempio un file docx non va bene!) Pagina 28

29 In Notapad++ Pagina 29

30 Compilazine del programma In Windows interazione con il compilatore gcc avviene dando il comando direttamente, cioè non tramite l interfaccia grafica I comandi vengono passati nella finestra command prompt 1. Cambiare la directory corrente con quella che contiene il programma, nel mio caso: C:\Users\Utente\Desktop\ProgrammiC 2. Mandare in esecuzione il compilatore: gcc o first primo.c Manda in esecuzione gcc Nome da assegnare al file eseguibile Nome del programma da compilare Come risultato della compilazione viene creato, nella directory corrente, il file first.exe Pagina 30

31 Esecuzione del programma Se non ci sono errori il compilatore genera un file eseguibile: Viene salvato nella directory corrente, col nome che si è specificato e l estensione.exe Nel nostro caso first.exe in C:\...\Desktop\ProgrammiC Per mandare il programma in esecuzione basta passare il nome del file eseguibile come comando nella command prompt Non è necessario specificare l estensione Nel caso in esempio: first o first.exe Il risultato di ciascuna esecuzione sarà la visualizzazione nella command prompt della stringa: Il mio primo programma C. Pagina 31

32 Compilazione ed esecuzione Pagina 32

33 E se ci sono errori? INIZIO SI SCRITTURA E MODIFICA COMPILAZIONE ERRORI SINTATTICI? SI NO NO ERRORI SEMANTICI? ESECUZIONE FINE Pagina 33

34 Errori Questo programma contiene diversi errori, di diversi tipi: #include <stdio.h> int main () { printf("i miei primi errori in C...\n") Printf("...e non saranno gli ultm!!!\n"); return 0; } Tipi di errori: Sintattici: riguardano la correttezza formale Semantici: riguardano la correttezza sostanziale Manca il ; C è un errore di ortografia Pagina 34

35 Errori sintattici Legati alla violazione delle regole del linguaggio #include <stdio.h> int main () { printf("i miei primi errori in C...\n") Printf("...e non saranno gli ultm!!!\n"); return 0; } Questi errori sono individuati dal compilatore Manca il ; Non sempre però le segnalazioni sono chiare: >gcc -o errori errori.c errori.c: In function 'main': errori.c:18:4: error: expected ';' before 'Printf' > Pagina 35

36 Errori semantici Il programma non fa quello che vorrei che facesse P. es. nel caso di errori.c viene stampata una stringa contenente errori di ortografia (non è quello che vorrei): >gcc -o errori errori.c >errori I miei primi errori in C......e non saranno gli ultm!!! > Il compilatore non segnala questi errori (e non può farlo!) Lui che può saperne di quello che vorrei stampare? Gli errori semantici possono essere individuati solo eseguendo il programma e analizzando i risultati Pagina 36

37 Programma corretto #include <stdio.h> int main () { printf("i miei primi errori in C...\n"); printf("...e non saranno gli ultimi!!!\n"); return 0; } Pagina 37

38 Funzioni L organizzazione dei programmi C e fortemente basata sul concetto di funzione Gestire la complessità di un programma decomponendolo in moduli: Approccio divide et impera Definire funzioni, cioè moduli corrispondenti a parti della procedura che svolgono compiti precisi Costruire il programma utilizzando questi moduli Due tipi di funzioni: Funzioni di libreria: già definite da altri e raccolte in libreria Funzioni definite dal programmatore: la loro definizione è parte del programma Pagina 38

39 Parametri e valore di una funzione Le funzioni prevedono normalmente parametri sui quali si basa l elaborazione effettuata dalla funzione Devono essere passati ogni volta che la funzione è invocata I parametri permettono di usare una funzione per effettuare più volte la stessa elaborazione su dati diversi In C una funzione ha (quasi) sempre un valore, che viene restituito come risultato del calcolo della funzione Se la funzione non restituisce un valore di dice che il suo valore è void ESEMPIO: sin(x) x è un valore reale che viene passato alla funzione come parametro la funzione calcola un valore reale in C sin è una funzione di libreria predefinita Pagina 39

40 Definizione e invocazione Occorre distinguere chiaramente tra: DEFINIZIONE DI UNA FUNZIONE Parte del programma in cui viene definito cosa la funzione fa Non è esplicita per le funzioni di libreria Una funzione deve essere dichiarata prima di essere usata INVOCAZIONE DI UNA FUNZIONE Parte di un programma in cui viene richiesta l esecuzione della funzione Sintassi: nomefunzione(parametri) Semantica: la funzione esegue le operazioni specificate nella sua definizione sulle informazioni passate come parametri Pagina 40

41 Esempio #include <stdio.h> #include <math.h> int main() { printf("questo programma C esegue dei calcoli "); printf("usando funzioni matematiche predefinite..\n"); printf("la radice quadrata di 169: %f", sqrt(169) ); } Viene invocata la funzione di libreria sqrt che calcola la radice quadrata del numero che gli viene passato come parametro La libreria math di cui fa parte sqrt è indicata nella direttiva al compilatore Nell esempio sqrt(169)calcola la radice di 169 Il risultato è passato come valore e usato dalla printf Anche printf è una funzione di libreria: per poterla usare devo chiedere al compilatore di includere la libreria stdio Pagina 41

42 La funzione main Un programma C deve sempre contenere una funzione main La funzione main ha valore void, cioè non restituisce valore La definizione di altre funzioni segue quella della funzione main L esecuzione del programma consiste nell esecuzione della funzione main, la quale, eventualmente, invoca altre funzioni provocandone l esecuzione PROBLEMA Il compilatore, per poter tradurre il programma, deve conoscere le definizioni delle funzioni Quando trova le invocazioni deve almeno conoscere: numero e tipo dei parametri e tipo del valore della funzione Ma le definizioni vengono dopo il main.. Pagina 42

43 Prototipi di funzione Per risolvere il problema, in C prevede la dichiarazione dei prototipi di funzione Un prototipo di funzione è una dichiarazione sintetica che specifica: Il nome della funzione Il tipo del risultato Il numero ed il tipo dei parametri La dichiarazione dei prototipi precede la definizione della funzione main ESEMPIO: double sqrt(double) La funzione sqrt restituisce un valore reale in doppia precisione Ha un parametro anch esso reale in doppia precisione (tipo double) Pagina 43

44 Parametri I parametri di una funzione sono i valori passati dal modulo chiamante alla funzione per poter svolgere i calcoli In generale, i parametri passati come argomenti possono essere espressioni complesse formate a loro volta da invocazioni di altre funzioni ESEMPIO la funzione double sqrt(double)deve essere invocata passando un valore di cui vogliamo calcolare la radice quadrata la funzione double pow(double,double)calcola la potenza e i parametri sono base ed esponente La chiamata sqrt(pow(5,2)+pow(12,2))calcola la radice quadrata di e restituisce un valore reale in doppia precisione, nella fattispecie 13 Pagina 44

45 Funzioni definite in math.h Pagina 45

46 La funzione printf Visualizza (stampa) a video una sequenza di dati formattati Fa parte della libreria stdio.h e ha la forma: printf (stringa di controllo del formato, altri argomenti ) La stringa di controllo del formato descrive il formato dell output Gli altri argomenti specificano i dati che si intende visualizzare Restituisce come valore il numero di caratteri visualizzati La stringa di controllo del formato è composta da una serie di specifiche di conversione che indicano: Il tipo del dato che si vuole stampare L ampiezza del campo in cui deve essere stampato La suddivisione all interno del campo Altri caratteri nella stringa vengono stampati direttamente Pagina 46

47 Specifiche di conversione Alcune specifiche di conversione di uso frequente sono: %c singolo carattere %d intero in rappresentazione decimale %o intero in rappresentazione ottale %x intero in rappresentazione esadecimale %u intero in rappresentazione decimale senza segno %f reale in notazione virgola fissa %s stringa %e reale in notazione scientifica Tra % e la lettera si può inserire un segno meno che indica giustificazione a sinistra, un numero intero che dà l'ampiezza del campo e può essere seguito da un punto e da un altro intero che dà il numero di cifre o il numero di caratteri per una stringa. Pagina 47

48 Esempio di printf #include <stdio.h> int main() { printf("%d^ volta con il C\n", 1); printf("%.4f\n", ); return 0; } Stampa la stringa: 1^ volta con il C N.B. Il carattere speciale \n provoca l andata a capo Pagina 48

49 Escape sequence Sono sequenze di caratteri, inizianti per \ che non sono visualizzati sullo schermo, ma producono altri effetti \n newline, va a capo \t tabulazione \r posiziona il cursore all inizio della riga corrente \a emette un suono \t tabulazione \\ stampa il carattere \ \' stampa il carattere ' \" stampa il carattere Lista completa sul libro (o su Wikipedia) Pagina 49

50 Stampa di apici e virgolette #include <stdio.h> int { } main() printf("l\'apostrofo non e\' \"facile\""); printf(" da stampare\n"); return 0; Visualizza l'apostrofo non e' "facile" da stampare Attenzione alle smart quotes introdotte da molti editor! Evitare il copia e incolla (di testi formattati) Pagina 50

51 Esercizi Esercizio 1.1 Provare a scrivere, compilare ed eseguire tutti gli esempi visti finora. Introdurre piccole variazioni su tema, ricompilare e controllare l effetto. Esercizio 1.2 Scrivere un programma C che calcoli il valore 82 6 e lo visulaizzi su video, preceduto dalla frase 86 elevato alla sesta è. Esercizio 1.3 Scrivere un programma che calcoli la radice quadrata di 2, e visualizzi il risultato con 3 cifre decimali. Pagina 51

52 Esercizio 1.2 (soluzione) Esercizio 1.2 Scrivere un programma C che calcoli il valore 86 6 e lo visulaizzi su video, preceduto dalla frase 86 elevato alal sesta è. #include <stdio.h> #include <math.h> int { } main() printf("86 elevato alla sesta e\' "); printf("%f\n", pow(82.0, 6.0)); return 0; Output: 86 elevato alla sesta e' Pagina 52

53 Esercizio 1.3 (soluzione) Esercizio 1.3 Scrivere un programma che calcoli la radice quadrata di 2, e visualizzi il risultato con 3 cifre decimali. #include <stdio.h> #include <math.h> int { } main() printf("%.3f\n", sqrt(2.0)); return 0; Output: Pagina 53

54 Problemi pratici: tastiera italiana Come si scrive la graffa aperta ( { )? Alt oppure Alt Gr + Shift + è oppure Fn + Alt (per i portatili) Come si scrive la graffa chiusa ( } )? Alt oppure Alt Gr + Shift + + oppure Fn + Alt (per i portatili) Pagina 54

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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 di

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

NOZIONI BASE PER ESERCITAZIONI

NOZIONI BASE PER ESERCITAZIONI NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

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 formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture

Dettagli

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Logica e codifica binaria dell informazione

Logica e codifica binaria dell informazione Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del Progetto Software to Fit - ShellExcel Pagina 1 Manuale d'uso ShellExcel ShellExcel è una interfaccia per disabili che permette ad un alunno con difficoltà di apprendimento di esercitarsi ripetitivamente

Dettagli

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

Dettagli

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza WARNING Questo canale è solo per studenti di Fisica il cui cognome inizia con le lettere A-C TUTTAVIA

Dettagli

Tipi di dato-prima parte

Tipi di dato-prima parte Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO 4.1 PER INIZIARE 4.1.1 PRIMI PASSI COL FOGLIO ELETTRONICO 4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO L icona del vostro programma Excel può trovarsi sul desktop come in figura. In questo caso basta

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Word. Cos è Le funzioni base Gli strumenti. www.vincenzocalabro.it 1

Word. Cos è Le funzioni base Gli strumenti. www.vincenzocalabro.it 1 Word Cos è Le funzioni base Gli strumenti www.vincenzocalabro.it 1 Cos è e come si avvia Word è un programma per scrivere documenti semplici e multimediali Non è presente automaticamente in Windows, occorre

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia

Dettagli

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

MODULO 4: FOGLIO ELETTRONICO (EXCEL) MODULO 4: FOGLIO ELETTRONICO (EXCEL) 1. Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei Personal computer. Essi

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la

Dettagli

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti MS Word per la TESI Barra degli strumenti Cos è? Barra degli strumenti Formattazione di un paragrafo Formattazione dei caratteri Gli stili Tabelle, figure, formule Intestazione e piè di pagina Indice e

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

7.4 Estrazione di materiale dal web

7.4 Estrazione di materiale dal web 7.4 Estrazione di materiale dal web Salvataggio di file Salvataggio della pagina Una pagina web può essere salvata in locale per poterla consultare anche senza essere collegati alla Rete. Si può scegliere

Dettagli