Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Il linguaggio C 3B/3A

L'ambiente di programmazione
by

Siciliano Lorenzo

on 15 December 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Il linguaggio C 3B/3A

Il linguaggio C
Ambiente di programmazione
Fondamenti della programmazione
Organizzazione dei programmi
Sviluppo di applicazioni
Perchè il linguaggio C ?
Ha meno parole chiave del linguaggio Pascal e può essere appreso facilmente

E' un linguaggio di sviluppo per personal computer (gran parte dei SO è scritta in C)

E' alla base del C++ e del Java

E' efficiente

Non è esente da critiche (sintassi complicata, mancanza di controlli) ma . . .
E' più facile convivere con le sue imperfezioni che con una perfezione basata su delle restrizioni
Le basi del linguaggio
"Mouse la Giorgio tavolo che sul dammi è"
Come ogni linguaggio che si rispetti, è necessario che siano definiti due elementi essenziali:
LESSICO
SINTASSI
L'insieme delle parole riconosciute dal linguaggio
La modalità per scrivere le frasi in modo corretto
"Giorgio, dammi la cosa che è sul coso"
Schema generale di un programma scritto in linguaggio C
Commenti
Librerie
Inizio del programma
La parentesi { indica l'inizio delle istruzioni da eseguire. La sequenza termina con la parentesi }
Le fasi della programmazione
Codifica

Compilazione

Debugging
(in laboratorio)
Elaborazione dell'algoritmo su carta (analisi del problema/diagramma a blocchi/pseudocodifica)
In classe
Codifica
Traduzione di quanto fatto su carta in un linguaggio di programmazione
Programma
sorgente
Codice
oggetto
Dal "nostro linguaggio" (sorgente.c)
al linguaggio del computer

(00011001101110...)
Il
compilatore
Ci sono errori lessicali
e/o sintattici ????
NO
Concluse le tre fasi viene creato il file eseguibile
SI
Gli errori segnalati dal
compilatore sono essenzialmente
di due tipi:
WARNING
Sono degli avvertimenti che non impediscono la creazione del programma oggetto, ma che potrebbero creare problemi durante la fase di esecuzione
ERROR
Errori che non consentono la creazione del programma oggetto
ERRORE SINTATTICO
ERRORE
LESSICALE
Introduciamo artificiosamente
un errore nel nostro primo programma
Togliamo il punto e virgola (;) alla
fine della prima istruzione
error: syntax error before "return"
Non è stata rispettata la regola per la costruzione
corretta della frase del linguaggio
Introduciamo artificiosamente
un altro errore
Cambiamo la parola printf
con pruntf
undefined reference to `pruntf'
Il compilatore segnala che ha incontrato una parola che non appartiene al linguaggio
Dopo aver corretto gli errori si ricompila e si ottiene, finalmente, il file eseguibile
Errori di RUN-TIME
Sono errori che non vengono riscontrati durante
la fase di compilazione ma durante
l'esecuzione del programma
errore "Division by zero" (divisione per zero)
IL DEBUGGER
Programma di utilità per l'individuazione di errori logici
(lo spulciatore)
ovvero
"errori che producono risultati diversi da quelli attesi"
CAUSA DI UN'ERRATA COSTRUZIONE DEL PROCEDIMENTO RISOLUTIVO
DEBUGGING
E' l'attività di controllo del programma
(togliere il BUG, togliere l'errore)
Il DEBUGGER ci permette di:

Eseguire il programma una istruzione per volta, così da verificarne la corretta evoluzione

Stabilire punti di interruzione (BREAKPOINT) per effettuare controlli

Controllare in ogni istante i valori delle "variabili"
Precompilazione
Compilazione
Linking
(file con lo stesso nome del file sorgente ed estensione .EXE
Full transcript