• Non ci sono risultati.

Sussidi per il corso

N/A
N/A
Protected

Academic year: 2021

Condividi "Sussidi per il corso"

Copied!
16
0
0

Testo completo

(1)

Corso di Fondamenti di Informatica

Obiettivi:

• studio delle strutture dati fondamentali

• studio degli strumenti e metodi per lo sviluppo di programmi di tipo tecnico-scientifico su piccola/media scala

Approccio progettuale

(2)

Strumenti di esercitazione e verifica:

• esercitazioni guidate

• realizzazione di programmi su calcolatore Programma:

• Nozioni di carattere introduttivo

• Tipi e strutture di dati

• Strumenti e metodi per la progettazione di programmi

• Linguaggi di programmazione (Fortran 90)

• Algoritmi fondamentali

(3)

Libri consigliati:

Stephen J. Chapman

Fortran 90/95 - guida alla programmazione McGraw-Hill Italia

Ceri, Mandrioli, Sbattella Informatica arte e mestiere McGraw-Hill Italia

Dispense e appunti

Sussidi per il corso

(4)

Organizzazione del corso:

7 ore settimanali

• 4 ore di teoria

• 2/3 ore di esercitazione guidata Termine del corso: 23 marzo Esami:

• 4 sedute nel mese di aprile

• prova pratica al calcolatore + prova orale

Per contattare il docente Tel. 0776/299605

E-mail: destefano@unicas.it

(5)

Come limitare le sofferenze, superare felicemente l’esame ed imparare a scrivere programmi:

1) SEGUIRE IL CORSO 2) SEGUIRE IL CORSO

3) FREQUENTARE LE ESERCITAZIONI 4) PROVARE DA SOLI I PROGRAMMI

5) SEGNALARE PER TEMPO PROBLEMI ED INCOMPRENSIONI 6)

(6)

INFORMATICA: scienza dell’astrazione

creare il giusto modello per un problema e individuare le tecniche appropriate per risolverlo in modo automatico

Obiettivo:

sostituire una situazione del mondo reale complessa e particolareggiata con un modello comprensibile e privo di dettagli inessenziali, all’interno del quale si possa risolvere il problema.

(7)

Esempio

Si debba dividere una lastra di marmo di Carrara, rettangolare e di dimensioni AxB in tanti quadrati uguali avente il lato della maggiore lunghezza possibile e senza generare sfrido.

Verificare se ciò è possibile, date le dimensioni, e, in caso positivo, fornire la lunghezza del lato del quadrato.

Quali sono gli aspetti importanti del problema ? Quali sono i dati a disposizione ?

Quali sono i dati richiesti ?

Come si può riscrivere il problema ?

lato A lato B

taglio possibile

lato

quadrato

(8)

Come si può riscrivere il problema:

Dati due numeri interi A e B, calcolare il Massimo Comune Divisore e verificare se è uguale a 1.

Come eseguire il calcolo ?

E’ necessario un procedimento sistematico, costituito da un insieme finito di operazioni, ognuna delle quali sia precisa (non ambigua) ed eseguibile, da applicare ai dati in ingresso perché possa fornire dei dati in uscita.

E’ necessario un

algoritmo

(9)

Algoritmo di Euclide (ca. 300 a.C.)

Considera due numeri X e Y, con X > Y

Dividi X per Y e ottieni il resto R

R = 0 ?

Termina.

Il MCD è Y Sostituisci X con Y

Sostituisci Y con R

si

no Diagramma di flusso

(10)

Esempio

X Y R MCD

3654 1365 924 1365 924 441 924 441 42

441 42 21

42 21 0 21

X Y R MCD

8351 772 631 772 631 141 631 141 67

141 67 7

67 7 4

7 4 3

4 3 1

3 1 0 1

MCD di 1365 e 3654 MCD di 8351 e 772

(11)

Alcune considerazioni

• L’algoritmo è del tutto generale, ma, in qualsiasi caso specifico, il

