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

Похожие документы
Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Appunti, esempi ed esercizi sui linguaggi C/C++

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

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

Laboratorio di programmazione

Elementi di Programmazione in C++

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

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

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

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Informatica! Appunti dal laboratorio 1!

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

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

a.a Codice corso: 21012, HOMEWORKS

Ricerca sequenziale di un elemento in un vettore

PROGRAMMAZIONE: Le strutture di controllo

Ricerca binaria (o dicotomica) di un elemento in un vettore

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

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

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Programmazione modulare

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C++ Linguaggi di terza generazione

Prova Scritta del 19/07/10

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

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Codifica: dal diagramma a blocchi al linguaggio C++

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

Il linguaggio C. Notate che...

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

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

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

LINGUAGGI DI PROGRAMMAZIONE!

Strutture di iterazione

Lettura e scrittura da file. Lettura e scrittura da file

Le stringhe. Le stringhe

Sommario. Calcolo della radice quadrata. Calcolo della radice quadrata. y0 a rappresenta un approssimazione per eccesso dll della radice. y 1 a.

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

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Programmazione Procedurale in Linguaggio C++

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

Algoritmi e basi del C Struttura di un programma

Le strutture di controllo in C++

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot;

INFORMATICA - I puntatori Roberta Gerboni

Esercizi Programmazione I

PROGETTAZIONE TOP-DOWN E BOTTOM-UP

La sintassi del C APPENDICE H

Laboratorio di Programmazione Gruppo III, Ml-ZZ. Alberto Finzi

Elementi di C++ di base

Gestione di files Motivazioni

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Indice. Prefazione. 3 Oggetti e Java 53

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

Introduzione alla programmazione in C(++)

Il generatore di numeri casuali

Programmazione I - Laboratorio

Транскрипт:

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione di I/0 da tastiera...3 Esercizi sulla dichiarazione ed inizializzazione di variabile...3 Esercizi sulle funzioni di matematica...4 Esercizi sulle relazioni e sui connettivi...5 Esercizi sulle regole di conversione...6 Esercizi sulla struttura di controllo di selezione...7 Esercizi sul ciclo iterattivo FOR...7

Struttura del file sorgente Regole generali per costruire una applicazione basata su un unico file e senza l'utilizzo delle funzioni La struttura del file è la seguente, non tutte le parti sono richieste nella codifica dell algoritmo. // AUTORI: // DATA: // TITOLO: // COMMENTI // #include delle librerie necessarie al programma // #define delle costanti elaborate dal preprocessore using namespace std; int main(){ // DEFINIZIONI DI TIPO // DICHIARAZIONE DELLE COSTANTI // MODELLAZIONE DATI // CORPO DELLA PROGRAMMA // INPUT system("pause"); return 0; Gli esercizi propongono la sola parte riferita alla trasformazione e raramente la parte riferita all output. Lo studente dovrà completare l esercizio con le parti mancanti, compilarlo e verificarne il funzionamento indicando quali test sono stati condotti per la sua validazione. I test sono indicati nel file stesso sotto forma di commento nella sezione indicata da // commenti. Organizzazione della directory di lavoro All interno di ogni cartella studente - definire una cartella Informatica14-15 All interno della cartella troveremo: -nome file del template: TEMPLATE.cpp -nome del file dell esercizio: ESXX.cpp 2/2

Esercizi sulle funzione di I/0 da tastiera 1. Visualizzare "Ciao" e mettere in attesa il sistema // #include delle librerie necessarie al programma #include <iostream> cout << "Ciao" << endl; 2. Visualizzare il prompt valore: e digitare il valore di una variabile chiamata s di tipo intero // INPUT cout << "valore: " << endl ; cin >>s; 3. Visualizzare in colonna tre valori n1=10, n2=50, n3=30 variabili di tipo intero con distanza 20 e 30 rispettivamente // #include delle librerie necessarie al programma #include <iostream> #include <iomanip> cout <<n1<<n2<<n3; cout << endl; cout <<n1<<"--"<<n2<<"--"<<n3; cout << endl; cout <<n1<<setw(20) <<n2<<setw(30)<<n3; cout << endl; Esercizi sulla dichiarazione ed inizializzazione di variabile 4. Dichiarare i vari tipi di variabile semplice int i; short int si; long int li; float f; double df; char c; bool b; i=0; c='s'; b=true; 3/3

5. Valutare lo spazio di memoria occupato da una variabile in funzione del tipo mediante funzione sizeof (dimensione espressa in byte) cout << "Dim. di int : " << sizeof(int) << " byte" << endl; cout << "Dim. di short int: " << sizeof(short) << " byte"<< endl; cout << "Dim. di long int : " << sizeof(long) << " byte" << endl; cout << "Dim. di float : " << sizeof(float) << " byte" << endl; cout << "Dim. di double : " << sizeof(double) << " byte"<< endl; cout << "Dim. di char : " << sizeof(char) << " byte" << endl; cout << "Dim. di bool : " << sizeof(bool) << " byte"<<endl; 6. Dichiarare i vari tipi di costanti // DICHIARAZIONE DELLE COSTANTI const double PIGRECO=3.14; const char OK='s'; const int SCONTO=20; const int VAL1=0xAF; //costante espressa in esadecimale const int VAL2=077; //costante espressa in ottale const long MISURA=25L; 7. Assegnare un numero ad una variabile N N=2; Esercizi sulle funzioni di matematica 8. Dato un numero N intero positivo, calcolare il successivo N=2; N=N+1; 9. Dati due numeri interi positivi N1 e N2, calcolare il risultato della divisione intera N=N1/N2; 10. Dati due numeri interi positivi N1 ed N2, calcolare il resto della divisione intera N=N1%N2; 11. Visualizzare il numero più grande generabile cout << RAND_MAX << endl ; 4/4

