Primi Elementi di Programmazione in C++

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Introduzione al linguaggio C++
I Linguaggi di programmazione
INFORMATICA Altre Istruzioni di I/O
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Sottoprogrammi: funzioni e procedure
Il Software.
Software di base: Linguaggi di Programmazione
Linguaggi algoritmici
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Recupero debito quarto anno Primo incontro
Evoluzione dei linguaggi di programmazione
Array multidimensionali
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
I linguaggi di programmazione
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
Programmazione Procedurale in Linguaggio C++
Process synchronization
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Unità Didattica 2 I Linguaggi di Programmazione
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
8) Classi numeriche e operatori Lab. Calc. I AA2002/03 - cap.82 Classi numeriche Esempi di classi numeriche: int, numeri interi che occupano una parola.
9) If e else. Lab.Calc.I AA2002/03 - cap.92 espressione.
7) Creazione di un programma eseguibile
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Funzioni. Lab.Calc. AA 2005/062 Astrazione Consiste nell'ignorare i dettagli e concentrarsi sull'essenziale: in particolare ci consente di utilizzare.
Iterazioni (for, do, while). Lab.Calc. AA2005/062 Iterazioni 3 istruzioni che consentono di eseguire un loop (ciclo): 1. while 2. do...while 3. for con.
Creazione di un programma eseguibile. Laboratorio di Calcolo AA2005/062 Livelli di programmazione Si può programmare a diversi livelli utilizzando linguaggi.
Lab. Calc. AA 2005/061 Classi. Lab. Calc. AA 2005/062 C e C++ Fino a questo punto abbiamo introdotto gli elementi base di qualsiasi linguaggio di programmazione,
Istruzioni di selezione (If/else/switch)
Lab. Calc. AA 2005/061 laboratorio di calcolo AA 2005/06 a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Vettori e matrici. Lab.Calc. AA2005/062 Vettori Dichiarazione di un vettore di oggetti del tipo Tipo: Tipo identificatore[dimensione]; Uso di un elemento.
Lab. Calc. AA 2005/061 puntatori. Lab. Calc. AA 2005/062 Attributi di un oggetto nome o identificatore; tipo o classe; valore o valori; indirizzo;
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Strutture di controllo in C -- Flow Chart --
Espressioni condizionali
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Programmazione in Java
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Java Contardi Carlo A.S. 2008/09.
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
INTERFACCIAMENTO ASSEMBLY - C++
La progettazione didattica ipermediale
Sistemi e Tecnologie Informatiche
BIOINFO3 - Lezione 15 ISTRUZIONI
Programma di Informatica Classi Prime
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2014 Marco D. Santambrogio – Gianluca Durelli -
Politecnico di Torino maggio DIDAMATICA 2011 Insegnare Futuro EXCEL4PS&SP – 6 Maggio 2011 Prof. Nicola Armenise, PhD I.T.E.S. “A. Olivetti” -
Dal problema all’ algoritmo
la traduzione dei programmi
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Operatori di incremento e decremento
Scrivere e compilare programmi
Lezione I Alessandro Dal Palu’ Laboratorio di Programmazione.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Concetti Fondamentali sulla Programmazione
Il software Claudia Raibulet
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Programmazione dei Calcolatori Elettronici
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
Unità di apprendimento 6
Files in C++ Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera)
Transcript della presentazione:

Primi Elementi di Programmazione in C++

Linguaggi di alto livello I vantaggi della programmazione in un linguaggio di alto livello sono l'astrazione: indipendenza della descrizione dell'algoritmo dai dettagli della macchina che lo deve eseguire; la portabilità del codice: sottoprodotto dell'astrazione che consente l'esecuzione dello stesso programma su una vasta gamma di calcolatori diversi, a condizione che esista un compilatore in grado di tradurlo nel linguaggio di ogni macchina. Lab. Calc. AA2005/06

Sviluppo del software Due diverse filosofie di programmazione: si costruisce il diagramma di flusso delle informazioni e lo si traduce in una sequenza di istruzioni ci si concentra sulla identificazione degli oggetti che si vogliono manipolare, sulle loro proprietà e sulle relazioni tra di essi. Per ogni tipo di oggetto si scrive (o si trova già scritto) il codice che ne consente la manipolazione, il programma vero e proprio si limita ad utilizzare questi oggetti. Lab. Calc. AA2005/06

