28
Fondamenti Teorici e Programmazione Modulo A: Elementi di Programmazione Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento di Informatica email: [email protected] E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 1

Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Embed Size (px)

Citation preview

Page 1: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Fondamenti Teorici e ProgrammazioneModulo A: Elementi di Programmazione

Corso di Laurea in Informatica Umanisticaa.a. 2013/2014

E.Occhiuto

Dipartimento di Informaticaemail: [email protected]

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 1

Page 2: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Introduzione al corso Informazioni generali

Informazioni generali

I Pagina web corso: http://www.di.unipi.it/~occhiuto/Umanistica

oppure accedendo da http://www.di.unipi.it/~occhiuto

I Ricevimento studenti: su appuntamento mandando un’ emaila:[email protected]

I Modalita d’esame

Prova scrittaProva orale (con voto ≥ 16 allo scritto)Due prove in itinere.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 2

Page 3: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Introduzione al corso Informazioni generali

Materiale didattico

I I lucidi delle lezioni resi disponibili sulla pagina web

I Programmazione in JavaScript: Prima parte, Nota didattica, V.Ambriola. Scaricabile dalla pagina web.

I Testi consigliati per consultazione:I J. Pollock. Fondamenti di JavaScript (seconda edizione italiana).

McGraw-Hill, 2004.I D. Gosselin, JavaScript. Apogeo, 2000.I D. Flanagan, JavaScript. La guida (quarta edizione). Apogeo -

OOReilly, 2002.I T. Negrino, D. Smith, JavaScript per il World Wide Web.

Addison-Wesley, 2000.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 3

Page 4: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Introduzione al corso Programma di massima del corso

Programma di massima del corso

I Concetti di base della programmazioneI La programmazione nel linguaggio JavaScript

I EspressioniI VariabiliI AssegnamentoI FunzioniI Costrutti di controllo

I CondizionaliI Iteratori

I Array

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 4

Page 5: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Informatica

Informatica significa Informazione automatica. Per fornire informazione enecessario:

I comprendere la richiesta. Es. Tra quanto passa l’espresso per Torino?

I disporre dei dati necessari. L’espresso per Torino passa alle 12. Sonole 11.30

I essere in grado di elaborarli. Saper calcolare 12.00− 11, 30 = 0.30

I comunicare la risposta. Tra 30 minuti

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 5

Page 6: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Informazione automatica

L’informazione automatica viene fornita da una macchina che:

I per comprendere la richiesta. deve avere un dispositivo che permettadi specificare la richiesta, ad es. attraverso dei tasti

I avere i dati necessari a disposizione. scritti su un dispositivo dimemorizzazione

I essere in grado di elaborarli. Saper calcolare la funzione che in basealla richiesta e ai dati memorizzati calcola la risposta

I comunicare la risposta. Avere un dispositivo su cui comunicare ilrisultato del calcolo.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 6

Page 7: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Un esempio: la calcolatrice

I La calcolatriceI ha 10 tasti per specificare le cifreI ha 4 tasti per specificare le operazioni (funzioni) da calcolareI una memoria su cui mantenere i risultati parzialiI un foglio o un display sui cui stampare (o visualizzare) il risultato

I Analogamente posso definire altre macchine che calcolano altrefunzioni su altri dati ma...

I ogni macchina e limitata ad un numero finito di operazioni mentreper i dati..

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 7

Page 8: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Prodotto cartesiano

Definizione Dati due insiemi A e B il prodotto cartesiano A× B l’insiemedi tutte le possibili coppie (a, b) tali che a ∈ A e b ∈ B.Esempio: A = 0, 1, 2 e B = ′a′,′ b′ calcoliamo il prodotto cartesiano:A× B = (0,′ a′), (0,′ b′), (1,′ a′), (1,′ b′), (2,′ a′), (2,′ b′), Cosa accade seuno dei due insiemi e l’insieme vuoto? Indicato o alternativamente ∅Cioe cosa vale A× ? o × A?Esercizi Dati A e B definiti sopra e se C = 1 Calcolare:

