Revision 86106 of "Concetti base" on itwikiversity

__TOC__
{{Risorsa|tipo=lezione|materia1=Fondamenti di programmazione}}

== Concetti base ==

=== Algoritmo ===
L'algoritmo è l'insieme delle istruzioni necessarie per eseguire un determinato compito.

=== Compilazione ===
La compilazione è il processo di trasformazione dei che contengono il codice scritto dal programmatore (detti "sorgenti") nel codice eseguibile finale.

Ciò passerò attraverso 4 fasi, più una usata per linguaggi per cui non esistono compilatori diretti:
* Conversione del codice dal linguaggio di programmazione usato a quello per cui esiste il compilatore (accade, ad esempio, per il linguaggio di programmazione FORTRAN, ove tutti i compilatori traducono i codici sorgenti FORTRAN in codici sorgenti C, data l'estinzione di compilatori diretti);
* Eliminazione delle righe di commento e conversione delle macro e dei valori simbolici in numeri calcolabili;
* Trasformazione del codice sorgente in codice Assembly, con dettagliate istruzioni di come agire passo passo per eseguire le funzionalità del programma;
* Trasformazione del codice Assembly in codice oggetto, ove vi sarà bit per bit quanto il programma deve eseguire;
* Trasformazione del codice oggetto in file eseguibile (con estensione '''.exe''' in ambiente Windows), che permette l'esecuzione del programma con l'avvio del file.

La fase della creazione del codice oggetto può prevedere anche l'incorporamento di file di libreria o di moduli del codice legati al file di codice sorgente principale attraverso dei richiami inseriti nei file (o attraverso la creazione di un file di progetto che indichi all'atto della compilazione tutti i file da compilare).

Per quanto riguarda JAVA la compilazione avviene attraverso la creazione di un file cosiddetto BYTE-CODE che in Java ha estensione ".class" (a differenza del linguaggio C che crea direttamente un eseguibile). Questo file rappresenta la traduzione del linguaggio scritto in righe di codice dal programmatore, in un linguaggio comprensibile alla macchina.
Per poter essere eseguiti i Byte-Code necessitano della JAVA VIRTUAL MACHINE (JVC) la quale provvederà ad eseguire le istruzioni riportate all'interno del codice. Questo fattore comporta un vantaggio per il programmatore poiché il programma creato in Java avrà maggiore portabilità tra architetture diverse rispetto ai programmi compilati direttamente e un rischio minore di crash.
L'operazione della compilazione e quella dell'esecuzione devono essere eseguite utilizzando la riga di comando del prompt dei comandi di DOS, ad esempio:
* Per la compilazione il comando Java è "javac Esempio.java" ----> dove Esempio.java rappresenta il nome del file testuale salvato con estensione ".java";
* Per l'esecuzione "java Esempio" -----> dove esempio indica il nome del programma creato e compilato.
[[Categoria:Fondamenti di programmazione]]