Biologia Computazionale Giulio Pavesi

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

I Linguaggi di programmazione
Informatica Generale Marzia Buscemi
INFORMATICA Strutture condizionali
Il Software.
Software di base: Linguaggi di Programmazione
Evoluzione dei linguaggi di programmazione
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
I linguaggi di programmazione
Definizione e tipi di implementazione
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Introduzione alla programmazione ll
Introduzione alla programmazione lll
Il Linguaggio Macchina
Unità Didattica 2 I Linguaggi di Programmazione
Primi Elementi di Programmazione in C++
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Elementi di Informatica
Elementi di Informatica
Biologia Computazionale - Algoritmi
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
Biologia Computazionale
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
CODIFICA Da flow-chart a C++.
Lezione 6 Strutture di controllo Il condizionale
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
ECDL Patente europea del computer
Programma di Informatica Classi Prime
Biologia Computazionale
Dal problema all’ algoritmo
Introduzione a Javascript
Vettori (a una dimensione)
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
ALGORITMI Dal problema al programma Definizione di algoritmo
Programmazione dei Calcolatori Elettronici
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Biologia Computazionale Giulio Pavesi

Biologia Computazionale? Computational Biology, sometimes referred to as bioinformatics, is the science of using biological data to develop algorithms and relations among various biological systems. Prior to the advent of computational biology, biologists were unable to have access to large amounts of data. Researchers were able to develop analytical methods for interpreting biological information, but were unable to share them quickly among colleagues (Wikipedia)

Biologia Computazionale? Bioinformatics: Research, development, or application of computational tools and approaches for expanding the use of biological, medical, behavioral or health data, including those to acquire, store, organize, analyze, or visualize such data. Computational Biology: The development and application of data-analytical and theoretical methods, mathematical modeling and computational simulation techniques to the study of biological, behavioral, and social systems.

Programmare? Algoritmo: sequenza di operazioni che a partire da un insieme di dati iniziali (input) produce un insieme di dati finali (output) Algoritmo: sequenza di operazioni che a partire da un insieme di dati iniziali (input) produce un insieme di dati finali (output) Un algoritmo “ descrive ” il procedimento per risolvere un problema, e può essere scritto in linguaggio “ naturale ” o con apposite rappresentazioni ( “ pseudocodici ”, diagrammi di flusso) ma NON dipende da linguaggi di programmazione Un algoritmo “ descrive ” il procedimento per risolvere un problema, e può essere scritto in linguaggio “ naturale ” o con apposite rappresentazioni ( “ pseudocodici ”, diagrammi di flusso) ma NON dipende da linguaggi di programmazione Programmazione: implementazione di uno o più algoritmi in un dato linguaggio di programmazione  descrivo le operazioni con comandi che possono essere eseguiti da un computer Programmazione: implementazione di uno o più algoritmi in un dato linguaggio di programmazione  descrivo le operazioni con comandi che possono essere eseguiti da un computer

Il primo algoritmo della storia "If some one say: "You divide ten into two parts: multiply the one by itself; it will be equal to the other taken eighty-one times." Computation: You say, ten less thing, multiplied by itself, is a hundred plus a square less twenty things, and this is equal to eighty-one things. Separate the twenty things from a hundred and a square, and add them to eighty-one. It will then be a hundred plus a square, which is equal to a hundred and one roots. Halve the roots; the moiety is fifty and a half. Multiply this by itself, it is two thousand five hundred and fifty and a quarter. Subtract from this one hundred; the remainder i s two thousand four hundred and fifty and a quarter. Extract the root from this; it is forty-nine and a half. Subtract this from the moiety of the roots, which is fifty and a half. There remains one, and this is one of the two parts.” [Risolveva: (10-x) 2 =81x]

Programmi ed algoritmi Quando si vuole risolvere un problema utilizzando un computer è necessario prima “ disegnare ” un algoritmo per la soluzione Quando si vuole risolvere un problema utilizzando un computer è necessario prima “ disegnare ” un algoritmo per la soluzione L ’ algoritmo deve essere indipendente dalla successiva implementazione (codifica) in un linguaggio di programmazione L ’ algoritmo deve essere indipendente dalla successiva implementazione (codifica) in un linguaggio di programmazione L ’ algoritmo descrive un procedimento che, partendo da dati di input (l ’ istanza del problema), esegue un insieme di istruzioni o operazioni, in un ordine stabilito, che al termine produce come risultato (output) la soluzione del problema L ’ algoritmo descrive un procedimento che, partendo da dati di input (l ’ istanza del problema), esegue un insieme di istruzioni o operazioni, in un ordine stabilito, che al termine produce come risultato (output) la soluzione del problema

