Silvia Rossi. C elementi di un programma. Informatica. Programmazione I. Lezione n.
|
|
- Amando Maggi
- 5 anni fa
- Visualizzazioni
Transcript
1 Silvia Rossi C elementi di un programma Lezione n. 2 Informatica Programmazione I silvia.rossi@unina.it
2 Programma Una sequenza di istruzioni che il calcolatore esegue per produrre i risultati richiesti per la soluzione di un dato problema. E Un algoritmo scritto in un LINGUAGGIO DI PROGRAMMAZIONE 2
3 Linguaggio di Programmazione Un insieme di simboli, parole, regole usate per istruire il calcolatore. Linguaggio macchina: il reale linguaggio attraverso il quale il calcolatore esegue le istruzioni di un programma. Linguaggio Assembler: un linguaggio che usa specifiche istruzioni per indicare al calcolatore le operazioni da eseguire le azioni da intraprendere, è dipendente dal calcolatore usato. Linguaggio di alto livello: un linguaggio che possiede istruzioni e regole vicine ai linguaggi naturali ed è indipendente dal calcolatore usato.
4 Programma PROGRAMMA SORGENTE Programma scritto in un linguaggio di alto livello PROGRAMMA OGGETTO Risultato della compilazione di un programma sorgente 4
5 Compilatore File di inclusione Programma sorgente Preprocessore stringa di simboli (tokens) forma (AST) Intermedia forma ottimizzata Codice rilocabile (obj, exe) Analisi lessicale Analisi sintattica Analisi semantica Ottimizzazione Generazione codice tabella di simboli Linker Oggetti e librerie del progetto Il programma subisce diverse trasformazioni intermedie prima di diventare un programma oggetto (rilocabile)
6 Compilatore: caricamento Il programma oggetto generato dal compilatore se eseguito viene caricato dal loader in memoria per l esecuzione effettiva Ogni sezione del programma (codice, dati, memoria) viene allocata e assegnata ad intervalli di indirizzi di memoria assoluti RAM Codice rilocabile Loader stack heap dati text Immagine del programma in memoria
7 Ciclo di vita di un programma Problema Algoritmo di risoluzione Programma 7
8 C un pò di storia II linguaggio C si sviluppò dal B grazie a Dennis Ritchie, presso i Bell Laboratories nel Il C fu noto inizialmente come linguaggio di sviluppo per sistemi operativi. Oggi la maggior parte dei sistemi operativi sono scritti in C e/o in C++ Il C è oggi disponibile sulla maggior parte dei computer ed è indipendente dall'hardware. Nel 1990 si è giunti ad una definizione di standard per il C nota come ANSI/ISO 9899:1990 aggiornato nel 1999 C99
9 C ambiente di sviluppo Tra i tanti ambienti di sviluppo C utilizzeremo NetBeans/Eclipse
10 C elementi di un programma // eser1.1.c: primo programma "Hello World" #include <stdio.h> int main () { printf("hello World\n ); // stampa messaggio return 0; } Il classico primo programma C
11 C elementi di un programma #include <stdio.h> int main () { int integer1; int integer2; int sum; printf( inserisci primo intero\n ); scanf( %d, &integer1); } sum = integer1 + integer2; printf( La somma e %d\n, sum); return 0;
12 C elementi del linguaggio Da un punto di vista lessicale, un programma è una sequenza di termini (detti tokens) Il compilatore deve riconoscere i termini del linguaggio per le successive fasi di analisi Tipi di termini Identificatori Parole chiave Costanti Espressioni Operatori Simboli o segni speciali operatori costanti anonime Sono ignorati Spazi bianchi, tabulatori, newlines, e commenti Termini Simboli speciali con nome Identificatori variabili parole chiave
13 C identificatore Un identificatore è un termine usato dal programmatore per indicare funzioni, variabili, oggetti, costanti, etc. Ogni identificatore è formato da una sequenza di caratteri di tipo lettere o cifre o _ (underscore) Il primo carattere deve essere una lettera o _ Caratteri maiuscoli e minuscoli sono diversi 31 caratteri Identificatori non validi: un amico (contiene uno spazio) un'amica 7bello (contiene un apostrofo) (il primo carattere non è una lettera) for (è una parola-chiave del C) Gli identificatori devono ricordare mnemonicamente gli oggetti cui si riferiscono
14 Algoritmo per il calcolo della circonferenza 1) Leggi il valore del raggio 2) Poni il valore della circonferenza uguale a 2 per 3,1415 per il raggio 3) Stampa il valore della circonferenza leggi(raggio) circonferenza <- 2* 3,1415 * raggio stampa(circonferenza) 14
15 C identificatori à parole-chiave La parole chiave è un termine che ha un significato particolare per il compilatore C possono essere adoperati dal programmatore solo come previsto dal linguaggio Esempi di parole chiave sono: main : indica che il testo che segue tra parentesi graffe rappresenta il codice sorgente del programma. const : definisce il nome che segue come dato costante. float : definisce il nome seguente come variabile a virgola mobile (singola precisione). if, then, else : definisce costrutti di controllo del linguaggio Le parole chiave sono indicate in grassetto
16 C identificatori à variabili Variabile: una locazione di memoria che può contenere diversi valori durante la computazione accessibile mediante un identificatore unico nome: definisce un identificativo unico per la variabile tipo: l insieme dei valori che può assumere e l insieme delle operazioni che possono applicarsi a tali valori valore: valore corrente della variabile
17 C identificatori à variabili à tipo Tipi standard char caratteri (es. b, F,!, 6,...) (1 B) usato anche per rappresentare valori numerici in [-128 ; 127] int numeri interi (short o long) (es. 1, 2, 43, -89, 4324,...) (4 B o almeno quanto short) ha valori in [ ; ] float numeri decimali in virgola mobile a singola precisione (4 B) Una parte intera ed una parte frazionale intervallo di valori assoluti [1,17 x e 3,40 x ] (7 cifre significative) double numeri decimali in virgola mobile a doppia precisione (8 B) intervallo di valori assoluti [1,17 x e 1,79 x ] (15 cifre significative) bool tipo valore booleano (1 B) con valori vero e falso ([0 ; 1])
18 Variabili Nome Tipo Operazioni Dimensione Valore Indirizzo in memoria int n = 0 &n Left-value è il riferimento al suo indirizzo Right-value è il riferimento al suo valore 18
19 C dichiarazione di identificatori Dichiarazione di tipo: informa il compilatore sul tipo assegnato ad un identificatore Dichiarazione di tipo di un identificatore specificatore... qualificatore... tipo ident Fornisce altre caratteristiche dell identificatore Indica come deve essere allocato il contenuto tipo standard Definizione di tipo: è una dichiarazione che comporta l allocazione di un area di memoria per l identificatore ma non l inizializzazione del suo contenuto (indefinito) Qualificatori: short, long, signed, unsigned Specificatori: const, extern, static, volatile,...
20 C dichiarazione di identificatori Inizializzazione: assegna un valore iniziale ad un identificatore già definito ident = valore; Operatore di assegnazione La dichiarazione di un identificatore deve precedere il suo primo utilizzo, e può essere in ogni parte del programma E sempre consigliabile dichiarare tutte le costanti e le variabili nella parte iniziale del programma (o della funzione che le utilizza) È più facile identificare nel programma la sezione delle dichiarazioni Dichiarazione e inizializzazione possono essere combinate
21 C identificatori à variabili Dichiarazione di variabile: int numero; Dichiarazione di variabile e successiva inizializzazione int numero;... numero = 54; Dichiarazione di più variabili dello stesso tipo int numero, secondo_numero, terzo; Dichiarazione di variabile con contestuale inizializzazione int numero = 54 ; Dichiarazione di più variabili e inizializzazione int numero = 54, secondo_numero, terzo = 15;
22 C identificatori à costanti Costante: una locazione di memoria che contiene sempre lo stesso valore durante la computazione Alcune costanti possono essere riferite (nominate) da identificatori Altre constanti non sono associate ad alcun nome (anonime) Dichiarazione di costante: const float pi=3.1415; L'uso dello specificatore const è fortemente consigliato piuttosto che scrivere più volte la stessa costante nelle istruzioni del programma; se il programmatore decide di cambiarne il valore, e ha usato const, è sufficiente che modifichi la sola istruzione di definizione.
23 Simboli speciali Uno o anche due caratteri consecutivi che sono usati per scopi particolari come ad esempio il punto e virgola (;) che serve ad indicare la fine di una istruzione, le parentesi graffe ({ })che indicano inizio e fine di una istruzione composta, la virgola (,) che è usata come separatore. es: float n, raggio; invece di float n; float raggio; 23
24 C espressioni Espressioni: rappresentano il valore che si ottiene applicando opportune operazioni ben definite ad uno o più operandi che possono essere costanti o variabili. In una espressione le operazioni vengono indicate con particolari simboli detti operatori Gli operatori possono essere unari : agiscono su un solo operando!a ++i binari : agiscono su due operandi (destro e sinistro) a+b a<=b
25 C espressioni Gli operatori possono essere di assegnazione aritmetici binari relazionali logici incremento e decremento condizionali
26 C espressioni di assegnazione L'operatore di assegnazione = copia il contenuto dell operando destro (detto r-value) nell operando sinistro (detto l-value) r-value è una qualsiasi espressione con valore un tipo standard l-value è una variabile Il tipo di r-value deve essere lo stesso o implicitamente convertibile nel tipo di l-value Il valore dell espressione assegnazione è r-value Esempio: a = b + 3 a = b l-value r-value
27 C espressioni aritmetiche Gli operatori matematici eseguono le principali operazioni matematiche + - * / Se la divisione è fra due numeri interi, il risultato dell'operazione è ancora un numero intero (troncamento). Esempio: 27 / 4 dà come risultato 6 (anziché 6.75). Il resto di una divisione fra numeri interi si calcola con l'operatore binario % Esempio: 27 % 4 dà come risultato 3
28 C espressioni aritmetiche Operazione Simbolo algebrico Simbolo in C Espressione algebrica Espression e in C Addizione + + a+b a+b Sottrazione - - a-b a-b Moltiplicazione x * ab a*b Divisione : / a:b a/b Modulo mod % a mod b a%b
29 Regole di precedenza * 2 Risultato = 16 o 11? 1. Svolgere le parentesi 2. Moltiplicazione, divisione e modulo 3. Addizione e sottrazione Più operazioni dello stesso tipo vanno risolte da sinistra a destra. 29
30 Se le costanti e le variabili sono tutte dello stesso tipo allora anche il valore dell espressione sarà dello stesso tipo. Se tutte le grandezze presenti nell espressione sono di tipo numerico, anche se diversi, sarà il compilatore ad effettuare tutte le opportune conversioni di tipo. Ad esempio se le variabili n, f, d sono rispettivamente di tipo int, float e double allora nell espressione (n+f)*d, n è convertito a float, successivamente la somma n+f è convertita a double per poter effettuare la moltiplicazione con d (conversione implicita). 30
31 REGOLA Non adoperare espressioni in cui sono presenti variabili di tipo diverso.
32 Esempio -> Area del cerchio
33 REGOLA E sempre consigliabile dichiarare tutte le costanti e le variabili nella parte iniziale del programma (o della function che le utilizza). In questo modo chi legge il programma sa dove reperire le informazioni sul tipo delle variabili e delle costanti.
34 C espressioni relazionali Gli operatori relazionali sono: > >= < <= ==!= eseguono il confronto fra i valori dei due operandi (di qualsiasi tipo standard) e restituiscono un valore booleano: a > b restituisce true se a é maggiore di b a >= b restituisce true se a é maggiore o uguale a b a < b restituisce true se a é minore di b a <= b restituisce true se a é minore o uguale a b a == b restituisce true se a é uguale a b a!= b restituisce true se a é diverso da b Esempio: bool bvar = (7 > 3); bool bvar = (7 == 3); (in bvar viene memorizzato true) (in bvar viene memorizzato false)
35 Espressioni booleane semplici Espressione booleana semplice: è rappresentata da un confronto tra i valori di due espressioni. La forma sintattica di una espressione booleana semplice è la seguente: espressione1 op espressione2 dove op è un operatore relazionale. L espressione booleana assume il valore true (vero) se il valore di espressione1 è nella relazione op con il valore di espressione2. Operatore relazionale Nell esempio si suppone che le variabili assumono i seguenti valori: a=3 ; b=5 ; c1= E ; c2= G ; < Minore di a<b 3<5 Vero <= Minore o uguale di a+3<=b 6<=5 Falso == Uguale a c1==c2 E == G Falso!= Diverso da c1!=c2 E!= G Vero >= Maggiore o uguale di a >=c1 a >= E Vero > Maggiore di a>b+2 3>7 Falso 35
36 Attenzione! Se si pone uno spazio tra gli operatori (es = =), si commette un errore di sintassi Non confondere = con == Assegnazione pi= Uguaglianza x==y
37 Esercizi Scrivere in pseudo codice un algoritmo per il calcolo del MCD usando l algoritmo di Euclide.
38 Algoritmo per il Massimo Comun Divisore (Euclide) Si trovi il MCD tra i numeri e 1488 Dividiamo per 1488: avremo quoziente 7 e resto 465 il nuovo dividendo è 1488 mentre il nuovo divisore è 465 dividiamo 1488 per 465: avremo quoziente 3 e resto 93 il nuovo dividendo è 465 mentre il nuovo divisore è 93 dividiamo 465 per 93: avremo quoziente 5 e resto 0 l algoritmo termina quando il resto è zero; il MCD è l ultimo divisore: 93
39 1. Leggi A 2. Leggi B 3. Se A>B Dividendo=A Divisore=B Altrimenti Dividendo=B Divisore=A 4. Resto=Dividendo%Divisore 5. Mentre Resto>0 esegui le seguenti istruzioni Dividendo=Divisore Divisore=Resto Resto=Dividendo%Divisore 6. Stampa Divisore (una volta che il quoziente è 0 il divisore prende il valore del MCD) 39
40 Esercizi Tenendo presente il programma per il calcolo della circonferenza scrivere dei programmi che calcolano: 1) area e perimetro del quadrato; 2) area del trapezio. 40
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
DettagliDichiarazioni 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:
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
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
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
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
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à
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
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
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
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
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
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
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
DettagliProf. 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
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
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
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
DettagliIntroduzione al C. Lez. 1 Elementi. Rossano Venturini
Introduzione al C Lez. 1 Elementi Rossano Venturini rossano@di.unipi.it Pagine del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start http://algoritmica.spox.spoj.pl/alglab2013 Lezioni
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,
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
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
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,
DettagliElementi 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
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
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
DettagliIntroduzione al C. Lez. 1 Elementi. Rossano Venturini
Introduzione al C Lez. 1 Elementi Rossano Venturini rossano.venturini@isti.cnr.it URL del corso http://www.cli.di.unipi.it/doku/doku.php/informatica/all-b/start Lezioni - Lunedì 16-18 Aula M - Martedì
DettagliFondamenti 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
DettagliIntroduzione 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
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
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
DettagliJava e i Tipi di dati primitivi. Parte 3
Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta
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
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
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
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
DettagliFondamenti di programmazione parte 2. Elementi di informatica IGLP
Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell
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
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
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
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
DettagliL 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
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. 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
DettagliIntroduzione 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)?
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
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
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
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
DettagliIntroduzione al C. Lez. 1 Elementi
Introduzione al C Lez. 1 Elementi Introduzione al C Strumento che adotteremo in queste esercitazioni per implementare e testare gli algoritmi visti a lezione Configurazione minimale suggerita: Editing
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
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
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
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliTipi di dato e variabili. Walter Didimo
Tipi di dato e variabili Walter Didimo Tipi di dato I dati che possono essere manipolati in un programma si classificano in tipologie differenti, chiamate tipi di dato Esistono due macro tipi di dato in
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à
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
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
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
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
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, 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
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)
DettagliNuovi tipi di dato e. Alessandra Giordani Lunedì 26 marzo
Nuovi tipi di dato e costrutto condizionale Alessandra Giordani agiordani@disi.unitn.it Lunedì 26 marzo 2012 http://disi.unitn.it/~agiordani/ Tipi di dato fondamentali int e il tipo di dato che consente
DettagliPROGRAMMA = ALGORITMO
Corso di Laurea Scienze Prof. San. Tec., Area Tecnico-Assistenziale SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Anno Accademico 2005-2006 Prof. Fausto Passariello Corso Integrato Metodologia della Ricerca
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
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliEsercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else
Esercitazione 2 Variabili e Tipi Input e Output Assegnamenti Il comando if-else Espressioni aritmetiche /* Scrivere un programma che calcola l area e la circonferenza di un cerchio di raggio 20 cm */ #include
DettagliProgrammazione. Tipi di dato primitivi. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino
Programmazione Francesco Tiezzi Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino Lucidi originali di Pierluigi Crescenzi Programmazione Concetti base Dati Variabile Tipo Istruzioni
DettagliIntroduzione 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
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
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
DettagliCorso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche.
Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche. APPUNTI SUL LINGUAGGIO C I computer elaborano i dati sotto il controllo
DettagliLaboratorio 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#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
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
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
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle
DettagliIntroduzione e Fondamenti del Linguaggio C
Introduzione e Fondamenti del 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
DettagliCapitolo 2 Introduzione alla programmazione in C
Capitolo 2 Introduzione alla programmazione in C Introduzione Un semplice programma C: Stampa di una linea di testo Un altro semplice programma C: Sommare due interi Concetti sulla Memoria Aritmetica in
DettagliINTRODUZIONE 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
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
DettagliC 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
DettagliC array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.
Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.
DettagliINTRODUZIONE 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
DettagliINTRODUZIONE 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
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
DettagliSommario. Lessico, Sintassi e Semantica. Principi Fondamentali. Introduzione e Fondamenti del Linguaggio C
Introduzione e Fondamenti del 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
DettagliVerso i puntatori: Cosa è una variabile?
Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per
DettagliLinguaggio 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
DettagliElementi di Base. Introduzione a Python.
Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,
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
Dettagli