SergioGuastaferro
313 views
34 slides
Aug 14, 2018
Slide 1 of 34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
About This Presentation
Simulazione di una lezione in cui si definisce il concetto di iterazione in una classe 3 di un istituto tecnico informatico
Size: 1.46 MB
Language: it
Added: Aug 14, 2018
Slides: 34 pages
Slide Content
Iterazione Iterazione con controllo in testa - while Istituto Tecnico Industriale <<NOME>> Informatica e Telecomunicazioni INFORMATICA
Elementi Didattici Iterazione – Interazione con controllo in testa Target ITI - Informatica e Telecomunicazioni Informatica 3° Anno Lezione Modulo 2, Unità didattica 1 [vedi programma associato] Prerequisiti Elementi del Modulo 1: Avere la concezione di algoritmo, Sapere gli elementi salienti del linguaggio naturale Sapere cos’è un predicato e una proposizione Conoscere gli operatori logici
Elementi Didattici Iterazione – Interazione con controllo in testa Script Lezione [argo + principio apprendimento] 10min Problematica Esercizio [ motivazione+divertimento ] Si vuole risolvere una problematica la cui soluzione è un naturale ripetersi di operazioni (ricerca di un libro) 30min Ciclo while [particolare/concreto + partecipazione attiva] Spiegare cos’è un ciclo e cosa un’iterazione Si usa il materiale didattico ‘ EsempioWhile.cpp ’ Eseguendolo e commentandolo insieme 15min Try It Yourself [tentar non nuoce] Esercizi da svolgere e da discutere in classe per recepire feedback dalla classe 20min Considerazioni [utilità dell’errore] Osservazioni rilevanti sul while e possibili errori, mostrati sull’editing in classe del materiale didattico 10min HomeWork [tentar non nuoce] Esercizi da svolgere a casa per poi discuterne in classe Discussione degli esercizi svolti della lezione precedente
Elementi Didattici Iterazione – Interazione con controllo in testa Metodologia Didattica Learning By Doing Imparare concetti dal pratico Problem Solving Affrontare ed analizzare nuovi tipi di problematiche utilizzando strumenti nuovi
Elementi Didattici Iterazione – Interazione con controllo in testa Strumenti didattici Slide Con le quali sarà presentato l’argomento Materiale didattico Piccoli codici da provare sul pc del docente e/o con quelli dei ragazzi Postazioni del laboratorio Se disponibili
Elementi Didattici Iterazione – Interazione con controllo in testa Obiettivi Formativi Conoscenze Concetto di iterazione Strutture iterative con controllo in testa – while Competenze Riuscire a implementare un progettare un algoritmo con iterazioni, rappresentarlo graficamente con opportune simbologie ed codificarlo in linguaggio c++ Abilità Sapere utilizzare il ciclo while
INIZIO LEZIONE
Ricerca di un libro Supponiamo di dover prendere un libro da uno scaffale di una biblioteca. Non conosciamo in quale scaffale è contenuto
Si potrebbe pensare di eseguire i seguenti passi Ricerca di un libro INIZIO Considera il primo scaffale Se in esso è contenuto il libro Allora estrailo Altrimenti considera lo scaffale successivo FINE PSEUDOCODICE 1 2 3 4 5 7 8 6 Poi si ricontrolla per gli scaffali 2, 3, 4, 5, 6, 7, 8 E se si aggiunge un altro scaffale?
Problema Quante volte è necessario considerare scaffali? Quante volte dobbiamo scrivere se ... allora ... altrimenti . ? È possibile ripetere un numero di istruzioni fino al raggiungimento di un particolare obiettivo?
Cicli e Iterazioni Fino ad ora abbiamo visto programmi esclusivamente lineari if , if /else , switch .. Programmi complessi hanno al loro interno cicli Ciclo : ripetizione di una o più istruzioni Iterazione : fare più volte la stessa cosa Esistono differenti tipi di cicli tra cui while
Dove sono usati i cicli? Sono usati per contare il tempo negli orologi digitali Usati per i contare giri di gare atletiche
Soluzione, Ricerca di un libro Le istruzioni del blocco mentre saranno ripetute tante volte in fase di esecuzione dell’algoritmo. INIZIO Considera il primo scaffale Mentre il libro non è trovato o gli scaffali non sono esauriti esegui Se in esso è contenuto il libro Allora estrailo Altrimenti considera lo scaffale successivo FINE PSEUDOCODICE
Esempio: Il ciclo while Accendete i PC Andate sulla piattaforma [simulazione con Dropbox ] Scaricate EsempioWhile.cpp
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero While è una parola chiave ed è colorata.
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero È presente una espressione booleana, come per il blocco IF
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero Dopo il while segue un blocco di istruzioni Se l’espressione num ≠ 0 è vera si entra nel blocco while Il blocco di istruzione del while è compreso tra le parentesi graffe
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero Dopo l’esecuzione del blocco while , si ritorna all’inizio Si rivaluta quindi l’espressione booleana Se è vera si rientra nel blocco del while
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero Le istruzioni del blocco while vengono eseguite tante volte fino a quando l’espressione non diventa falsa Cioè finchè non viene inserito 0 dalla tastiera
Il ciclo while Condizione Istruzioni V F ……… mentre condizione è vera esegui istruzioni ……… PSEUDOCODICE Si controlla subito la condizione: se è vera vengono eseguite le istruzioni previste e successivamente si controlla di nuovo la condizione, se è falsa si esce dal ciclo. ……… while ( condizione ){ istruzione1; istruzione2; …… } ……… C++
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero Inizio num = 1 num ≠ 0 “Inserisci un numero” Leggi num Fine F V
Esempio: Il ciclo while Inserire da tastiera dei numeri fino a che non viene digitato lo zero Esecuzione del programma
Try It Yourself Inserire da tastiera dei numeri fino a che non viene digitato l’uno Eseguire la somma dei numeri digitati finche non viene digitato il numero 0 Prendendo spunto dal codice mostrato realizzare i seguenti programmi:
DOMANDE?? Perché ripere istruzioni simili? Cos’è un ciclo? Ed un’iterazione? Dove sono utilizzati? Il ciclo While
Considerazioni - 1 Se la condizione è sempre vera si entra in un ciclo infinito da cui non è possibile uscire. All’interno del while deve esserci un meccanismo che prima o poi rende falsa la condizione
Cosa fa questo codice?
Cosa fa questo codice? Esecuzione del programma L’esecuzione di questo codice non termina mai poiché le istruzioni del blocco while non modificano la condizione
Considerazioni - 2 L’espressione booleana viene valutata prima dei entrare nel ciclo. Prima di entrare nel ciclo bisogna fare qualcosa di coerente con il significato dell’espressione Prima di entrare nel ciclo le variabili devono essere opportunamente inizializzate
Cosa fa questo codice?
Cosa fa questo codice? Esecuzione del programma Se inizializziamo num = 0 il programma addirittura non entra nel ciclo while e non viene eseguita nessuna istruzione del blocco. NOTA: un ciclo può essere eseguito anche zero volte.
Facciamo il punto WHILE Ciclo Condizione Iniziale Istruzione che Modifica auspicabilmente L’espressione del while Far si che l’espressione Diventi falsa
HomeWork Correzione Esercizi Lezione Precedente La precedente lezione verte sulla realizzazione di semplici algoritmi basati su Proposizioni, Predicati e Opertori logici Correzione Esercizio X (…)
HomeWork Scrivere un programma che stampi i primi 20 numeri pari Scrivere un programma che prende in input due numeri A e B e stampa a video i numeri compresi tra i due valori