Introduzione alla programmazione

Documenti analoghi
Introduzione alla programmazione

Introduzione al C Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Uni n t i à 1

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Tipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Introduzione al C. Unità 1. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Programmazione C Massimo Callisto De Donato

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

FONDAMENTI DI INFORMATICA

INTRODUZIONE ALLA PROGRAMMAZIONE

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programmazione Procedurale in Linguaggio C++

Linguaggi, Traduttori e le Basi della Programmazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione

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

STORIA E CARATTERISTICHE

Il linguaggio di programmazione Python

I Linguaggi di Programmazione

Introduzione alla programmazione

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

INTRODUZIONE ALLA PROGRAMMAZIONE. Cosimo Laneve

Introduzione al funzionamento di un calcolatore elettronico

Cosa è l Informatica?

Introduzione alla programmazione. Walter Didimo

Introduzione al Linguaggio C ed all IDE DEV-C++

L ELABORATORE ELETTRONICO

FONDAMENTI DI INFORMATICA

Programmazione Procedurale in Linguaggio C++

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Linguaggi di Programmazione

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

LINGUAGGI DI ALTO LIVELLO

Linguaggio C: introduzione

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Il calcolatore. Architettura di un calcolatore (Hardware)

Le basi del linguaggio Java

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

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

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Informatica! Appunti dal laboratorio 1!

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

Elementi di informatica

Il Software programmabili programma algoritmo

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

Indice. Prefazione. 3 Oggetti e Java 53

LINGUAGGI DI ALTO LIVELLO

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

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

L ELABORATORE ELETTRONICO!

Esercizi Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Unità Didattica 2 I Linguaggi di Programmazione

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Primi passi col linguaggio C

3. Programmi e algoritmi

Concetti Introduttivi. Il Computer

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Lezione 6 Introduzione al C++ Mauro Piccolo

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

Perché il linguaggio C?

Linguaggi di Programmazione

Elementi di programmazione

Linguaggi di programmazione

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Informatica. Come si risolve un problema?

Linguaggio C++ Linguaggi di terza generazione

Introduzione alla programmazione strutturata

Linguaggi di alto livello, compilatori e interpreti

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Informatica! Appunti dal laboratorio 1!

Architettura dei calcolatori e Software di sistema

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Linguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli

Passaggio parametri puntatore

Modularizzazione del software

Elaboratore Elettronico

la traduzione dei programmi ed introduzione a Java

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

Linguaggi di programmazione e astrazione

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Salvatore Cuomo Prolusione

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

Transcript:

Introduzione alla programmazione 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 Daniele Bloisi bloisi@dis.uniroma1.it Sito del corso http://www.dis.uniroma1.it/~pmn Nota: %7E corrisponde alla tilde ~ Pagina 2

Orario delle Lezioni Lunedì 10.15 11.45 Martedì 08.30 10.00 Giovedì 10.15 11.45 Venerdì 10.15 11.45 Aula 15, Via Scarpa 14 Pagina 3

Informazioni Generali Ing. Domenico Daniele Bloisi, PhD Dipartimento di Ingegneria Informatica Automatica e Gestionale Via Ariosto 25 (adiacente Piazza Dante, A fermate Manzoni, Vittorio Emanuele, Tram 3 fermata via Labicana) mailto:bloisi@dis.uniroma1.it http://www.dis.uniroma1.it/~bloisi Pagina 4

Ricevimento Martedì 15.00 17.00 DIS via Ariosto 25 Aula docenti adiacente aula A4 Si consiglia di inviare una email per conferma e di controllare preventivamente la bacheca degli avvisi Pagina 5

Programma Preliminare del Corso 1. Nozioni di base dei calcolatori e della programmazione 2. Nozioni introduttive dell analisi numerica, classificazione degli errori 3. Tipi di dato primitivi, variabili, espressioni e assegnazioni 4. Istruzioni condizionali e espressioni booleane 5. Soluzione di equazioni e sistemi di equazioni non lineari 6. Istruzioni di ciclo 7. Array e matrici 8. Soluzione di sistemi di equazioni lineari 9. Approssimazioni di dati e funzioni 10.Integrazione numerica 11.Definizione e uso di classi e cenni sull'ereditarietà 12.Cenni di Fortran Pagina 6

