Dall'algoritmo al programma: principi di programmazione e C++

Documento di Informatica sull'algoritmo al programma. Il Pdf esplora i principi della programmazione, i linguaggi informatici come C e C++, e l'assegnazione dei valori alle variabili, utile per studenti universitari.

Mostra di più

17 pagine

I linguaggi C e C++
Il linguaggio C, ideato da Dennis M. Ritchie e da Brian W. Kernighan attorno al 1970, è uno dei più
importanti linguaggi per la programmazione strutturata (*) ancora oggi utilizzato.
Successive revisioni portarono alla versione del 1989, approvata dall’ente internazionale per gli
standard ISO (International Standardization Organization).
Con il passare degli anni le esigenze del mondo della programmazione sono però cambiate: la
dimensione media dei programmi è via via notevolmente aumentata e l’utilizzo della
programmazione strutturata non risponde sempre in modo efficiente alle nuove esigenze.
Proprio per venire incontro a queste nuove esigenze sono nati i primi linguaggi di programmazione
orientati agli oggetti OOP (Object Oriented Programming), che permettono di creare entità
completamente separate, che poi vengono inglobate solo al termine del lavoro di programmazione a
formare il programma vero e proprio. Nacque così un nuovo linguaggio di programmazione ad
oggetti, il C++ (in inglese si legge C plus plus per indicare l’evoluzione dal linguaggio C).
(*) Programmazione strutturata si basa su tre strutture:
- Sequenza di istruzioni
- Struttura di selezione
- Struttura iterativa

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Software e Programmazione

DALL' ALGORITMO AL PROGRAMMA Software Il linguaggio di programmazione viene utilizzato per tradurre l'algoritmo in una forma comprensibile all'elaboratore: il risultato della traduzione si chiama programma. Il programma si chiama anche codice, perché le frasi dell'algoritmo sono scritte secondo regole predefinite di traduzione (codifica). La programmazione è l'attività con la quale si crea nuovo software, cioè nuovi programmi e procedure eseguibili dal computer. La persona che è in grado di scrivere programmi si chiama programmatore. Un qualsiasi programma è composto essenzialmente da istruzioni, dati e interfaccia.

Componenti del Programma

Dati Istruzioni Entità sulle quali le istruzioni operano. Attività che devono essere svolte. Interfaccia Modalità con le quali l'utente interagisce con il programma. Programma 3562

I Linguaggi Informatici

Per risolvere un problema occorre fornire al computer le istruzioni da eseguire e i dati su cui le istruzioni devono operare. La successione delle operazioni da compiere per raggiungere il risultato richiesto da un problema si chiama algoritmo. Per comunicare con un computer, le istruzioni dell'algoritmo devono essere convertite in un codice comprensibile alla macchina (codifica). Il risultato della traduzione delle istruzioni si chiama programma (o codice). L'insieme dei programmi utilizzati nei computer si chiama software.

Tipi di Linguaggi di Programmazione

Linguaggi di alto livello, perché usano parole della lingua naturale (normalmente in inglese), quindi sono vicini all'utente. Linguaggio di basso livello, perché è vicino al funzionamento fisico del computer (hardware). Linguaggi di programmazione Linguaggio macchina linguaggi utilizzati per scrivere programmi per il computer, per esempio C, C++, Java, Visual Basic. utilizzato dal computer al suo interno; è composto da istruzioni elementari inviate al processore: esse sono quindi formate da sequenze di bit, cioè di 0 e 1.

I Linguaggi C e C++

