Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio

Documenti analoghi
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1

04 - Logica delle dimostrazioni

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

MATEMATICA DI BASE 1

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Appunti di geometria euclidea

Due numeri naturali non nulli a, b tali che MCD(a,b) = 1 si dicono coprimi o relativamente primi.

= < < < < < Matematica 1

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Un po di logica. Christian Ferrari. Laboratorio di matematica

Sviluppo di programmi

Sistemi Web per il turismo - lezione 3 -

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE.

z =[a 4 a 3 a 2 a 1 a 0 ] 10

Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo.

Corso di Informatica

Linguaggi Regolari e Linguaggi Liberi

TEORIA DEI NUMERI. 1. Numeri naturali, interi relativi e principi d induzione

4 0 = 4 2 = 4 4 = 4 6 = 0.

La matematica non è un opinione, lo è oppure...?

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia

Maiuscole e minuscole

Linguaggi Regolari e Linguaggi Liberi

LEZIONE N 3 METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

ANALISI 1 - Teoremi e dimostrazioni vari

METODI MATEMATICI PER L INFORMATICA

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

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Informatica, Algoritmi, Linguaggi

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica

NUMERI PRIMI E TEORMA FONDAMENTALE DELL ARITMETICA Definizione 1. Sia p Z, p ±1. Si dice che p è primo se

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

Argomenti della lezione. Criteri di divisibilità fattorizzazione m.c.m. e M.C.D. frazioni ed espressioni

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Corso base di Matematica. - I numeri -

Esercizi di Algebra II

Algoritmi e Strutture Dati

Esercizi di logica. Ivan Valbusa 5 dicembre 2012

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

1.5 DIVISIONE TRA DUE POLINOMI

Gli insiemi N, Z e Q. I numeri naturali

Progetto Matematica in Rete - Geometria euclidea - Introduzione GEOMETRIA EUCLIDEA. Introduzione. geo (terra) e metron (misura)

Lezione 3 - Teoria dei Numeri

Quando possiamo dire che un numero a è sottomultiplo del numero b? Al posto dei puntini inserisci è divisibile per oppure è divisore di

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

CORSO ZERO DI MATEMATICA

PREVISIONE DEL TIPO DI NUMERO DECIMALE GENERATO DA UNA FRAZIONE di Luciano Porta

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore

Cenni di logica matematica e di teoria degli insiemi. CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni

Esercizio. Sia a R non nullo e siano m, n numeri interi non nulli con m n. Allora a m /a n è uguale a. [1] 1/a n m [2] 1/a m n [3] 1/a n m [4] a n m

AMBIENTE EXCEL CALCOLO DEL RESTO DELLA DIVISIONE FRA NATURALI

Esempio: Problema 2 Il Progetto degli Algoritmi (Il linguaggio degli schemi a blocchi: seconda parte)

OPERAZIONI IN Q = + = = = =

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica

PROGRAMMA CONSUNTIVO

Introduzione alla TEORIA DEI NUMERI

Precorsi di matematica

A lezione sono stati presentati i seguenti passi per risolvere un problema:

Università del Piemonte Orientale

Richiami teorici ed esercizi di Logica

Una Breve Introduzione alla Logica

Sin dalla più remota antichità il concetto di numero primo affascina e confonde gli esseri umani.

ESERCITAZIONE N.8. Il calcolatore ad orologio di Gauss. L aritmetica dell orologio di Gauss. Operazioni e calcoli in Z n

Insiemistica. Capitolo 1. Prerequisiti. Obiettivi. Gli insiemi numerici di base Divisibilità e fattorizzazione nei numeri interi

Calcolo algebrico e polinomi 1 / 48

Anno 2. Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali

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.)

NOZIONI DI LOGICA PROPOSIZIONI.

Progetto e analisi di algoritmi

8. Completamento di uno spazio di misura.

DI CHE COSA SI OCCUPA LA LOGICA

Stage di preparazione olimpica - Lucca

Precorso CLEF-CLEI, esercizi di preparazione al test finale con soluzioni

SCHEMI DI MATEMATICA

L'algebra Booleana. Generalità. Definizioni

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

Esercizi di Algebra 2, C.S. in Matematica, a.a

Anno 1. Teoria degli insiemi: definizioni principali

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;

Capitolo 1. Gli strumenti. 1.1 Relazioni

Università degli Studi del Piemonte Orientale Facoltà di Scienze M.F.N. Precorso di Matematica APPUNTI (preparati da Pier Luigi Ferrari)

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti.

Parte Seconda. Prova di selezione culturale

ALGEBRA I: SOLUZIONI QUINTA ESERCITAZIONE 9 maggio 2011

Matematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1

3. Logica. Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q. La logica nel linguaggio comune...

Rappresentazione dell Informazione

3. Successioni di insiemi.

PROBLEMA: «Stabilire se un numero è pari o dispari?»

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

a + 2b + c 3d = 0, a + c d = 0 c d

0 Insiemi, funzioni, numeri

L insieme dei numeri razionali Q Prof. Walter Pugliese

ESEMPIO Un esempio di insieme vuoto è l insieme dei numeri reali di quadrato 4. B A

Transcript:

Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio

L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore per il minore 2. se il resto è 0, il divisore è l MCD 3. altrimenti fare un altra divisione: il vecchio divisore diventa il nuovo dividendo e il vecchio resto diventa il nuovo divisore, ripetere dal punto 2