Obiettivi Imparare il concetto di algoritmo e programma Imparare a risolvere problemi in modo algoritmico Imparare a tradurre l algoritmo in programma Imparare a scrivere e compilare un programma in linguaggio C++ Pagina 7

Sommario : Introduzione Architettura dei calcolatori Linguaggi di programmazione Programmi = dati + operazioni Primo programma C++ Scrittura, compilazione, esecuzione di un programma Errori nei programmi Input da tastiera Invocazione di funzioni Pagina 8

Come è fatto un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato: il software, cioè i programmi, caratterizzano il compito che esso svolge Pagina 9

Componenti di un calcolatore Pagina 10

Schema di un calcolatore Tastiera Mouse Stampante Modem Porte I/O Controller dischi Hard disk CD/ROM DVD CPU Scheda video Monitor Memoria Scheda audio Casse Microfono bus Scheda rete Altro PC Internet Pagina 11

Linguaggi di programmazione Linguaggio macchina 21 40 16 100 163 240 Linguaggio assemblativo (Assembler) iload intrate bipush 100 if icmpgt interror Linguaggi ad alto livello if (intrate > 100)... Pagina 12

Gerarchia di astrazioni 6 programma applicativo 5 linguaggio ad alto livello 4 Linguaggio assembly (assemblativo) 3 Nucleo di sistema operativo 2 Linguaggio macchina 1 microprogramma alto livello 0 Logica digitale basso Pagina 13

Linguaggio di Programmazione È dotato di un insieme di istruzioni che indicano al calcolatore cosa fare. Le istruzioni hanno una sintassi e una semantica ben determinata Sintassi: insieme di regole su come usare le istruzioni e scrivere un programma. Semantica: attribuzione del significato alle istruzioni e alla loro concatenazione. Esempi sono il C++ (studiato in questo corso), il Pascal, Java, etc. La traduzione verso il basso avviene tramite un compilatore. Pagina 14

Programma I programmi caratterizzano il compito che il calcolatore svolge. Un programma (indipendentemente dal linguaggio in cui è scritto) è costituito da due aspetti fondamentali: rappresentazione delle informazioni relative al dominio di interesse: DATI o OGGETTI manipolazioni della rappresentazione che realizzano le funzionalità richieste: OPERAZIONI Per scrivere un programma si devono affrontare entrambi gli aspetti. Pagina 15

Rappresentazione delle informazioni Le informazioni si rappresentano mediante tipi di dato. Un tipo di dato raccoglie informazioni dello stesso tipo (ad esempio, i numeri interi, i caratteri, le stringhe, ecc.). Nei linguaggi di programmazione ad alto livello esistono tipi di dato predefiniti, ed è possibile definire tipi per rappresentare informazioni di interesse specifiche per un applicazione (esempio, autovetture, persone, ecc.). Pagina 16

Realizzazione delle operazioni In genere, si realizza un operazione quando deve essere risolto un problema. Problema: dato un nominativo, trovare il corrispondente numero telefonico su un elenco telefonico. Per delegare ad un calcolatore la soluzione di un problema è necessario individuare un algoritmo che risolve il problema. Pagina 17

Algoritmo: definizione Algoritmo Procedimento risolutivo attraverso il quale otteniamo la soluzione ad un problema, ovvero un insieme di passi che, eseguiti in ordine, permettono di calcolare i risultati a partire dalle informazioni date in ingresso. Informazioni in ingresso INPUT Sequenza ordinata di passi ALGORITMO Risultati OUTPUT Pagina 18

Algoritmo: proprietà Un algoritmo è caratterizzato da: non ambiguità: le istruzioni devono essere univocamente interpretabili dall esecutore eseguibilità: ogni istruzione deve poter essere eseguita (in tempo finito) con le risorse a disposizione finitezza: l esecuzione dell algoritmo deve terminare in tempo finito per ogni insieme di dati in ingresso Pagina 19

Algoritmo: esempio Problema: dato un nominativo, trovare il corrispondente numero telefonico su un elenco telefonico. Algoritmo: scandire sequenzialmente i nominativi presenti nell elenco fino a che non si trova quello cercato, quindi restituire il numero di telefono associato al nominativo. Esistono altri algoritmi per risolvere lo stesso problema? Pagina 20

