Programmazione. 1 Introduzione. Tutto per la gloria di Dio.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione. 1 Introduzione. Tutto per la gloria di Dio."

Transcript

1 Programmazione Tutto per la gloria di Dio. 1 Introduzione Un programma è un piano di azione che deve essere eseguito da un esecutore, di solito uno strumento automatico, la maggior parte delle volte un computer. Un programma consiste in un insieme finito di comandi, o istruzioni, ognuno dei quali fà eseguire all esecutore una particolare operazione elementare sui dati, che sono memorizzati nella memoria dell esecutore e i cui nomi sono i parametri dei comandi. Si ottiene l automatismo dell esecutore dal fatto che ogni comando corrente, eccetto il comando stop, punta unicamente ad un comando del programma che deve essere eseguito dopo quello corrente. Una caratteristica particolare dell esecutore è la presenza di comandi ramificati (transizioni condizionali) nei quali la scelta di una tra più azioni indicate viene fatta sulla base di proprietà da verificare dei dati menzionati nel comando. Da ciò ne consegue che quando si usa un programma, la successione dei comandi può variare, dopo aver definito in maniera unica i dati. Perciò un programma, sebbene sia un oggetto finito, permette all utente di lavorare su una varietà di dati potenzialmente infinita. I programmi sono importanti non solo come prescrizioni per computers, ma anche come sorgenti di conoscenza operazionale degli uomini. 1

2 2 2 Uno sguardo all interno Abbiamo detto che un programma è una successione finita di istruzioni che agiscono su dati in memoria. Per arginare la complessità di un programma, è utile isolare sottosuccessioni di istruzioni, dette procedure, che si ripetono e che eseguono specifiche azioni, e raggruppare tali procedure in differenti moduli, detti unità. Il tutto in un ottica di dividere sistematicamente il problema in parti strutturate, per agevolarne la comprensione, la produzione, la gestione, la costante rielaborazione, il riutilizzo, la semplificazione, la lettura. Per una buona gestione della memorizzazione e dell elaborazione dei dati, questi ultimi vengono divisi in tipi. Elementi di uno stesso tipo occupano indicativamente identici spazi di memoria, e su di essi agiscono identiche operazioni. Tra i vari tipi di dati, si possono riconoscere, oltre a quelli semplici (numeri interi, numeri reali, caratteri, stringhe di testo, vero o falso, ecc.), gli array, ovvero tipi composti da un numero fissato di dati semplici di uno stesso tipo (coppie di numeri reali, matrici 3x3 di numeri interi, ecc.) e i record, cioè tipi strutturati mediante un numero fissato di dati di vario tipo (una coppia di un numero intero e una stringa). All interno di uno stesso tipo possiamo isolare quei dati che rimangono invariati, le costanti, e quei dati che possono cambiare, le variabili.

3 3 3 Linguaggi di programmazione Lo scopo di base di un linguaggio di programmazione è quello di programmare, cioè formulare programmi che possono essere eseguiti su un computer. Come nei linguaggi naturali, un linguaggio di programmazione è costruito su un alfabeto di simboli di base (con i quali viene scritto il programma) nella forma di un sistema gerarchico di elementi grammaticali, tra i quali vengono date delle relazioni (in maniera simile alle parole, frasi e affermazioni, le cui connessioni sono date dalle regole sintattiche). Esistono numerosi linguaggi di programmazione, tra cui è doveroso ricordare il C, Java, il Fortran e il Prolog. Affronteremo qui il linguaggio Pascal. La ragione di tale scelta è eminentemente didattica.

