Iterazione - DI 2018

SergioGuastaferro 313 views 34 slides Aug 14, 2018
Slide 1
Slide 1 of 34
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
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


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