Codifica Una volta individuato l algoritmo, questo va codificato nel linguaggio di programmazione prescelto. Pagina 21

Compilazione Un compilatore è un programma traduttore, impiegato per produrre codice oggetto (in linguaggio macchina) a partire da codice sorgente scritto in un dato linguaggio di programmazione di livello più alto. Questo processo si chiama compilazione. Una volta prodotto il codice oggetto (ovvero un file eseguibile) risulta estremamente difficoltoso risalire al sorgente. Questa procedura viene chiamata reversing. Pagina 22

Paradigmi di Programmazione (1/2) Esistono differenti paradigmi di programmazione che si distinguono per l enfasi che pongono sui due aspetti fondamentali: dati (oggetti) e operazioni. I paradigmi di programmazione principali sono: 1. IMPERATIVO: enfasi sulle operazioni intese come azioni, comandi, istruzioni che cambiano lo stato dell elaborazione; gli oggetti sono funzionali alla elaborazione 2. FUNZIONALE: enfasi sulle operazioni intese come funzioni che calcolano risultati; gli oggetti sono funzionali alla elaborazione 3. ORIENTATO AGLI OGGETTI: enfasi sugli oggetti che complessivamente rappresentano il dominio di interesse; le operazioni sono funzionali alla rappresentazione Pagina 23

Paradigmi di Programmazione (2/2) In genere, in un programma sono utilizzati più paradigmi di programmazione. Quindi i linguaggi di programmazione forniscono supporto (in misura diversa) per i vari paradigmi. Pagina 24

Il linguaggio C++ Il C++ è un linguaggio di programmazione ad alto livello, che supporta i paradigmi imperativo, funzionale e orientato agli oggetti. Assembler C Lisp Lisp puro Linguaggio imperativo puro C++ estende il C creando uno strumento di programmazione orientato ad oggetti Linguaggio funzionale puro Pagina 25

Mini storia del C Il C nasce dall'idea di avere un linguaggio ad alto livello che permettesse di scrivere in modo efficiente un sistema operativo Ken Thompson nel 1969 si ispirò a due linguaggi esistenti CPL e BCPL e creò il linguaggio "B", ancora troppo poco efficiente per scrivere un sistema operativo Un suo collaboratore, Dennis Ritchie, nel 1972, migliorò il "B tramite vari passaggi, arrivando ad una nuova versione: "C, con il quale fu quasi interamente riscritto il sistema operativo UNIX per il PDP-11, con tempi inaspettatamente brevi Il successo ottenuto spinse Thompson, Ritchie e Kernighan ad utilizzare il C per scrivere il sistema operativo di altre macchine Da quel momento C ed UNIX rimangono legati indissolubilmente Il C subisce un lungo processo di standardizzazione che si concretizza nello standard ISO/IEC 9899-1990 Pagina 26

Mini storia del C++ Bjarne Stroustrup iniziò a lavorare ad un nuovo linguaggio di programmazione nel 1979. Egli decise di aggiungere al linguaggio C alcune delle caratteristiche di altri linguaggi. Fu scelto il C perché era un linguaggio per uso generico portabile e veloce. Inizialmente, le funzionalità di classe, classe derivata, controllo rigoroso dei tipi e argomento di default furono aggiunte al C. Nel 1983 il nome del linguaggio fu cambiato da "C con classi" a C++ e furono aggiunte nuove funzionalità. Nel 1985 fu pubblicata la prima edizione di The C++ programming Language, che fornì un'importante guida di riferimento del linguaggio, che non era ancora stato ufficialmente standardizzato. Un comitato che presentava membri della ANSI e della ISO ha standardizzato C++ nel 1998 (ISO/IEC 14882:1998). Pagina 27

Caratteristiche generali di C++ estende il C creando uno strumento di programmazione orientato ad oggetti; estremamente efficiente; molto usato in ambito scientifico e per la realizzazione di sistemi complessi; dispone di librerie di programma ricche e ben sviluppate. Pagina 28

Iniziamo a programmare Cosa occorre: Carta e Penna Un Editor di Testo Un compilatore Ambiente di Sviluppo Integrato IDE (es. Eclipse, MS Visual Studio, Dev C++, ) Pagina 29