1. B × A,

2. A× A =

3. B × B =

4. C × B =,

5. A× C =

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 8

Page 9: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Funzione

Definizione Dati due insiemi A e B una funzione e un sottoinsieme delprodotto cartesiano A×B (A e il dominio e B e codominio della funzione),tale che ∀x ∈ A esiste uno e uno solo elemento y ∈ B tale che (x , y) ∈ f .

Si scrive f : A→ B. Con f (a) si indica l’applicazione di f ad a che calcolal’elemento b ∈ B.Esempio: Se A = 0, 1, 2 e B = ′a′,′ b′ una funzione f : A→ B puoessere l’insieme: (0,′ a′), (1,′ b′), (2,′ a′)

Nota La cosa importante e che dato un elemento del dominio A siaunivocamente determinato il valore del codominio ovvero il valorecalcolato dalla funzione (risultato della funzione)

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 9

Page 10: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Definizione delle funzioni

Esempio: La funzione successore (+1) sui numeri naturali (N) puoessere descritta definendo il seguente insieme (definizione estenzionale)(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)...

Il problema della seconda definizione quale e? Quanti elementi contienel’insieme delle coppie che definisce la funzione?una interessante alternativa e la seguente formula (definizioneintenzionale): ∀x ∈ N successore(x) = x + 1

Se sono in grado si calcolare la somma di 2 interi sono in grado calcolaredato un elemento del dominio e la definizione intenzionale della funzionel’elemento del codominio corrispondente.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 10

Page 11: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Funzioni calcolabili

Tutte le funzioni hanno una descrizione intenzionale?

No solo un sottoinsieme detto delle funzioni calcolabili, chechiamiamo Ω Le funzioni calcolabili sono quelle per le quali esiste unmodo effettivo di calcolarle (algoritmo)

Gli studi sulle funzioni calcolabili cercavano delle risposte alle seguentidomande:

I Quante sono le funzioni calcolabili?

I Quali sono le funzioni che una macchina puo calcolare?

I Posso costruire una macchina per ogni funzione calcolabile?

I E possibile costruire una macchina che calcoli tutte le funzionicalcolabili?

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 11

Page 12: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Funzioni calcolabili

1. Le funzioni calcolabili sono infinite (numerabili)

2. Si! posso costruire una macchina per ogni funzione calcolabile

3. Ma la vera cosa interessante e che posso costruire una macchina checalcoli tutte le (infinite) funzioni calcolabili: questa macchina e ilmoderno calcolatore.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 12

Page 13: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Importanti proprieta di Ω

I contiene tutte le funzioni i cui valori possono essere calcolati in modoeffettivo: non solo concepiti (Es. razionali vs. reali).

I Ogni funzione calcolabile ha una (?) descrizione finita D. Es. lafunzione fattorale ha la seguente descrizione:

I D(fatt)fatt (0) = 1fatt (n+1) = (n+1) * fatt (n)

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 13

Page 14: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Funzione Universale UΩ

I Esiste una funzione universale UΩ che calcola tutte le funzionicalcolabili: ∀f ∈ Ω, ∀ descrizione D(f ), ∀ valore n nel dominio di fUΩ(D(f ), n) = f (n)

I UΩ ∈ Ω ovvero e calcolabile

I Il calcolatore e una realizzazione di UΩ cioe calcola prendendo comedati la descrizione della funzione da calcolare D(f) e i valori (n) su cuicalcolare f.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 14

Page 15: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Linguaggi di programmazione

Aspetto fondamentale e la descrizione della funzione e il linguaggio in cuitale descrizione e data.

I Linguaggi per descrivere funzioni sono chiamati linguaggi diprogrammazione

I Sono formalismi, con sintassi e semantica formalmente definite.

I I linguaggi di programmazione, possono essere classificati in base avarie caratteristiche (general/special purpose, linguaggi di scripting,ecc.)

I Le descrizioni delle funzioni da calcolare sono frasi in un linguaggio diprogrammazione e sono detti programmi.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 15