Esempio con 150 e 70 dividendo divisore quoziente resto 150 70 2 10 70 10 7 0 Da5 150 e 70 in input, alla prima divisione non o:eniamo resto pari a 0, quindi ne eseguiamo un altra con il divisore che diventa dividendo e resto che diventa divisore. Alla seconda divisione il resto è 0, quindi il divisore è il MCD dei due numeri iniziali. InfaF il MCD di 150 e 70 è 10.

Diagramma di flusso dell algoritmo

Considerazioni L algoritmo di Euclide e l algoritmo per trovare l MCD di due numeri visto nella lezione precedente sono la dimostrazione del fatto che, se esiste un algoritmo per risolvere un problema, è possibile che ve ne siano altri In realtà, ne esistono infiniti altri: basti pensare a modificare quello di Euclide aggiungendo istruzioni come r = r + n; r = r n in un qualunque punto del diagramma (n può essere qualunque numero) Ovviamente alcune alternative presentano differenze significative (come quelle tra i due algoritmi proposti per l MCD), mentre altre no (l aggiunta di istruzioni inutili non modifica la soluzione in maniera sostanziale)

Un dubbio Abbiamo visto che per 150 e 70 l algoritmo di Euclide funziona Chi ci garantisce che l algoritmo funzioni per qualunque coppia di numeri in input? Definizione: un algoritmo si dice corretto quando risolve il problema per il quale è stato concepito Riformuliamo la domanda: chi ci garantisce che l algoritmo di Euclide sia corretto?

Dimostrazione Innanzitutto una definizione Dimostrazione: sequenza finita di affermazioni tale che ogni affermazione è un ipotesi presa per vera oppure deriva dalle affermazioni precedenti per mezzo di regole di inferenza (ragionamenti logicamente ineccepibili); l ultima affermazione della sequenza si chiama tesi

Regole di inferenza Una regola di inferenza è un meccanismo con cui ottenere da una o più affermazioni una nuova affermazione. Ad esempio: A B A B La regola introduzione di congiunzione dice che, a partire da A e B, possiamo ottenere A B.

Regole di inferenza corrette Una regola di inferenza si dice corretta se, a partire da affermazioni vere, ci permette di ottenere affermazioni vere La regola introduzione di congiunzione è corretta. Lo si può verificare mediante opportune tavole di verità Una regola come eliminazione di disgiunzione, invece, non è corretta: A B A perché esiste un caso in cui A B è vera ma A è falsa A noi interessano solo regole di inferenza corrette La equivalente logiche sono un caso speciale di regole di inferenza

Uso delle regole di inferenza Le regole di inferenza si applicano a espressioni logiche Per poterle usare in una dimostrazione, quindi, dovremmo tradurre tutto il discorso in espressioni logiche In questo caso manteniamo il discorso in italiano e ci curiamo del fatto che i passaggi da un affermazione alla successiva siano rigorosi

Dimostrazione di correttezza Dimostriamo che l algoritmo di Euclide è corretto Nel caso in cui il resto della divisione tra A e B sia 0, è ovvio che il divisore B sia l MCD, quindi in questo caso la correttezza è subito dimostrata Nel caso in cui il resto non sia 0, allora si passa a una nuova divisione: quella tra B e R Questa nuova divisione aiuta a risolvere il problema di trovare l MCD tra A e B perché i divisori di A e B e i divisori di B e R sono in realtà lo stesso insieme

Dimostrazione di correttezza Per dimostrare che due insiemi sono uguali dobbiamo: 1. dimostrare che un qualsiasi elemento del primo insieme appartiene al secondo insieme (cioè il primo insieme è un sottoinsieme del secondo) 2. dimostrare che un qualsiasi elemento del secondo insieme appartiene al primo insieme (cioè il secondo insieme è un sottoinsieme del primo) 3. l unica possibilità per due insiemi che sono uno un sottoinsieme dell altro è di essere coincidenti

I divisori di A e B sono divisori di B e R A:B = Q con resto di R ossia A = BQ + R, o anche R = A BQ sia k un divisore di A e di B, ovvero esistono un m e un n tale che mk = A e nk = B questo vuol dire che R = mk nkq raccogliendo k, abbiamo che R = k(m nq) k, quindi, è divisore di B per ipotesi e, per quanto mostrato, è divisore anche di R perciò k è divisore di B e di R

I divisori di B e R sono divisori di A e B Sappiamo già che A = BQ + R sia h un divisore di B e di R, ovvero esistono un s e un t tale che sh = B e th = R questo vuol dire che A = shq + th raccogliendo h, abbiamo che A = h(sq + t) h, quindi, è divisore di B per ipotesi e, per quanto mostrato, è divisore anche di A perciò k è divisore di A e di B

Dimostrazione di correttezza Il fatto che i due insiemi coincidano vuol dire che la soluzione del problema MCD per A e B è la stessa del problema MCD per B e R Applicando lo stesso ragionamento, sappiamo che la soluzione non cambia nemmeno per le divisione successive Non appena troviamo che il resto di una divisione è 0, sappiamo che il divisore è l MCD della coppia dividendo-divisore Per quanto detto prima, questo sarà l MCD della coppia iniziale di numeri A e B

Avvertenze Si è riuscito a dimostrare la correttezza dell algoritmo di Euclide grazie alle proprietà matematiche del problema affrontato Non è scontato che si riesca a dimostrare sempre così facilmente la correttezza di un algoritmo Inoltre, anche se si ha un algoritmo di correttezza dimostrata, trasformandolo in programma (cioè riscrivendolo in un linguaggio di programmazione), il programmatore umano potrebbe inserire numerosi errori

Esercizio Disegnare il diagramma di flusso di un algoritmo che funziona come segue: riceve in input un numero x, e manda in output, in ordine decrescente, tutti i suoi divisori.