• Non ci sono risultati.

Elementi di Base

N/A
N/A
Protected

Academic year: 2021

Condividi "Elementi di Base"

Copied!
10
0
0

Testo completo

(1)

G. Mecca – M. Samela – Università della Basilicata

Programmazione Procedurale in Linguaggio C++

Elementi di Base Ricapitolazione

versione 2.6

Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Ricapitolazione

m

Elementi di Base

ðnozioni sintattiche di base

ðnozioni sulla dichiarazione dei dati

ðnozioni sulle operazioni di base sui dati di un programma

m

In sintesi

ðquello che serve per scrivere programmi che si comportano come una calcolatrice

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(2)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 3

m

Direttive

ðper librerie di sistema e librerie dell’utente

ð#include <iostream.h> (librerie di sistema)

ð#include <fstream.h>(librerie di sistema)

ð#include “equazioniLib.h”(librerie utente)

m

Commenti

ðlinea singola // questo è un commento

ðmultilinea/* commento */

Nozioni Sintattiche di Base

m

Identificatori

ðnomi degli oggetti di un programma (variabili, costanti, parametri, moduli)

m

Regole sintattiche

ðsequenza di lettere/cifre/_

ðprimo carattere: lettera o _ ðcodice ASCII a 7 bit

ðsensibile alle maiuscole

ðescluse le parole chiave riservate (es: main)

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(3)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 5

Dichiarazione dei Dati

m

Tipi di dato di base

ðint: 32 bit in complemento a 2, da -2 miliardi a +2 miliardi circa

ðfloat: 32 bit in v.m., da -1038 a +1038 circa ðdouble: 64 bit in v.m., da -10308 a +10308ca.

ðchar: 8 bit, codice ASCII a 7 bit ðbool: 1 bit

m

Tipo string: classe di oggetti del C++

Dichiarazione dei Dati

m

Dichiarazioni di costante simbolica

ðconst <tipo> <identificatore> = <valore>;

ðes: const float PIGRECO = 3.1415;

m

Semantica

ðspazio nella memoria del tipo specificato, non modificabile, contenente il valore

m

Vantaggi

ðpoter cambiare il valore intervenendo solo sulla dichiarazione

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(4)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 7

m

Dichiarazioni di variabili

ð<tipo> <identificatore>;

ð<tipo> <identif1>, <identif2>, ... <identifn>;

ðes: int raggio;

ðes: float cerchio, circonf;

m

Semantica

ðspazio nella memoria del tipo specificato ðmodificabile liberamente nel corso del

programma (lettura o assegnazione)

Dichiarazione dei Dati

m

Attenzione

ðsubito dopo la dichiarazione il valore della variabile è casuale (indefinibile)

ðè necessario inizializzare la variabile leggendone il valore da un flusso ðo con un’istruzione di assegnazione

m

Esempio

ðint raggio; cin >> raggio;

ðint raggio; raggio = 3;

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(5)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 9

Dichiarazione dei Dati

m

In alternativa

ðinizializzazione contestuale alla dichiarazione

ðes: int raggio = 0;

m

Equivalente a due istruzioni

ðint raggio;

ðraggio = 0;

Dichiarazione dei Dati

m

Attenzione (2)

ðpossibili errori di rappresentazione

m

Varie cause

ðlimitatezza dello spazio in memoria (trabocco)

ðnatura della rappresentazione in virgola mobile (arrotondamenti)

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(6)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 11

m

Istruzioni di base

ðistruzioni di assegnazione ðistruzioni di lettura e stampa

m

Istruzioni di assegnazione

ðservono ad assegnare il risultato di un calcolo ad una variabile

m

Istruzioni di lettura e stampa

ðservono ad acquisire e stampare i valori delle variabili

Istruzioni di Assegnazione

m

Sintassi

<nomeVariabile> = <espressione>;

m

Semantica

ðviene calcolato il valore dell’espressione ðse il valore risultante è compatibile con il tipo della variabile, viene assegnato alla variabile (ovvero: il valore viene scritto nello spazio di memoria associato alla variabile) ðaltrimenti si genera un errore

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(7)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 13

Espressioni

m

Formule per il calcolo di un valore

ðcomposte di operandi e operatori

m

Operandi

ðcostanti ðvariabili

m

Operatori

ðoperatori predefiniti ðfunzioni predefinite

Istruzioni di Lettura e Stampa

m

Basate sul concetto di “flusso”

ðcanale di comunicazione tra il processore ed un dispositivo di ingresso o di uscita

m

Standard input

ðflusso standard di ingresso, proveniente dalla tastiera

m

Standard output

ðflusso standard di uscita, diretto verso lo schermo

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(8)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 15

Schermo Flusso di uscita

File su disco

Stampante

File su disco Tastiera

Processore Esegue le istruzioni del Programma

Flusso di uscita

Flusso di uscita Flusso di ingresso

Flusso di ingresso Standard

Input

Istruzioni di Stampa

m

Sintassi

cout << <espressione>;

cout << <espressione1> << <espressione2> ... ;

ðespressione: costante, variabile, espr.

complessa

m

Semantica

ðviene calcolato il valore di ciascuna espressione

ðil valore viene inserito nel flusso diretto allo schermo sotto forma di sequenza di caratteri

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(9)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 17

Istruzioni di Lettura

m

Sintassi

cin >> <variabile>;

m

Semantica: input formattato

ðappena nel flusso è presente almeno una riga, il processore analizza il flusso

ðnell’analisi del flusso ignora eventuali spazi bianchi iniziali

ðgli spazi bianchi vengono utilizzati anche come separatori tra i valori

Lettura e Stampa da e verso File

m ofstream

ðflusso associato ad un file in cui si stampano dati es: ofstream flussoSuFile (“fileDati.txt”);

m ifstream

ðflusso associato ad un file da cui si leggono dei dati es: ifstream flussoDaFile (“fileDati.txt”);

m Per utilizzarli è necessario specificare

ð #include <fstream.h>

Elementi di Base: Dettagli e Approfondimenti >> Ricapitolazione

(10)

G. Mecca - Programmazione Procedurale in Linguaggio C++ 19

Domande ed Esercizi di Riepilogo

Termini della Licenza

m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit

http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Termini della Licenza

m Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare

http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Riferimenti

Documenti correlati

Se la polizza assicurativa è sottoscritta attraverso UniCredit Spa il costo del premio è pari allo 0.03 per cento del capitale iniziale finanziato per il numero degli anni di

• Check Up per i Mutui a tasso fisso - 90 giorni prima della scadenza del periodo a tasso fisso, la Banca invierà al cliente una comunicazione che gli ricorda la scadenza del periodo

Se la polizza assicurativa è sottoscritta attraverso UniCredit Spa il costo del premio è pari allo 0.03 per cento del capitale iniziale finanziato per il numero degli anni di

• Check Up per i Mutui a tasso fisso - 90 giorni prima della scadenza del periodo a tasso fisso, la Banca invierà al cliente una comunicazione che gli ricorda la scadenza del periodo

Successivamente il Mutuo continuerà a tasso variabile fino al termine del piano di ammortamento; fino al rimborso totale del capitale mutuato, al Mutuo sarà applicato il tasso

Per virtù o per necessità, il mondo della comunicazione d’impresa prende coscienza di un fatto molto semplice, ovvero che alla base esiste un rapporto, un dialogo, una

Che tipo di abitazione - Il valore dell'appartamento - Le condizioni del palazzo - Le condizioni dell'appartamento - libero o affittato? - Le responsabilità di chi vende - Le

[r]