4 4 4 Tipi semplici nel Pascal Il Pascal permette l utilizzo di un certo numero di tipi di dati di base. Qui di seguito accenneremo ai tipi principali di dati che incontreremo nella pratica, insieme alle operazioni e alle relazioni su di essi che il Pascal fornisce. 4.1 Tipo boolean I dati di tipo boolean sono i valori Vero e Falso. Il Pascal fornisce come operazioni sui booleani i connettivi logici,,, e le relazioni =,, <, >,,. Esempio. Si ha che Vero=Falso Falso Vero = Falso (Falso < Vero) = Vero 4.2 Tipo char I dati di tipo char sono i caratteri ASCII. Ricordando che ogni carattere ASCII ha associato un corrispondente numero naturale (il suo codice), il Pascal fornisce due funzioni, Chr e Ord, la prima delle quali associa ad un numero naturale il suo carattere corrispondente, mentre la seconda associa ad ogni carattere il suo codice. Esempio. Chr(63)=? Chr(97)=a Ord(0)=48 Ord(+)=43

5 5 4.3 Tipo integer I dati di tipo integer sono gli interi tra e Il Pascal fornisce come operazioni sugli interi +,,, la divisione intera div e la funzione resto mod. Il Pascal fornisce sugli interi le relazioni =,, <, >,,. Esempio. Valgono le seguenti 7 div 3 = 2 8 div 8 = 1 6 div 9 = 0 7 mod 3 = 1 8 mod 8 = 0 6 mod 9 = Tipo real I dati di tipo real corrispondono ad alcuni numeri reali. Il Pascal fornisce come operazioni sui reali, tra le altre, +,,, /, il valore assoluto abs, la parte intera int, l arrotondamento round, il quadrato sqr, la radice quadrata sqrt, il troncamento trunc. Il Pascal fornisce sui reali le relazioni =,, <, >,,. 4.5 Tipo string I dati di tipo string sono stringhe, cioè sequenze, di al massimo 255 caratteri ASCII. Il Pascal fornisce come operazioni sulle stringhe, tra le altre, il +, che permette di concatenare due stringhe, troncando ovviamente il risultato se affiancate eccedono i 255 caratteri, e la funzione length che rende il numero di caratteri di una stringa. Il Pascal fornisce sulle stringhe le relazioni =,, <, >,,. Esempio. pelli + cani = pellicani

6 6 5 Alfabeto del Pascal Nel Pascal, l alfabeto dei simboli di base consiste nelle dieci cifre decimali 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, nelle lettere dell alfabeto inglese (il Pascal non fà differenza tra maiuscole e minuscole) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, i simboli di parentesi i simboli di punteggiatura (, ), [, ], {, }, ; :. alcuni simboli di operazioni e relazioni logiche e aritmetiche altri simboli, come ad esempio +, -, *, /, =, <, > ˆ,

7 7 6 Unità lessicali in Pascal In ogni linguaggio di programmazione, gli elementi al livello più basso, formati da catene di simboli di base, sono chiamati lessemi o unità lessicali. Ogni lessema appartiene ad una determinata classe. Nel Pascal, le principali classi sono gli interi, i reali, le stringhe, gli operatori, gli identificatori e le parole riservate. 6.1 Lessemi di tipo boolean Le unità lessicali di tipo boolean corrispondono ai valori Vero e Falso. Gli unici lessemi di questo tipo sono true e false. 6.2 Lessemi di tipo char Questi lessemi corrispondono ai caratteri ASCII. In Pascal, sono caratteri ASCII racchiusi da apostrofi, il singolo carattere apostrofo è scritto come due apostrofi tra apostrofi. Esempio. I seguenti sono lessemi di tipo char in Pascal c 2? 6.3 Lessemi di tipo integer Le unità lessicali di tipo integer corrispondono ai numeri interi. Sono catene di cifre decimali, precedute o meno da uno tra i simboli + e. Viene richiesto che, come numeri, siano compresi tra e Esempio. I seguenti sono interi in Pascal mentre i seguenti non sono interi in Pascal

