Qualsiasi programma in C++ segue lo schema:

Похожие документы
#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

Introduzione alla programmazione in C(++)

Fondamenti di Informatica

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Gestione di files Motivazioni

Informatica (A-K) 7. Linguaggio C - 1

Lezione 6 Introduzione al C++ Mauro Piccolo

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Laboratorio di programmazione

STRUTTURE DI CONTROLLO DEL C++

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Linguaggio C Informatica Grafica

Programmazione in Java (I modulo)

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

Programmazione web lato client con JavaScript. Marco Camurri 1

Le strutture di controllo in C++

Programmazione modulare

Linguaggio C: le funzioni

INFORMATICA. Strutture iterative

Struttura dei programmi C

PROGRAMMAZIONE: Le strutture di controllo

Tipi di dato e istruzioni elementari in C++

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Istruzioni iterative (o cicliche)

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Guida breve alla programmazione in C: Prontuario delle istruzioni più usate

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

5. Codifica degli Algoritmi in C

Breve guida al linguaggio FORTRAN 77

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

Linguaggio C++ Linguaggi di terza generazione

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Il linguaggio C. Notate che...

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

La sintassi del C APPENDICE H

INTRODUZIONE ALLA PROGRAMMAZIONE

Matematica con Python

Funzioni, Stack e Visibilità delle Variabili in C

Strutture di Controllo

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

Algoritmi e basi del C Struttura di un programma

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Le strutture di controllo

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

Le basi del linguaggio Java

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.

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

Introduzione alla programmazione in C++

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

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

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

VBA Principali Comandi

Programmazione con il linguaggio LibreOffice Basic

Le Funzioni e la Ricorsione

Laboratorio di Informatica

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

Esercizi. La funzione swapint() primo tentativo

Introduzione a MATLAB. Il Laboratorio. MATLAB Cos è? Oltre alle lezioni. Octave ( ) Scilab ( )

Транскрипт:

Qualsiasi programma in C++ segue lo schema: #include <iostream> // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni delle variabili utilizzate... // istruzioni del programma... return 0;