Programmi ed algoritmi I passi (istruzioni) dell ’ algoritmo devono essere I passi (istruzioni) dell ’ algoritmo devono essere Finiti (l ’ algoritmo deve terminare) Finiti (l ’ algoritmo deve terminare) Non ambigui Non ambigui Terminare e produrre un output corretto per ogni istanza del problema Terminare e produrre un output corretto per ogni istanza del problema Ad esempio, una ricetta *non* è un algoritmo se scrive “ aggiungere un pizzico di sale ” ; lo è se scrive “ aggiungere 0,5 g di sale ” Ad esempio, una ricetta *non* è un algoritmo se scrive “ aggiungere un pizzico di sale ” ; lo è se scrive “ aggiungere 0,5 g di sale ” Ad esempio, dato il problema “ Dati a, b, c risolvere l ’ equazione di secondo grado con coefficienti a,b,c ” deve prevedere tutti i casi diversi che si possono presentare per i valori di a,b,c (equazione impossibile, di primo grado, etc.) Ad esempio, dato il problema “ Dati a, b, c risolvere l ’ equazione di secondo grado con coefficienti a,b,c ” deve prevedere tutti i casi diversi che si possono presentare per i valori di a,b,c (equazione impossibile, di primo grado, etc.)

Programmi ed algoritmi Per molti problemi (quelli più difficili!) possono esistere più metodi di soluzione e quindi più algoritmi Per molti problemi (quelli più difficili!) possono esistere più metodi di soluzione e quindi più algoritmi L ’ algoritmo migliore è quello più “ efficiente ”, ovvero quello che implementato richiede meno risorse di calcolo (tempo, spazio su memoria o su disco) per produrre una soluzione esatta L ’ algoritmo migliore è quello più “ efficiente ”, ovvero quello che implementato richiede meno risorse di calcolo (tempo, spazio su memoria o su disco) per produrre una soluzione esatta La “ teoria degli algoritmi ” si occupa di stimare - indipendentemente dall ’ implementazione - il numero di operazioni “ atomiche ” o elementari e lo spazio richiesti da un algoritmo, in modo da decidere a priori quale possa essere la soluzione migliore La “ teoria degli algoritmi ” si occupa di stimare - indipendentemente dall ’ implementazione - il numero di operazioni “ atomiche ” o elementari e lo spazio richiesti da un algoritmo, in modo da decidere a priori quale possa essere la soluzione migliore

Programmi ed algoritmi Un algoritmo può essere descritto in vari modi, purché rispetti le condizioni precedenti Un algoritmo può essere descritto in vari modi, purché rispetti le condizioni precedenti Ad esempio, si possono usare: Ad esempio, si possono usare: Linguaggio naturale Linguaggio naturale Diagramma di flusso Diagramma di flusso “ Pseudocodice ” “ Pseudocodice ” Il linguaggio naturale si presta a semplici algoritmi, ma già algoritmi per problemi “ semplici ” come l ’ equazione di secondo grado diventano di difficile “ lettura ” se descritti così Il linguaggio naturale si presta a semplici algoritmi, ma già algoritmi per problemi “ semplici ” come l ’ equazione di secondo grado diventano di difficile “ lettura ” se descritti così “ Se a è uguale a zero, allora è un equazione di primo grado, la cui soluzione, se b e c sono diversi da zero è data da meno uno per b diviso per c, altrimenti.... ”

Diagramma di flusso Un “ diagramma di flusso ” descrive il “ flusso di calcolo ” di un algoritmo Un “ diagramma di flusso ” descrive il “ flusso di calcolo ” di un algoritmo E ’ suddiviso in blocchi: in ciascun blocco l ’ algoritmo compie un ’ operazione E ’ suddiviso in blocchi: in ciascun blocco l ’ algoritmo compie un ’ operazione Archi orientati (frecce) collegano un blocco all ’ altro, indicando la sequenza delle operazioni da compiere Archi orientati (frecce) collegano un blocco all ’ altro, indicando la sequenza delle operazioni da compiere Alcuni blocchi sono “ condizionali ” (o di “ selezione ”, di solito a forma di rombo), ovvero il blocco (istruzione) successivo dipenderà dalla condizione descritta dal blocco stesso: a seconda del fatto che la condizione sia soddisfatta o meno, saranno possibili due scelte per il passo successivo (e quindi ci saranno due archi uscenti) Alcuni blocchi sono “ condizionali ” (o di “ selezione ”, di solito a forma di rombo), ovvero il blocco (istruzione) successivo dipenderà dalla condizione descritta dal blocco stesso: a seconda del fatto che la condizione sia soddisfatta o meno, saranno possibili due scelte per il passo successivo (e quindi ci saranno due archi uscenti)