8 8 6.4 Lessemi di tipo real I lessemi di tipo real corrispondono ai numeri reali. Sono in virgola mobile, moltiplicati per una potenza intera di 10. Sono del tipo I.DeL oppure I.DEL dove I è un numero intero, D è un numero naturale ed L è un numero intero. e, od E, equivale a 10ˆ. D può non essere presente, nel qual caso la virgola si può omettere. La parte el, o EL, si può omettere. Viene richiesto che, come numeri positivi, siano compresi in valore assoluto tra e Esempio. I seguenti sono reali in Pascal 0 1e3-2.3E e-7 mentre i seguenti non sono reali in Pascal e3 2e Lessemi di tipo string In Pascal, le stringhe, rappresentanti testi, sono catene di al massimo 255 caratteri racchiuse da apostrofi, una stringa con niente tra gli apostrofi è la stringa nulla, due apostrofi di seguito in una stringa denotano un singolo carattere, l apostrofo. Esempio. I seguenti sono lessemi di tipo string in Pascal ciao w2+ l Algebra Il male è di chi lo fà

9 9 6.6 Operatori In Pascal, gli operatori corrispondono a funzioni su dati. Avremo Operatori booleani Assumono valori booleani e il risultato è di tipo booleano: not ( ) and ( ) or ( ) Operatori interi Assumono valori intero e il risultato è di tipo intero: + - * ( ) div mod sqr ( 2 ) Operatori reali Assumono valori reali e il risultato è di tipo intero o reale: + - * / abs arctan cos exp frac int ln pi sin sqr sqrt Operatori su stringhe Assumono valori stringhe e il risultato è una stringa o di tipo intero: + length pos

10 Operatori relazionali Assumono valori di ogni tipo semplice e il risultato è di tipo booleano: = <> ( ) < > <= ( ) >= ( ) 6.7 Identificatori In ogni linguaggio di programmazione, gli identificatori denotano i vari oggetti (cioè i loro nomi) del programma che sono definiti nel programma stesso. Principalmente, tali oggetti sono campi nei records, costanti, funzioni, procedure, programmi, tipi, unità, variabili. In Pascal, gli identificatori sono catene di caratteri di qualsiasi lunghezza, ma solo i primi 63 caratteri sono significativi, il primo carattere deve essere una lettera, i successivi caratteri possono essere lettere, cifre decimali, o il simbolo. Esempio. I seguenti sono identificatori in Pascal x a1 yy punto medio delta I seguenti non sono identificatori in Pascal 2x x y po lealtà a@b 6.8 Parole riservate In ogni linguaggio di programmazione, alcuni identificatori sono definiti dal linguaggio stesso. Tali identificatori prendono il nome di parole riservate. Nel Pascal, le principali parole riservate sono:

11 11 and array begin case const div do downto else end for function if mod not of or procedure program repeat then to until uses var while

12 12 7 Strutture di base in Pascal I livelli successivi di elementi di un linguaggio di programmazione. Sono essenzialmente di tre tipi: espressioni, dichiarazioni, istruzioni. 7.1 Espressioni Le espressioni sono sorgenti di valori, ottenute a partire da operatori e operandi. Gli operandi sono principalmente costanti, variabili e chiamate di funzioni, eventualmente usando le parentesi tonde. Esempio. Espressioni intere: n+1 (2*y) mod 3 lenght(x)-int(3.2) Espressioni booleane: i < 3 ord( x ) <= ord( y ) sqr(b) = 4*a*c 7.2 Dichiarazioni Le dichiarazioni sono sorgenti di informazione assegnate all occorrenza che definisce il lessema. Essenzialmente, decrivono la tipologia di valori calcolati dall esecuzione del programma, la loro rappresentazione e il modo in cui vengono immagazzinati nella memoria del computer. Per valori composti come gli array (vettori, matrici) e valori strutturati (record) viene specificato anche il modo di accedere ai suoi componenti elementari.

13 Dichiarazioni di costanti Una dichiarazione di costante definisce un identificatore come una costante di un determinato tipo. La sintassi è: const identificatore = espressione ; identificatore = espressione ;... Esempio. const base = 10 ; e = ; Dichiarazioni di variabili Una dichiarazione di variabile definisce un identificatore come una variabile di un determinato tipo. La sintassi è: var identificatore : tipo ; identificatore, identificatore : tipo ;... Esempio. var n, m : integer ; x, y, z : real ; nome : string ;