Oggetti Un oggetto è un'entità salvata in memoria sulla quale si possono effettuare operazioni. Ogni oggetto ha un'identità (un nome), uno stato (valore o valori salvati in memoria) e un insieme di operazioni o funzioni che gli possono essere applicate Lab. Calc. AA2005/06

Linguaggi di programmazione Pascal, Fortran e C sono alcuni dei linguaggi tradizionalmente usati in ambito scientifico. La programmazione orientata agli oggetti ha sviluppato dei linguaggi che sono più idonei a questa filosofia e che forniscono gli strumenti per gestire gli oggetti, primi fra tutti JAVA e C++. Lab. Calc. AA2005/06

Sviluppo di un programma OO La realizzazione di un programma orientato agli oggetti richiede tre fasi distinte Analisi Disegno Implementazione Lab. Calc. AA2005/06

Analisi Comprensione del problema Definizione di cosa debba fare il software Identificazione dei dati da fornire in ingresso e da ottenere in uscita Identificazione degli oggetti nel problema: quali sono le cose che possiamo o vogliamo manipolare? Lab. Calc. AA2005/06

Disegno Scelta di un algoritmo (sequenza di operazioni) che consenta di ottenere il risultato cercato Modularizzazione (spezzettamento) del problema in problemi elementari o comunque più semplici Ricerca di eventuale software già esistente (nel nostro caso classi di C++ predefinite) Lab. Calc. AA2005/06

Implementazione Scrittura del codice sorgente Produzione di un programma eseguibile Test del programma che deve Girare senza intoppi Fornire risultati plausibili Lab. Calc. AA2005/06

Problema Determinare il vostro voto finale, in trentesimi, sapendo che questo è dato da 4 esercitazioni che hanno un peso pari a 4/30 un'esercitazione individuale che ha un peso di 1/3 un test finale che ha un peso di 4/30 assumendo che tutti i voti siano espressi in trentesimi. Lab. Calc. AA2005/06

Analisi Leggere accuratamente il problema, eventualmente parafrasarlo, accertarsi di averlo capito e di sapere cosa ci si aspetta dal programma Identificare gli input del problema: i voti ottenuti nelle 6 prove Identificare l'output del problema: il voto finale Cercare gli oggetti coinvolti: i voti (numeri), i pesi (numeri),la tastiera del computer per inserire i dati di input, lo schermo per visualizzare l'output Lab. Calc. AA2005/06

Disegno Utilizziamo un paradigma di basso livello denominato IPO: Input Process Output Input: accesso ai dati iniziali, nel nostro caso i 6 voti Processamento: manipolazione dei dati, nel nostro caso il calcolo del voto finale Output: trasmissione del risultato, nel nostro caso la visualizzazione del voto finale Lab. Calc. AA2005/06

Input Dare dei nomi ai vari oggetti "lab1","lab2", "lab3", "lab4“ per le prime 4 esercitazioni "prova" per il programma individuale "test" per il test finale Il programma dovrà chiedere all'utente di inserire da tastiera dei valori da assegnare a questi oggetti e dovrà leggerli Lab. Calc. AA2005/06

(lab1+lab2+lab3+lab4)*4./30. + prova/3. + test*4./30. Processamento Il voto finale sarà dato dall'espressione (lab1+lab2+lab3+lab4)*4./30. + prova/3. + test*4./30. Lab. Calc. AA2005/06

Output Dare al risultato da inviare in uscita un nome, ad esempio "votoFinale" Scrivere sullo schermo il risultato con un opportuna etichetta che spieghi di cosa si tratta Lab. Calc. AA2005/06

Implementazione Utilizzare un editor di testo per creare un file contenente il codice sorgente, un programma in C++ nel nostro caso Invocare il precompilatore, il compilatore ed il linker per ottenere un (programma) eseguibile Lab. Calc. AA2005/06

Il programma // questo programma calcola il voto finale #include <iostream.h> int main( ) { float lab1,lab2,lab3,lab4; float prova,test; float votoFinale; cout << " inserire i voti" << " lab1 lab2 lab3 lab4 prova e test" << " in questo ordine" << endl; cin >>lab1>>lab2>>lab3>>lab4>>prova>>test; votoFinale=(lab1+lab2+lab3+lab4)*4./30.+prova/3.+test*4./30.; cout << " voto finale " << votoFinale << endl; return 1; } Lab. Calc. AA2005/06