Il primo programma C++ #include <iostream> int main() { std::cout << "Il mio primo programma C++." << std::endl; return 0; } Il programma e costituito da una serie di istruzioni o direttive per il compilatore. Pagina 30

Istruzioni del programma Le istruzioni hanno il seguente significato: #include <iostream> direttiva per includere la definizione di funzioni e variabili predefiniti nel linguaggio relativi all input/output. int main() {... } definizione della funzione main che racchiude il programma principale. Ogni programma C++ deve contenere una e una sola funzione main. Pagina 31

Istruzioni del programma std::cout << "Il mio primo programma C++." << std::endl; istruzione di stampa su video della frase Il mio primo programma C++. std::cout è il flusso (o stream) di output standard (std) usato per stampare su video std::endl rappresenta il carattere di ritorno a capo nello schermo. << è un operatore di inserimento dati in un flusso di output. Pagina 32

Istruzioni del programma return 0; istruzione che termina l esecuzione della funzione main e restituisce il risultato 0. Nota: il C++ è case-sensitive, cioè distingue tra caratteri minuscoli e caratteri maiuscoli. es. cout è diverso da Cout Pagina 33

Secondo Programma in C++ #include <iostream> int main() { std::cout << "Il mio secondo programma C++..." << std::endl; std::cout << "... e non sara l ultimo." << std::endl; return 0; } La sequenza di due istruzioni comporta l esecuzione delle due istruzioni nell ordine in cui sono scritte. Pagina 34

Scrivere, compilare ed eseguire un programma C++ 1. preparazione del testo del programma 2. compilazione del programma 3. esecuzione del programma compilato Pagina 35

Preparazione del testo del programma La preparazione del testo di un programma comporta la scrittura di un file contenente il programma. Per un programma C++ il nome del file deve essere: nome.cpp dove: nome è il nome del file contenente il testo del programma cpp è l estensione che indica che il file contiene un programma C++. Es. primo.cpp Nota: La scrittura di un programma può essere effettuata con qualsiasi programma che consenta la scrittura di un testo ( editor ). Es. Edit, NotePad, Notepad++, Emacs,... Pagina 36

Compilazione del Programma (1/2) La compilazione del programma serve a tradurre il programma in una sequenza di comandi direttamente eseguibili dal calcolatore. Esistono diversi compilatori C++. Uno dei più usati è g++, disponibile per diversi sistemi operativi Per usarlo occorre eseguire il seguente comando: g++ -o NomeEseguibile NomeFile.cpp Esempio: per compilare il programma primo.cpp, si può usare il comando g++ -o primo primo.cpp Pagina 37

Compilazione del Programma (2/2) La compilazione produce come risultato un file chiamato NomeEseguibile.exe in Windows, oppure NomeEseguibile in Unix/Linux/Mac, che contiene i comandi direttamente eseguibili dal calcolatore. Esempio: >g++ -o primo primo.cpp > Crea un file primo.exe in Windows Nota: se il processo di compilazione è corretto, il compilatore non stampa alcuna informazione, altrimenti stampa dei messaggi di errore. Pagina 38

Esecuzione del programma compilato L esecuzione di un programma si può effettuare solo dopo la compilazione, cioè quando si ha il file NomeEseguibile.exe (oppure NomeEseguibile) L esecuzione del programma avviene scrivendo il nome del file eseguibile al prompt di sistema. Ad esempio, per eseguire il programma primo.c si può usare il comando primo Il risultato dell esecuzione del programma è quindi la visualizzazione di Il mio primo programma C++. Pagina 39

Esempio di Compilazione ed Esecuzione tramite prompt Pagina 40

Il ciclo Edita-Compila-Verifica SI begin Scrittura programma SI Errori di esecuzione? Compilazione programma Verifica programma Errori di compilazione? NO NO end Pagina 41

Errori Il seguente programma contiene diversi errori. #include <iostream> int main () { std::cout << "I miei primi errori in C++..." << std::endl std::cout << "...e non saranno gli ultm!!!" << std::endl; return 0; } Tipi di errori: sintassi, semantica, logica. Pagina 42

