Elementi di informatica. Programmare in C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elementi di informatica. Programmare in C"

Transcript

1 Elementi di informatica Programmare in C 1

2 Programmare in C 2

3 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; } printf("%d", area); 3

4 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; } printf("%d", area); 4

5 Commenti: /* */ /* Calcolo area rettangolo */ tutto ciò che appare nella zona racchiusa tra /* */ non viene preso in considerazione dal compilatore può estendersi su più linee /* Questo programma calcola l'area di un rettangolo */ 5

6 Errori tipici Dimenticare di terminare un commento con */ Incominciare un commento con i caratteri */ o terminarlo con /* 6

7 Commenti: // Un altro modo per inserire un commento è farlo precedere da //, ma in questo caso deve terminare a fine linea, non può andare a capo OK // Questo programma calcola // l'area di un rettangolo NOK // Questo programma calcola l'area di un rettangolo 7

8 Variabili /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; } printf("%d", area); 8

9 Variabili (cont( cont.) Un linguaggio di programmazione necessita di contenitori per informazioni Questi contenitori sono indicati in generale con il nome di variabile, per enfatizzare che il loro contenuto può variare variabile = cella di memoria (contenitore) identificata da un nome simbolico 9

10 Una metafora delle variabili Dichiaro una variabile: area? nome simbolico Le variabili a cui non è stato assegnato un valore iniziale contengono un valore non specificato. A volte questi vengono chiamati valori sporchi perché nelle celle di memoria può essere contenuto un valore qualunque, utilizzato da programmi che hanno occupato quelle posizioni di memoria in precedenza. 10

11 Dichiarazioni di variabili Ogni linguaggio di programmazione richiede di dichiarare in un programma quali variabili verranno usate dicendo il loro nome simbolico ed il loro tipo int base; int altezza; int area; base altezza area memoria tipo identificatori 11

12 Dichiarazioni di variabili (cont( cont.) Sintassi: tipo identificatore; Semantica: Una dichiarazione informa il compilatore su: spazio di memoria; operazioni 12

13 Osservazione Tutte le variabili devono essere dichiarate prima di essere usate 13

14 Dichiarare prima di usare /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; dichiaro uso } printf("%d", area); 14

15 Identificatori Un identificatore è formato da uno o più caratteri Regole da rispettare 1. Primo carattere: lettera o una sottolineatura ( _ ) 2. Caratteri successivi al primo: numeri o lettere o sottolineature 3. Caratteri di punteggiatura o altri caratteri che hanno significati speciali: non ammessi 4. Maiuscole diverse da minuscole 5. Ogni identificatore deve essere diverso dalle parole riservate utilizzate per il linguaggio C 15

16 Identificatori (cont( cont.) Validi Nome1 cognome_nome _num Non validi 1nome Vero? Num;pippo Attenzione Totale è diverso da TOTALE è diverso da totale 16

17 ritornando al nostro programma /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; } printf("%d", area); 17

18 Istruzione di assegnamento base = 3; altezza = 7; area = base*altezza; base altezza 7 memoria 3 area 21 18

19 Istruzione di assegnamento (cont( cont.) Sintassi: identificatore = espressione; espressione può essere semplice come una singola costante o può essere una combinazione di variabili, operatori, Semantica: calcola il valore di un espressione (lato destro) ed assegnalo ad una variabile (lato sinistro) L eventuale valore memorizzato precedentemente nella variabile viene sostituito dal nuovo valore 19

20 Assegnamento: nota x=x+1; Questa espressione in algebra non avrebbe senso perché un valore non può essere uguale a se stesso più uno. In C = non vuol dire uguaglianza ma assegnamento: alla variabile x viene assegnato il valore già presente nella variabile x incrementato di 1 x 5 x=x+1 x 6 20

21 Assegnamento: esempio (a) x = z + 3 * (y + 2); (b) x = x+2; inizio x 3 memoria y 5 (a) (b) z 2 Calcola valore dell espressione (2+3*(5+2)) (23+2) = Assegna tale valore alla variabile x x dopo (b) (a) memoria x y 5 z 2 21

22 Attenzione Istruzioni di assegnamento errati x+2=0; x+y=7+3; 22

23 ritornando al nostro programma /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; } printf("%d", area); 23

24 Stampare il valore di area base altezza 7 memoria 3 area 21 24

25 Stampare il valore di una variabile printf("%d", area); %d sarà rimpiazzata da una stringa che rappresenta il valore di area stampa un intero decimale area base altezza 7 memoria 3 21 area 21 25

26 Nota /* Calcolo area rettangolo */ #include <stdio.h> /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; } printf("%d", area); } equivalenti main() { int base, altezza, area; base = 3; altezza = 7; area = base*altezza; printf("%d", area); 26

