Strutture di iterazione

Похожие документы
Strutture di iterazione

PROGRAMMAZIONE: Le strutture di controllo

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

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

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

Le strutture di controllo in C++

Esercitazione 4. Comandi iterativi for, while, do-while

Introduzione alla programmazione Esercizi risolti

a.a Codice corso: 21012, HOMEWORKS

Esercitazione 3. Espressioni booleane I comandi if-else e while

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

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizi di programmazione in linguaggio C - Costrutto iterazione

PROGRAMMAZIONE IN C E C++

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

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

PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Istruzioni iterative (o cicliche)

Moltiplicazione. Divisione. Multipli e divisori

Costrutti condizionali e iterativi

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

35 è congruo a 11 modulo 12

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

Informatica! Appunti dal laboratorio 1!

Esercizi Programmazione I

MAPPA MULTIPLI E DIVISORI

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

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

Elementi di C++ di base

posso assicurare che le mie sono ancora maggiori

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

Liceo scientifico Pascal Manerbio Esercizi di matematica per le vacanze estive

Primo programma in C Esercizi risolti

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

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

Scelte ed alternative. Esercizi risolti

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

Laboratorio di Programmazione e Calcolo

EXCEL: FORMATTAZIONE E FORMULE

Laboratorio di Informatica

PROGRAMMAZIONE STRUTTURATA

Programmazione I - Laboratorio

9.4 Esercizi. Sezione 9.4. Esercizi 253

EXCEL: FORMATTAZIONE E FORMULE

METODO DEI SEGMENTINI (Prof. Daniele Baldissin)

FONDAMENTI DI INFORMATICA

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Fondamenti di Informatica T-1 Modulo 2

1 (UNO) INDICA LA QUANTITÀ DI ELEMENTI DELL INSIEME UNITARIO B = (CLASSI CHE HANNO LA LIM) SOLO LA 4ª A HA LA LIM QUINDI L INSIEME È UNITARIO.

Informatica 1. Prova di recupero 21 Settembre 2001

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI

A1. Calcolo in Q. A1.1 Tabelline e potenze. A1.2 Scomposizione in fattori di numeri interi MCD e mcm

OBIETTIVI MINIMI DI MATEMATICA

Istruzioni iterative. Istruzioni iterative

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

1 Multipli e sottomultipli. Divisibilità

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf

Strutture di controllo in C++

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

1) Premessa: Al posto dei numeri posso utilizzare delle.. m) La differenza tra due numeri qualsiasi:...

Programmazione modulare

PROGETTAZIONE TOP-DOWN E BOTTOM-UP

Algoritmi di Ricerca. Esempi di programmi Java

Parte Seconda. Prova di selezione culturale

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Strutture di Controllo

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

Le tecniche di calcolo mentale rapido usano alcune proprietà delle operazioni. Le principali proprietà utilizzate sono: = = 2 3

Calcolare con il computer: Excel. Saro Alioto 1

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

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

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

La struttura dati ad albero binario

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

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

NUMERI ED OPERAZIONI indicatori descrittori valutazione

Motorola 68000: primi programmi assembly

Kangourou Italia Gara del 28 marzo 2008 Categoria Student Per studenti di quarta o quinta della secondaria di secondo grado

Algoritmi e basi del C Struttura di un programma

Транскрипт:

Strutture di iterazione 1. Leggi i programmi qui sotto e disegna le tabelle di traccia nelle situazioni seguenti: a. Nel primo e nel secondo programma viene inserito da tastiera il valore 2; b. Nel primo e nel secondo programma viene inserito da tastiera il valore 7; c. Nel terzo e nel quarto programma viene inserito da tastiera il valore 4.0; d. Nel terzo e nel quarto programma viene inserito da tastiera il valore 31.7; e. Nel terzo e nel quarto programma viene inserito da tastiera il valore 0; //Programma 1 int A; cin >> a ; while(a<5){ A=A+1; cout << a ; //Programma 2 int A; cin >> a ; do{ A=A+1; while(a<5); cout << a ; //Programma 3 cin >> G;; while(g<25){ G=G*2; cout << G; //Programma 2 float ACCA; cin >> ACCA; do{ ACCA=ACCA*2; while(acca<25); cout << ACCA; 1 di 9

