DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.

Slides:



Advertisements
Presentazioni simili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Advertisements

Process synchronization
/ fax
Il linguaggio della Matematica: Insiemi e operazioni
Informatica Generale Marzia Buscemi
Informatica Generale Alessandra Di Pierro
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 4 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Recap sul C Marco D. Santambrogio – Ver. aggiornata al 11 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 8 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 3 Ottobre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 25 Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 19 Aprile 2013 Marco D. Santambrogio – Ver. aggiornata al 18 Aprile 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ulitma lezione… fine corso IEIM 2013 Marco D. Santambrogio – Ver. aggiornata al.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
1 INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA. 2 PROCESSO INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA INIZIO FINE.
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Dall’algoritmo al programma.
1° Fai delle liste di cose da fare 2° Porta sempre con te un blocco per prendere appunti.
Scuola dell'Infanzia sez.D
1 Informatica Senza Computer? Chiariamoci un po le idee!!! Carlo Gaibisso Informatica senza Computer?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
PROGRAMMAZIONE: linguaggi
Algoritmi e linguaggi di programmazione
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
SCOPRI LA TABELLINA click Trova la regola nascosta… click
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
LE SAI LE TABELLINE? Mettiti alla prova!.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
Prof. Cerulli – Dott.ssa Gentili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
14 marzo 2002 Avvisi:.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione 1 Marco D. Santambrogio – Ver. aggiornata al 9 Aprile 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2014 Marco D. Santambrogio – Gianluca Durelli -
IO E LA MATEMATICA PROCEDURALE
Bando Pittori e Scultori in Piemonte alla metà del ‘700
Massimo comun divisore
lun mar mer gio ven SAB DOM FEBBRAIO.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 31 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
Problemi, algoritmi e programmazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 22 Marzo 2016.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 15 Giugno.
Process synchronization
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab e Feedback Ho solo 7 gruppi… tutti al lunedì 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab e Feedback Ho solo 7 gruppi… tutti al lunedì 3 WAT

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab e Feedback Ho solo 7 gruppi… tutti al lunedì Feedback 1ma lezione:  Hai trovato piu' utili gli esempi "descrittivi" o quelli in C?  Entrambi egualmente utili 4

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab e Feedback Ho solo 7 gruppi… tutti al lunedì Feedback 1ma lezione:  Hai trovato piu' utili gli esempi "descrittivi" o quelli in C?  Entrambi egualmente utili 5 WAT

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Linguaggio naturale 6

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Linguaggio naturale: ambiguo! 7

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE What it’s all about! 8

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE What it’s all about! 9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE What it’s all about! 10

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi Algoritmi  Pseudocodice  Diagramma di flusso Una prima introduzione al C  Un primo programma  Tipi di dato  Strutture di controllo 11

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi 12

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algortimo e Programma Algoritmo  Descrizionesoluzione di problema esecutore  Descrizione della soluzione di problema scritta in modo da poter essere eseguita da un esecutore (eventualmente diverso dall’autore dell’algoritmo) istruzionidati  Sequenza di istruzioni che operano su dati. Programma  Algoritmo calcolatore  Algoritmo scritto in modo da poter essere eseguito da un calcolatore (esecutore automatico) 13

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 0/4: La brutta notizia! 14 how to solve it di Poyla G. -

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 1/4: Capire il problema  Quale e’ il problema generale che si scerca di risolvere? 15

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 2/4: Fare/creare un piano  Ci possono essere diverse strategie per risolvere lo stesso problema Ipotizzare e verificare Cercare dei pattern Risolvere problemi più piccoli Disegnare uno schema 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 3/4: Portare avanti il piano  Mettere in azione il vostro piano!  Rimanere sul piano deciso a meno che non vi siano evidenti motivi per credere che esso non funzionerà più La pazienza è il vostro miglior alleato 17

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come realizzare un algoritmo Parte 4/4: Ragionare e comprendere  Comprendere quello che si è fatto e dove l’algoritmo individuato possa essere applicato al meglio La pratica è fondamentale! 18

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Testare il proprio lavoro!!! Se vi è qualche cosa che non funziona nel vostro programma/algoritmo, gli utenti lo troveranno! 19

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Acquisto DVD 20 Dove lo cerco? In quale settore? Novita’ Azione … Indicatori di settore Novita’ Trovato il settore, come trovo il mio DVD? Ordine alfabetico

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Alogoritmo per l’acquisto DVD 1.Acquisisci il nome del settore (s) del DVD (d) 2.Vai al settore (s) 3.Cerca (t) 4.Prendi il DVD (d) Acquisisci e Cerca sono anche loro algoritmi 21

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE CERCA: contesto e problema Contesto  Sei nel settore (s) corretto  Nel settore sono presenti diversi DVD Il settore puo’ essere visto come un insieme di DVD: s={d 0, d 1, …, d n } Problema  Devo trovare il DVD (d t ) tra tutti i DVD presenti nel settore (s)  Aiuto: il settore e’ ordinato I DVD sono ordinati alfabeticamente 22

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmo CERCA Noti  s={d 0, d 1, …, d n }, ord. alfabeticamente  DVD cercato = d t 1.Ci sono DVD?  Allora 1.Leggo il titolo del primo DVD in s 2.Se il titolo e’ il titolo cercato Allora concludo la ricerca con successo Altrimenti passo al DVD successivo  Altrimenti concludo la ricerca con esito negativo 23

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE CERCA: osservazioni Cosa succede se il settore e’ vuoto? Come funziona la mia ricerca?  Se in s vi sono DVD e io cerco Zorro?  Scenario ancora peggiore Voglio cercare il numero del mio professore di IEIM (Santambrogio) nella rubrica telefonica di Milano.. Esistono diversi modi per risolvere un problema 24

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE CERCA… migliorata Noti  s={d 0, d 1, …, d n }, ord. alfabeticamente  DVD cercato = d t 1.Ci sono DVD?  Allora 1.Leggo il titolo del DVD (d x ) nel mezzo di s 2.Se il titolo di d x e’ il titolo cercato –Allora concludo la ricerca con successo –Altrimenti se d x < d t »allora ricomincio da 1 considerando la meta’ superiore di s »Altrimenti ricomincio da 1 considerando la meta’ inferiore di s  Altrimenti concludo la ricerca con esito negativo 25

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Graficamente: Noti 26 d0d0 d0d0 d1d1 d1d1 d2d2 d2d2 d3d3 d3d3 d4d4 d4d4 d5d5 d5d5 d6d6 d6d6 d7d7 d7d7 d8d8 d8d8 d9d9 d9d9 d 10 d 11 s={d 0, d 1, …, d 11 } dtdt dtdt

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Leggo d x e lo confronto con d t 27 d x =d 6 d6d6 d6d6 dtdt dtdt < d6d6 d6d6 dtdt dtdt = ? NO

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ricomincio sulla meta’ superiore 28 dtdt dtdt d6d6 d6d6 d7d7 d7d7 d8d8 d8d8 d9d9 d9d9 d 10 d 11 d x =d 9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Leggo d x e lo confronto con d t 29 d x =d 9 d9d9 d9d9 dtdt dtdt = ? SI Termino con successo la mia ricerca comprando d 9 d9d9 d9d9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come si specifica un algoritmo? Utilizzando dello pseudocodice Utilizzando dei diagrammi di flusso (aka schemi a blocchi) 30 Se A > B allora B = A altrimenti A = B Test Leggi Scrivi InizioFine Assegnamento

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Massimo Comune Divisore Definizione  Dicesi Massimo Comune Divisore (M.C.D.) il piu’ grande tra i divisori comuni a due o piu’ numeri Esempi  Dati A=12, B=15 Divisori comuni: 1, 3 - MCD=3  Dati A=10, B=30 e C=20 Divisori comuni: 1, 2, 5, 10 - MCD=10 31

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: pseudocodice 1.Leggi A e B 2.min= il minimo tra A e B 3.tmp = 1 4.MCD = 1 5.Finche’ tmp < min 1.tmp = tmp Se tmp divide A e B 1.Allora MCD = tmp 6.Stampa MCD 32

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MCD: diagramma di flusso 33 Inizio Leggi A e B min=minimo{A,B} tmp=1 MCD=1 tmp<min? tmp = tmp + 1 tmp divide A e B MCD = tmp Stampa MCD Fine no si

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio  how to solve it, Poyla G df  Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill Capitolo 3  Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill Capitolo 3, 4  The Art & Craft of Computing, S. Ceri, D. Mandrioli, L. Sbattella, Addison-Wesley Capitolo 3