27 ancora sulle dichiarazioni di variabili tipo lista di identificatori; Esempio: int x,y,z; Nota: nella lista gli identificatori sono separati da virgola 27

28 Struttura del programma /* Calcolo area rettangolo */ #include <stdio.h> main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; direttive dichiarazioni istruzioni } printf("%d", area); 28

29 Stile Più leggibile Meno leggibile /* Calcolo area rettangolo */ #include <stdio.h> main() { int base, altezza, area; /* Calcolo area rettangolo */ #include <stdio.h> main(){int base,altezza,area; base = 3;altezza = 7; area = base*altezza; printf("%d", area);} } base = 3; altezza = 7; area = base*altezza; printf("%d", area); equivalenti 29

30 Stampa più chiara /* Calcolo area rettangolo */ #include <stdio.h> main() { int base, altezza, area; Base: 3 Altezza: 7 Area: 21 base = 3; altezza = 7; area = base*altezza; } printf("base: %d\n", base); printf("altezza: %d\n", altezza); printf("area: %d\n", area); 30

31 Buone abitudini Scegliere nomi significativi di variabile aiuterà a rendere il programma auto esplicativo I nomi di variabile formati da più parole possono aiutare a rendere il programma più leggibile. valorefinale poco leggibile valore_finale valorefinale OK OK Separare le dichiarazioni e le istruzioni con una riga vuota 31

32 Il primo programma Programma che stampa sullo schermo la frase Ciao, mondo. #include <stdio.h> main() { } printf("ciao, mondo.\n"); Ciao, mondo. 32

33 Analisi del programma: main main() { printf("ciao, mondo.\n"); } 33

34 Analisi del programma: printf printf("ciao, mondo.\n"); printf: istruzione per stampare su video sequenza di caratteri (racchiusa tra " ") spazio carattere come gli atri \n carattere di new line (a capo) ; terminatore di istruzione 34

35 Analisi del programma: inclusione #include <stdio.h> consente di aggiungere al programma istruzioni presenti nel file di intestazione (header) stdio.h (standard di input/output) stdio.h contiene le informazioni relative all istruzione di output usata dal programma è stato scritto da altri programmatori e può essere riusato nel nostro programma 35

36 Ciao, mondo. Programma Ciao, mondo #include <stdio.h> main() { printf("ciao, mondo.\n"); } #include <stdio.h> main() { La funzione printf può visualizzare Ciao, mondo in molti modi diversi. #include <stdio.h> main() { } printf("ciao, "); printf("mondo."); printf("\n"); } printf("ciao, mondo"); printf(".\n"); 36

37 Cosa stampa? #include <stdio.h> main() { printf("ciao,\nmondo.\n"); } Ciao, mondo. #include <stdio.h> main() { printf("ciao, mondo "); printf(".\n"); } Ciao, mondo. 37

38 Cosa stampa il seguente programma? #include<stdio.h> main() { printf("tre\nmamme"); printf(" con\n tre\n"); printf(" bimbi"); } Tre mamme con tre bimbi 38

39 Cosa stampa il seguente programma? #include<stdio.h> main() { printf("tre"); printf("mamme"); printf("con\n"); printf("\ntre"); printf(" bimbi"); } Tremammecon tre bimbi 39

40 Esercizio This is a C program. Scrivere una singola istruzione C per visualizzare il messaggio: This is a C program. su due righe, dove la prima termina con C #include<stdio.h> main() { printf("this is a C\n program.\n"); } 40

41 e se volessi stampare Ciao, mondo. #include <stdio.h> main() { printf("\"ciao, mondo.\""); } 41

42 Attenzione Il C distingue tra lettere maiuscole e lettere minuscole. Scrivere MAIN() oppure Main() invece di main() errore 42

43 Sviluppo di un programma usando Cygwin 43

44 Un esempio Scrivere Ciao, mondo. #include <stdio.h> main() { printf("ciao, mondo.\n"); } 44

45 Sviluppo di un programma Editing #include <stdio.h> main() { printf("ciao, mondo.\n"); } Codice sorgente Compilazione + Collegamento Codice eseguibile Esecuzione Ciao, mondo. 45

46 Sviluppo di un programma usando Cygwin 1. Scrittura 2. Traduzione 3. Collegamento 4. Esecuzione 46

