Introduzione alla programmazione in C



Похожие документы
Alfabeto ed elementi lessicali del linguaggio C

Funzioni in C. Violetta Lonati

Variabili e tipi di dato

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Le variabili. Olga Scotti

Codifica: dal diagramma a blocchi al linguaggio C++

Strutturazione logica dei dati: i file

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Corso di Informatica

Alcune regole di base per scrivere un programma in linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Gestione dei File in C

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

LINGUAGGI DI PROGRAMMAZIONE

INFORMATICA 1 L. Mezzalira

Linguaggio C. Fondamenti. Struttura di un programma.

Corso di Fondamenti di Informatica

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Linguaggi di Programmazione

FONDAMENTI di INFORMATICA L. Mezzalira

Linguaggio C - Stringhe

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Sistema operativo: Gestione della memoria

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Esercizi di programmazione in C

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Corso di Informatica

Analizzatore lessicale o scanner

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

Introduzione al linguaggio C Gli array

Informazione analogica e digitale

Definizione di nuovi tipi in C

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Lezione 8. La macchina universale

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Inizializzazione, Assegnamento e Distruzione di Classi

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Introduzione al Linguaggio C

Java: Compilatore e Interprete

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Gestione della memoria centrale

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Arduino: Programmazione

Breve riepilogo della puntata precedente:

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Programmare in Java. Olga Scotti

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Laboratorio di Informatica

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Organizzazione della memoria

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

costruttori e distruttori

SOMMARIO... 3 INTRODUZIONE...

Linguaggio C - Funzioni

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Compilatore risorse display grafico LCD serie IEC-line

Architettura dei computer

Concetto di Funzione e Procedura METODI in Java

Caratteri e stringhe Esercizi risolti

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

Fasi di creazione di un programma

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

Allocazione dinamica della memoria - riepilogo

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Organizzazione degli archivi

GESTIONE DEI PROCESSI

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Approccio stratificato

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Richiesta pagina PHP (es: index.php)

Dispensa di Informatica I.1

I puntatori e l allocazione dinamica di memoria

Dispensa YACC: generalità

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

puntatori Lab. Calc. AA 2007/08 1

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

Verifica che una grammatica sia Context Free nel GrammaReader

Транскрипт:

Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale disponibile sul sito http://www.fisica.unile.it/~martello/corsi/informatica/index.html

Concetti di Base Alcuni elementi di di cui cui è costituito un un computer La La CPU è destinata ad ad eseguire le le operazioni La La memoria volatile (RAM) è costituita da da elementi di di memoria da daun bit bit aggregati in in gruppi di di otto a costituire un un byte. Più byte contigui vengono raggruppati in in word (2-4 byte) Le Le istruzioni che la la CPU deve eseguire e i i dati che deve manipolare vanno codificati in in byte e word. La La memoria di di massa (dischi, nastri, supporti ottici) serve a registrare i i byte e le le word vengono manipolati dal dal sistema centrale. Essi, tuttavia, non sono più indirizzabili direttamente ma ma sono raccolti in in aggregati detti file