Page 16: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Linguaggi di programmazione

I I linguaggi di programmazione (general purpose) sono tuttiequivalenti: Se ho DL1(f ) programma nel linguaggio L1 e DL2(f )programma nel linguaggio L2 che calcolano la stessa funzioneabbiamo:

DL1(f )→ DL2(f )

I La traduzione e una funzione calcolabile e quindi descrivibile con unprogramma, che quindi puo essere eseguito da un calcolatore.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 16

Page 17: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Il linguaggio macchina

Il linguaggio direttamente eseguibile dal calcolatore (detto linguaggiomacchina) e un linguaggio di programmazione poco comprensibile agliumani (programmatori) che devono scrivere il programma perche:

I le operazioni sono molto semplici,

I sono specificate in binario: sequenze di 0 e 1 quindi

I specificare un’operazione complessa richiede la scrittura di un lungoprogramma, incomprensibile.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 17

Page 18: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Cosa e?

Linguaggi ad alto livello

I Tutti i programmi vengono scritti in un linguaggio ad alto livello (pervoi il JavaScript) e sono molto piu:

I compatti,I comprensibiliI modificabiliI estendibiliI correggibili

I i programmi di tali linguaggi devono pertanto essere tradotti inlinguaggio macchina per poter essere eseguiti.

I Fortunatamente la traduzione (come abbiamo gia detto) puo esserefatta dalla macchina stessa.

I I programmi che effettuano la traduzione si chiamano compilatori

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 18

Page 19: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Le fasi della programmazione

Ad un primo livello di astrazione l’attivita della programmazione puoessere suddivisa in quattro (macro) fasi principali.

1. Definizione del problema (specifica): quale funzione si vuole calcolaree quali sono i dati di interesse

2. Individuazione di un procedimento risolutivo (algoritmo)

3. Codifica dell’algoritmo in un linguaggio di programmazione (codifica)

4. Esecuzione e messa a punto (esecuzione)

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 19

Page 20: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Specifica

I La prima fase della programmazione consiste nel comprendere edefinire (specificare) il problema che si vuole risolvere.

I La specifica del problema puo essere fatta in maniera piu o menorigorosa, a seconda del formalismo descrittivo utilizzato.

I La specifica di un problema prevede la descrizione dello stato inizialedel problema (dati iniziali, input) e dello stato finale atteso (i risultati,output).

I La caratterizzazione degli stati iniziale e finale dipende dal particolareproblema in esame e dagli oggetti di interesse.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 20

Page 21: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Esempi di specifica informale

1. Dati due numeri, trovare il maggiore.

2. Dato un elenco telefonico e un nome, trovare il numero di telefonocorrispondente.

3. Data la struttura di una rete stradale e le informazioni sui flussi deiveicoli, determinare il percorso piu veloce da A a B.

I la descrizione (es 3) non fornisce un metodo risolutivo

I la descrizione (es 2) del problema puo essere ambigua o imprecisa (secon Mario Rossi compare piu volte)

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 21

Page 22: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Algoritmi

I Una volta specificato il problema, si determina un procedimentorisolutivo dello stesso (algoritmo), ovvero un insieme di azioni daintraprendere per ottenere i risultati attesi.

I Il concetto di algoritmo ha origini molto lontane: l’uomo ha utilizzatospesso algoritmi per risolvere problemi di varia natura. Solo in eramoderna, tuttavia, ci si e posti il problema di caratterizzare problemie classi di problemi per i quali e possibile individuare una soluzionealgoritmica e solo nel secolo scorso e stato dimostrato che esistonoproblemi per i quali non e possibile individuare una soluzionealgoritmica (non esiste una funzione calcolabile).

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 22

Page 23: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Algoritmi (cont.)

I Utilizziamo algoritmi nella vita quotidiana tutte le volte che, adesempio, seguiamo le istruzioni per il montaggio di unaapparecchiatura, per la sostituzione della cartuccia di una stampante,per impostare il ciclo di lavaggio di una lavastoviglie, per prelevarecontante da uno sportello Bancomat, ecc.