47 Scrittura di un programma Prima fase Scrittura di un programma su un file detto file sorgente, residente sulla memoria secondaria Come? Usando un editor 47

48 Editor gestisce i vari caratteri battuti da tastiera e produce un file di caratteri consente di effettuare immissione di nuove porzioni di programma consente di effettuare correzioni Nota estensione del file deve essere.c Esempio: primo.c 48

49 VI Quale editor scegliere? Notepad Emacs Source Edit 49

50 Notepad 50

51 Notepad (cont.) Alt + 123: { Alt + 125: } 51

52 Sviluppo di un programma usando Cygwin 1. Scrittura 2. Traduzione 3. Collegamento 4. Esecuzione 52

53 Traduzione di un programma Seconda fase Tradurre un programma scritto in C in linguaggio macchina. Come? Usando il compilatore 53

54 Compilatore effettua un analisi sintattica e segnala eventuali errori produce un altro file contenente il codice oggetto: programma tradotto in binario 54

55 Sviluppo di un programma usando Cygwin 1. Scrittura 2. Traduzione 3. Collegamento 4. Esecuzione 55

56 Collegamento Terza fase Effettuare il collegamento con le librerie Come? Usando il collegatore o linker Produce un altro file detto eseguibile 56

57 Comando usando cygwin Digitate il comando: gcc primo.c -o primo.exe 57

58 più in dettaglio gcc primo.c -o primo.exe Effettua la compilazione ed il collegamento alternativa gcc primo.c Il codice eseguibile è adesso nel file a.exe Se successivamente viene eseguita la compilazione di un altro programma, il nuovo codice rimpiazzerà il primo a.exe, per cui è bene usare l opzione o che permette di specificare il nome del file 58

59 Sviluppo di un programma usando Cygwin 1. Scrittura 2. Traduzione 3. Collegamento 4. Esecuzione 59

60 Esecuzione di un programma Quarta fase Una volta che un programma è in forma eseguibile, può essere trasferito dal file in cui risiede (memoria secondaria) in memoria centrale ed essere quindi eseguito Come? Usando il caricatore o loader 60

61 Cygwin./primo.exe 61

62 Esempio completo 62

63 Errori riconosciuti dal compilatore #include<stdio.h> main() { print("ciao, mondo.\n"); } error1.c Qual è l errore 63

64 Errori riconosciuti dal compilatore #include<stdio.h> main() { print("ciao, mondo.\n"); } error1.c 64

65 Errori riconosciuti dal compilatore #include<stdio.h> main() { printf("ciao, mondo.\n") } error2.c Qual è l errore 65

66 Errori riconosciuti dal compilatore #include<stdio.h> main() { printf("ciao, mondo.\n") } error2.c manca ; 66

67 Errori riconosciuti dal compilatore #include<stdio.h> Main() { printf("ciao, mondo.\n"); } error3.c 67

68 Errori non riconosciuti dal compilatore #include<stdio.h> main() { printf("ciao, mnodo.\n"); } error4.c 68

69 Conclusioni Avete scritto ed eseguito il vostro primo programma. 69

Elementi di informatica

Elementi di informatica Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

Dettagli

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O

Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Dettagli

Fondamenti di Informatica. Ingegneria elettronica

Fondamenti di Informatica. Ingegneria elettronica Fondamenti di Informatica Ingegneria elettronica Prima esercitazione Cecilia Catalano Sistema Operativo Il S.O. è costituito da un insieme di programmi che permettono di utilizzare e gestire tutte le risorse

Dettagli

C: primi elementi. Lezione 4

C: primi elementi. Lezione 4 C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX

Dettagli

Linguaggio di Riferimento: C

Linguaggio di Riferimento: C Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall

Dettagli

Esercizio. Esercizi. semplici. memoria. y 12. Determinare il valore di x e y. #include <stdio.h> main() { int x,y; x=2; y=4; y=3*y; x=y+x;

Esercizio. Esercizi. semplici. memoria. y 12. Determinare il valore di x e y. #include <stdio.h> main() { int x,y; x=2; y=4; y=3*y; x=y+x; Esercizi semplici 31 Esercizio Determinare il valore di x e y #include int x,y; x=2; y=4; y=3*y; x=y+x; printf("%d\n", x); printf("%d\n", y); memoria x 14 y 12 32 1 Esercizio Determinare i valori

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Introduzione al linguaggio C Abbiamo già visto come un programma non sia altro che un algoritmo codificato in un linguaggio di programmazione. Problema: quale linguaggio scegliere per la codifica di un

Dettagli

Introduzione al C. Introduzione

