PROGRAMMAZIONE: Le strutture di controllo

Documenti analoghi
PROGRAMMAZIONE IN C E C++

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

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

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

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

Algoritmi e soluzione di problemi

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 3. Espressioni booleane I comandi if-else e while

Introduzione alla programmazione in C(++)

Laboratorio di programmazione

Strutture di Controllo

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Diagrammi a blocchi 1

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.

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

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Strutture di iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Formalismi per la descrizione di algoritmi

Diagrammi a blocchi 1

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

Istruzioni Condizionali

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

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

PROGRAMMAZIONE STRUTTURATA

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

Istruzioni iterative (o cicliche)

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

Strutture di iterazione

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

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico

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

5 - Istruzioni condizionali

Programmazione strutturata

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

Istruzioni iterative. Istruzioni iterative

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

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

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

Matlab. Istruzioni condizionali, cicli for e cicli while.

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

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

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

Programmazione in Python. Moreno Marzolla

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Istruzioni Condizionali in C

1 Esercizi in pseudocodice

COSA SONO I FLOW CHART

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

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

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Modulo 1 Concetti di base della Tecnologia dell Informazione

Programmazione in Java (I modulo)

Elementi di C++ di base

Sviluppo di programmi

Strutture di controllo in C++

Esercizi Programmazione I

Iterazione determinata e indeterminata

Laboratorio di programmazione

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

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Costrutti condizionali e iterativi

Problemi, algoritmi e oggetti

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

= < < < < < Matematica 1

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

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

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

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

Algoritmi di Ricerca. Esempi di programmi Java

Transcript:

PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per riga, dall alto in basso. Le strutture di controllo modificano l esecuzione sequenziale permettendo al programma di scegliere fra blocchi di istruzioni differenti (selezione) o di ripetere un blocco di istruzioni (iterazione). Il teorema di Böhm-Jacopini (1966) afferma che qualunque algoritmo può essere codificato usando soltanto sequenza, selezione e iterazione. L idea è che per spiegare a qualcuno che cosa deve fare abbiamo bisogno di farlo procedere, ma anche in certi punti di farlo scegliere e di farlo ripetere.

Selezione La selezione è la struttura di controllo che permette all algoritmo di decidere fra due blocchi di istruzioni, in base al valore di una condizione. Un blocco è una sequenza di istruzioni raggruppate. La condizione è un espressione il cui valore può essere vero oppure falso. Essa è generalmente basata sugli operatori di confronto (uguale, diverso, maggiore, minore ), Es. a>3 è vera per a che vale 5 mentre è falsa per a che vale 1. Se la condizione è vera viene eseguito il primo blocco di istruzioni, se la condizione è falsa viene eseguito il secondo blocco. Selezione La forma algoritmica della selezione: se (condizione) allora blocco-1 altrimenti blocco-2 La forma grafica della selezione (flow chart): V b1 cond. F b2 p Qualunque sia il blocco eseguito (b1 o b2), al suo termine l algoritmo prosegue dal medesimo punto di sincronizzazione p.

La Selezione in C/C++ La selezione in C/C++ si scrive usando la costruzione if-else (se-altrimenti): If (condizione) blocco-1 else blocco-2 // punto di sincronizzazione La Selezione in C/C++ Come già notato prima, dopo che si è eseguito il blocco-1 oppure il blocco-2, il programma riprende La condizione si scrive usando gli operatori >, >=, <, <=, ==,!= e se occorre anche gli operatori booleani && (and), (or),! (not). Attenzione a non confondere mai l operatore = (assegnazione) con l operatore == (confronto). La parte else + blocco-2 può anche non esserci: nel qual caso, se la condizione è falsa, il programma non esegue nessuna istruzione e poi prosegue sempre a partire dal punto di sincronizzazione.

Esempio di selezione Si scontano del 20% i prezzi > 100, del 5% gli altri int main () double pi, pf; cout << PROGRAMMA: SCONTO ; cout << Inserisci il prezzo: ; cin >> V pi; if (pi>100) pf = pi pi*20/100; else pf = pi pi*5/100; cout << Il prezzo scontato è << pf << \n ; Esercizi sulla selezione 1) Eseguire la divisione (trovando quoziente e resto) fra due interi letti da tastiera controllando che il divisore non sia zero 2) Leggere un voto e controllare che sia esatto (cioè compreso fra uno e dieci) 3) Leggere un intero e trovarne il valore assoluto 4) Scrivere un programma che risolva un equazione generica di primo grado. 5) Scrivere un programma che risolva un equazione generica di secondo grado. Nota: per calcolare la radice quadrata usare l istruzione sqrt(x) aggiungendo all inizio: #include <math.h>

Iterazione L iterazione è la struttura di controllo che permette all algoritmo di ripetere un blocco di istruzioni, fino a quando una condizione risulta vera. Per blocco e condizione valgono le definizioni date in precedenza. A ogni passaggio, prima di eseguire il blocco, si controlla la condizione: se è vera, si ripete il blocco; se è falsa, si prosegue con le istruzioni successive. La condizione deve poter diventare falsa, per cui le variabili in essa presenti devono essere modificate dentro al blocco. Iterazione La forma algoritmica dell iterazione: finché (condizione) ripeti blocco La forma grafica dell iterazione (flow chart): V b1 cond. F

L iterazione in C/C++ L interazione in C/C++ si scrive usando le costruzioni while (finché), do-while (ripeti-finché), for (per tutti): while (condizione) blocco do blocco while (condizione); for (inizializzazione; condizione; incremento) blocco Esempio di iterazione Trovare somma e media di 20 interi letti da tastiera int main () int x, s=0, i; double m; cout << PROGRAMMA: SOMMA E MEDIA ; i=1; while (i<=20) cout << inserisci: ; cin>> x; s = s+x; m = s/20; cout << La somma è << s << \n ; cout << La media è << m << \n ;

Esercizi sull iterazione 1) Stampare N volte la scritta Buongiorno. 2) Leggere una serie di prezzi e quantità acquistate e calcolare il totale della spesa (terminare quando viene inserita una quantità zero). 3) Leggere una serie di N voti e trovare il voto più alto, il più basso, la percentuale dei sufficienti e la percentuale degli insufficienti.