Delta = b 2 -4ac Delta < 0? Scrivi “ l ’ equazione non ha soluzioni reali ” x1=(-b+Delta)/2a x2=(-b-Delta)/2a Scrivi “ L ’ equazione ha soluzioni x1 e x2 ” Delta = 0? x=-b/2a Scrivi “ L ’ equazione ha due soluzioni coincidenti = x ” VERO FALSO

“ Pseudocodice ” “ Simula ” uno “ pseudo ” linguaggio di programmazione, e descrive l ’ algoritmo utilizzando le “ pseudo-istruzioni ” del linguaggio di programmazione “ Simula ” uno “ pseudo ” linguaggio di programmazione, e descrive l ’ algoritmo utilizzando le “ pseudo-istruzioni ” del linguaggio di programmazione Lo pseudocodice deve comunque essere indipendente dal linguaggio in cui si scriverà il programma Lo pseudocodice deve comunque essere indipendente dal linguaggio in cui si scriverà il programma Deve quindi contenere un insieme “ minimale ” di istruzioni che ci aspettiamo essere comuni a tutti i linguaggi (vedi dispense) Deve quindi contenere un insieme “ minimale ” di istruzioni che ci aspettiamo essere comuni a tutti i linguaggi (vedi dispense)

Lo “ pseudolinguaggio ” Possiamo assumere che il linguaggio di programmazione che usiamo conterrà operazioni: Possiamo assumere che il linguaggio di programmazione che usiamo conterrà operazioni: Leggi/Scrivi (input/output) Leggi/Scrivi (input/output) Operazioni (e funzioni) matematiche Operazioni (e funzioni) matematiche Assegnamento: assegnare un valore a una variabile Assegnamento: assegnare un valore a una variabile Selezione: SE(condizione)...ALLORA...ALTRIMENTI Selezione: SE(condizione)...ALLORA...ALTRIMENTI Iterazione: ESEGUIFINCHE ’ (condizione) - esegue finché la condizione è vera Iterazione: ESEGUIFINCHE ’ (condizione) - esegue finché la condizione è vera Iterazione: PEROGNI elemento IN collezione Iterazione: PEROGNI elemento IN collezione

“ Iterazioni ” E ’ possibile fare ripetere all ’ algoritmo lo stesso insieme di operazioni un qualsiasi numero n di volte, senza bisogno di scriverle esplicitamente n volte E ’ possibile fare ripetere all ’ algoritmo lo stesso insieme di operazioni un qualsiasi numero n di volte, senza bisogno di scriverle esplicitamente n volte n può n può essere un numero prefissato essere un numero prefissato una variabile il cui valore può variare durante l ’ esecuzione dell ’ algoritmo una variabile il cui valore può variare durante l ’ esecuzione dell ’ algoritmo dipendere dal fatto che una condizione venga soddisfatta o meno (ovvero, le istruzioni vengono ripetute finché la condizione è soddisfatta) dipendere dal fatto che una condizione venga soddisfatta o meno (ovvero, le istruzioni vengono ripetute finché la condizione è soddisfatta)

Esempio: calcola 2 n Leggi n contatore = 0 potenza = 1 ESEGUIFINCHE ’ (contatore < n) potenza = potenza * 2 contatore = contatore + 1 FINE ESEGUIFINCHE ’ Scrivi “ Due alla ” n “ è uguale a ” potenza

“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali Le variabili possono essere di tipo diverso, a seconda dei dati che trattiamo, ad esempio Le variabili possono essere di tipo diverso, a seconda dei dati che trattiamo, ad esempio Numeri interi Numeri interi Numeri reali Numeri reali Matrici Matrici Parole costruite su un alfabeto Parole costruite su un alfabeto Vettori Vettori Anche in questo caso dobbiamo prevedere un insieme “ minimale ” di tipi di variabili su cui lavorare con lo pseudocodice Anche in questo caso dobbiamo prevedere un insieme “ minimale ” di tipi di variabili su cui lavorare con lo pseudocodice