Errori di Sintassi errori dovuti alla violazione delle regole sintattiche del linguaggio. Esempio: std::cout << "I miei primi errori in C++..." << std::endl manca il ; Questi errori sono individuati dal compilatore. >g++ -o errori errori.cpp errori.cpp: In function 'int main()': errori.cpp:5: error: expected ';' before "std" Pagina 43

Errori Semantici errori dovuti alla impossibilità di assegnare un significato ad un istruzione. Esempio: std::cout << "...e non saranno gli ultm!!!" << std::endl; errore di ortografia nella variabile cout Questi errori a volte sono individuati dal compilatore (errori di semantica statica), altre volte sono individuati a tempo di esecuzione (errori di semantica dinamica). >g++ -o errori errori.cpp errori.cpp: In function 'int main()': errori.cpp:5: error: 'Cout' is not a member of 'std' Pagina 44

Errori Logici errori relativi alle funzionalità realizzate dal programma (differenti da quelle desiderate). Esempio: "...e non saranno gli ultm!!!", la stringa da stampare non è corretta. Questi errori possono essere individuati solo analizzando o eseguendo test di verifica del programma. >g++ -o errori errori.cpp >errori I miei primi errori in C++......e non saranno gli ultm!!! Pagina 45

Programma Corretto #include <iostream> int main () { std::cout << "I miei primi errori in C++..." << std::endl; std::cout << "...e non saranno gli ultimi!!!" << std::endl; return 0; } Pagina 46

Formato del Programma Le parole in un programma C++ sono separate da spazi. Es. int main Si possono lasciare un numero di spazi (e/o di linee vuote) a piacere. Andare a capo equivale a separare due elementi del programma (come uno spazio). L indentazione non ha alcun effetto sull esecuzione del programma, essa è comunque molto importante perché rende i programmi più leggibili. Pagina 47

Indentazione L indentazione è l inserimento di una certa quantità di spazio vuoto all inizio di una riga di codice. Ogni riga viene indentata di un certo numero di spazi che dipende dalla sua posizione all interno della struttura logica del programma int main () { std::cout << "non indentato" << std::endl; return 0; } int main () { std::cout << "indentato" << std::endl; return 0; } Pagina 48

Commenti E possibile annotare il testo del programma con dei commenti. Il C++ dispone di due tipi di commento: // denota l inizio di un commento che si estende solo fino alla fine della riga /*... */ delimita un commento che può occupare più righe. Nota: I commenti non hanno alcun effetto sull esecuzione del programma, sono usati per rendere il programma più leggibile. Pagina 49

Uso dei namespace I namespace sono dei nomi che caratterizzano un insieme di funzioni e variabili del linguaggio. Essi sono usati per evitare possibili confusioni nei nomi usati nei programmi. In C++ esiste un namespace standard denominato std che contiene molte funzioni e variabili standard del linguaggio. Pagina 50

Uso dei namespace Per accedere alle funzioni o alle variabili di un namespace si usa la notazione namespace::variabile Ad esempio, std::cout è il termine usato per accedere alla variabile cout appartenente al namespace std. Pagina 51

Uso dei namespace Si puo omettere di specificare il namespace ad ogni occorrenza della variabile/funzione, se si dichiara in precedenza l'appartenenza della variabile/funzione al namespace, using std::cout; oppure si dichiara di voler usare tutto il namespace using namespace std; Pagina 52

Programmi equivalenti che usano namespace Esempio 1, equivalente al primo programma C++: #include <iostream> using std::cout; using std::endl; int main() { cout << "Il mio primo programma C++." << endl; return 0; } Pagina 53

Programmi equivalenti che usano namespace Esempio 2, equivalente al primo programma C++: #include <iostream> using namespace std; int main() { cout << "Il mio primo programma C++." << endl; return 0; } Pagina 54

Input da tastiera Per l'input da tastiera si usa il flusso (o stream) di input standard std::cin. #include <iostream> using std::cout; using std::cin; using std::endl; int main() { cout << "Inserisci un numero intero" << endl; int x; cin >> x; cout << "Hai inserito " << x << endl; } Pagina 55

Input da tastiera In questo programma il flusso di input cin è usato per leggere da tastiera un valore e inserirlo in una variabile (cfr. Unità 2). Il valore inserito viene poi stampato nell'ultima istruzione del programma. Pagina 56