Title: Programmazione Procedurale in Linguaggio C
1Programmazione Procedurale in Linguaggio C
- Concetti Introduttivi
- Parte 2
- Linguaggi di Programmazione
versione 2.0
Questo lavoro è concesso in uso secondo i termini
di una licenza Creative Commons (vedi ultima
pagina)
2Sommario
Concetti Introduttivi Linguaggi gtgt Sommario
- Linguaggi di Programmazione
- Sintassi
- Semantica
- Ciclo di Vita del Programma
- Concetto di Algoritmo
- Compilazione e Caricamento
- Metodologia di Programmazione
- In Pratica
3Linguaggi di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Linguaggi per impartire istruzioni al processore
- Programma
- sequenza di istruzioni
- normalmente pensato per risolvere un problema di
calcolo - al programma vengono forniti dei dati
- il programma calcola eseguendo le istruzioni
- il programma restituisce i risultati
4Evoluzione dei Linguaggi
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Esistono numerosi linguaggi
- differenti per funzionalità e tecnologia
5Linguaggi di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
sostanzialmente equivalente ma più semplice del C
C
C
clean C
programmazione procedurale
Java, C, VB.NET
programmazione orientata agli oggetti
6Linguaggi di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Attenzione
- i linguaggi della stessa famiglia sono
normalmente basati sugli stessi concetti - Differenze
- alcuni linguaggi forniscono funzionalità che
altri non hanno - sintassi
- semantica
7Linguaggio di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Simile al linguaggio naturale
- sintassi e semantica
- Sintassi
- grammatica del linguaggio
- insieme delle regole che stabiliscono quali frasi
(programmi) sono corretti - in Italiano maiuscola dopo il punto
- in C le istruzioni si concludono con
8Linguaggio di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Processo di compilazione
- il codice del programma (codice sorgente) viene
sottoposto ad analisi sintattica - viene trasformato in codice eseguibile dal
processore (codice oggetto) - Compilatore
- analisi lessicale divide il codice in frammenti
detti token (parole chiave, nomi ecc.) - analisi sintattica verifica la correttezza
9Linguaggio di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Semantica
- significato del linguaggio
- insieme delle regole che stabiliscono come il
calcolatore esegue i programmi corretti - in italiano andrò è unazione nel futuro
- in C cout ltlt Ciao
- Attenzione
- sintassi e semantica dei linguaggi di
programmazione sono rigorose
10Linguaggio di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Attenzione
- ci sono due diverse nozioni di correttezza
- Correttezza Sintattica
- assenza di errori sintattici
- il programma è eseguibile
- Correttezza Semantica (o Logica)
- implica la correttezza sintattica
- il prog. risolve correttamente il problema
11Linguaggio di Programmazione
Concetti Introduttivi Linguaggi gtgt Linguaggi di
Programmazione
- Verifica della correttezza sintattica
- compilazione
- consente di eliminare gli errori sintattici
- Verifica della correttezza semantica
- esecuzione e test del programma
- prove di funzionamento per controllare che il
programma si comporti correttamente - processo più complesso e delicato
12Ciclo di Vita di un Programma
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
- Programma
- sequenza di istruzioni che risolve un problema di
calcolo - Per programmare
- è necessario conoscere almeno un linguaggio
- ma questo non basta
- è necessario conoscere tecniche, ovvero
metodologie di programmazione
13Dal Problema al Programma
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
Problema di Calcolo
dati in ingresso
- dati in ingresso
- risultati attesi
- Es lavare i panni
Algoritmo
Programma
Calcolatore
Es strategia di lavaggio (colore,
delicati)
dati in uscita
Es programmi di lavaggio
Es lavatrice
14Algoritmo
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
- Strategia di soluzione del problema
- deve essere concretamente eseguibile dal
calcolatore es separa i bianchi dai colorati - deve essere correttaes lava bianchi e colorati
a 60 gradi - deve essere efficiente, ovvero produrre la
soluzione utilizzando le minori risorse possibili
(es tempo, memoria)es lava ciascun capo
separatamente
15Programma
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
- Scrittura
- codice sorgente
- Compilazione
- verifica della correttezza sintattica
- codice oggetto
- Collegamento
- ogni programma richiede codice esterno
- codice eseguibile
- Esecuzione
- verifica degli errori logici
16Ciclo di Vita di Un Programma
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
Analisi del Problema
Scelta dell Algoritmo
Scrittura del Programma
codice sorgente
Compilazione e Collegamento
errori logici
errori nella strategia
errori sintattici
codice eseguibile
Verifica
Uso e Manutenzione
17Compilazione e Collegamento
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
Compilazione
codice oggetto (ling. macchina) es primo.obj
codice sorgente esprimo.cpp
Compilatore
librerie esterne precompilate es iostream
Collegamento
codice eseguibile es primo.exe
Collegatore (linker)
18Metodologia di Programmazione
Concetti Introduttivi Linguaggi gtgt Ciclo di Vita
di un Programma
- Metodo per affrontare il ciclo di vita
- passi e tecniche per analizzare il problema
- passi e tecniche per scegliere lalgoritmo
- passi e tecniche per scrivere il codice
- passi e tecniche per verificare il codice
- passi e tecniche per manutenere il codice
- La metodologia è importante
- altrettanto che la conoscenza del linguaggio
19In Pratica
Concetti Introduttivi Linguaggi gtgt In Pratica
- E necessario disporre di vari strumenti
- Scrittura del programma
- editor di testi (es Blocco Note o TextPad)
- Compilatore e Collegatore
- Compilatore Borland BCC 5.5 (gtgt sito)
- Compilatore FORTRAN FTN77 (gtgt sito)
- si utilizzano dalla finestra del DOS
20In Pratica
Concetti Introduttivi Linguaggi gtgt In Pratica
- Il Primo Passo
- eseguire le installazioni di tutti gli strumenti
- configurare il sistema per lutilizzo degli
strumenti - Configurazione di Windows
- abilitare la visualizzazione delle estensioni
- Risorse del Computer gtgt Strumenti gtgt Opzioni
Cartella gtgt Visualizzazione gtgt Nascondi le
estensioni
gtgt
21Installazioni
Concetti Introduttivi Linguaggi gtgt In Pratica
- Installazione di TextPad
- scaricare il file dal sito corrispondente
- eseguire la procedura di installazione
- configurare le opzioni di visualizzazioneConfigur
a gtgt Preferenze - File estensione predefinita vuota
- Visualizza numero righe
- Nuova classe di documenti FORTRAN
gtgt
22Installazioni
Concetti Introduttivi Linguaggi gtgt In Pratica
- Installazione del Compilatore Borland
- scaricare il file dal sito corrispondente
- eseguire la procedura di installazione
- Post-configurazione
- configurare la variabile di ambiente PATHper
rendere localizzabile il compilatore - su Win2000/XP Pannello di Controllo gtgt Sistema
gtgt Variabili di Ambiente aggiungendo il valore
c\Borland\bcc55\bin
gtgt
23Installazioni
Concetti Introduttivi Linguaggi gtgt In Pratica
- Post-configurazione (continua)
- configurare i parametri per eseguire il
compilatore ed il collegatore - cartella delle librerie di sistema e dei file di
inclusione - file di configurazione bcc32.cfg nella cartella
bin (vedi il file README.txt) - -Ic\borland\bcc55\Include-Lc\borland\bcc55\L
ib
gtgt
24Un Semplice Programma
Concetti Introduttivi Linguaggi gtgt In Pratica
- // Primo programma
- include ltiostream.hgt
- void main ()
- cout ltlt "Primo programma" ltlt endl
gtgt
25Borland BCC 5.5
Concetti Introduttivi Linguaggi gtgt In Pratica
26Installazioni
Concetti Introduttivi Linguaggi gtgt In Pratica
- Installazione del Compilatore Salford
- scaricare il file dal sito corrispondente
- eseguire la procedura di installazione
- Post-configurazione
- configurare la variabile di ambiente PATHsu
Win2000/XP Pannello di Controllo gtgt Sistema gtgt
Variabili di Ambiente - aggiungendo c\win32apps\salford
gtgt
27Un Semplice Programma in FORTRAN
Concetti Introduttivi Linguaggi gtgt In Pratica
- C---- Primo programma
-
- program primo
-
- write (,) 'Primo programma'
-
- stop
- end
28Salford FTN77
Concetti Introduttivi Linguaggi gtgt In Pratica
gtgt
29Riassumendo
Concetti Introduttivi Linguaggi gtgt Sommario
- Varie tecnologie per la programmazione
- ci concentriamo sulla prog. procedurale
- sintassi e semantica
- Ciclo di Vita del Programma
- Problema-Algoritmo-Programma
- Compilazione e Collegamento
- Importanza della Metodologia
- Utilizzo degli Strumenti (ATTENZIONE)
30Termini della Licenza
Termini della Licenza
- This work is licensed under the Creative Commons
Attribution-ShareAlike License. To view a copy of
this license, visit http//creativecommons.org/lic
enses/by-sa/1.0/ or send a letter to Creative
Commons, 559 Nathan Abbott Way, Stanford,
California 94305, USA.
- Questo lavoro viene concesso in uso secondo i
termini della licenza Attribution-ShareAlike di
Creative Commons. Per ottenere una copia della
licenza, è possibile visitare http//creativecommo
ns.org/licenses/by-sa/1.0/ oppure inviare una
lettera allindirizzo Creative Commons, 559
Nathan Abbott Way, Stanford, California 94305,
USA.