procedimento avrà termine e fornirà una risposta precisa in un numero finito di passi.

• A ogni passo, è perfettamente chiaro quale operazione si debba

compiere e anche la decisione circa il momento in cui il procedimento si debba ritenere concluso è perfettamente definita.

• La descrizione dell’intero procedimento è presentata in termini finiti,

anche se può essere applicata a numeri naturali di dimensioni illimitate.

• Il procedimento descritto assume che sia noto come eseguire particolari operazioni quali il calcolo del resto della divisione intera tra due numeri naturali. E se così non fosse ?

Sarebbe necessario un algoritmo

(12)

Calcolo del resto della divisione intera tra due numeri naturali M ed N

Considera due numeri M e N

M < N ?

Termina.

Il resto è M Sostituisci M con

M-N

si no

M N resto 8351 772

7579 772 6807 772 6035 772 5263 772 4491 772 3719 772 2947 772 2175 772 1403 772

631 772 631

Esercizio:

Come si modifica l’algoritmo per ottenere anche il quoziente ? M N resto

67 20 47 20 27 20

7 20 7

(13)

Mettiamo tutto insieme Acquisisci il

valore di A e di B

Calcola il MCD di A e di B e scrivilo in C

Termina.

Comunica che il

taglio non è possibile C = 1 ?

Termina.

Comunica che il taglio è possibile e che il lato del quadrato ha lunghezza C

si no

Considera due numeri X e Y, con X > Y

Dividi X per Y e ottieni il resto R

R = 0 ?

Termina.

Il MCD è Y Sostituisci X con Y

Sostituisci Y con R

si no

Considera due numeri M e N

M < N ?

Termina.

Il resto è M Sostituisci M

con M-N

si no

Sono possibili (o necessarie) ulteriori “esplosioni” ?

(14)

Chi esegue le operazioni ?

Una volta definito, l’algoritmo deve essere sottoposto ad un esecutore.

L’esecutore deve essere in grado di:

• interpretare correttamente la sequenza di comandi

• eseguire ognuno dei comandi forniti

• memorizzare informazioni su opportuni supporti che permettano di accedere alle informazioni memorizzate e modificarle

Nota:

l’esecutore non è necessariamente consapevole di quello che sta facendo.

(15)

Un esecutore umano

1 2 3

4 5 6

7 8 9

0 . C

+ - x /

controllo esecuzione

•lista di istruzioni

•dati

•risultati temporanei

•risultati finali Scambio dati

con l’esterno

L’esecutore svolge funzioni di:

• controllo

• esecuzione

(16)

Un esecutore non umano

Unità di controllo

Unità logico- aritmetica

Unità di memoria istruzioni

dati

Unità di ingresso/uscita

Differenze tra i due tipi di esecutori:

• rappresentazione delle istruzioni

• rappresentazioni dei dati

Riferimenti

Documenti correlati

[r]

Esame di MATEMATICA Cognome e Nome Matricola1. Appello del 12

pertanto, la ricerca del predecessore (successore) non ha nulla a che fare con relazioni padre- figlio  sull’albero. Concentriamoci dapprima sulla ricerca del predecessore.. k=20

pertanto, la ricerca del predecessore (successore) non ha nulla a che fare con relazioni padre- figlio  sull’albero. Concentriamoci dapprima sulla ricerca del predecessore.. k=20

L’attrattività del corso di Laurea triennale in “Scienze Motorie e Sportive” è rilevata dall’elevato numero di domande di ammissione rispetto al numero programmato di

In questa prima settimana di scuola abbiamo lavorato sull'insieme dei naturali.. Quali sono alcune importanti caratteristiche di

Daniela Candido, coordinatrice della Contarp regionale, ha chiesto di partecipare all’evento in oggetto, organizzato dall’UNI organismo con il quale collabora anche l’Istituto..

Ad ogni buon fine, in questo articolo, abbiamo voluto elencare quali sono le corrette associazioni alimentari e quali cibi è meglio non mangiare insieme.. Non