12. Data un numero intero positivo N, generare un numero pseudo-casuale R intero compreso tra 0 ed N A = rand() % N; 13. Dati due numeri float B ed E, calcolare la potenza P. P=pow(B,E); 14. Dati un numero float positivo A calcolare la radice quadrata R R=sqrt(A); 15. Dato un numero float A calcolare il numero arrotondato all'intero superiore N N= ceil(a); 16. Dato un numero float A calcolare il numero arrotondato all'intero inferiore N N= floor(a); 17. Dato un numero float A calcolare il numero arrotondato N N=round(A); Esercizi sulle relazioni e sui connettivi 18. Dati due numeri interi positivi N1 e N2 calcolare e visualizzare le varie relazioni matematiche cout << "dati due numeri "<<N1<<" "<<N2"<< cout; cout <<" N1==N2: "<< N1==N2<< endl; cout <<" N1>N2 : "<<N1>N2<< endl; cout <<" N1>=N2: "<<N1>=N2<< endl; cout <<" N1<N2 : "<<N1<N2<< endl; cout <<" N1<=N2: "<<N1<=N2<< endl; cout <<" N1!=N2: "<<N1!=N2<< endl; Due diverse relazioni possono essere collegate fra loro a formare una nuova relazione più complessa, mediante operatori logici detti connettivi logici : (connettivo OR), && (connettivo AND),! (NOT) 19. Dati N1=7, N2=6, N3=11, calcolare il valore delle seguenti espressioni logiche: 5/5

B1= (N1<N2) (N3<N1) ; B2=!(N1==N3) && ((N1==N2) (N2<N3)); B3= (N1>N2) && ((N3<N1) (N2==N3))); 20. Dati N1=1,N2=6, N3=6, calcolare il valore delle seguenti espressioni logiche: B1=(N1>N3) (N3<=N2); B2=(N1==N3) ((N1<N2) && (N2<=N3)); B3=!(N1>N2) && ((N1>N3) (N3>=N2)); 21. Dati N1=12, N2=9, N3=10, calcolare il valore delle seguenti espressioni logiche: B1= (N1>N2) (c>n1); B2=!(N1==N3) ((N1<N2) && (N1<N3)); B3= (N1>N2) && ((N3>N1)!(N3>N2)) ; Esercizi sulle regole di conversione 22. Regola di conversione (implicità) da float ad intero int a; float b; b=3.56; a=b; cout << a << "\n"; 23. Conversione da float ad intero int a; float b; b=3.56; a=(int)b; cout << a << endl; 24. Regola di conversione (implicita) da intero a float int a; float b; a=5; 6/6

b=a; cout << b << endl; Esercizi sulla struttura di controllo di selezione 25. Dati tre numeri interi positivi N1 N2 N3, calcolare e visualizzare il numero max Nmax=N1; if (N2>Nmax) Nmax=N2; if (N3>Nmax) Nmax=N3; cout<<nmax<< endl; 26. Dato un numero intero positivo N visualizzare i primi tre valori in un testo UNO, DUE, TRE if (N==1) cout << "UNO" << endl; else if (N==2) cout << "DUE" << endl; else if (N==3) cout << "TRE" << endl; else cout << "VALORE SUPERIORE A TRE" << endl; Esercizi sul ciclo iterattivo FOR 27. Visualizzare tutti i numeri da 0 a 9 compresi for (n=0; n<=9; n++){ cout<<n<<endl; 28. Visualizzare tutti i numeri da 9 a 0 compresi for (n=9; n>=0; n--){ cout<<n<<endl; 29. Dato N un numero intero positivo, visualizzare in ordine crescente i numeri dispari minori o uguali a N for (i=1; i<=n; i=i+2){ cout<< i<< endl; 30. Calcolare la somma S dei primi N numeri S=0; for(i=1;i<=n;i=i+1){ S=S+i; 7/7

31. Calcolare il prodotto P dei primi N numeri P=1; for(i=1;i<=n;i=i+1){ P=P*i; 32. Calcolare la potenza P in base B ed esponente E P=1; for(i=1;i<=e;i=i+1){ P=P*B; cout<<p<<endl; 33. Dati due numeri interi positivi N1 N2, calcolare il prodotto P di N1*N2 mediante la ripetizione dell'operazione somma P=0; for(i=1;i<=n2;i=i+1){ P=P+N1; 34. Dati due numeri interi positivi N1 N2 con N1>N2, calcolare il quoziente ed il resto della divisione N1/N2 mediante la ripetizione dell'operazione sottrazioni Q=0; for(r=n1; R>=N2; R=R-N2) Q=Q+1; 35. Visualizzare in colonna a gruppi di tre con distanza 10 i primi 18 numeri for (i=1; i<=18; i++){ if ((i-1)%3>0) { cout <<i<< setw(10); else { cout << endl<< i << setw(10); 36. Visualizzare la tabella pitagorica for(n=1; n<=10; n++) { for(i=1; i<=10; i++) { 8/8

cout <<" "; cout <<n*i; cout <<endl; 9/9