Esercitazioni di Fondamenti Informatica - Modulo A 1

Documenti analoghi
1 Esercizi in pseudocodice

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

Corso di Fondamenti di Informatica Classi di istruzioni 2

ISTRUZIONI DI ITERAZIONE

Laboratorio di Programmazione Laurea in Bioinformatica

PROGRAMMAZIONE: Le strutture di controllo

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

INFORMATICA. Strutture iterative

Esempio: somma di due numeri

Istruzioni iterative. Istruzioni iterative

Rappresentazione degli algoritmi

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

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

Strutture di iterazione

Corso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf(

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

Strutture di iterazione

Fondamenti di Informatica T-1 Modulo 2

PROGRAMMAZIONE STRUTTURATA

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

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

Fondamenti di Informatica T-1

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

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

Strutture di controllo iterative

Fondamenti di Informatica T-1 Modulo 2

Operatori in Java. Il Costrutto Condizionale if

Le strutture di controllo in C++

Costrutti condizionali e iterativi

Dall analisi alla codifica (1)

Fondamenti di Informatica T-1 Modulo 2

Costrutti iterativi. Utilizzo dei costrutti iterativi

COMANDI ITERATIVI. Ivan Lanese

3 Costrutti while, for e switch

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

CORSO DI PROGRAMMAZIONE

C espressioni condizionali

Istruzioni iterative (o cicliche)

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Formalismi per la descrizione di algoritmi

Fondamenti di Informatica

Introduzione alla programmazione Esercizi risolti

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

STRUTTURE DI CONTROLLO DEL C++

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

PROGRAMMAZIONE: ESERCITAZIONE N. 6

Obiettivi di questa esercitazione

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Iterazione determinata e indeterminata

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Programmazione in Python. Moreno Marzolla

Esercizio 1. Esercizio 1 - Soluzione

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

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

Esercitazioni di Elementi di Informatica

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Algoritmi e soluzione di problemi

unità didattica 3 Le strutture condizionali e le strutture iterative

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA

Corso di Fondamenti di Informatica

Iterazione (introduzione)

Problemi, algoritmi e oggetti

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

Le strutture di controllo

Alcune funzioni matematiche utili della libreria <math.h>:

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Fondamenti di Informatica T-1 Modulo 2

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

Laboratorio di Matematica e Informatica 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

If Statement. Il costrutto condizionale if ha la seguente sintassi:

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Introduzione Il costrutto if: else: Il costrutto while: Il costrutto for: Sommario FONDAMENTI DI INFORMATICA. Avviso. Introduzione

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

sum = 0; positivenumbers = 0; /* Passo 1 */ printf("introduci i numeri (0 per finire): "); scanf("%d", &number);

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

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

Correttezza (prima parte)

Lezione 5: Controllo del flusso e costrutti avanzati

Strutture di controllo iterative

a.a Codice corso: 21012, HOMEWORKS

Laboratorio di programmazione

Schemi ricorrenti nei cicli. Cicli ed iterazioni. Contatori. Schemi ricorrenti nei cicli. Contatori. Esempio

Algoritmi e diagrammi di flusso versione biennio

Fondamenti di Informatica L-A

Strutture di controllo in C++

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.

Capitolo 3 Sviluppo di Programmi Strutturati

Transcript:

Esercitazioni di Fondamenti Informatica - Modulo A 1

Da MSDN: The while statement executes a statement or a block of statements until a specified expression evaluates to false while ( expression ) statement Il costrutto while esegue statement finché expression risulta vera. Esce dal blocco appena expression risulta falsa. Esercitazioni di Fondamenti Informatica - Modulo A 2

Da MSDN: The do-while statement lets you repeat a statement or compound statement until a specified expression becomes false. do statement while ( expression ) Il costrutto do-while esegue statement finché expression risulta vera. Esce dal blocco appena expression risulta falsa. NB: diversamente dal ciclo while, usando il do-while almeno una iterazione del ciclo viene sempre eseguita! Esercitazioni di Fondamenti Informatica - Modulo A 3

Da MSDN: The for statement lets you repeat a statement or compound statement a specified number of times. The body of a for statement is executed zero or more times until an optional condition becomes false. You can use optional expressions within the for statement to initialize and change values during the for statement's execution. for ( init-expression opt ; cond-expression opt ; loopexpression opt ) statement Il ciclo for: 1. esegue init-expression, 2. controlla il valore di verità di cond-expression: se vera esegue nell ordine statement, loop-expression, torna al punto (2) se falsa esce dal ciclo Esercitazioni di Fondamenti Informatica - Modulo A 4

Scrivere un programma C che calcoli la somma di N numeri interi inseriti da tastiera. L inserimento e il calcolo deve essere eseguito finché il numero digitato è maggiore di -1. Nel caso il numero inserito sia <= -1 il programma deve stampare a video la somma di tutti i numeri inseriti. Quale ciclo mi conviene usare? Provare a implementare l algoritmo usando tutte le tre tipologie di ciclo. Esercitazioni di Fondamenti Informatica - Modulo A 5

Algoritmo (pseudo codice) somma = 0; x = 0; finché (x > -1) { scanf("%d", &x); somma = somma + x; } Risultato = somma; Come si comporta il programma all inserimento di -1? Forse cambiando ordine ad alcune istruzioni Esercitazioni di Fondamenti Informatica - Modulo A 6

Algoritmo (pseudo codice) somma = 0; esegui { scanf("%d", &x); somma = somma + x; } finché (x > -1) Risultato = somma; In questa versione troviamo gli stessi problemi del precedente? Esercitazioni di Fondamenti Informatica - Modulo A 7

Algoritmo (pseudo codice) somma = 0; per (x =?; 1?; 2?) { 3? } Risultato = somma; 1. Cosa metto come condizione? 2. Cosa metto come loop-expression? 3. Serve il corpo? Esercitazioni di Fondamenti Informatica - Modulo A 8

Scrivere un programma C che calcoli la radice quadrata (intera) di un naturale N. Considera un intero x dopo l altro a partire da 0 e calcolane il quadrato x*x: fermati appena tale quadrato supera N. Il precedente numero considerato (x-1) è il risultato. Esercitazioni di Fondamenti Informatica - Modulo A 9

Scrivere un programma C che calcoli la somma di una sequenza di numeri interi inseriti da tastiera. L inserimento e il calcolo devono essere eseguiti finché il numero digitato è maggiore di -1. Nel caso il numero inserito sia <= -1 il programma deve stampare a video la somma di tutti i numeri inseriti. Esercitazioni di Fondamenti Informatica - Modulo A 10

Scrivere un programma C che prende in ingresso un numero intero N compreso tra 0 e 30. Il programma deve stampare a video: tutti i numeri pari maggiori di 0 e minori di N tutti i numeri dispari maggiori di N e minori di 30 Esercitazioni di Fondamenti Informatica - Modulo A 11

Scrivere un programma C che prende in ingresso da tastiera un intero N. Il programma deve poi calcolare la somma di una sequenza di interi presa in ingresso da tastiera. L inserimento deve fermarsi quando la somma è maggiore o uguale al valore N. Il programma deve infine stampare a video la somma calcolata e la differenza tra la somma e il numero N. Esercitazioni di Fondamenti Informatica - Modulo A 12

Scrivere un programma C che calcoli la radice quadrata (intera) di un naturale N. Considerare un intero x dopo l altro a partire da 0 e calcolarne il quadrato x*x: fermarsi appena tale quadrato supera N. Il precedente numero considerato (x-1) è il risultato. Si facciano tre versioni del programma, usando in ciascuna un tipo di ciclo diverso Esercitazioni di Fondamenti Informatica - Modulo A 13

Scrivere un programma che prende in ingresso una sequenza di numeri positivi e negativi interrotta da 0. Quando viene inserito 0 il programma deve calcolare la media di tutti i numeri positivi inseriti. Quale ciclo conviene usare? Provare con tutti i tipi di ciclo conosciuti (while, do-while, for). Esercitazioni di Fondamenti Informatica - Modulo A 14

Progettare e Codificare in C un programma che: Chieda in ingresso un intero N Stampi a video la tavola pitagorica per i fattori fino a N compreso. Si utilizzi il tipo di ciclo ritenuto più adeguato. Esempio: Per N=4 stampa: Esercitazioni di Fondamenti Informatica - Modulo A 15

NB: Per i futuri esercizi si usi il tipo di ciclo ritenuto più adeguato. Esercizio 8 Dato un numero reale N e uno intero M, calcolare la potenza di N^M con M>=0 (senza utilizzare l istruzione pow). Si usi il tipo di ciclo ritenuto più adeguato. Variante: supporre che M possa assumere valori negativi. Esercizio 9 Scrivere un programma C che calcoli la somma di due numeri tramite i cicli iterativi utilizzando solo l operazione di incremento (operatore ++), supponendo quindi di non avere a disposizione l operatore di somma. Si usi il tipo di ciclo ritenuto più adeguato. Esercitazioni di Fondamenti Informatica - Modulo A 16

NB: Per i futuri esercizi si usi il tipo di ciclo ritenuto più adeguato. Esercizio 10 Dato un numero di righe N, disegnare sullo schermo la seguente figura (esempio per N=5): Esercitazioni di Fondamenti Informatica - Modulo A 17

NB: Per i futuri esercizi si usi il tipo di ciclo ritenuto più adeguato. Esercizio 11 Calcolare iterativamente Il numero di addendi (corrispondenti alla precisione del calcolo) dovrà essere dato in input prima dell esecuzione del calcolo. Ad ogni iterazione stampare il valore corrente di π. Ad esempio: 1. pi = 4 2. pi = 2.666... 3. pi = 3.466... 4.... Esercitazioni di Fondamenti Informatica - Modulo A 18

NB: Per i futuri esercizi si usi il tipo di ciclo ritenuto più adeguato. Esercizio 12 Progettare e codificare il programma in C che legga da terminale una sequenza di interi positivi e negativi terminati dal valore 0 e stampi per ognuno di essi l opposto, il reciproco e il modulo. Esercizio 13 Scrivere un programma C che, dato un numero intero N, calcoli il fattoriale di tutti i numeri interi minori o uguali a N. Si usi il tipo di ciclo ritenuto più adeguato. NOTA: il fattoriale di N è il risultato della moltiplicazione di tutti i numeri minori e uguali a n. Es.: 3! (3 fattoriale) = 1 * 2 * 3 = 6 Esercitazioni di Fondamenti Informatica - Modulo A 19

NB: Per i futuri esercizi si usi il tipo di ciclo ritenuto più adeguato. Esercizio 14 Realizzare un programma C che, chiesto all utente un numero intero pari a N, ricavi e stampi a video tutte le terne pitagoriche con i cateti minori o uguali ad N. Una terna pitagorica è formata da tre numeri naturali (a, b, c) tali che a 2 + b 2 = c 2. Esempio 3,4,5 -> (9+16=25). N.B. : Calcolare solo le terne in cui a<b. Esercitazioni di Fondamenti Informatica - Modulo A 20