Concetti di Base Differenze tra tra memoria volatile e di di massa RAM Perde il il contenuto quando il il calcolatore viene spento. Ogni singolo byte (word) è indirizzabile direttamente. Memoria di di Massa Conserva il il contenuto anche se se non alimentata. Non permette l accesso al al singolo byte ma ma a aggregati (uniformi) di di essi detti file. Ad Ad ogni singolo file (o (o parte di di esso: record) si si può accedere direttamente

Concetti di Base Un Un programma è una sequenza dettagliata di di istruzioni univoche e ordinate scritte in in uno dei dei linguaggi di di programmazione. Per esprimere il il concetto di di sequenza dettagliata di di istruzioni si si fa fa ricorso spesso al al cosiddetto diagramma di di flusso. Il Il computer nell eseguire un un programma (run del del programma) esegue le le istruzioni di di cui cui è costituito il il listato in in maniera sequenziale, ordinata e si si limita a portare a termine esclusivamente le le istruzioni che gli gli vengono sottoposte nel nel loro ordine.

Concetti di Base: Il Compilatore Il Il C come altri linguaggi e e un un insieme di di regole sintattiche e lessicali che mettono insieme parole e punteggiatura allo scopo di di creare un un programma corretto. L oggetto che verifica se se queste regole sintattiche sono rispettate e e il il compilatore. Il Il compilatore processa il il programma scritto verifica le le regole sintattiche e, e, se se trova errori, produce messaggi inerenti gli gli errori trovati e termina, altrimenti produce un un programma eseguibile. Andando più in in dettaglio nel nel processo di di compilazione esso e e costituito da da 3 fasi:

Concetti di Base: Il Compilatore Pre-compilazione Compilazione Link 1. 1. La La pre-compilazione. In In questa fase fase viene invocato un un pre-compilatore che che verifica ed ed esegue solo solo alcuni tipi tipi di di istruzioni presenti nel nel listato processato e produce un un nuovo listato. 2. 2. La La compilazione vera vera e propria. In In questa fase fase vengono verificate le le regole sintattiche e il il listato viene convertito in in un un modulo scritto in in linguaggio macchina. 3. 3. Il Il link. In In questa fase fase viene invocato un un programma in in grado di di connettere questo modulo con con altri altri moduli forniti dall utente o facenti parte parte del del sistema per per produrre un un programma eseguibile.

Concetti di Base: gli elementi Un listato che deve essere compilato per produrre un programma in primo luogo e un insieme di caratteri e simboli. Per cui come prima cosa vediamo quali sono i caratteri riconosciuti dal compilatore. lettere minuscole a,b,..,z lettere maiuscole A,B,,Z numeri 0,1,,9 spazi bianchi altri caratteri +-*/=(){}[]<>,.?#%&!:; ~_^\

Concetti di Base: gli elementi Il compilatore come prima cosa collega i caratteri di cui e costituito il listato per formare elementi. In C esistono 7 tipi diversi di elementi di cui può essere costituito un listato. Essi sono: le parole chiave gli identificatori le costanti le costanti di tipo stringa gli operatori la punteggiatura i commenti Come passo successivo il compilatore verifica se gli elementi che ha identificato sono corretti e soddisfano le regole sintattiche del linguaggio. E importante sottolineare subito che nella verifica di queste regole sintattiche il compilatore e estremamente rigido. A differenza di un umano, il compilatore NON e in grado di comprendere elementi o successione di elementi che non siano scritti in maniera completamente esatta!

Concetti di Base: gli elementi 1. Commenti. Ignorati 2. Comando per il pre-compilatore /* scrivi una semplice frase */ punteggiatura Costanti di tipo stringa #include <stdio.h> operatori int main(void) { printf( Ciao Mondo! ); } return 0; identificatori costanti parole chiave

Concetti di Base: I commenti Un commento e costituito da un arbitraria sequenza di caratteri delimitata da: /* */ I commenti vengono ignorati dal processo di compilazione. Ogni commento, indipendentemente dalla sua lunghezza, viene sostituito da un singolo spazio bianco. Esempi di Commenti /* commento */ /*** anche questo ***/ /* un commento può anche estendersi su più linee */ /********************** * o può essere curato * * esteticamente * **********************/

Concetti di Base: le parole chiave Le parole chiave sono delle parole che hanno un significato particolare nel codice. Ognuna di essere serve a definire una particolare azione. Le parole chiave sono in numero limitato e NON possono essere ridefinite dal programmatore. auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Una buona fetta del corso di programmazione consisterà nel comprendere cosa significano le varie parole chiave e che azione definiscono

Concetti di Base: gli identificatori Un identificatore e costituito da una successione contigua di lettere (minuscole e/o maiuscole) numeri e dal carattere _. In C un identificatore può iniziare con _ o con una lettera, ma non con un numero! k la_mia_incognita _IlMioIndice parametro2 Id_12345 123_valori Primo#Secondo -neg NO! Un identificatore serve ad identificare qualcosa all interno del programma (es. un identificatore può essere il nome di una variabile). E conveniente usare identificatori che hanno un significato. In modo da ricordare a cosa si riferiscono. NON e possibile definire identificatori che siano uguali a una parola chiave!

Concetti di Base: le costanti In ogni programma si incontrano numerosi tipi di costanti. Una costante e costituita da un numero o da un carattere. 2 23 172 sono esempi di costanti intere 1.23 13.452 sono esempi di costanti reali a b F sono esempi di costanti carattere. Notare che per distinguerle dagli identificatori queste ultime devono essere delimitate da due. Esistono poi delle costanti speciali come \n. Il \ sta ad indicare che la n che lo segue ha un significato particolare e non semplicemente quello di lettera dell alfabeto (in questo caso essa rappresenta il carattere di newline).

Concetti di Base: le costanti stringa Una qualunque successione di caratteri racchiusa tra doppio apice (es.: ciao ) viene sempre identificata dal compilatore come un singolo elemento: una stringa. Le stringhe vengono trattate in maniera diversa dagli altri tipi di costanti. a a e una stringa e una costante di tipo carattere! io sono una stringa Questa non può essere una stringa

Riepilogo Abbiamo parlato di: 1. Elementi di base sulla struttura di un computer 2. Cosa è un programma e come passare da un listato ad un eseguibile 3. Gli elementi di un programma: commenti, parole chiave, identificatori e costanti Potete trovare gli argomenti trattati: Cap. 2: C didattica e Programmazione Cap. 3: Introduzione all Informatica