Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale

Pagina creata da Mattia Manzo
 
CONTINUA A LEGGERE
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
Economia e Diritto
CORSI DI LAUREA TRIENNALE
Informatica Gestionale
Cap 6: Linguaggi di programmazione di alto livello
 Prof Luca Romeo
 Ricercatore T.D. / Sistemi di elaborazione delle informazioni (ING-INF/05)
 Contact mail: luca.romeo@unimc.it
 Contact phone: 0733.258.3280

 1
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

Obie vi del capitolo
‣ Linguaggio di programmazione
‣ Tipologie linguaggi di programmazione

 2
 tti
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

CODIFICARE/SVILUPPARE/PROGRAMMARE

‣ Il coding, o programmazione, consiste nello scrivere istruzioni che spiegano al
 tuo computer come far succedere certe cose. Queste istruzioni sono fatte di
 parole e numeri: quando li metti nell'ordine giusto, stai dicendo al computer
 cosa vuoi che faccia.

 3
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

CODIFICARE/SVILUPPARE/PROGRAMMARE

Joseph Weizenbaum

 4
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

COS’È UN LINGUAGGIO?

Dal dizionario (Treccani):

“Raccolta delle parole di una determinata lingua [...] disposta secondo criterî prefissati
e accompagnata generalmente dalla definizione del significato delle parole stesse.”

È una definizione poco precisa:
 ‣ non evita le ambiguità dei linguaggi naturali
 ‣ non si presta a descrivere processi computazionali meccanizzabili
 ‣ non aiuta a stabilire proprietà

 5
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LA NOZIONE DI LINGUAGGIO
‣ Occorre una nozione di linguaggio più precisa

‣ Linguaggio come sistema matematico che consenta di risponde a domande come:

 ‣ quali sono le parole e le frasi lecite?
 ‣ si può stabilire se una frase appartiene al linguaggio?
 ‣ come si stabilisce il significato di una frase?
 ‣ quali sono gli elementi linguistici primitivi?

 6
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGIO E PROGRAMMA

‣ Un linguaggio di programmazione è una notazione formale per descrivere
 algoritmi
‣ Un programma è la descrizione di un algoritmo in un particolare linguaggio di
 programmazione

 7
Economia e Diritto CORSI DI LAUREA TRIENNALE Informatica Gestionale
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGIO E PROGRAMMA
‣ Il “potere espressivo” (o espressività) di un linguaggio è caratterizzato da:

 ‣ quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell’utente)
 ‣ quali istruzioni di controllo mette a disposizione (quali operazioni e in quale ordine di
 esecuzione)

‣ PROGRAMMA = DATI + CONTROLLO

 8
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGIO E PROGRAMMA
‣ Un linguaggio è un insieme di frasi

‣ Una frase è una sequenza di simboli appartenenti a un certo alfabeto

‣ Proprietà desiderabili:

 ‣ Un linguaggio deve essere effettivamente generabile dalle sue regole grammaticali
 ‣ Un linguaggio di programmazione deve essere decidibile (cioè si deve poter decidere se
 una stringa appartiene o meno al linguaggio)

 9
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

 ALCUNE DEFINIZIONI

‣ Alfabeto V (o vocabolario o lessico)
 ‣ È l’insieme dei simboli con cui si costruiscono le frasi.

‣ Universo linguistico V* di un alfabeto V
 ‣ È l’insieme di tutte le frasi (sequenze finite di lunghezza arbitraria) di elementi di V.

‣ Linguaggio L su un alfabeto V
 ‣ È un sottoinsieme di V*.

 10
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

 ALCUNE DEFINIZIONI

‣ V = { il, la, gatto, muratore, crocchette, casa, costruisce, mangia} // alfabeto

‣ Allora:

‣ V* = { // universo linguistico
 il gatto muratore casa la,
 il muratore costruisce la casa,
 la casa mangia,
 ...
 }

 OVVIAMENTE: non tutte queste frasi faranno parte del linguaggio!

 11
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ALCUNE DEFINIZIONI

V = { if, else, ==, A, 0, =, +, 1, 2, (, ) }
 Allora:

V* = {
 if (A == 0) A = A + 2,
 if else A,
 if =A,
 ...
}
OVVIAMENTE: non tutte queste frasi faranno parte del linguaggio!

 12
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI E GRAMMATICHE

Problema:
Come specificare il sottoinsieme di V* che definisce il linguaggio?

Risposta:
Specificando in modo formale e preciso la sintassi delle frasi del linguaggio

.. tramite ..

una Grammatica Formale: una notazione matematica che consente di esprimere in modo
rigoroso la sintassi di un linguaggio.

 13
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

GRAMMATICA FORMALE

Una grammatica è una quadrupla

〈 VT, VN, P, S 〉

•VT è un insieme finito di simboli detti terminali
•VN è un insieme finito di simboli detti non terminali
•P è un insieme finito di produzioni, ossia di regole di riscrittura
•S è un particolare simbolo non-terminale detto simbolo iniziale o scopo della
grammatica

 14
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

GRAMMATICA B.N.F.

Una Grammatica B.N.F. (Backus-Naur Form) è una grammatica! in cui le produzioni hanno la
forma

X ::= A

dove:

•X ∈ VN è un simbolo non terminale
•A è una stringa, ossia una sequenza di simboli ciascuno appartenente all’alfabeto V = VN ∪ VT

Una Grammatica B.N.F. definisce quindi un linguaggio sull’alfabeto terminale VT mediante un
meccanismo di derivazione (o riscrittura)

 15
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

GRAMMATICA E LINGUAGGIO

Data una grammatica G, si dice perciò:

 Linguaggio LG generato da G

l’insieme delle frasi di V

•derivabili dal simbolo iniziale S
•applicando le produzioni P

Le frasi di un linguaggio di programmazione vengono dette programmi di tale
linguaggio.

 16
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

DERIVAZIONE 

A partire dallo scopo della grammatica, si riscrive sempre il simbolo non-terminale più
a sinistra!

ATTENZIONE:
Si ricorda che non tutte le frasi dell’universo linguistico V* associato all’alfabeto V = VN
∪ VT sono derivabili, ossia fanno parte del linguaggio generato dalla data grammatica!

 17
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

DERIVAZIONE 

 G = 〈VT, VN, P, S〉

VT = { il, gatto, topo, sasso, mangia, beve }
VN = { , , , , , }
P={
 ::= 
 ::= 
 ::= il
 ::= gatto | topo | sasso
 ::= mangia | beve
 ::= 
}
S = 

 18
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

DERIVAZIONE 

→ 
→ 
→ il 
→ il gatto 
→ il gatto mangia 
→ il gatto mangia 
→ il gatto mangia il 
→ il gatto mangia il topo

La frase “il gatto mangia il topo” è derivabile !!

 19
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ALBERO SINTATTICO

Un grafo che esprime il processo di derivazione di una frase usando una data grammatica

Esempio

 20
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ESEMPIO 1: NUMERI NATURALI

G = 〈VT, VN, P, S〉
 Un numero naturale si può
VT = { 0,1,2,3,4,5,6,7,8,9 } riscrivere come 0 oppure (|) come
 una cifra non nulla seguita da zero
 o più ({}) cifre
VN = { , , }

P={
 ::= | {}
 ::= 0 | 
 ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
}

S = 

 21
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ESEMPIO 2: NUMERI INTERI

G = 〈VT, VN, P, S〉

VT = { 0,1,2,3,4,5,6,7,8,9,+,-}

VN = {, , , }

P={
 ::= [+|-] 
 ::= | {}
 ::= 0 | 
 ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
}

S = 

 22
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ESEMPIO 3: IDENTIFICATORI

G = 〈VT, VN, P, S〉

Nell’uso pratico, quasi sempre si danno solo le regole di produzione, definendo VT,
VN e S implicitamente.

Quindi:
P={
 ::= { | }
 ::= A | B | C | D | ... | Z
 ::= 1|2|3|4|5|6|7|8|9
}

 23
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ESEMPIO DI GRAMMATICA AMBIGUA

Esempio:
 ::= x| y| z| +| *

All'espressione x + y * z possono essere associati due alberi sintattici diversi

 24
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ANALIZZATORE SINTATTICO

L'analisi della correttezza sintattica è eseguita dall'elaboratore e consiste in 3
verifiche:

•analisi lessicale: verifica che i simboli utilizzati appartengano all'alfabeto

•analisi grammaticale: verifica il rispetto delle regole grammaticali

•analisi sintattica contestuale: verifica restrizioni di tipo contestuale (tipi di dati,
identificatori non definiti,…)

 25
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ANALIZZATORE SINTATTICO

Generalmente l'analizzatore sintattico esegue le tre verifiche simultaneamente!

•Si dice "ad una passata "!

•Durante la scansione, se viene trovato un errore, si cerca di recuperare e si prosegue
fino al termine!

 26
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

SINTASSI E SEMANTICA

Vocabolario o Lessico: l'insieme dei simboli e delle parole che possono essere utilizzati

Sintassi: l’insieme di regole formali per la scrittura di programmi in un linguaggio, che dettano le
modalità per costruire frasi corrette nel linguaggio stesso.

Semantica: l’insieme dei significati da attribuire alle frasi (sintatticamente corrette) costruite nel
linguaggio.

NB: una frase può essere sintatticamente corretta e tuttavia non avere significato!
•Il gatto è sopra il tavolo
•Il muratore costruisce la casa
•Il muratore costruisce il gatto ( )

 27
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

SINTASSI E SEMANTICA

Le regole sintattiche sono espresse attraverso notazioni formali:

•BNF (Backus-Naur Form)
•EBNF (Extended BNF)
•diagrammi sintattici

 28
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ESEMPI DI SINTASSI

Diagramma sintattico di un numero naturale:

Sintassi EBNF di un numero naturale:
 ::= 0 | {} Intuitivamente significa che un numero naturale si può riscrivere
 come 0 oppure (|) come una cifra non nulla seguita da zero o più
 ::= 1|2|3|4|5|6|7|8|9 ({}) cifre.
 ::= 0 | 

 29
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

SEMANTICA

La semantica è esprimibile mediante:

•parole (poco precisa e ambigua)

•azioni (operazionale)
 macchina di Turing: stati e transizioni di stato

•funzioni matematiche (denotazionale)
 associate a ciascuna istruzione

•formule logiche (assiomatica)

 30
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

PARADIGMI DI PROGRAMMAZIONE

Ne esistono di diverso tipo, con diverse “idee alla base”
Vedi: http://en.wikipedia.org/wiki/Comparison_of_programming_paradigms

I principali:

Programmazione imperativa (es. C, Java, Python, PHP, etc.)
 Il programma è una serie di istruzioni da eseguire. Specifico come il programma
 deve operare.
Programmazione dichiarativa (es. linguaggi logici come il Prolog)
 Il programma è una serie di fatti e regole che possono essere interrogate per
ottenere risultati. Non specifico come il programma opera, ma soltanto cosa deve
fare.

 31
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI IMPERATIVI

L'approccio imperativo è quello dominante nella programmazione. Alcuni sotto-categorie:

•programmazione strutturata
 - i programmi utilizzano sequenze, strutture di controllo e strutture di iterazione
 - hanno un singolo punto di ingresso e uscita
•programmazione procedurale
 - il codice è organizzato in blocchi identificati da un nome. Vengono detti
sottoprogrammi, procedure o funzioni a seconda del linguaggio adottato
•programmazione ad oggetti
 - Permette di definire oggetti software capaci di interagire tra loro per mezzo di
scambio di messaggi
 - Permette più facile gestione di grandi progetti software o che utilizzano interfacce
grafiche

 32
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI IMPERATIVI

Alcune caratteristiche:

•l'ordine di esecuzione delle istruzioni è sequenziale (con l'eccezione delle strutture di
controllo)
•i programmi sono costituiti da:
 - una parte in cui si dichiarano le variabili ed il loro tipo
 - una parte che descrive l'algoritmo risolutivo per mezzo di istruzioni del linguaggio

 33
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI LOGICI

Basati sulla logica

•obiettivo: formalizzare il ragionamento
•caratterizzati da meccanismi deduttivi

Programmare significa:
•descrivere il problema con formule del linguaggio
•interrogare il sistema, che effettua deduzioni sulla base delle definizioni

 34
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI LOGICI

Programmazione:

•semplice (occorre solo definire la propria conoscenza del problema)
•avviene tramite una formulazione dichiarativa

Esempio: Prolog

parent(Y, X) :- child(X, Y). // Y è genitore di X se X è figlio di Y
father(Y, X) :- child(X, Y), male(Y). // Y è padre di X se X è figlio di Y e Y è un uomo
child(luca, sara). child(luca, mario). // Luca è figlio di Sara. Luca è figlio di Mario
male(mario). // Mario è un uomo

Se chiedo:
?- father(mario, X): -> la risposta sarà “luca”

 35
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

QUALCHE LINGUAGGIO DI PROGRAMMAZIONE: GLI INIZI

Ada Lovelace, collaboratrice di Babbage, definì il primo linguaggio di programmazione
( ~ 1837)

•era un linguaggio di tipo assemblativo
•introdusse il concetto di ciclo ripetuto e il concetto di variabile indice

Dopo più di 100 anni, la programmazione dell'ENIAC era definita da circuiti elettrici
La macchina non aveva un programma registrato: 6 persone erano impegnate a
muovere commutatori e connettere cavi!

 36
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

QUALCHE LINGUAGGIO DI PROGRAMMAZIONE

I linguaggi macchina (anni 50):

•ogni istruzione è una sequenza di bit
•i linguaggi di programmazione coincidevano con l'insieme delle istruzioni eseguibili dall'hardware
•enorme sforzo richiesto per codificare algoritmi semplici

Problemi:
sono linguaggi specifici della macchina:
 - ogni CPU ha il proprio linguaggio
 - dipende dall'architettura della macchina
 - i programmi non sono portabili da un computer all’altro
 - il codice è illeggibile per l’uomo
 - i programmatori si concentrano nel cercare efficienza sulla singola macchina invece che nella
risoluzione del problema

 37
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

QUALCHE LINGUAGGIO DI PROGRAMMAZIONE

Linguaggi Assembly:

•per la prima volta, il programma utilizza dei simboli invece che
essere codificato in modo binario
•più facile da programmare per l'utente
•ogni istruzione è identificata da una sigla e le variabili sono
identificate da nomi invece che da numeri
•è necessario un “assemblatore” (assembler) per tradurre le
istruzioni del linguaggio in istruzioni macchina

 38
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI DI PROGRAMMAZIONE DI “ALTO LIVELLO”

Il passo successivo:

 ‣ rendere la codifica degli algoritmi il più possibile vicina al problema da risolvere anziché
 all'architettura della macchina

 ‣ avere programmi scritti in formalismi comprensibili a un largo numero di sviluppatori (i
 linguaggi assembly non sono adeguati per scrivere programmi moderni complessi):
 ‣ TOP_DOWN o BOTTOM_UP? Il modo naturale di procedere è pensare prima
 alla struttura generale e poi curare i dettagli, ma questo è impossibile con
 ‣ Assembly che è fatto SOLO da dettagli...

 ‣ indipendenza da architetture specifiche

 39
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI DI PROGRAMMAZIONE DI “ALTO LIVELLO”

Tra gli anni '50 e '60 si passò ai linguaggi ad alto livello, che richiedono un compilatore o un
interprete che sia in grado di tradurre le istruzioni del linguaggio di alto livello in istruzioni
macchina di basso livello eseguibili dal calcolatore

 ‣ Anni 50: FORTRAN, COBOL, LISP
 ‣ Anni 60: Algol-60, Simula-67
 ‣ Anni 70: Pascal, Prolog, Smalltalk, C
 ‣ Anni 80: Ada, C++
 ‣ Anni 90: Python, Java, Javascript, PHPs

Un compilatore è un programma simile ad un assemblatore, ma più complesso. Infatti esiste
una corrispondenza biunivoca fra istruzioni in assembler ed istruzioni macchina ma ogni singola
istruzione di un linguaggio di alto livello corrisponde a molte istruzioni in linguaggio macchina.

 40
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINGUAGGI DI PROGRAMMAZIONE DI “ALTO LIVELLO”

Linguaggio di alto livello (es: C)

Linguaggio di basso livello (es: assembly)

Linguaggio macchina

 41
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

AMBIENTE DI PROGRAMMAZIONE

È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi
programmi (fasi di sviluppo e testing del software)

Componenti:

•Editor à programma sorgente
•Traduttore à programma eseguibile
•Debugger à eliminazione errori logici
•IDE (Integrated Development Environment)

 42
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

EDITOR

Serve per scrivere il programma sorgente

 ‣ uno o più file di testo contenenti la codifica di un programma scritto in un linguaggio
 di alto livello (ad es, C).

Distingue automaticamente (diversi colori):
 ‣ le direttive al compilatore
 ‣ le altre parole chiavi del linguaggio
 ‣ le costanti
 ‣ i simboli definiti dall’utente
 ‣ … (syntax highlighting)

 43
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ESECUZIONE DI PROGRAMMI TRADUTTORE

Affinché un programma sorgente sia comprensibile (e quindi eseguibile) da un
calcolatore, occorre tradurlo nel linguaggio della macchina (programma eseguibile).

Questa operazione viene normalmente svolta da speciali programmi, detti traduttori.

 44
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

TRADUTTORI

Più in dettaglio, la traduzione del programma sorgente in un programma eseguibile è effettuata
dai 3 programmi eseguiti in sequenza:

1.Compilatore -> programma oggetto
2.Linker -> programma rilocabile
3.Loader -> programma eseguibile

 45
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

COMPILATORE

Ha due funzioni:

 ‣ analisi sintattica del programma sorgente

 ‣ trasformazione del programma sorgente in programma oggetto o “codice oggetto” (forma
 più vicina al linguaggio macchina):
 ‣ ottimizzazioni (rimozione ripetizioni, eliminazione cicli, sfruttamento registri, …)

 46
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LINKER

Il codice oggetto:

 ‣ può ancora contenere dei simboli irrisolti
 ‣ riferimenti esterni a programmi di servizio (nomi periferiche, calcoli
 matematici, ...)
 ‣ contiene indirizzi relativi

Il Linker crea il programma eseguibile rilocabile collegando gli eventuali vari moduli oggetto
(compilati separatamente) con i programmi di supporto necessari

 47
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

LOADER

Il Loader completa la creazione del programma eseguibile caricando in memoria centrale
(RAM) un programma rilocabile

Nel caricamento vengono fissati tutti gli indirizzi relativi
 ->variabili, salti, …

Vengono caricati anche i programmi di supporto, se necessari.

 48
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

ALTRO APPROCCIO: INTERPRETE

Con i traduttori-compilatori PRIMA si traduce tutto il programma e POI si esegue la
versione tradotta

Nel mondo reale, la traduzione può essere fatta anche in modo intercalato, frase per
frase, da un terza persona: l’interprete.

Ciò è possibile anche nell’informatica grazie ai programmi interprete (che operano sulle
istruzioni anziché su frasi).

 49
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

COMPILATORI ED INTERPRETI IN SINTESI

I traduttori-interpreti traducono ed eseguono immediatamente ogni singola istruzione del
programma sorgente

I traduttori-compilatori traducono l’intero programma (senza eseguirlo!) e producono in uscita il
programma eseguibile

L'esecuzione di un programma compilato è più veloce di quella di un programma interpretato.

 50
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

PROCESSO DI SVILUPPO E TESTING DEI PROGRAMMI

Approccio con interprete

 51
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

PROCESSO DI SVILUPPO E TESTING DEI PROGRAMMI

Approccio con compilatore

 52
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

DEBUGGER

Un bug è un errore software che causa comportamenti indesiderati o inaspettati.

Nel 1947 Grace Murray Hopper scoprì che la causa di un malfunzionamento al MARK II era una falena tra i circuiti. Da
allora viene utilizzato il termine bug (insetto) come sinonimo di errore.

 53
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

DEBUGGER

Un debugger (letteralmente: “eliminatore di insetti”)

Consente di eseguire un programma passo-passo controllando via via quel che succede:

 ‣ watch window (valori delle variabili)
 ‣ function call stack
 ‣ disassembler window
 ‣ …
 ‣ e anche modificare il flusso di esecuzione

al fine di scoprire ed eliminare errori logici (run-time) non rilevabili dal compilatore.

 54
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

DEBUGGER

Approccio con compilatore (versione completa)

 55
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

IDE

Un text editor ed un compilatore sono davvero tutto quello che ci serve?

I programmatori, per velocizzare le fasi dello sviluppo e “ordinare” il codice usano degli
strumenti più avanzati
->Integrated development environment (IDE)
Contengono solitamente il compilatore stesso ed altre utilità come il “debugging”

IDE Consigliata: Spyder & Anaconda

 56
DIPARTIMENTO DI
 ECONOMIA E DIRITTO

MACRO-OBIETTIVI DEL CORSO
1. Concetti base dell’informatica
2. Concetti generali e architetture di alto livello sistemi di elaborazione
3. Concetti di base della codifica delle informazioni (codifiche binarie e file di testo)
4. Strumenti (compilatori, editor, IDE)
5. Algoritmo per la risoluzione di problemi di elaborazione dell’informazione
6. Linguaggi di programmazione di alto livello
7. Introduzione al linguaggio di programmazione Python
8. Introduzione a casi di applicazione alle scienze economiche

 57
Economia e Diritto
CORSI DI LAUREA TRIENNALE
Informatica Gestionale
Cap 6: Linguaggi di programmazione di alto livello
 Prof Luca Romeo
 Ricercatore T.D. / Sistemi di elaborazione delle informazioni (ING-INF/05)
 Contact mail: luca.romeo@unimc.it
 Contact phone: 0733.258.3280

 58
Puoi anche leggere