Informatica A. Il linguaggio C. A.a. 2006/2007. Allievi Ingegneria Gestionale
|
|
- Michela Riva
- 7 anni fa
- Visualizzazioni
Transcript
1 Informatica A A.a. 2006/2007 Allievi Ingegneria Gestionale Il linguaggio C
2 Tecnologia Software Il SW come Interfaccia Tra Utente e Macchina Fisica Programma dell utente (software applicativo) Gestione della macchina fisica (software di base)
3 Linguaggio C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Linguaggio portabile Molto diffuso e adatto ad un ampio spettro di applicazioni Scientifiche Gestionali Industriali (acquisizione dei dati, controllo dei processi) Informatiche (sw di base (SO Unix), strumenti (CAD), pacchetti applicativi)
4 Linguaggio ad alto livello Elementi: alfabeto o vocabolario del linguaggio Sintassi: insieme di regole con cui si compongono gli elementi per costruire frasi eseguibili (istruzioni) Semantica: significato egli elementi, delle frasi e dell intero programma Regole sintattiche: devono essere univoche sulla composizione delle frasi Deve essere possibile determinare in modo automatico e con certezza se una frase è sintatticamente corretta Correttezza sintattica: condizione necessaria per la corretta esecuzione del programma
5 Linguaggio ad alto livello Solo programmi corretti possono essere tradotti correttamente dal compilatore Errori di un programma Sintattici: rilevati durante la compilazione Di esecuzione: rilevati run-time elementi del programma (celle di memoria, istruzioni, valori costanti) denotati in modo simbolico usando un identificatore, più facile da ricordare sequenza di esecuzione istruzioni espressa in modo più simile al linguaggio naturale e della matematica
6 Elementi del linguaggio C Parole chiave (o riservate): proprie del linguaggio Istruzioni oppure parole con un significato particolare (tipi) Identificatori: costituiti da sequenze di caratteri alfanumerici Nomi di variabili, costanti, tipi definiti dall utente, funzioni, procedure Definiti dall utente, oppure di sistema (contenuti in librerie) Operatori (unari o binari) Assegnamento = Aritmetici + - * / Relazionali (confronto) > < <= ==!= Logici! && Altri
7 Elementi del linguaggio C Separatori (delimitatori) di identificatori di variabili e costanti, di istruzioni ; di commento /* */ di blocco di istruzioni { } in espressioni ( ) Direttive al preprocessore C #include (parola chiave) Valori costanti (cifre o caratteri)
8 Il nostro primo programma C 1 /* Primo programma in C */ 2 #include <stdio.h> 3 4 int main() 5 { 6 printf( "Welcome to C!\n"); 7 8 } Welcome to C! Commenti: si tratta di testo racchiuso da /* and */ e viene ignorato (usato per descrivere il programma) #include <stdio.h>: Direttiva al preprocessore - dice al computer di caricare il contenuto di un certo file (in questo caso <stdio.h>: standard input/output) Catena di programmazione per il C
9 Catena di programmazione per il C 1. editing (produzione del programma, svolta dal programmatore con l ausilio di un programma editor): viene creato il programma sorgente e viene salvato su disco 2. preprocessing (svolta da un programma preprocessor): direttive al preprocessore per l inclusione di file e la sostituzione di nomi simbolici 3. traduzione (svolta dal compilatore): traduzione del programma sorgente in linguaggio macchina e produzione codice oggetto 4. collegamento (svolta dal collegatore o linker): il codice oggetto viene arricchito con funzioni mancanti e viene prodotta immagine eseguibile 5. caricamento (svolta dal caricatore o loader): il programma eseguibile viene caricato in memoria 6. esecuzione: la CPU esegue il programma un istruzione alla volta
10 La macchina astratta del C BUS UC x a pippo Standard output MEM. Standard input
11 Standard I/O Un programma C ha due periferiche standard di ingresso e uscita Standard input (tastiera) Standard output (video) che possono essere viste come sequenze di celle elementari analoghe alla memoria
12 Memoria Divisa in celle elementari VARIABILI Ogni cella può contenere un dato I dati possono essere Numeri Caratteri Stringhe (successioni finite di caratteri, immagazzinati in celle consecutive) Semplificazioni/idealizzazioni (astrazioni) nessun limite a numero delle celle e valore numerico contenuto Rappresentazione in memoria di una variabile A indirizzo di A Valore di A
13 Variabili Sono contenitori di informazioni (cioè di valori), caratterizzati da: nome simbolico: rappresenta in modo univoco una locazione di memoria successione di lettere e cifre e segno _, con al primo posto una lettera Esempi di identificatori C a, x, alfa, pippo, a1, xy23, Giuseppe, DopoDomani, velocita_massima NB maiuscole distinte dalle minuscole Var1, var1 e VAR1 tre diversi identificatori tipo: rappresenta il tipo di codifica usato per rappresentare i valori Indica l insieme dei valori, le operazioni lecite, come agiscono tali operazioni
14 Variabili Dichiarazione di variabile: indica che e come una variabile verrà utilizzata dal programma Definisce l identificatore simbolico (nome) Definisce il tipo, adatto ai valori da rappresentare Alloca la quantità di memoria adeguata a contenere il tipo Associa in modo univoco l indirizzo di memoria al nome Consente di rilevare, durante la compilazione, errori sull uso improprio della variabile nel programma Sintassi C per la dichiarazione di variabili tipo id_var <, id_var, >;
15 Attenzione Per evitare ambiguità vietato usare stesso identificatore per indicare diversi elementi diversi identificatori per lo stesso elemento Esistono identificatori riservati associati a priori a qualche elemento del linguaggio non usabili dal programmatore con significati differenti da quello predefinito Esempio: parole chiave (le scriveremo in neretto) scanf operazione di ingresso printf operazione di uscita
16 Struttura di un programma Programma C C Parte dichiarativa globale programma principale funzione main() Stile di scrittura del programma leggibilità Scelta degli identificatori Indentazione: struttura grafica che rispecchia la struttura logica commenti
17 Struttura di un programma C Parte dichiarativa globale Funzioni importate da altri moduli (file), cioè definite e codificate in altri file Oggetti visibili (utilizzabili) da tutto il programma, cioè da main e da altre funzioni Tipi di dati, variabili, costanti simboliche, prototipi di funzioni
18 Struttura di un programma C Programma Principale int main () { Parte dichiarativa locale Parte esecutiva } Parola Riservata (identificatore di funzione). Appare un unica volta nel programma e definisce l inizio dell esecuzione. Formalmente è una funzione Definisce l insieme di oggetti (visibili al main) usati dal programma principale per l esecuzione. Insieme delle istruzioni che costituiscono il programma principale
19 Struttura di un programma Parte dichiarativa locale 1. Dichiarazioni di costanti 2. Definizione di nuovi tipi definiti dall utente 3. Dichiarazione di variabili Regole sintattiche per le dichiarazioni locali e globali Ogni identificatore usato deve essere prima definito Ogni variabile usata deve essere prima dichiarata Parte esecutiva: istruzioni Assegnamento Istruzioni di ingresso e uscita Istruzioni composte (blocchi di istruzioni) Costrutti condizionali, ciclici Chiamate di sottoprogrammi (funzioni)
20 Tipi Tutte le variabili devono essere dichiarate, specificandone il tipo Un tipo identifica la classe dei valori ammissibili, le operazioni lecite, e la modalità con cui agiscono le operazioni E utile dichiarare il tipo perché si possono rilevare errori di uso della variabile in fase di compilazione (ma qui il C è alquanto debole...) Tipi built-in (predefiniti): tipi disponibili nel linguaggio Tipi definiti dall utente: nuovi tipi Basati sui tipi built-in Definiti tramite costruttori di tipo, che sono parole chiave del linguaggio Caratterizzati da: Classe di valori ammissibili Operazioni lecite Operazioni associate al costruttore
21 Tipi Semplici: elementari, non strutturati Possono essere built-in o user-defined (sulla base dei tipi built-in) Una variabile di tipo semplice ha un valore atomico, l informazione associata al tipo è indivisibile Strutturati (aggregati): composti da elementi La variabile è costituita da un insieme di elementi Definizione di un tipo strutturato: basata sul costruttore di tipo strutturato, che definisce come sono composti gli elementi Sono necessari operatori per accedere ai singoli elementi della variabile Ad ogni elemento è associato un valore (l informazione associata alla variabile è composta dai valori dei singoli elementi) Ad ogni elemento è associato un tipo (tipo dell elemento), che può essere semplice o a sua volta strutturato
22 Tipi semplici built-in I nomi di tali tipi sono parole chiave del linguaggio C char: (8 bit 1 byte): Valori da 0 a 255, che rappresentano la codifica ASCII del carattere corrispondente int (16 bit-2 byte): rappresentano gli interi relativi. Valori in complemento a 2 da a float (32 bit-4 byte): rappresentano i razionali in virgola mobile. Valori espressi tramite mantissa e esponente (standard IEEE). Valori da a double (8 byte): float in doppia precisione Si dicono tipi aritmetici Consigli: Inizializzare sempre esplicitamente. Evitare le inizializzazioni implicite che C potrebbe eseguire, al fine di migliorare la leggibilità Si conosce quanta memoria riservare ad una variabile in base al tipo
23 Tipi enumerativi Tipi semplici user-defined, che implicano l enumerazione esplicita dei valori che la variabile potrà assumere Sintassi C enum {v1, v2, v3,, vn} nome_var; v1, v2, vn sono tutti e soli i valori che la variabile potrà assumere enum nome_tipo {v1, v2, v3,,vn}; enum nome_tipo nome_var; enum nome_tipo definisce un tipo enumerativo. nome_var è una variabile di tipo enum nome_tipo che può quindi assumere solo i valori v1, v2, vn
24 Tipi enumerativi In genere i valori sono espressi tramite nomi simbolici L ordine di enumerazione definisce le relazioni tra i valori (v1<v2<v3< <vn) 0 enum {lu,ma,me,gio,ve,sa,do} giorno; enum {lu=1,ma,me,gio,ve,sa,do} giorno; enum {verde,giallo,rosso} semaforo;
25 Costanti e dichiarazione di costanti Costanti esplicite: esprimono direttamente dei valori 24 costante di tipo int costante di tipo float A costante di tipo char Costanti simboliche Sono nomi simbolici che il programmatore adotta per indicare dei valori prefissati (maggiore leggibilità) Hanno un tipo espresso implicitamente nel valore Dichiarazione di una costante Definisce il nome Associa un valore (e tipo implicito) In C la dichiarazione (definizione) di costante viene fatta tramite direttiva al preprocessore C #define nmaxp 10 #define vmax #define FALSE 0 #define TRUE 1
26 Istruzioni di Assegnamento Indicano l operazione che assegna un valore ad una variabile Sintassi C: <nome_variabile> = <espressione>; <nome_variabile> èil nome della variabile a cui si vuole assegnare un valore Il nuovo valore sostituisce quello precedentemente contenuto dalla variabile <espressione> può essere valore costante variabile combinazione di espressioni mediante operatori (e.g. aritmetici +,, *, /, %) e parentesi
27 Esempi x = 23; w = 'a'; y = z; alfa = x+y; r3 = (alfa*43 xgg)*(delta 32*ijj); x = x+1; Abbreviazioni: x= x + 2; a = a + 1; x += 2; ++a;
28 Esecuzione assegnamento 1. valutazione dell espressione (valore delle variabili è memorizzato nelle celle corrispondenti) 2. memorizzazione del risultato nella variabile a sinistra del simbolo = Variabili usate come operandi in espressioni Il nome della variabile indica che se ne deve usare il valore contenuto
29 Espressioni e operatori Sintassi C <espressione> contiene identificatori (di variabili, di costanti, di funzioni), costanti esplicite, operatori, () Semantica Descrive il modo per ottenere il valore dell espressione a partire dal valore degli operandi e dall applicazione degli operatori Nelle espressioni complesse, la sequenza di esecuzione delle operazioni è definita dalla Precedenza predefinita degli operatori Forzatura mediante l uso delle parentesi Operatori Unari si applicano ad un solo operando Binari si applicano a due operandi
30 Tipi di Operatori Aritmetici + - * / % Operandi aritmetico e risultato aritmetico Di confronto > >= < <= == (uguale)!= (diverso) Operandi dello stesso tipo Il risultato è un valore logico Valori logici: in C non esiste il tipo logico, che assume solo valori false e true, ma viene utilizzato il tipo int Il valore False è associato a 0 Il valore True è associato ad ogni valore diverso da 0 Logici Operandi logici e risultato logico && (AND) (OR)! (NOT) operatore unario Esempio: (num>valmin) && (num<= valmax) Vale True solo se num è compreso tra valmin (escluso) e valmax (compreso)
31 Priorità tra gli operatori! - (unario) * / % + - > >= < <= ==!= && =
32 Operatori di Assegnamento Abbreviano le espressioni di assegnamento. Ad esempio: c = c + 3; si abbrevia come c += 3; Istruzioni della forma: variabile = variabile operatore espressione; si può riscrivere come: variabile operatore = espressione; Esempi: d -= 4 (d = d - 4) e *= 5 (e = e * 5) f /= 3 (f = f / 3) g %= 9 (g = g % 9)
33 Operatori di Incremento e Decremento Incremento (++) - invece di c+=1 Decremento (--) - invece di c-=1. Preincremento L operatore è posto PRIMA della variabile (++c o --c) La variabile viene modificata, E POI l espressione che la contiene viene valutata Postincremento L operatore è posto DOPO la variabile(c++ or c--) L espressione viene eseguita, e POI la variabile viene modificata Sia c = 5: printf( "%d", ++c); Stampa 6 printf( "%d", c++); Stampa 5 In entrambi i casi al termine c ha valore 6
34 Operatori di Incremento e Decremento Attenzione!!! Quando la variabile NON FA PARTE DI UNA ESPRESSIONE il preincremento e il postincremento hanno lo stesso effetto. Ad esempio: ++c; printf( %d,c); c++; printf( %d,c); hanno lo stesso effetto.
35 Compatibilità tra i tipi di base nelle espressioni Un espressione che contiene variabili o costanti di tipi di base diversi è potenzialmente inconsistente Il linguaggio C accetta comunque tali espressioni, definendo delle regole automatiche di conversione stabiliscono che, data un espressione inconsistente, ad esempio: int a,b; char c; float d; a + b - c * d essa venga resa consistente, convertendo i valori delle variabili di tipo inferiore a valori di tipo superiore, secondo la seguente gerarchia: char < int < float L espressione precedente diventa allora di tipo float Per i tipi definiti dall utente tramite typedef, si considera il tipo di base associato al tipo definito
36 Compatibilità tra i tipi nell assegnamento Il compilatore controlla la compatibilità tra i tipi In alcune situazioni risolve la non compatibilità tramite delle regole di conversione automatica tra i tipi Il valore generato da <espressione> dovrebbe essere dello stesso tipo della variabile da assegnare Assegnamento tra tipi aritmetici eterogenei All atto dell assegnamento, il valore di <espressione> viene convertito in un valore corrispondente appartenente al tipo della variabile da assegnare
37 Compatibilità tra i tipi nell assegnamento La conversione del tipo di <espressione> è indolore se il il tipo dell espressione è inferiore al tipo della variabile, secondo la seguente gerarchia: char < int < float Altrimenti non è esclusa perdita di informazione Es.: la conversione di un valore da float in un valore int comporta la perdita della parte frazionaria int i; float f; f = 4.3; /*OK!*/ i = 4.3; /*assegnamento incongruente con perdita di informazione*/ f = 10; /*assegnamento incongruente senza perdita di informazione*/ i = 10; /*OK!*/
Linguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliIntroduzione 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
DettagliLinguaggio 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
DettagliIntroduzione al linguaggio C
INFORMATICA B Ingegneria Elettrica Introduzione al linguaggio C Introduzione Linguaggio di programmazione ad alto livello Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro
DettagliElementi 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
DettagliPrimi 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
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliIl linguaggio C. Danilo Ardagna Politecnico di Milano
Il linguaggio C Danilo Ardagna Politecnico di Milano 14-3-2014 Introduzione! Linguaggio di programmazione ad alto livello (HLL)! Sviluppato negli anni 70 (C standard ANSI)! Molto diffuso e adatto ad un
DettagliIl potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliIntroduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
DettagliUnità 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
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliIl linguaggio C Il linguaggio C. Caratteristiche del C. Caratteristiche del C. Linguaggi di Programmazione I. Ferdinando Cicalese
03-10-2003 Il linguaggio C Linguaggio general-purpose Il linguaggio C Creato nel 1972 nei Bell Labs da Dennis Ritchie su PDP11 Usato per il Sistema Operativo Unix da Ken Thompson Negli anni 80 nasce ANSI
DettagliElementi 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",
DettagliLinguaggio 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
DettagliUnità 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
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliESECUZIONE 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
DettagliDESCRIZIONI RIGOROSE c7
DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei
DettagliESECUZIONE 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
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliIL 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
DettagliVariabili 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
DettagliAlgoritmi 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 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliVariabili. Tipi di dati di base. Variabili. Variabili
Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva
DettagliFONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso
FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 4 Introduzione alla programmazione in linguaggio C Indice 1. Sviluppo del software 2. Sistema operativo 3. Linguaggi di basso livello
DettagliTipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.
Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi
DettagliEsempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina
Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011
Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali
DettagliConversioni fra Tipi di Dati. Luca Abeni
Conversioni fra Tipi di Dati Luca Abeni Tipi di Dato e Conversioni In C, ogni variabile è caratterizzata da un tipo I valori che la variabile può assumere dipendono dal tipo È possibile mescolare variabili
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
DettagliLa 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
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
DettagliUn elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti
DettagliTipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
DettagliLinguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin
Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica
DettagliInformatica Generale Andrea Corradini I linguaggi di programmazione
Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
DettagliPuntatori. Fondamenti di Programmazione
Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale
Dettagli1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio
soluzione di un problema 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio rappresentazioni disponibili in C++:
DettagliEspressione 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 è
DettagliIntroduzione al linguaggio Fortran 90
Introduzione al linguaggio Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica
DettagliFondamenti di Informatica T. Linguaggio C: i puntatori
Linguaggio C: i puntatori Il puntatore E` un tipo di dato, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un insieme
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Luca Abeni March 10, 2014 Linguaggi di Programmazione Necessità di esprimere un algoritmo in modo formale Abbiamo accennato diagrammi a blocchi......ma esistono anche molti
DettagliLaboratorio di informatica Ingegneria meccanica
Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliCorso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Le variabili in C KP Cap. 3, pp. 95-129 Cap. 5, pp. 190-193 DD Cap. 9, pp.352-355 Tipi di dato Abbiamo già parlato delle variabili, ed
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
DettagliLinguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C tipi di dati definiti dall utente Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Tipi di dati in C Predefiniti
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliAppunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliLe 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
DettagliIntroduzione al Linguaggio C Corso di Informatica Laurea in Fisica
Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10 Dai flow-chart ai linguaggi... Abbiamo imparato ad usare uno strumento formale i flowchart per
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliLa 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
DettagliLinguaggio C: le funzioni. Visibilità variabili e passaggio parametri
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliLinguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli
Linguaggio C Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati Stefano Aguzzoli Alcune note introduttive Orario lezioni: Lunedì: 11:40 13:10, Giovedì: 10:40-11:25 sempre in Aula V3, Via
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliLezione 10. L arte della programmazione
Lezione 10 Linguaggi di programmazione: il C Le variabili e le costanti L assegnazione Gli operatori La documentazione L input/output L arte della programmazione La soluzione di un problema tramite un
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliNozioni base di programmazione in linguaggio C
Nozioni base di programmazione in linguaggio C Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://www.elet.polimi.it/~cugola
DettagliLinguaggio C: le funzioni. Introduzione e sintassi
ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni
DettagliInformatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione
Informatica 3 Informatica 3 LEZIONE 2: Sintassi e semantica Lezione 2- Modulo 1 Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4:
DettagliLinguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
DettagliCodifica degli algoritmi in linguaggio di alto livello
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Codifica degli algoritmi in linguaggio di alto livello Ing. Agnese Pinto 1 di 44 Codifica degli algoritmi in linguaggio
DettagliIl linguaggio C - Introduzione
Il linguaggio C - Introduzione Il C è un linguaggio imperativo legato a Unix, adatto all implementazione di compilatori e sistemi operativi. È stato progettato da D. Ritchie per il PDP-11 (all inizio degli
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliSomma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliLinguaggi e moduli. Dott. Franco Liberati
(canale A-D) A Linguaggi e moduli Dott. Franco Liberati Linguaggi di programmazione Compilatore Assemblatore Linker (collegatore) LINKER COMPILATORE ASSEMBLATORE LINGUAGGI DI PROGRAMMAZIONE Linguaggio
DettagliUtilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:
1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
DettagliCorso di Fondamenti di Informatica Linguaggi di Programmazione
Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di
DettagliLinguaggio C: le funzioni. Introduzione e sintassi
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa
DettagliSTORIA E CARATTERISTICHE
IL LINGUAGGIO C STORIA E CARATTERISTICHE STORIA E VERSIONI Sviluppato da Dennis Ritchie ai Bell Labs nel 1972 per realizzare il sistema operativo UNIX K&R C: 1978 (prima versione, K&R dal nome degli autori
DettagliEspressioni con effetti collaterali
Espressioni con effetti collaterali Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Operatore di assegnamento In C l assegnamento (=)
Dettagli