Dichiarazione degli oggetti Ogni oggetto in un programma C++ deve essere introdotto con una dichiarazione prima di poter essere utilizzato Nel nostro esempio float lab1,lab2,lab3,lab4; float prova,test; float votoFinale; cin e cout sono dichiarati nel file iostream.h che viene incluso dall'instruzione del precompilatore #include <iostream.h> Lab. Calc. AA2005/06

Inizializzazione Avremmo potuto dare agli oggetti float un valore iniziale, utilizzando una delle seguenti dichiarazioni: float lab1=20.,lab2=25.,lab3=18.5; o float lab4(30.),lab1(21.0); Lab. Calc. AA2005/06

Operazioni Gli oggetti di tipo float capiscono le operazioni +, * (ma anche -, % etc...) L'oggetto cin, di tipo istream, identificato con la tastiera, capisce l'operazione >> L'oggetto cout, di tipo ostream, identificato con lo schermo, capisce l'operazione << Lab. Calc. AA2005/06

Sintassi degli oggetti cout e cin cout<<espressione1<<...<<espressionen ; dove ogni espressione può essere una stringa di caratteri racchiusa tra doppi apici o un'espressione che restituisca un valore numerico. Un'espressione speciale è endl (andata a capo) cin>>oggetto1>>...>>oggetton ; dove ogni oggetto è o un oggeto di tipo stringa o un oggetto di una classe numerica Lab. Calc. AA2005/06

Test dell'implementazione inserire i voti lab1 lab2 lab3 lab4 prova e test in questo ordine 0 0 0 0 0 0 votoFinale 0   30 30 30 30 30 30 votoFinale 30 20 20 20 20 20 20 votoFinale 20 30 30 30 30 20 30 votoFinale 26.6667 Lab. Calc. AA2005/06

NB I test rivelano solo la presenza di errori, non la loro assenza ! Lab. Calc. AA2005/06

Elementi del programma Il programma è realizzato con una sequenza di elementi base: parole chiave (keywords), identificatori, costanti e simboli speciali Keywords: int, float, return etc… Identificatori: main, cout, cin, lab1 etc… Costanti: " voto finale " , 3. , 30. etc… Simboli speciali: #, (, }, +, *, <<, >> etc... Lab. Calc. AA2005/06

Il programma // questo programma calcola il voto finale #include <iostream.h> int main( ) { float lab1,lab2,lab3,lab4; float prova,test; float votoFinale; cout << " inserire i voti" << " lab1 lab2 lab3 lab4 prova e test" << " in questo ordine" << endl; cin >>lab1>>lab2>>lab3>>lab4>>prova>>test; votoFinale=(lab1+lab2+lab3+lab4)*4./30.+prova/3.+test* 4./30.; cout << " voto finale " << votoFinale << endl; return 1; } Lab. Calc. AA2005/06

Identificatori Gli identificatori degli oggetti e delle funzioni sono una sequenza continua di caratteri (massimo 32) appartenenti alla lista 'a'..'z', 'A'..'Z', '0'..'9', '_’ con il vincolo che il primo carattere non sia un numero Quali di questi sono identificatori validi? abc, ABC, a_1, a1, m/h, 5a, voto Finale, votoFinale Risposta: abc,ABC,a_1,a1,votoFinale Lab. Calc. AA2005/06

Costanti Reali: 0.1 3. 3.0 1.234 -12.5 0.0 0. 1e10 5e-3 Interi: -1 0 1 –44456 +877 Caratteri: ‘A' ‘ ' ‘\n’ Stringhe di caratteri: "qualunque cosa tra doppi apici" Lab. Calc. AA2005/06

Simboli speciali Commenti Direttive del precompilatore Operatori // all'inizio di una riga di commento /* commento */ Direttive del precompilatore Tutte le righe che iniziano con il simbolo # Operatori +,-,*,/,>>,<< etc… Punteggiatura Ogni istruzione C++ termina con ; Ogni parte autoconsistente del programma è racchiusa tra parentesi graffe { } Lab. Calc. AA2005/06