Il linguaggio C, ideato da Dennis M. Ritchie e da Brian W. Kernighan attorno al 1970, è uno dei più importanti linguaggi per la programmazione strutturata (*) ancora oggi utilizzato. Successive revisioni portarono alla versione del 1989, approvata dall'ente internazionale per gli standard ISO (International Standardization Organization). Con il passare degli anni le esigenze del mondo della programmazione sono però cambiate: la dimensione media dei programmi è via via notevolmente aumentata e l'utilizzo della programmazione strutturata non risponde sempre in modo efficiente alle nuove esigenze. Proprio per venire incontro a queste nuove esigenze sono nati i primi linguaggi di programmazione orientati agli oggetti OOP (Object Oriented Programming), che permettono di creare entità completamente separate, che poi vengono inglobate solo al termine del lavoro di programmazione a formare il programma vero e proprio. Nacque così un nuovo linguaggio di programmazione ad oggetti, il C++ (in inglese si legge C plus plus per indicare l'evoluzione dal linguaggio C).

Programmazione Strutturata

(* ) Programmazione strutturata si basa su tre strutture: - Sequenza di istruzioni - Struttura di selezione - Struttura iterativaIl linguaggio C++ 1

Le Basi del Linguaggio C++

Scriviamo il programma C++ per calcolare la somma di due numeri. L'algoritmo che risolve il problema è il seguente:

Algoritmo Somma

Algoritmo Somma inizio immetti a, b calcola s = a + b scrivi s fine

Codifica C++ dell'Algoritmo

In C++ il procedimento precedente viene codificato in questa forma: // Somma. cpp: somma di due numeri #include <iostream> using namespace std; int main() { int a, b, s; cin >> a; cin >> b; s = a + b; cout << s; return 0; }

Commenti e Nomi File

La prima riga è un commento che inizia con una coppia di barre //. In questo caso contiene il nome con il quale il programma è stato salvato su disco (Somma. cpp), in un file di testo con l'estensione .cpp (abbreviazione di C plus plus) e una breve descrizione delle funzionalità del programma stesso.

Gestione dell'Interazione Utente

Il linguaggio C+ + non possiede apposite istruzioni per la gestione dell'interazione con l'utente, ma si appoggia sulle funzioni delle librerie standard del linguaggio, dette librerie di I/O (Input/Output). Il programma che utilizza operazioni di input e output deve quindi contenere all'inizio un'apposita dichiarazione (direttiva include) per includere in esso la libreria di I/O: #include <iostream> Il file iostream contiene la definizione delle risorse e la descrizione delle funzioni (prototipi) per le operazioni di I/O, utilizzabili poi in un qualsiasi punto del pro- gramma, in particolare la definizione di cin per rappresentare il flusso dei dati acquisiti dalla tastiera e di cout per il flusso dei risultati visualizzati sul video.Un programma complesso può contenere e utilizzare un grande numero di nomi e identificatori per i dati e le istruzioni. Risulta quindi comodo, per evitare ambiguità sull'uso degli identificatori, raggruppare i nomi in contenitori, detti namespace (spazio dei nomi), predefiniti nel linguaggio o definiti dai programmatori. In particolare gli identificatori standard del linguaggio C++ sono contenuti nel namespace std (abbreviazione di standard).

Utilizzo dei Namespace

Quando poi si usa un identificatore nel programma occorre scrivere il nome del namespace e il nome dell'identificatore separati da una coppia di due punti :: , detta risolutore di visibilità (in inglese scope resolution operator). Per esempio, un'istruzione di lettura di un dato dalla tastiera si può scrivere: std: : cin >> a; Per evitare di ripetere ogni volta il nome del namespace, si può scrivere una di- chiarazione iniziale nel programma, con la quale si specifica che si intende usare un determinato namespace e i nomi in esso contenuti. La dichiarazione viene fatta con la clausola using namespace, per esempio: using namespace std; come nel programma precedente. È possibile usare più namespace in uno stesso programma.

Funzione Main

Il programma inizia con la parola main(), seguita da una parentesi graffa aperta, che indica l'inizio della sequenza delle istruzioni da eseguire. La sequenza termina con una parentesi graffa chiusa. Subito dopo la parola main c'è una coppia di parentesi tonde, perché il programma può essere considerato una funzione che può ricevere argomenti: essi, se presenti, vengono indicati tra le parentesi tonde. Una funzione, in generale, oltre a ricevere gli argomenti necessari all'elaborazione, restituisce (o, come si dice correntemente in informatica, ritorna) un valore come risultato dell'elaborazione, proprio come accade per le funzioni matematiche. La funzione main restituisce al sistema operativo un valore 0 (Falso) o diverso da 0 (Vero) per indicare, rispettivamente, l'assenza o la presenza di uno stato di errore al termine dell'esecuzione. Questo spiega l'istruzione finale del programma precedente: return 0; Il main ritorna il valore 0, cioè errore = Falso, come dire "non si sono verificati errori". Quindi il valore restituito dalla funzione main è un numero intero: il tipo di dato restituito è indicato prima della parola main con la specificazione int, che significa appunto numero intero. Occorre precisare che, secondo lo standard ISO C++, l'esplicitazione dell'istruzione return 0 non è obbligatoria: negli esempi successivi sarà comunque scritta per una maggiore chiarezza nella lettura del codice dei programmi e per compatibilità con versioni precedenti del linguaggio.La prima riga dopo main specifica quali sono le variabili utilizzate nel programma e di che tipo sono (int, cioè numeri interi). int a, b, s; Nelle righe successive vengono scritte le istruzioni da eseguire, nella stessa se- quenza prevista dall'algoritmo: cin >> a; cin >> b; s = a + b; cout << s; cin>> indica la lettura dei dati dalla tastiera (input), l'istruzione s = a + b specifica che il risultato del calcolo a + b deve essere assegnato alla variabile s, e infine cout << ordina la visualizzazione del risultato di output (variabile s) sullo schermo del computer. I simboli >> per cin e << per cout rappresentano le frecce di direzione (verso) del flusso dei dati dalle unità standard di I/O alle variabili in memoria centrale e viceversa.

Flusso Dati I/O

cin >> a; Il valore acquisi- to dal flusso cin sullo standard input (tastiera) viene inviato alla memoria centrale in una cella identi- ficata con il nome simbolico a. MEMORIA CENTRALE >> b cout << 5 ; Il valore contenuto nella cella di me- moria identificata con il nome simbo- lico s viene inviato al flusso cout sullo standard output (video). cout cin standard input (tastiera) standard output (video) Tutte le righe terminano con il punto e virgola, ad eccezione delle righe di com- mento e della dichiarazione di inclusione #include. Il linguaggio C++ è un linguaggio case sensitive, cioè distingue tra lettere ma- iuscole e minuscole. Nella consuetudine della programmazione nel linguaggio C++, si usano normal- mente i caratteri minuscoli sia per le parole riservate del linguaggio, sia per le variabili, e i caratteri maiuscoli per le costanti. Nei prossimi paragrafi vedremo in dettaglio come si rappresentano in un pro- gramma C++ i dati e le istruzioni.2

Dichiarazione Variabili e Costanti

La dichiarazione delle variabili e delle costanti Le variabili utilizzate nel programma devono essere dichiarate, all'inizio del pro- gramma o comunque prima del loro impiego, indicando il tipo e il nome assegnato alla variabile (con il punto e virgola finale): tipo nome; Si può anche utilizzare un'unica dichiarazione per diverse variabili dello stesso tipo, separando con la virgola i loro nomi: tipo nome1, nome2, nome3; Una dichiarazione introduce un nome nel programma specificandone il tipo. Il tipo definisce l'uso appropriato del nome e ne sottintende la quantità di spazio occupato in memoria. I principali tipi standard delle variabili in C++ (descritti in dettaglio alla fine del paragrafo) sono:

Tipi Standard di Variabili C++

TipoDescrizioneNumero di bit utilizzati
short intnumeri interi compresi tra -32768 e +3276716
intnumeri interi compresi tra -2.147.483.648 e 2.147.483.64732
long intnumeri interi compresi tra -2.147.483.648 e 2.147.483.64732
floatnumeri in virgola mobile (floating point) in singola precisione32
doublenumeri in virgola mobile (floating point) in doppia precisione64
charun carattere8
boolpuò assumere solo i valori true (vero) o false (falso)8

Esempi di Dichiarazione

Esempi di dichiarazione di variabili: int voto; int giorno; float prezzo; double VolumeCilindro; double ipotenusa; char genere; bool trovato; L'identificatore di una variabile è una sequenza qualsiasi di caratteri alfabetici e cifre, che inizia comunque con una lettera; si può usare anche il segno _ per definire nomi composti, per esempio area_cerchio.

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.