14 Istruzioni Le istruzioni, o affermazioni, sono unità di operazioni finite nel programma; le istruzioni di base sono principalmente gli assegnamenti, le chiamate di procedure, le istruzioni begin...end, le istruzioni condizionali, le istruzioni iterative e le istruzioni ricorsive Assegnamenti Un assegnamento attribuisce il valore di un espressione ad una variabile. La sintassi è: identificatore := espressione ; Esempio. area := b*h ; i := i+1 ; alfa := beta and gamma ; Chiamate di procedure La definizione di una procedura introduce una notazione abbreviata e parametrizzata per la funzione di una certa parte del programma (il corpo della procedura). L esecuzione del corpo della procedura può essere conseguentemente trattata come un operazione elementare causata da una chiamata della procedura. Il Pascal fornisce alcune procedure. Qui mi preme considerare il write e il read (per le altre, è sufficiente accedere all ottimo help del Turbo Pascal). La procedura write scrive sul monitor le espressioni Oi di tipo semplice. La procedura writeln, inoltre, porta il cursore all inizio della riga successiva. Le sintassi: write(o1) ; write(o1,o2) ;...

15 15 La procedura read legge da tastiera uno o più valori e li associa alle variabili Vi. La procedura readln, inoltre, salta alla linea successiva. Le sintassi: read(v1) ; read(v1,v2) ; Istruzioni begin... end È un istruzione composta. In questo modo, tutte le istruzioni comprese tra le parole riservate begin ed end (da intendersi come semplici parentesi), vengono trattate come un unica istruzione. La sintassi è: begin end ; istruzione ; istruzione ;... istruzione Istruzioni condizionali In un istruzione condizionale, la scelta tra una o più istruzioni dipende dal verificarsi o meno di una condizione (espressione booleana). In Pascal, abbiamo le istruzioni if e case: Per la prima, la sintassi è: if espressione then istruzione ; oppure if espressione then istruzione else istruzione ;

16 16 Se la condizione dopo l if è verificata, viene eseguita l istruzione dopo il then, altrimenti, nel secondo caso, viene eseguita l istruzione dopo l else. Esempio. if abs(n) < 10 then writeln(n, ha un unica cifra ) else writeln(n, ha almeno due cifre ); Per la seconda, la sintassi è: case espressione of case : istruzione ;... case : istruzione ; end ; oppure case espressione of case : istruzione ;... case : istruzione ; else istruzione end ; In questa istruzione, il valore dell espressione seleziona l istruzione corrispondente. Esempio. case n mod 2 of 0 : writeln(n, è pari ) ; 1 : writeln(n, è dispari ) ; end ; Istruzioni iterative Un istruzione iterativa ripete un numero fissato di volte (itera) una certa parte del programma (il corpo dell iterazione). In Pascal, abbiamo l istruzione for, la cui sintassi è:

17 17 for var := primo to ultimo do istruzione ; oppure for var := primo downto ultimo do istruzione ; Esempio. for i:=1 to 10 do writeln(i*i) ; Istruzioni ricorsive Un istruzione ricorsiva dispone un esecuzione ripetitiva di una certa parte del programma (il corpo della ricorsione), dove il numero delle ripetizioni è determinato da una data condizione. In Pascal, abbiamo le istruzioni while e repeat: Per la prima, la sintassi è: while espressione do istruzione ; L istruzione dopo il do viene ripetuta fintanto che l espressione rimane vera. Si noti che se l espressione è inizialmente falsa, l istruzione non viene eseguita. Esempio. i:=2 ; while (n mod i) <> 0 do i:=i+1 ; if i = n then writeln(n, è primo ) else writeln(n, è composto ); Per la seconda, la sintassi è: repeat istruzione ; istruzione ;... istruzione until espressione ;

18 18 Le istruzioni comprese tra il repeat e l until vengono eseguite fintanto che l espressione risulta falsa. Quando l espressione diventa vera, si esce dal ciclo. Si noti che tali istruzioni vengono eseguite almeno una volta. Esempio. : repeat readln(s) until (s= m ) or (s= f ) ;