Programmare? Algoritmo: sequenza di operazioni che a partire da un insieme di dati iniziali (input) produce un insieme di dati finali (output) Algoritmo: sequenza di operazioni che a partire da un insieme di dati iniziali (input) produce un insieme di dati finali (output) Un algoritmo “ descrive ” il procedimento per risolvere un problema, e può essere scritto in linguaggio “ naturale ” o con apposite rappresentazioni ( “ pseudocodici ”, diagrammi di flusso) ma NON dipende da linguaggi di programmazione Un algoritmo “ descrive ” il procedimento per risolvere un problema, e può essere scritto in linguaggio “ naturale ” o con apposite rappresentazioni ( “ pseudocodici ”, diagrammi di flusso) ma NON dipende da linguaggi di programmazione Programmazione: implementazione di uno o più algoritmi in un dato linguaggio di programmazione  descrivo le operazioni con comandi che possono essere eseguiti da un computer Programmazione: implementazione di uno o più algoritmi in un dato linguaggio di programmazione  descrivo le operazioni con comandi che possono essere eseguiti da un computer

La struttura interna di un computer

Linguaggi di programmazione Computer (PC, MAC, smartphone) Programma in memoria RAM (C, Pascal, Perl, Python…)

Linguaggi di programmazione Computer Programma (C, Pascal, Perl, Python…) Traduttore in linguaggio macchina (specifico del linguaggio usato)

Linguaggi di programmazione Computer Programma Traduttore in linguaggio macchina Sistema Operativo (Unix, Windows Mac OSX)

Linguaggi di programmazione I computer “ capiscono ” soltanto il proprio linguaggio macchina I computer “ capiscono ” soltanto il proprio linguaggio macchina Insieme di istruzioni di “ basso livello ” che consentono di Insieme di istruzioni di “ basso livello ” che consentono di leggere/scrivere nella memoria leggere/scrivere nella memoria eseguire operazioni sul contenuto dei registri (tipo somma e operazioni logiche) eseguire operazioni sul contenuto dei registri (tipo somma e operazioni logiche) “ saltare ” da una parte all ’ altra del programma “ saltare ” da una parte all ’ altra del programma controllare se una data condizione è verificata controllare se una data condizione è verificata Quindi, il linguaggio utilizzato varia a seconda dell ’ “ architettura ” e del sistema operativo (PC vs Mac, PC Windows vs PC Linux etc...) Quindi, il linguaggio utilizzato varia a seconda dell ’ “ architettura ” e del sistema operativo (PC vs Mac, PC Windows vs PC Linux etc...)

Linguaggio “ macchina ” Esempio di istruzioni in linguaggio macchina Esempio di istruzioni in linguaggio macchina Leggi il contenuto della cella di memoria Leggi il contenuto della cella di memoria Leggi il contenuto della cella di memoria Leggi il contenuto della cella di memoria Somma i due valori letti Somma i due valori letti Scrivi il risultato della somma nella cella di memoria Scrivi il risultato della somma nella cella di memoria (più possibilità di confronti, condizioni e cicli)

Linguaggio “ macchina ” Esempio di istruzioni in linguaggio macchina, lettura di un file da disco Esempio di istruzioni in linguaggio macchina, lettura di un file da disco Fai partire il motore che fa ruotare il disco Fai partire il motore che fa ruotare il disco Cerca sul disco la posizione dell ’ inizio del file Cerca sul disco la posizione dell ’ inizio del file Copia il contenuto di una parte del file in memoria RAM Copia il contenuto di una parte del file in memoria RAM Cerca sul disco il pezzo successivo di file Cerca sul disco il pezzo successivo di file …. …. (di solito, operazioni di questo tipo sono gestite dal sistema operativo, che fa da “ interfaccia ” per tutto quello che riguarda l ’ utilizzo dell ’ hardware della macchina)

Linguaggi di Programmazione Scrivere un programma in linguaggio macchina è un incubo (detto da uno che l ’ ha fatto!) Scrivere un programma in linguaggio macchina è un incubo (detto da uno che l ’ ha fatto!) Esistono linguaggi di programmazione di “ alto livello ” Esistono linguaggi di programmazione di “ alto livello ” Per poter essere compresi dal programma devono prima essere tradotti da programmi appositi, ovvero, trasformati nel “ linguaggio macchina ” della macchina che stiamo usando Per poter essere compresi dal programma devono prima essere tradotti da programmi appositi, ovvero, trasformati nel “ linguaggio macchina ” della macchina che stiamo usando La traduzione dipende dall ’ architettura del computer (ovvero il processore) e dal sistema operativo in cui il programma viene tradotto La traduzione dipende dall ’ architettura del computer (ovvero il processore) e dal sistema operativo in cui il programma viene tradotto Il computer “ capisce ” un linguaggio di programmazione se è installato un apposito “ traduttore ” specifico del linguaggio Il computer “ capisce ” un linguaggio di programmazione se è installato un apposito “ traduttore ” specifico del linguaggio