Introduzione al C. Introduzione Introduzione al C Introduzione 2 Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali

Dettagli

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali

Dettagli

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili e input/ Alessandra Giordani Lunedì 18 marzo Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

Dettagli

Linguaggio C Informatica Grafica

Linguaggio C Informatica Grafica Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Linguaggio C Breve storia Struttura di un programma Variabili

Dettagli

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17 Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,

Dettagli

Introduzione al linguaggio C. Emilio Di Giacomo

Introduzione al linguaggio C. Emilio Di Giacomo Introduzione al linguaggio C Emilio Di Giacomo Programmi in C In questa lezione vedremo come scrivere programmi in C i programmi che vedremo saranno molto semplici ci permetteranno comunque di illustrare

Dettagli

Le direttive del Preprocessore

Le direttive del Preprocessore Le direttive del Preprocessore Prof. Orazio Mirabella Direttive Un compilatore traduce le istruzioni di un programma sorgente in linguaggio macchina Talvolta è conveniente prendere coscienza dell esistenza

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Introduzione al linguaggio C Abbiamo già visto come un programma non sia altro che un algoritmo codificato in un linguaggio di programmazione. Problema: quale linguaggio scegliere per la codifica di un

Dettagli

Struttura dei programmi e Variabili

Struttura dei programmi e Variabili Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Introduzione al C. InformaticaB. Daniele Loiacono

Introduzione al C. InformaticaB. Daniele Loiacono Introduzione al C InformaticaB Facciamo un passo indietro Compilare o Interpretare? q Come rendo comprensibili al calcolatore i programmi scritti in un linguaggio di programmazione (ad es. C, C++, Java)?

Dettagli

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si

Dettagli

Primi passi Output formattato Le quattro operazioni. Programmazione 1. Lezione 2 Parte 2. Vincenzo Marra.

Primi passi Output formattato Le quattro operazioni. Programmazione 1. Lezione 2 Parte 2. Vincenzo Marra. Programmazione 1 Lezione 2 Parte 2 Vincenzo Marra vincenzo.marra@unimi.it Dipartimento di Matematica Federigo Enriques Università degli Studi di Milano 12 marzo 2014 Struttura del sorgente Un programma

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili Lo scopo 2 Il primo esperimento Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video Ver. 2.4

Dettagli

ciclo di vita della soluzione (informatica) d un problema

ciclo di vita della soluzione (informatica) d un problema ciclo di vita della soluzione (informatica) d un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti ma prima di arrivare a questo 1.

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I. Sunto della scorsa lezione 06-10-2003 Il linguaggio C Matricole 2-3 Un programma C è un insieme di funzioni. La funzione è sempre presente Una funzione è un insieme di istruzioni racchiuse tra ogni istruzione

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

La Programmazione. Cos è la programmazione? Concetti preliminari

La Programmazione. Cos è la programmazione? Concetti preliminari La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Primo programma in C

Primo programma in C Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file

Dettagli

Introduzione alla programmazione A. Ferrari

Introduzione alla programmazione A. Ferrari Introduzione alla programmazione A. Ferrari Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi ad

Dettagli

Lezione 19: Il preprocessore

Lezione 19: Il preprocessore Lezione 19: Il preprocessore Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Struttura della lezione Il debugger gdb Il preprocessore direttive #include e #define macro con parametri

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

Linguaggio C Struttura dei programmi

Linguaggio C Struttura dei programmi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide

Dettagli

Scopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito.

Scopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito. Corso di Linguaggi e Traduttori Anno Accademico 2017 2018 Prof. Giovanni Pighizzini Progetto d esame Scopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito. Variabili

Dettagli

Cosa serve per cominciare?

Cosa serve per cominciare? Cosa serve per cominciare? La linea di comando Il notepad (o equivalente) Saper scrivere qualcosa a video da programma risultato dell elaborazione elaborazione Ma come si fa?! 1 Input / Output L'immissione

Dettagli

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni Programmazione in C La struttura del programma Variabili, espressioni, operazioni Struttura del programma // Area quadrato circoscritto // circonferenza /* Author: Lorenzo Course: info */ #include

Dettagli

Variabili e assegnazione

Variabili e assegnazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Variabili e assegnazione Carla Limongelli Marzo 2009 Variabili e assegnazione 1 Contenuti Variabili a ab e assegnazionea e Variabili e aree di

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2017-2018 Programmazione Lezione 4 il Linguaggio C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Problemi

Dettagli

Introduzione al C. Unità 10 Preprocessore