19 19 8 Struttura di un programma Un programma in Turbo Pascal può avere il seguente aspetto program identificatore ; uses... ; const... ; type... ; var... ; procedure... ; function... ; begin istruzione ;... end. Esempio. Ecco il vostro primo programma: program pippo ; begin writeln( Ciao mondo! ) end. La clausola uses nomina le unità (librerie) utilizzate dal programma. la clausola type permette di definire nuovi tipi. Le clausole procedure e function permettono di definire nuove funzioni e procedure. Esempio. Le seguenti producono la stessa funzione potenza: function potenza(x, n : integer): integer; begin if n=0 then potenza:= 1 else potenza:= x potenza(x,n-1) end

20 function potenza(x, n : integer): integer; var i, p: integer; begin p:= 1 ; for i:= 1 to n do p:= p x ; potenza:= p end 20

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

Costrutti condizionali e iterativi

Costrutti condizionali e iterativi Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

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

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

Dettagli

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

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

Dettagli

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

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

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

Dettagli

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

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

Dettagli

LESSICO E SINTASSI DEL PASCAL

LESSICO E SINTASSI DEL PASCAL LESSICO E SINTASSI DEL PASCAL Il linguaggio di programmazione Pascal è potente e semplice nello stesso tempo; ciò ne giustifica la scelta, inoltre i nuovi compilatori del linguaggio pascal permettono di

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato

Dettagli

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

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 Per risolvere il problema

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Le basi del linguaggio Java

Le 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

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

modulo on line Uno strumento per programmare: cenni al linguaggio Pascal

modulo on line Uno strumento per programmare: cenni al linguaggio Pascal modulo on line Uno strumento per programmare: cenni al linguaggio Pascal ud1 Introduzione al Pascal ud2 Le prime istruzioni notevoli in Pascal ud3 Le strutture condizionali e le strutture iterative ud4

Dettagli

unità didattica 2 Le prime istruzioni notevoli in Pascal

unità didattica 2 Le prime istruzioni notevoli in Pascal unità didattica 2 Le prime istruzioni notevoli in Pascal 1. L operazione di assegnazione Quando si desidera che una certa variabile contenga un determinato valore costante, o un risultato di operazioni

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

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

Dettagli

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Programmazione in Java (I modulo)

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

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai

Dettagli

Programmazione Procedurale in Linguaggio C++

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

Dettagli

VBA Principali Comandi

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

Dettagli

VARIABILI E COSTANTI

VARIABILI E COSTANTI VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

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

Dettagli

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo

Dettagli

Sviluppare un programma in FORTRAN

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

Dettagli

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

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

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Corso di Fondamenti di Informatica

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

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

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

Dettagli

Espressione composta da: Operatori Operandi (costanti, variabili, )

