PROGRAMMAZIONE: La selezione

Похожие документы
Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

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

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

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

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

La selezione binaria

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Esercizi di programmazione in C

Generalità sugli algoritmi

NUMERI COMPLESSI. Test di autovalutazione

EQUAZIONI CON VALORE ASSOLUTO DISEQUAZIONI CON VALORE ASSOLUTO

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

SOLUZIONE ESERCIZIO 1

Programmazione Orientata agli Oggetti in Linguaggio Java

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

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Descrizione di un algoritmo

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Aritmetica dei Calcolatori 2

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Le aree dell informatica

Gestione di files Motivazioni

Algoritmi e diagrammi di flusso

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Informatica 3. Informatica 3. LEZIONE 6: Il controllo dell esecuzione. Lezione 6 - Modulo 1. Errori durante l esecuzione. Il controllo dell esecuzione

Sistemi Web per il turismo - lezione 3 -

Esercizio: numero primo

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Codifica: dal diagramma a blocchi al linguaggio C++

Il calcolatore. Architettura di un calcolatore (Hardware)

CALCOLO DEL MASSIMO COMUN DIVISORE

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Sottoprogrammi: astrazione procedurale

Esercizi sulla conversione tra unità di misura

Prova Scritta del 19/07/10

La struttura dati ad albero binario

Informatica Teorica. Macchine a registri

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Corso di Esercitazioni di Programmazione

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

Modulo 5 La programazione Unità 4 Selezione

Unità B3 Strutture di controllo

Elementi di informatica e Programmazione

Introduzione al MATLAB c Parte 2

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Esercizi di programmazione

Esempi di algoritmi. Lezione III

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Algoritmi di Ricerca. Esempi di programmi Java

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 13 Settembre COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio

Le Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Esercizio. Pseudocodice

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Esercizi di programmazione in linguaggio C - Costrutto sequenza

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

Installazione DEMO - COMETA QUALITA

La programmazione. Sviluppo del software

Esercizi di Algoritmi e Strutture Dati

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

INFORMATICA 1 L. Mezzalira

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Lezione 8. La macchina universale

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

RICERCA DI UN ELEMENTO

Ricerca sequenziale di un elemento in un vettore

Riconoscere e formalizzare le dipendenze funzionali

Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO

Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Esercizio Excel Avanzato

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013

3. La sintassi di Java

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

2. Variabilità mediante il confronto di valori caratteristici della

Informazioni generali

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

Esercizi Capitolo 6 - Alberi binari di ricerca

Appunti di Informatica 1. Gianluca Rossi

ESAME DI ECONOMIA INTERNAZIONALE Università di Bari - Facoltà di Economia

Lezione 6. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive.

Elementi di Architettura e Sistemi Operativi

Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei

Транскрипт:

PROGRAMMAZIONE: La selezione 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, dobbiamo farlo procedere un passo alla volta, ma anche, in certi punti, farlo scegliere o 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 è una proposizione logica, cioè 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++ Dopo che si è eseguito il blocco-1 oppure il blocco-2, il programma riprende dal punto di sincronizzazione. La condizione si scrive usando gli operatori aritmetici: >, >=, <, <=, ==,!= e se occorre anche gli operatori logici: && (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 Scontare del 20% i prezzi > 100 euro, del 5% gli altri int main () double pr; cout << PROGRAMMA: SCONTO ; cout << Inserisci il prezzo: ; cin >> V pr; if (pr>100) pr = pr pr*20/100; else pr = pr pr*5/100; cout << Il prezzo scontato è << pr << \n ; Esercizi sulla selezione (I) 1) Leggere un voto e controllare che sia esatto (cioè compreso fra uno e dieci) 2) Modificare il programma Sconto in modo che siano esclusi dallo sconto i prezzi troppo alti (> 1000 euro) e quelli troppo bassi (<2 euro). 3) Leggere il saldo di un conto corrente e la cifra da prelevare (massimo: 700 euro e comunque non si può andare in negativo); se il prelevamento è possibile effettuarlo e comunicare il nuovo saldo. 4) Scrivere un programma che aiuti un bambino a imparare le 4 operazioni facendogli inserire due operandi e il risultato, e correggendolo se sbaglia.

Esercizi sulla selezione (II) 1) Leggere un intero e trovarne il valore assoluto 2) Leggere le coordinate di un punto e dire in quale quadrante si trova. 3) Leggere tre interi e calcolare: a) la somma di quelli che sono divisibili per due o per cinque; b) il prodotto di quelli che sono divisibili per due e per cinque; c) la media di quelli che non sono divisibili né per due né per cinque. 4) Eseguire la divisione (trovando quoziente e resto) fra due interi letti da tastiera controllando che il divisore non sia zero (se lo è, dire Impossibile ) Esercizi sulla selezione (III) 1) Leggere i risultati di andata e ritorno di una gara di qualificazione (regola: i punti fuori casa valgono doppio) e dire quale squadra si è qualificata. 2) Scrivere un programma che risolva un equazione generica di primo grado. 3) 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>