Esercizi con while 2. Scrivi un programma che stampi a video un cuore come in figura. Fa in modo che l utente possa scegliere quante volte stampare a video la figura, ad esempio se l utente inserisce il valore 3, il cuore deve essere stampato 3 volte. Scrivi due versioni del programma utilizzando prima il comando while() e poi il comando do{while(). * * * * * * * * * * * * 3. Scrivi un programma che acquisisca due variabili intere da tastiera A e B e stampi a video tutti i numeri interi compresi tra A e B, ad esempio: se A=3 e B=7 il programma deve stampare i numeri 4, 5, 6. Usa il comando di iterazione che preferisci. 4. Modifica il programma precedente usando l altro comando di iterazione. Fa in modo che i valori di A e B inseriti da tastiera vengano scambiati se A è maggiore di B, ad esempio se A=8 e B=2 è necessario scambiare i valori in modo che A valga 2 e B valga 8. 5. **Scrivi un programma che stampi a video i primi sette multipli di un numero intero ZETA inserito da tastiera, ad esempio se ZETA=4 il programma deve stampare 4, 8, 12, 16, 20, 24, 28. 2 di 9

Strutture di Iterazione 1. Leggi i due programmi qui sotto e determina cosa stampano a video. Verifica la tua previsione compilando ed eseguendo i due programmi. NB: Attenzione all operazione di divisione!!! Nel primo programma Kappa è intero, nel secondo è decimale: cosa cambia???? int Kappa; int c; Kappa=16; c=0; float Kappa; int c; Kappa=16.0; c=0; while(c<10){ Kappa=Kappa/2; cout<< Kappa <<endl; c=c+1; system( PAUSE ); while(c<10){ Kappa=Kappa/2; cout << Kappa <<endl; c=c+1; system( PAUSE ); 2. Modifica il secondo programma, facendo in modo che le istruzioni nel while siano ripetute 100 volte: cosa succede quando esegui il programma? Riesci a spiegarne il motivo? 3. Scrivi un programma che acquisisca da tastiera due numeri interi Beta e Gamma e stampi a video tutti i numeri pari compresi tra i due, ad esempio se Beta=5 e Gamma=18, il programma deve stampare a video i numeri: 6, 8, 10, 12, 14, 16. 4. Scrivi un programma che contenga un iterazione il cui unico scopo sia quello di stampare a video i numeri interi minori di 100 che hanno la cifra corrispondente alle unità uguale a 3. I numeri stampati a video dovranno essere quindi: 3, 23, 33, 43,, 83, 93. 3 di 9

Strutture di Iterazione 1. Sulla base del programma discusso ieri, scrivi un programma che acquisisca da tastiera due numeri interi A e B e stampi a video tutti i numeri compresi tra i due, che non siano multipli di 7. Ad esempio: se A=12 e B=19, i numeri stampati a video devono essere 13, 15, 16, 17, 18. 2. Leggi il programma 1, disegna la tabella di traccia e determina cosa viene stampato a video quando m e n assumono i valori 7 e 4, 5 e 2, 3 e 6. 3. Leggi il programma 2: come funziona? Per quale valore di G immesso da tastiera viene stampata a video la scritta FINE!!!? //Programma 1 int m, n; int C=0; cout << Inserisci due numeri: \n ; cin >>m; cin >> n; while(c<n){ m=m+1; C=C+1; cout << m<< <<n<< << C <<endl; //Programma 2 int G, H; do { cout << Inserisci un numero \n ; cin >> G; H=G+3;<< while( (G+H)!= 27 ); cout << FINE!!!! \n ; 4. Scrivi un programma che contenga un iterazione il cui unico scopo sia quello di stampare a video i numeri interi minori di 100 che hanno la cifra corrispondente alle unità uguale a 3. I numeri stampati a video dovranno essere quindi: 3, 13, 23, 33, 43,, 83, 93. Suggerimento: 3=0*10+3, 13=1*10+3, 23=2*10+3,, 83=8*10+3, 93=9*10+3. 4 di 9

Il comando for //Programma esempio using namespace std ; int k; for(k=0; k<10; k=k+1){ cout << Questa frase è stata stampata a video <<k; if(k==1) { cout << volta! \n ; else { cout << volte! \n ; ATTENZIONE: k=0 valore iniziale k<10 valore finale k=k+1 incremento 1. Riscrivi il programma precedente prima usando il comando while() e poi usando il comando do while(). 2. Scrivi un programma che acquisisca due numeri interi A e B da tastiera e stampi a video tutti i numeri divisibili per 9 compresi tra i due. Usa il comando for(). Esempio: se A=3 e B=35, il programma deve stampare 9, 18, 27. 3. 4. La moltiplicazione tra due numeri C e D, non è altro che un addizione ripetuta: ad esempio 7x3=7+7+7, che equivale a partire da 0 e sommare 7 per 3 volte. Scrivi un programma che acquisisca due numeri qualsiasi da tastiera e calcoli il loro prodotto usando solo l operazione di somma. 5. 6. Scegli almeno uno dei seguenti programmi: 7. **Scrivi un programma che acquisisca da tastiera una lista di 12 numeri e verifichi se il numero 9 è compreso o meno nella lista. Per scrivere il programma devi usare al massimo 3 variabili. 8. **Scrivi un programma che acquisisca da tastiera una lista di 12 numeri e calcoli la loro somma. Per realizzare il programma ti devono bastare 3 variabili. 5 di 9

IL COMANDO FOR //Programma 1 int m, numero; int k; m=0; for(k=0; k<5; k=k+1){ cout<< Inserisci un numero ; cin >>numero; if(numero>m){ m=numero; cout <<m; //Programma 2 int A, B, P; int g; P=0; cout << Inserisci due numeri: ; cin >>A; cin >>B; for(g=0; g<b; g=g+1){ P=P+A; cout << P; 1. Leggi il Programma 1 qui sopra e disegna la tabella di traccia quando: a. vengono inseriti da tastiera i seguenti valori: 0, 13, 15, 2, 7; b. vengono inseriti da tastiera i seguenti valori: -2, 8, 4, -5, 0; c. vengono inseriti da tastiera i seguenti valori: -1, -4, -78, -1, -45; Quale numero viene stampato a video nei primi due casi? Cosa viene stampato nel terzo caso? Modifica il programma in modo che esegua la stessa operazione anche nel terzo caso e quindi in generale. 2. Sulla base del programma precedente scrivi un programma che individui in valore minimo di una lista di numeri inseriti da tastiera: scrivi una prima versione del programma usando il comando for e una seconda versione usando il comando while. 3. Leggi il Programma 2 e disegna la tabella di traccia quando vengono inseriti da tastiera i valori: 5 e 4, 8 e 2, -4 e 3. Cosa viene stampato a video nei tre casi? Cosa succede quando vengono inseriti i valori 5 e -6? Modifica il programma in modo che funzioni anche quando il secondo numero è negativo. 6 di 9

Tabelle di traccia Disegna e completa le tabelle di traccia dei programmi seguenti quando il numero inserito da tastiera è G=2. Cosa fa ciascun programma? Inventa il testo di quattro problemi, ognuno dei quali potrebbe essere risolto con uno dei quattro programmi. int m; int m; cout << Inserisci un numero ; cout << Inserisci un numero ; cin >>G; cin >>G; for(m=1; m<18; m=m+1){ for(m=1; m<18; m=m+1){ G=G+G/2; m=m+1; cout << G<< e << m; G=G+G/2; cout << G<< e << m; int m; int m; cout << Inserisci un numero ; cout << Inserisci un numero ; cin >>G; cin >>G; for(m=1; m<18; m=m+1){ for(; G<=100; G=G+G/2){ if(m%2==0) { G=G+G/2; m=m+1; else { G=G-G/2; cout << G<< e << m; cout << G<< e << m; Disegna e completa la tabella di traccia per i due programmi quando i valori inseriti da tastiera sono: DI=100 e ACCA=0; DI=20 e ACCA=100. #include<iostream.h> #include<iostream.h> float DI, ACCA; float DI, ACCA; cin >>DI; cin >>DI; cin >>ACCA; cin >>ACCA; while(di>=acca){ do{ DI=DI*90/100; DI=DI*90/100; while(di>=acca); 7 di 9

NUMERI & ASTERISCHI 1. Scrivi un programma che disegni un quadrato di asterischi di lato L, con L scelto dall utente. Esempio: se L=4, il programma deve disegnare il quadrato in figura. * * * * * * * * * * * * * * * * * * * * * * * * * * Suggerimento: Quanti asterischi è necessario stampare in totale? Scrivi un programma che stampi sulla stessa riga gli asterischi necessari e poi modificalo in modo che vada a capo nel punto giusto 2. Scrivi un programma che stampi a video un triangolo di asterischi con N righe, con N scelto da tastiera. Esempio: se N=4, il programma deve disegnare il triangolo in figura. Suggerimento: Quanti asterischi è necessario stampare in totale? Scrivi un programma che stampi sulla stessa riga gli asterischi necessari e poi modificalo in modo che vada a capo nel punto giusto 3. Scrivi un programma che acquisisca da tastiera un numero intero positivo N e calcoli la somma di tutti i numeri naturali che lo precedono. Esempio: se il numero acquisito da tastiera è 7, il programma dovrà calcolare la somma 1+2+3+4+5+6+7 Esiste un modo molto rapido per calcolare la stessa somma: riesci a trovarlo? NUMERI & ASTERISCHI 4. Scrivi un programma che disegni un quadrato di asterischi di lato L, con L scelto dall utente. Esempio: se L=4, il programma deve disegnare il quadrato in figura. * * * * * * * * * * * * * * * * * * * * * * * * * * Suggerimento: Quanti asterischi è necessario stampare in totale? Scrivi un programma che stampi sulla stessa riga gli asterischi necessari e poi modificalo in modo che vada a capo nel punto giusto 5. Scrivi un programma che stampi a video un triangolo di asterischi con N righe, con N scelto da tastiera. Esempio: se N=4, il programma deve disegnare il triangolo in figura. Suggerimento: Quanti asterischi è necessario stampare in totale? Scrivi un programma che stampi sulla stessa riga gli asterischi necessari e poi modificalo in modo che vada a capo nel punto giusto 6. Scrivi un programma che acquisisca da tastiera un numero intero positivo N e calcoli la somma di tutti i numeri naturali che lo precedono. Esempio: se il numero acquisito da tastiera è 7, il programma dovrà calcolare la somma 1+2+3+4+5+6+7 Esiste un modo molto rapido per calcolare la stessa somma: riesci a trovarlo? 8 di 9

1. Triangolo di asterischi con N righe: int N, R, i; cin >>N; R=N-1; for(i=0; i<n*(n+1)/2 ; i++){ cout << * ; if( i%n==r ) { cout << \n ; R=R-1; 2. Scrivi un programma che stampi a video i quadrati dei primi N numeri naturali, con N acquisito da tastiera; ad esempio, per N=5, il programma deve stampare a video i numeri 1 2 =1, 2 2 =4, 3 2 =9, 4 2 =16, 5 2 =25. Modifica il programma in modo che stampi anche la loro somma (per N=5, deve stampare 55). 3. Elevare un numero alla M significa moltiplicarlo per se stesso M volte: ad esempio M 7 7 7 7... 7 7 =. Scrivi un programma che acquisisca due numeri interi da tastiera A e B M volte e calcoli iterativamente il valore di B A. Ad esempio, se A=3 e B=4, il programma deve calcolare 3 4 = 3 3 3 3 = 81. 1. Triangolo di asterischi con N righe: int N, R, i; cin >>N; R=N-1; for(i=0; i<n*(n+1)/2 ; i++){ cout << * ; if( i%n==r ) { cout << \n ; R=R-1; 2. Scrivi un programma che stampi a video i quadrati dei primi N numeri naturali, con N acquisito da tastiera; ad esempio, per N=5, il programma deve stampare a video i numeri 1 2 =1, 2 2 =4, 3 2 =9, 4 2 =16, 5 2 =25. Modifica il programma in modo che stampi anche la loro somma (per N=5, deve stampare 55). 3. Elevare un numero alla M significa moltiplicarlo per se stesso M volte: ad esempio M 7 7 7 7... 7 7 =. Scrivi un programma che acquisisca due numeri interi da tastiera A e B M volte e calcoli iterativamente il valore di B A. Ad esempio, se A=3 e B=4, il programma deve calcolare 3 4 = 3 3 3 3 = 81. 9 di 9