Espressione composta da: Operatori Operandi (costanti, variabili, ) Cenni linguaggio C: Espressioni Espressione: formula (regola di calcolo) che specifica sempre un valore Esempio: espressione algebrica: z=x* y, (x+3)/5 Espressione composta da: Operatori Operandi (costanti,

Dettagli

Laboratorio di programmazione Corso A - A.A. 2000/2001 Docente: A. Lanza Il tipo boolean Il tipo real Tipi definiti dall utente: il tipo enumerato

Laboratorio di programmazione Corso A - A.A. 2000/2001 Docente: A. Lanza Il tipo boolean Il tipo real Tipi definiti dall utente: il tipo enumerato Laboratorio di programmazione Corso A - A.A. 2000/2001 Docente: A. Lanza Il tipo boolean Il tipo real Tipi definiti dall utente: il tipo enumerato Editazione a cura di A. Cappelli, N. Alba, R. De Palo

Dettagli

Matlab. Istruzioni condizionali, cicli for e cicli while.

Matlab. Istruzioni condizionali, cicli for e cicli while. Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2

Dettagli

ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL

ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL Liceo Scientifico e Classico S. Trinchese ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL seminario per la classe IV BS Prof Antonio Cazzato Perché programmare? La programmazione ha una notevole valenza didattica

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

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

Dettagli

Fasi di un Compilatore

Fasi di un Compilatore Dipartimento di Matematica e Informatica Università di Camerino Un implementazione compilativa di un linguaggio di programmazione viene realizzata tramite un programma che prende il nome di compilatore

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Il linguaggio C. Notate che...

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

Dettagli

Progettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE

Progettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE Progettazione di algoritmi: componenti di base e metodologie di sviluppo Variabili e costanti Variabili e costanti PROBLEMA: calcolo dell area A di un triangolo di base b ed altezza h b h A =.4.5 b =.4,

Dettagli

Excel & VBA. Excel e Visual Basic for Application

Excel & VBA. Excel e Visual Basic for Application Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria

Dettagli

Cosa si intende con stato

Cosa si intende con stato Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

Concetti base programmazione. Antonio Gallo

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

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

DESCRIZIONI RIGOROSE c7

DESCRIZIONI RIGOROSE c7 DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei

Dettagli

Fondamenti di Programmazione. Strutture di controllo

Fondamenti di Programmazione. Strutture di controllo Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due

Dettagli

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE

Dettagli

Lezione 5. La macchina universale

Lezione 5. La macchina universale Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=

Dettagli

Espressioni ed operatori in C

Espressioni 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

Dettagli

L intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.

L intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero. ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}

Dettagli

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione

Dettagli

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

Dettagli

Aritmetica in Floating Point

Aritmetica in Floating Point Aritmetica in Floating Point Esempio di non associatività Alcune proprietà delle operazioni in aritmetica esatta possono non valere in aritmetica finita in virgola mobile (floating point). Ad esempio:

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

Variabili strutturate

Variabili strutturate Esempio Ordinamento crescente di numeri: 25 7 I passo: 25 7 25 7 7 25 7 25 Variabili strutturate in due scambi 25 è stato portato al suo posto Gli array II passo: 7 25 7 25 7 25 in uno scambio 7 è stato

Dettagli

linguaggio di programmazione e programma

linguaggio di programmazione e programma I/O bus CPU memoria elementi di Sistemi Informatici il segnale digitale: conversione analogico-numerica esempi di supporti di memorizzazione dell informazione computer: definizione e struttura (modello

Dettagli

CORSO DI ELEMENTI DI INFORMATICA

CORSO DI ELEMENTI DI INFORMATICA CORSO DI ELEMENTI DI INFORMATICA Corso di Laurea Triennale in Ingegneria Gestionale della Logistica e della Produzione Area didattica Ingegneria Elettrica a.a. 2016/2017 Docente: Ing. Domenico Amalfitano

Dettagli

Introduzione al Linguaggio C

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

Dettagli

= < < < < < Matematica 1

= < < < < < Matematica  1 NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato

Dettagli

Grammatiche Parse trees Lezione del 17/10/2012

Grammatiche Parse trees Lezione del 17/10/2012 Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli

Informatica Applicata al Suono Tutorial Matlab

Informatica Applicata al Suono Tutorial Matlab Prof. Mario Malcangi malcangi@di.unimi.it MATLAB è un linguaggio di alto livello e un ambiente interattivo per il calcolo numerico, l'analisi e la visualizzazione dei dati e la programmazione. MATLAB consente

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Laboratorio di programmazione

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

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi posizionali

Dettagli

Programmazione in Python. Moreno Marzolla

Programmazione in Python. Moreno Marzolla Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato 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

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

1 Il Paradigma Imperativo

1 Il Paradigma Imperativo 1 Il Paradigma Imperativo 1.1 Imp : un semplice linguaggio imperativo Abbiamo visto in Fun un meccanismo eager per la valutazione dei parametri di una funzione ed un meccanismo lazy. Una situazione analoga

Dettagli

Introduzione alla programmazione in C(++)

Introduzione alla programmazione in C(++) Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie

Dettagli

La principale modalità di calcolo è l applicazione di funzioni

La principale modalità di calcolo è l applicazione di funzioni 1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli