Dal problema alla risposta – 2

Compilatore

Tra il programma e l’esecutore, compaiono il file sorgente e il file oggetto.

problema1

Il programmatore utilizza

  • l’editor per scrivere il file sorgente
  • il compilatore per tradurre da alto livello a basso livello e produrre il file oggetto.

Il compilatore produce un file oggetto compatibile con una certa piattaforma.
Linguaggi di programmazione compilati: C/C++, COBOL, FORTRAN, Pascal, …

Nella realtà della programmazione si utilizzano molti altri strumenti (interprete, linker, debugger, IDE, RAD, …)

Il linker

In alcuni casi il file oggetto non è ancora pronto per essere eseguito perché deve essere integrato con delle librerie di codice precompilate.

problema

Dopo il passaggio del linker si ottiene finalmente il file eseguibile.

L’interprete

L’interprete è un software eseguito dall’esecutore reale che emula il comportamento di un esecutore virtuale.
L’interprete scorre il programma, legge, traduce ed esegue (tramite l’esecutore reale) la singola istruzione.

problema21

Linguaggi di programmazione interpretati: BASIC, Javascript, LISP, PHP, …

La macchina virtuale

La tecnica della macchina virtuale ha permesso la diffusione di applicazioni eseguibili su tutte le piattaforme.

problema12

Si produce un unico file oggetto (bytecode) che viene eseguito dalla macchina virtuale (plug-in, player, …) installata sulla piattaforma

  • Flash player: Actionscript
  • Java Virtual Machine: Java

Ordinare 4 dati


Con 6 confronti/scambi


Prova con i numeri

L’algoritmo applicato si chiama Bubble Sort.


Codifica


Con 5 confronti/scambi


Prova con i numeri


Ci sono 4 valori da ordinare


Codifica

Ordinare 3 dati

Prova con i numeri


In generale

Per ordinare 3 dati sono necessari 3 confronti ed eventualmente 3 scambi


Codifica

Pseudocodice

Da Wikipedia

In informatica, nell’ambito della programmazione, per pseudocodice, pseudocodifica, pseudolinguaggio o linguaggio di progettazione si intende un linguaggio il cui scopo è la rappresentazione di algoritmi in alternativa al classico diagramma di flusso e non soggetto a molte limitazioni intrinseche di quest’ultimo tipo di rappresentazione.
La stesura della pseudocodifica può precedere la codifica del programma scritto in un linguaggio di programmazione essendo spesso un linguaggio a metà tra la logica proposizionale e il linguaggio di programmazione vero e proprio.

Non esiste uno pseudolinguaggio standard e convenzionalmente usato: gli autori di libri o corsi di programmazione definiscono spesso un proprio pseudolinguaggio, utilizzato nelle loro pubblicazioni; inoltre ciascun programmatore può essere portato ad utilizzare una propria variante.
Ogni pseudolinguaggio ha un proprio lessico, una propria sintassi e una propria semantica, ma la progettazione di questo tipo di formalismo è volta alla comprensibilità e alla leggibilità del codice; la sintassi sarà quindi meno rigorosa rispetto ad un vero linguaggio e le parole chiave saranno evocative, in modo da rendere più intuitiva la sua interpretazione.

Approfondisci

Quesiti

Programmazione visuale

Da Wikipedia

Un Linguaggio di Programmazione Visuale (Visual Programming Language V.P.L.) è un linguaggio che consente la programmazione tramite la manipolazione grafica degli elementi e non tramite sintassi scritta.

I vantaggi della programmazione visuale sono la facilità di apprendimento e la possibilità di visualizzare lo stato del programma durante le fasi di debug.

La programmazione visuale si ritrova in diversi ambiti

  • Didattico: Scratch, App Inventor, App Lab (code.org)
  • Game Design: GameMaker, …
  • Industriale: LabVIEW, …
  • Multimediale: …

In ambito didattico si può scegliere tra ambienti di sviluppo online o da installare

Online

Da installare

  • Alice
  • Scratch
  • Squeak
  • Robot Emil

In alternativa esistono IDE che permettono di progettare un’applicazione partendo dal diagramma di flusso (flow-chart)

RISORSE ONLINE