Un algoritmo e una sequenza di passi che, se intrapresada un esecutore, permette di ottenere i risultati attesi

a partire dai dati forniti.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 23

Page 24: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Proprieta di un algoritmo

La descrizione di un procedimento risolutivo puo considerarsi unalgoritmo se rispetta alcuni requisiti essenziali, tra i quali:

Finitezza: un algoritmo deve essere composto da una sequenzafinita di passi elementari.

Eseguibilita: il potenziale esecutore deve essere in grado di eseguireogni singola azione in tempo finito con le risorse adisposizione

Non-ambiguita: l’esecutore deve poter interpretare in modo univocoogni singola azione.

Tipici procedimenti che non rispettano alcuni dei requisiti precedentisono:

I le ricette di cucina: aggiungere sale q.b. - non rispetta 3)I le istruzioni per la compilazione della dichiarazione dei redditi (!)

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 24

Page 25: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Codifica

I Questa fase consiste nell’individuare una rappresentazione deglioggetti di interesse del problema ed una descrizione dell’algoritmo inun opportuno linguaggio noto all’esecutore.

I Nel caso in cui si intenda far uso di un elaboratore per l’esecuzionedell’algoritmo, quest’ultimo deve essere tradotto (codificato) in unopportuno linguaggio di programmazione. Il risultato in questo caso eun programma eseguibile al calcolatore.

I Quanto piu il linguaggio di descrizione dell’algoritmo e vicino allinguaggio di programmazione scelto, tanto piu semplice e la fase ditraduzione e codifica. Se addirittura il linguaggio di descrizionecoincide con il linguaggio di programmazione, la fase di traduzione esuperflua.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 25

Page 26: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Codifica (cont.)

I linguaggi di programmazione forniscono strumenti linguistici perrappresentare gli algoritmi sottoforma di programmi che possanoessere compresi da un calcolatore.

In particolare dobbiamo rappresentare nel linguaggio diprogrammazione

I l’algoritmo

I le informazioni iniziali

I le informazioni utilizzatedall’algoritmo

I le informazioni finali

=⇒ programma

=⇒ dati in ingresso

=⇒ dati ausiliari

=⇒ dati in uscita

In questo corso impareremo a codificare algoritmi utilizzando illinguaggio di programmazione denominato JavaScript.

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 26

Page 27: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Esecuzione

Ci sono 2 possibilita :I Compilazione

I Il programma viene compilato: cioe tradotto in linguaggio macchina.Questa fase porta (quasi sempre) alla luce errori di vario genere(sintattici, o di tipo ma sempre statici).

I esecuzione del codice macchina. Anche questa fase puo portare allaluce errori, in questo caso di semantica (errori dinamici)

I Interpretazione Il programma viene eseguito da un emulatore deiprogrammi del linguaggio. L’emulatore, dato il programma ne calcolail risultato.

I In ogni caso la correzione degli errori puo richiedere la revisione diuna o piu fasi (dalla specifica, alla definizione dell’algoritmo, allacodifica di quest’ultimo).

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 27

Page 28: Fondamenti Teorici e Programmazione Modulo A: Elementi di ...occhiuto/UmanisticaLucidi/Presentazione.pdf · Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento

Concetti di base dell’informatica Le fasi della programmazione

Caratteristiche di JavaScript

I E un languaggio di script (/ing) cioe un linguaggio diprogrammazione che permette di scrivere script programmi scritti perun particolare ambiente (a runtime) che possono automatizzarel’esecuzione di operazioni che potrebbero alternativamente essereeseguiti da un operatore umano.

I Inizialmente i linguaggi di script non potevano esprimere tutte lefunzioni calcolabili, poi si sono evoluti. JavaScript e un linguaggio discript che:

I permette di esprimere tutte le funzioni calcolabiliI deve essere eseguito all’interno di un browserI permette di rendere dinamiche le pagine web.I e interpretatoI non e tipato

E. Occhiuto – Fondamenti Teorici e Programmazione- 437AA – pag. 28