ELEMENTI DI INFORMATICA. Linguaggio C
|
|
- Emanuele Bernardini
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettrica ed Elettronica ELEMENTI DI INFORMATICA A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel mail: Linguaggio C 1
2 Un linguaggio è caratterizzato da: SINTASSI - insieme di regole formali per la scrittura di programmi, che fissano le modalità per costruire frasi corrette nel linguaggio. SEMANTICA - insieme dei significati da attribuire alle frasi (sintatticamente corrette) costruite nel linguaggio Scrivere un programma sintatticamente corretto non implica che il programma faccia quello per cui è stato scritto. 2
3 Sviluppo di un programma (compilazione) - editing: scrivere il testo e memorizzarlo su supporti di memoria permanenti; - compilazione: traduzione del codice sorgente in codice oggetto; - linking: integrazione dei vari moduli di un programma per creare un'unità eseguibile; - esecuzione: la cpu esegue il programma; 3
4 Compilatore: traduce il programma sorgente in programma oggetto; ANALISI programma sorgente analisi lessicale analisi sintattica TRADUZIONE generazione del codice ottimizzazione del codice Esempi: C, C++, Pascal 4
5 5
6 Sviluppo di un programma (approccio interpretato) - editing: scrivere il testo e memorizzarlo su supporti di memoria permanenti; - interpretazione: ogni istruzione viene convertita in linguaggio macchina e eseguita; ANALISI programma sorgente analisi lessicale analisi sintattica ESECUZIONE ESEMPIO: Basic 6
7 Il primo programma C #include<stdio.h> int main(){ printf( Hello World! ); Return 0; 7
8 Variabili Memoria: insieme di celle. Cella: in genere ha una grandezza di un byte (8 bit) cella indirizzo valore valore variabile Variabile: gruppo di celle consecutive che vengono considerate dal programmatore come un unica cella informativa. Attributi di una variabile: - Indirizzo della prima cella - Valore (contenuto di tutte le celle) 8
9 Variabili (2) Variabili: l indirizzo non cambia; il valore può subire modifiche Programmatore: si riferisce a una variabile mediante un nome (identificatore); Variabile: ha un tipo Tipo di una variabile: insieme di valori (detti elementi o costanti del tipo); 9
10 Dichiarazioni e definizioni Costrutti che introducono nuove entità: dichiarazioni; definizioni. Dichiarazioni: entità a cui il compilatore non associa locazioni di memoria o azioni eseguibile; 10
11 Definizioni: entità a cui il compilatore associa locazioni di memoria o azioni eseguibili; esempio: definizioni di variabili o di costanti Nomenclatura consentita in C: spesso non è semplice né conveniente trattare separatamente dichiarazioni e definizioni; con dichiarazione si può intendere sia una dichiarazione vera e propria, sia una definizione (le dichiarazioni comprendono le definizioni). 11
12 Esempio #include<stdio.h> int main() { int a,b; /*dichiarazione di variabile*/ int c=3; /*dichiarazione e definizione*/ printf( Sono il secondo programma\n ); return(0); 12
13 Costanti Se il valore associato ad un identificativo non è modificabile parliamo di costanti. 13
14 I tipi base Il C supporta due tipologie fondamentali di numeri: numeri interi e i numeri a virgola mobile; I valori di un tipo intero sono numeri interi, mentre i valori dei tipi a virgola mobile possono avere anche una parte frazionaria. 14
15 Tipi interi Tipo Valore minimo Valore massimo short int Unsigned short int int Unsigned int Long int Unsigned long int
16 Tipi interi (2) #include<stdio.h> int main() { int a,b; /*dichiarazione di variabile*/ int c=3; /*definizione e dichiarazione*/ return(0); 16
17 Tipi floating point Tipo Valore minimo Valore massimo float 1,17549 x 10^-38 3,40282 x 1038 double 2,22507 x 10^-308 1,79769 x
18 Tipi floating point (2) #include<stdio.h> int main() { double a,b; a=3.14; float c; c=5.15; return(0); 18
19 Tipi char Il tipo char è il tipo di dato utilizzato per i caratteri. I valori del tipo char possono variare da macchina a macchina poichè esistono diversi tipi di set di caratteri (il più diffuso è quello ASCII: American Standard Code for Information). A una variabile di tipo char può essere assegnato un qualsiasi carattere: char ch; ch='a'; /* a minuscola */ ch='a'; /* A maiuscola */ 19
20 Tipi definiti dall'utente I tipi enumerazione sono: - definiti dal programmatore; - costituiti da insiemi di costanti intere definite dal programmatore, ciascuna individuata da un identificatore e detta enumeratore; - utilizzati per variabili che assumono solo un numero limitato di valori; - utili per rappresentare informazioni non numeriche; 20
21 Tipi definiti dall'utente (2) #include <stdio.h> int main() { enum Giorni{LUN,MAR,MER,GIO,VEN,SAB,DOM; enum Giorni oggi=lun; printf("%d",oggi); //stampa 0 return(0); 21
22 Definizione di tipi L'istruzione introdotta dalla parola-chiave typedef definisce un sinonimo di un tipo esistente. Non crea un nuovo tipo, ma un nuovo identificatore di un tipo (nativo o astratto) precedentemente definito. typedef int interi; interi a; /* equivale a scrivere int a*/ 22
23 Assegnamento (o assegnazione) Si può conferire un valore ad una variabile tramite un assegnamento: int a,b; int c=4; a=c; b=a; const int x=3; 23
24 Left value e Right value Left value: espressione che può apparire sul lato sinistro di un assegnamento; Right value: espressione che può apparire sul lato destro di un espressione; 24
25 Assegnamenti (2) #include<stdio.h> int main{ int a,b,c; a=b=c=1; b=a*b; c=c+1=3; //ATTENZIONE! return(0); 25
26 printf() e specifiche di conversione La funzione printf() viene utilizzata per visualizzare a video il contenuto di una stringa. Stringa di controllo %d, %i Stampa interi %f reale %c carattere %s stringa %o ottale %x, %X esadecimale %u Intero senza segno %e, %E Formato scientifico 26
27 printf() (2) #include<stdio.h> int main(){ int a=3; printf( %d%d,a); //numero di specifiche superiori all'input return(0); 27
28 printf() (2) #include<stdio.h> int main(){ int a=3; printf( %d%d,a); //numero di specifiche superiori all'input return(0); #include<stdio.h> int main(){ int a=3,b=5; printf( %d,a,b); //numero di specifiche inferiori all'input return(0); 28
29 Operatori aritmetici Operatori Binari Additivo Moltiplicativo + somma * moltiplicazione - sottrazione / divisione % resto Operatori Unari + più unario - unario 29
30 Operatori logici e di confronto I tipi aritmetici possono usare gli operatori di confronto: == uguale!= diverso > maggiore >= maggiore o uguale < minore <= minore o uguale 30
31 Operatori logici e di confronto (2)! operatore logico not && operatore logico and operatore logico or Gli operatori logici, quando utilizzati in un'espressione, producono 0 oppure 1 come risultato. 31
32 #include<stdio.h> int main() { int a=2, b=3, c; c=a>2&&b>3; printf( %d,c); //0 c=a>2 b==3; printf( %d,c); //1 return(0); 32
33 #include<stdio.h> int main() { int a=2, b=3, c; c=!(a>2&&b>3); printf( %d,c); //1 c=a>2 b==3; printf( %d,c); //1 return(0); 33
34 Corto circuito #include<stdio.h> int main() { int a=2, b=3, c; c=(a!=0)&&(4/a>1); printf("%d",c); c=(4/a>1) (a!=0); printf("%d",c); return(0); //ATTENZIONE! 34
35 Incremento e decremento #include<stdio.h> int main(){ int a=1, b=2; a+=1; ++b; a++; //a=a+1; //b=b+1; //a=a+1; 35
36 Incremento e decremento (2) #include<stdio.h> int main() { int a=2, c=0; printf("%d\n",c++); //stampa 0 printf("%d\n",c); //stampa 1 printf("%d\n",++a); //stampa 3 printf("%d\n",a); //stampa 3 return(0); 36
37 Incremento e decremento (3) #include<stdio.h> int main() { int a=2, c=2; printf("%d\n",c ); //stampa 2 printf("%d\n",c); //stampa 1 printf("%d\n", a); //stampa 1 printf("%d\n",a); //stampa 1 return(0); 37
38 Conversioni di tipo Conversioni implicite: quando in un'espressione logica o aritmetica gli operandi non sono dello stesso tipo; quando il tipo del lato destro di un'assegnazione non è lo stesso di quello del lato sinistro; 38
39 #include<stdio.h> int main() { char c; short int s; int i; unsigned int u; long int l; unsigned long int ul; float fl; double d; long double ld; l=l+u; /* il valore di u viene Convertito al tipo long int ul=ul+l; /* il valore di l viene convertito al tipo uns. Long int fl=fl+ul; /* il valore di ul viene convertito al tipo float; d=d+fl; /* il valore di fl viene convertito al tipo double; i=i+c; i=i+s; u=u+i; /* il valore di c viene convertito al tipo int /* il valore di s viene convertito al tipo int /* il valore di i viene convertito al tipo unsigned int ld=ld+d; /* il valore di d viene convertito al tipo long double return(0); 39
40 Conversioni di tipo (2) Attenzione: nella conversione da double a int si può avere una perdita di informazione a causa del troncamento della parte decimale. In alcuni casi nella conversione da int a double si può verificare una perdita di precisione per arrotondamento, poichè gli interi sono rappresentati in forma esatta ed i reali sono rappresentati in forma approssimata. 40
41 Cast esplicito Sebbene le conversioni esplicite siano convenienti, a volte si ha bisogno di un maggior grado di controllo sulla conversione di tipo. Un'espressione di cast ha la forma: (nome del tipo) espressione Il nome del tipo specifica il tipo nel quale verrà convertita l'espressione. float f=3.14; int i; i=(int) f; //cast 41
42 Ordine di valutazione delle espressioni 1 Operatore Precedenza Associatività ++a --a a++ a-- + unario - unario 1 sinistra 2 destra * / % 3 sinistra sinistra = *= /= %= += -= 5 destra L associatività stabilisce, a parità di priorità, quale sia l ordine con cui bisogna eseguire i vari operatori. Se l operatore è associativo a sinistra, si scorrerà da sinistra verso destra, mentre se è associativo a destra, si farà l esatto contrario. 42
43 Ordine di valutazione delle espressioni 2 #include<stdio.h> int main(){ int a,b,c,d,e,f; a=b=c=d=e=f=1; a= b+= c++ d + e / f; return(0); 43
44 Ordine di valutazione delle espressioni 2 #include<stdio.h> int main(){ int a,b,c,d,e,f; a=b=c=d=e=f=1; a= b+= c++ d + e / f; return(0); 1 a= b+= (c++) d + e / f; 44
45 Ordine di valutazione delle espressioni 2 #include<stdio.h> int main(){ int a,b,c,d,e,f; a=b=c=d=e=f=1; a= b+= c++ d + e / f; return(0); 1 a= b+= (c++) d + e / f; 2 a= b+= (c++) d + ( e) / f; 45
46 Ordine di valutazione delle espressioni 2 #include<stdio.h> int main(){ int a,b,c,d,e,f; a=b=c=d=e=f=1; a= b+= c++ d + e / f; return(0); 1 a= b+= (c++) d + e / f; 2 a= b+= (c++) d + ( e) / f; 3 a= b+= (c++) d + (( e) / f); 46
47 Ordine di valutazione delle espressioni 2 #include<stdio.h> int main(){ int a,b,c,d,e,f; a=b=c=d=e=f=1; a= b+= c++ d + e / f; return(0); 1 a= b+= (c++) d + e / f; 2 a= b+= (c++) d + ( e) / f; 3 a= b+= (c++) d + (( e) / f); 4 a= b+= (((c++) d) + (( e) / ( f))); 47
48 Ordine di valutazione delle espressioni 2 #include<stdio.h> int main(){ int a,b,c,d,e,f; a=b=c=d=e=f=1; a= b+= c++ d + e / f; return(0); 1 a= b+= (c++) d + e / f; 2 a= b+= (c++) d + ( e) / f; 3 a= b+= (c++) d + (( e) / f); 4 a= b+= (((c++) d) + (( e) / ( f))); 5 (a= (b+= (((c++) d) + (( e) / ( f)))); 48
49 scanf() La funzione scanf() viene utilizzata per leggere dallo standard input secondo un particolare formato. #include<stdio.h> int main(){ int a; printf( Inserisci un valore: \n ); scanf( %d,&a); return(0); 49
50 L'istruzione if if (<COND>){ <IF_BLOCK> else { <ELSE_BLOCK> 50
51 L'istruzione if #include<stdio.h> int main(){ int num1,num2; scanf( %d%d,&num1,&num2); if(num1<num2){ printf( %d,num1); else { printf( %d,num2); 51
52 L'istruzione if (2) #include<stdio.h> int main(){ int num1,num2,max; scanf( %d%d,&num1,&num2); if(num1>num2){ max=num1; else { max=num2; return(0); 52
53 #include<stdio.h> int main(){ int operazione, num1, num2, ris; printf("1: somma, 2: sottrazione, 3: moltiplicazione \n"); scanf("%d",&operazione); if(operazione==1){ printf("inserisci i numeri:\n"); scanf("%d%d",&num1,&num2); ris=num1+num2; printf("il risultato è: %d\n",ris); else if(operazione==2){ printf("inserisci i numeri:\n"); scanf("%d%d",&num1,&num2); ris=num1 num2; printf("il risultato è: %d\n",ris); else if (operazione == 3) { printf("inserisci i numeri:\n"); scanf("%d%d",&num1,&num2); ris=num1*num2; printf("il risultato è: %d\n",ris); else { printf("numero non valido!\n"); 53
54 Espressione condizionale <COND>? <IF_EXPRESSION> : <ELSE_EXPRESSION> #include<stdio.h> int main(){ int a=2, b=3; int max; max=(a>b?a:b); printf( Il massimo è: %d,max); return 0; 54
Dichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
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
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
Dettagli1
Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix
DettagliLinguaggio 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
DettagliTipi di dato semplici
Tipi di dato semplici Informatica B Tipi di dati q In C esistono diversi tipi di dato built-in, tra cui int: numeri interi float: numeri con virgola (singola precisione) double : numeri con virgola (doppia
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
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
DettagliLaboratorio 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
DettagliDati 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
DettagliProgrammare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme
Dettagli#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
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
DettagliI/O da tastiera + Alessandra Giordani Lunedì 2 maggio
I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
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
DettagliTipi di dato, Alessandra Giordani Lunedì 7 maggio 2011
Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare
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
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIntroduzione 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
DettagliIL LINGUAGGIO C TIPI DI DATO
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
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
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 / 34 Ringraziamenti prof. Mirko Viroli, Università
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
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
Dettagli- Dispensa III - PROGRAMMAZIONE C (Parte I)
Elementi di Informatica e Programmazione - Dispensa III - PROGRAMMAZIONE C (Parte I) Alessandro Saetti (email: alessandro.saetti@unibs.it) Università degli Studi di Brescia 1 Linguaggi di Programmazione
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. 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
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
DettagliEsercizi Programmazione I
Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in
DettagliPrimi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione
Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma
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
DettagliLinguaggi di programmazione
Linguaggi di programmazione C LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell
DettagliInformatica. Stefano Lodi. 16 novembre in linguaggio C
Informatica in linguaggio C Stefano Lodi 16 novembre 2005 0-0 Algoritmi, linguaggi, programmi, processi trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante istruzioni
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
DettagliChar. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliIL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei
DettagliLinguaggi 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
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
DettagliL assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci
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
DettagliIntroduzione 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,
DettagliInformatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
DettagliLa sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliSilvia Rossi. C elementi di un programma. Informatica. Programmazione I. Lezione n.
Silvia Rossi C elementi di un programma Lezione n. 2 Informatica Programmazione I silvia.rossi@unina.it Programma Una sequenza di istruzioni che il calcolatore esegue per produrre i risultati richiesti
DettagliAssegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2
Assegnamento Assegnamento Ricordiamo che l esecuzione di x = exp corrisponde a: 1. valutare il valore dell espressione exp a destra di = (usando i valori correnti delle variabili); 2. assegnare poi tale
DettagliLaboratorio 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
DettagliTipi di dato semplici
Tipi di dato semplici Abbiamo visto nei primi esempi che il C tratta vari tipi di dato = le dichiarazioni associano variabili e costanti al corrispondente tipo Per tipo di dato si intende un insieme di
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 2: Elementi lessicali, casting e while Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Soluzione agli esercizi
DettagliEspressioni in Linguaggio C
Concetti chiave Espressioni in Linguaggio C Espressioni Conversioni Implicite Operatori aritmetici Operatore di assegnamento Operatori relazionali Operatori logici Gerarchia e associatività degli operatori
DettagliGli Operatori. Università degli Studi di Brescia
Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali
DettagliBasi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliLaboratorio di informatica Ingegneria meccanica
( 1 ) Rappresentazione di numeri reali Laboratorio di informatica Ingegneria meccanica Lezione 8 26 novembre 2007 Numerazione posizionale: d n d 1 d 0.d -1 d -2 d -m rappresenta d n B n + + d 1 B 1 + d
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
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
DettagliI 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
DettagliBasi della programmazione in Java
Basi della programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliFondamenti di Informatica L-A. Esercitazione 2
Fondamenti di Informatica L-A Esercitazione 2 Variabili ed Espressioni: Dichiarazione, Coercizione, Overloading, Overflow, Underflow, Divide by Zero e Casting. Input-Output: printf e scanf. Paolo Torroni
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
DettagliEspressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!
Espressioni Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica! Valutazione automatica di expr aritmetiche = obiettivo primario dei primi LP
DettagliCostanti 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
DettagliCorso 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
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
DettagliIntroduzione alla programmazione in C
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
DettagliIntroduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliTipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere
Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono
DettagliUniversità 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
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
DettagliTipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.
Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned
DettagliIntroduzione alla programmazione in C++
Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione
DettagliSettimana n.4 Obiettivi Contenuti
Settimana n.4 Obiettivi Input-output di base Utilizzo del pre-processore Costrutti condizionali semplici Condizioni complesse Costrutti condizionali annidati Contenuti scanf e printf a livello elementare
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliGli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento
Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliLe parole chiave char, int, float, double, ed enum descrivono i. che modificano i tipi base
Il linguaggio C I tipi di dati scalari Il casting Le dichiarazioni di tipo I puntatori I tipi di dati scalari 1 2 I tipi di dati scalari 1 Una delle caratteristiche più importanti dei linguaggi di alto
DettagliGocce di Java. Gocce di Java. Tipi di dato primitivi. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Programmazione Concetti base Dati Variabile Tipo Istruzioni Istruzioni base Strutture di controllo Sotto-programmi Programmazione Concetti
DettagliStruttura 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
DettagliInformatica A. Il linguaggio C. A.a. 2006/2007. Allievi Ingegneria Gestionale
Informatica A A.a. 2006/2007 Allievi Ingegneria Gestionale Il linguaggio C Tecnologia Software Il SW come Interfaccia Tra Utente e Macchina Fisica Programma dell utente (software applicativo) Gestione
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliIl linguaggio C Variabili e tipi di dato primitivi
Il linguaggio C Variabili e tipi di dato primitivi main() { /*definizioni variabili: */ char y= a ; /*codice(a)=97*/ int x,x,y; unsigned int Z; float SUM; double r; /* parte istruzioni: */ X=27; Y=4; Z
Dettagli1 PANORAMICA SUL LINGUAGGIO C
1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato
DettagliASTRAZIONE. 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
DettagliIl 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
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliIL PROBLEMA DEL PROGETTO
IL PROBLEMA DEL PROGETTO La descrizione del problema, in genere, non indica direttamente il modo per ottenere il risultato voluto (il procedimento risolutivo) Occorrono metodologie per affrontare il problema
Dettagli