Introduzione al C. Unità 10 Preprocessore Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 10 Preprocessore D. Bloisi, A. Pennisi, S. Peluso, S. Salza Processo di compilazione

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati 1 Note di carratere generale Docente: Camillo Fiorentini 9 ottobre 2007 L obiettivo è quello di scrivere delle semplici funzioni per risolvere problemi di tipo

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

$QDOLVLGHOSURJUDPPDTXDGUDWR

$QDOLVLGHOSURJUDPPDTXDGUDWR $QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =

Dettagli

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O Il linguaggio C C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O C U M E N

Dettagli

Tecniche della Programmazione: Note sull uso del DEVC++

Tecniche della Programmazione: Note sull uso del DEVC++ Tecniche della Programmazione: Note sull uso del DEVC++ PRIMA COSA: DEVC++ permette di programmare in C++ ed in C. Non e esattamente la medesima cosa, come vedremo durante il corso. Ricordiamoci che noi

Dettagli

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.cpp Per scrivere un listato C si utilizza

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Dettagli

Variabili e tipi di. Alessandra Giordani Lunedì 11 aprile

Variabili e tipi di. Alessandra Giordani Lunedì 11 aprile Variabili e tipi di dato in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 11 aprile 2011 http://disi.unitn.it/~agiordani/ Stringhe Un altro tipo di insieme che vorremmo poter rappresentare è quello

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Informazione: dato + significato Che giorno è oggi? 14 Marzo o anche

Dettagli

Variabili intere, funzioni e input/ Alessandra Giordani Lunedì 19 marzo

Variabili intere, funzioni e input/ Alessandra Giordani Lunedì 19 marzo Variabili intere, funzioni e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 19 marzo 2012 http://disi.unitn.it/~agiordani/ Variabili e valori Una variabile è un nome logico

Dettagli

Titolo presentazione

Titolo presentazione Titolo presentazione Programmazione C: Esercizi su stringhe, funzionisottotitolo di libreria e matrici Milano, XX mese 20XX Informatica ed Elementi di Informatica Medica Agenda Argomenti e valore di ritorno

Dettagli

I Fondamenti del Linguaggio

I Fondamenti del Linguaggio Linguaggio C I Fondamenti del Linguaggio Linguaggio di Programmazione Linguaggio formale per la descrizione di programmi per calcolatori Sintassi vicina al linguaggio umano Se non ci fossero, bisognerebbe

Dettagli

FONDAMENTI DI INFORMATICA 2

FONDAMENTI DI INFORMATICA 2 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

LEZIONE 1 LE BASI DEL LINGUAGGIO C

LEZIONE 1 LE BASI DEL LINGUAGGIO C LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Espressione di chiamata di funzione

Espressione di chiamata di funzione Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

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

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

La programmazione in linguaggio C

La programmazione in linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

ASTRAZIONE ASTRAZIONE

ASTRAZIONE ASTRAZIONE ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica

Dettagli

Algoritmi e basi del C

Algoritmi e basi del C Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 24 Agosto 2015 Benvenuti nel fantastico mondo del C 2 Il primo programma: ciao mondo 3 Ciao Mondo: stdio.h Come

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

Dettagli

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char Tipo carattere Finora abbiamo lavorato con valori numerici. I numeri costituiscono molta parte del lavoro dei computer, ma non tutta. I computer sono macchine per il trattamento dell informazione e l informazione

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

ASTRAZIONE. Sono indipendenti dalla macchina hardware sottostante ASTRAZIONE 1

ASTRAZIONE. Sono indipendenti dalla macchina hardware sottostante ASTRAZIONE 1 ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica

Dettagli

INPUT/OUTPUT INPUT/OUTPUT

INPUT/OUTPUT INPUT/OUTPUT INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni predefinite per l'input/output In ogni versione

Dettagli

Introduzione al C. Unità 10 Preprocessore. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Introduzione al C. Unità 10 Preprocessore. D. Bloisi, S. Peluso, A. Pennisi, S. Salza Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 10 Preprocessore D. Bloisi, S. Peluso, A. Pennisi, S. Salza Sommario Processo

Dettagli

La programmazione nel linguaggio C

La programmazione nel linguaggio C 3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Programmazione in ANSI C. Standard del Con successive aggiunte

Programmazione in ANSI C. Standard del Con successive aggiunte 1 Programmazione in ANSI C Standard del 1989 Con successive aggiunte Le fasi della programmazione Ad un primo livello di astrazione l'attività della programmazione puo essere suddivisa in quattro (macro)

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 1 - Variabili, costanti, strutture di controllo e input/output Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione

Dettagli