Linguaggi di Programmazione Il programma può essere tradotto in linguaggio macchina prima dell ’ esecuzione, o durante l ’ esecuzione Il programma può essere tradotto in linguaggio macchina prima dell ’ esecuzione, o durante l ’ esecuzione Linguaggi compilati Linguaggi compilati Il traduttore (compilatore) traduce tutto il programma in una volta sola, producendo un programma in linguaggio macchina (eseguibile) Il traduttore (compilatore) traduce tutto il programma in una volta sola, producendo un programma in linguaggio macchina (eseguibile) Esempio: C, C++ Esempio: C, C++ Linguaggi interpretati Linguaggi interpretati Il traduttore (interprete) traduce un ’ istruzione alla volta, mano a mano che il programma viene eseguito Il traduttore (interprete) traduce un ’ istruzione alla volta, mano a mano che il programma viene eseguito Esempio: Perl, Python Esempio: Perl, Python I linguaggi “ compilati ” sono in genere molto più veloci degli “ interpretati ” (c ’ è in meno il tempo di traduzione) I linguaggi “ compilati ” sono in genere molto più veloci degli “ interpretati ” (c ’ è in meno il tempo di traduzione) I linguaggi “interpretati” sono più comodi da distribuire I linguaggi “interpretati” sono più comodi da distribuire Java: prima compilato in un linguaggio macchina “ virtuale ” (byte code) che viene poi interpretato quando il programma viene eseguito  “ portabile ” su diversi computer, indipendentemente da CPU e SO Java: prima compilato in un linguaggio macchina “ virtuale ” (byte code) che viene poi interpretato quando il programma viene eseguito  “ portabile ” su diversi computer, indipendentemente da CPU e SO

Linguaggi di Programmazione Linguaggi compilati, vantaggi Linguaggi compilati, vantaggi Più veloce l ’ esecuzione Più veloce l ’ esecuzione Più flessibili e più maneggiabili dal programmatore esperto Più flessibili e più maneggiabili dal programmatore esperto Una volta compilato, se si ha lo stesso computer/SO è sufficiente avere l ’ eseguibile Una volta compilato, se si ha lo stesso computer/SO è sufficiente avere l ’ eseguibile Linguaggi interpretati, vantaggi Linguaggi interpretati, vantaggi Più semplici da utilizzare per il programmatore inesperto Più semplici da utilizzare per il programmatore inesperto Il programma può essere eseguito su qualsiasi computer/SO, a patto che sia installato il traduttore/interprete per il linguaggio Il programma può essere eseguito su qualsiasi computer/SO, a patto che sia installato il traduttore/interprete per il linguaggio Perl: vedi appunti del corso, è un linguaggio interpretato e non tipizzato Perl: vedi appunti del corso, è un linguaggio interpretato e non tipizzato

Linguaggi di Programmazione Un qualsiasi linguaggio di programmazione ha una sua precisa sintassi Un qualsiasi linguaggio di programmazione ha una sua precisa sintassi Interpreti e compilatori verificano innanzitutto che la sintassi sia corretta Interpreti e compilatori verificano innanzitutto che la sintassi sia corretta Un qualsiasi linguaggio di programmazione ha un insieme di “ comandi ” o comunque parole chiave che sono interpretate come istruzioni da eseguire Un qualsiasi linguaggio di programmazione ha un insieme di “ comandi ” o comunque parole chiave che sono interpretate come istruzioni da eseguire Interpreti e compilatori verificano anche che i “ comandi ” del programma siano effettivamente riconosciuti come istruzioni del linguaggio Interpreti e compilatori verificano anche che i “ comandi ” del programma siano effettivamente riconosciuti come istruzioni del linguaggio I linguaggi di programmazione moderni sono “espandibili”: combinando le istruzioni già disponibili posso creare “funzioni”, che a tutti gli effetti diventano nuove istruzioni del linguaggio I linguaggi di programmazione moderni sono “espandibili”: combinando le istruzioni già disponibili posso creare “funzioni”, che a tutti gli effetti diventano nuove istruzioni del linguaggio

Linguaggi di Programmazione Regole di sintassi (esempi) Regole di sintassi (esempi) Ogni comando deve essere seguito da punto e virgola ; (esempio print ” Ciao ” ;) Ogni comando deve essere seguito da punto e virgola ; (esempio print ” Ciao ” ;) Per ogni parentesi aperta (tonda, quadra o graffa) deve esserci la corrispondente parentesi chiusa Per ogni parentesi aperta (tonda, quadra o graffa) deve esserci la corrispondente parentesi chiusa Tutte le virgolette (semplici o doppie) aperte devono essere chiuse Tutte le virgolette (semplici o doppie) aperte devono essere chiuse