variabili Le istruzioni racchiuse tra parentesi graffe { costituiscono un blocco di elaborazione. La variabili dichiarate all interno di un blocco sono locali, mentre quelle dichiarate fuori da qualsiasi blocco sono globali Tipi di variabili numeriche predefiniti int, unsigned int, long, unsigned long, float, double, long double quanto spazio occupano in memoria: tipo Bytes Range Precisione (decimale) int 2 32768 a 32767.. long 4 2x10 9 a 2x10 9.. unsigned int 2 0 a 65535.. unsigned long 4 0 a 4x 10 9.. float 4 10-38 a 10 38 7 double 8 10-308 a 10 308 15 long double 10 10-4932 a 10 4932 19 altri tipi di variabili predefiniti char, bool (può assumere solo i 2 valori true/false) N.B typedef float Real; /* Real diventa sinonimo di float */ const int a = 4 // a non può più essere riassegnata

Input / Output cin >> gestisce input cout << gestisce output (vedi esempi) in cout le seguenti istruzioni, scritte tra virgolette, danno i seguenti risultati: \n porta il cursore all inizio della riga successiva \t porta il cursore al prossimo fermo di tabulazione (ogni fermo di tabulazione è fissato ad 8 caratteri) tabulazione orizzontale \v tabulazione verticale \b back space \\ stampa la barra rovesciata \? stampa il punto interrogativo \ stampa un apice \ stampa le virgolette Di default cout stampa 6 (7 a seconda dei compilatori) cifre decimali; per modificarle abbiamo 2 vie: utilizzare setprecision(numero_cifre), vedi esempio: cout << setprecision(12) << x; // x viene stampata con 12 cifre il comando è persistente, imposta l output fino a nuova definizione è necessario aggiungere in testa al file # include<iomanip> // libreria che permette la manipolazione dell output Scrivere prima del primo uso di cout cout.precision(numero_cifre) anche questo è persistente ma non richiede di includere iomanip.

Input e output su file Necessario : #include <fstream.h> Output ofstream prt( OUT ) // se non esiste già, crea il file OUT nella current directory dopo questa istruzione si utilizza il comando prt al posto di cout e l output avviene sul file OUT al posto del monitor l istruzione ofstream posiziona la scrittura in testa al file: per ogni file su cui voglio scrivere devo usarla una sola volta altrimenti sovrascrivo i dati. i manipolatori dell output come setprecision si utilizzano ancora con la stessa sintassi; attenzione: cout.precision() diventa prt.precision() Input ifstream read( DATA ) // legge dal file DATA nella current directory; dopo questa istruzione si utilizza il comando read al posto di cin; l istruzione ifstream posiziona la lettura in testa al file: per ogni file da cui voglio leggere devo usarla una sola volta altrimenti rileggo gli stessi dati; i valori nel file DATA devono essere separati da spazi o da return N.B. Le due parole chiave prt e read sono arbitrarie, a discrezione del programmatore che le può scegliere a piacere; alcuni preferiscono per esempio fout e fin. Leggere fino alla fine di un file esempio while (read >> x) { istruzioni Se la lettura avviene correttamente read >> x risulta TRUE e il ciclo continua

Operatori + addizione - sottrazione * moltiplicazione / divisione % modulo ++ incremento -- decremento = assegnazione assegnazione multipla: posso assegnare lo stesso valore a più variabili var1 = var2 = var3 = valore; assegnazione composta: si eseguono i calcoli prima dell assegnazione: x += y; è come x = x + y ; i += 1; è come i = i+1; N.B. incremento: per incrementare di 1 la variabile z si può scrivere: z ++ oppure ++ z cioè mettere l'operatore ++ prima o dopo del nome della variabile. Le due forme sarebbero equivalenti. La differenza si nota solo quando si scrive una espressione che contiene z++ o ++z. Scrivendo z++, il valore di z viene prima usato poi incrementato. Scrivendo ++z, il valore di z viene prima incrementato e poi usato. Basta tenere presente che l'ordine delle operazioni avviene sempre da sinistra verso destra.

l operatore? L operatore di assegnazione condizionata? ha la seguente sintassi: espressione_logica? espr1 : espr2 Se espressione_logica è vera restituisce espr1 altrimenti restituisce espr2. Si utilizza tale operatore per assegnare, condizionatamente, un valore ad una variabile. Esempio x valore_assoluto = x>0? x : -x; Tavola riassuntiva Operatore Esempio Risultato!!a (NOT logico) 1 se a è 0, altrimenti 0 < a < b 1 se a<b, altrimenti 0 <= a <= b 1 se a<=b, altrimenti 0 > a > b 1 se a>b, altrimenti 0 >= a >= b 1 se a>=b, altrimenti 0 == a == b 1 se a è uguale a b, altrimenti 0!= a!= b 1 se a non è uguale a b, altrimenti 0 && a && b (AND logico) 1 se a e b sono veri, altrimenti 0: se a è falso, b non viene valutato a b (OR logico) 1 se a è vero, (b non è valutato), 1 se b è vero, altrimenti 0

Funzioni di libreria Richiedono tutte #include <math.h> x x a x x e ln(x) log 10 ( x ) fabs(x) sqrt(x) pow(x,a) exp(x) log(x) log10(x) sen(x) cos(x) tg(x) arcsen(x) arccos(x) arctg(x) senh(x) cosh(x) tgh(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) sinh(x) cosh(x) tanh(x) ceil(x) floor(x) restituisce il più piccolo intero >= x restituisce il più grande intero <= x

Funzioni create dall utente In C++ la funzione è il solo strumento per realizzare sottoprogrammi e procedure. Una funzione può avere dei parametri di ingresso e, se non è definita di tipo void, restituire un risultato. Tipo del risultato nome_funzione ( parametri con tipo separati da virgole ) {. return risultato; Le funzioni possono essere definite prima della dichiarazione main oppure dopo: nel secondo caso (ed è la prassi) si deve inserire prima del main il prototipo (prototype) della funzione, ossia la sua intestazione. In una funzione possono esserci più istruzioni return. Vedi l esempio sottostante: int match (int a, int b, int c) { if (a == b) return c; else return b;

Costrutto while while (ciclo iterativo con controllo in testa): while (esp) istruzione Viene verificato che esp sia vera, nel qual caso viene eseguita istruzione. Il ciclo si ripete mentre esp risulta essere vera. Costrutto do-while L'uso della istruzione while prevede il test sulla condizione all'inizio del ciclo stesso. Ciò vuol dire che se, per esempio, la condizione dovesse risultare falsa, le istruzioni facenti parte del ciclo verrebbero saltate e non verrebbero eseguite nemmeno una volta. Quando l'istruzione compresa nel ciclo deve essere comunque eseguita almeno una volta, è più comodo utilizzare il costrutto: do{ while(espr); istruzioni In questo caso viene eseguita l istruzione e successivamente controllato se espr risulta vera, nel qual caso il ciclo viene ripetuto.