Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


algoritmi prima parte, Dispense di Informatica Medica

Slide delle lezioni del professor Del Bolgia- informatica

Tipologia: Dispense

2018/2019

Caricato il 20/03/2019

giuuuuls
giuuuuls 🇮🇹

4.5

(43)

39 documenti

1 / 10

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
20/04/2018
Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia 1
Università degli Studi di Roma – Tor Vergata
Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica
Risoluzione dei problemi
Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 2 of 20
Risoluzione di un problema
Le azioni che gli esseri umani compiono
ogni giorno sono nella maggior parte dei
casi finalizzate alla soluzione di problemi
in modo consapevole o inconsapevole
Le decisioni e le conseguenti azioni
intraprese sono dettate da schemi
(procedure ) presenti nella nostra mente
che si sono venuti formando negli anni
sin dalla più piccola età e sono legati agli
stimoli che si sono via via proposti alla
nostra attenzione.
Le attività che svolgiamo possono essere schematicamente identificate
in:
1- Conoscenza di come si risolve il problema
2 - Effettiva capacità di risolvere il problema
3 - Capacità di descrivere il procedimento di soluzione del problema
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica algoritmi prima parte e più Dispense in PDF di Informatica Medica solo su Docsity!

Università degli Studi di Roma – Tor Vergata

Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica

Risoluzione dei problemi

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 2 of 20

Risoluzione di un problema

Le azioni che gli esseri umani compiono

ogni giorno sono nella maggior parte dei

casi finalizzate alla soluzione di problemi

in modo consapevole o inconsapevole

Le decisioni e le conseguenti azioni

intraprese sono dettate da schemi

(procedure ) presenti nella nostra mente

che si sono venuti formando negli anni

sin dalla più piccola età e sono legati agli

stimoli che si sono via via proposti alla

nostra attenzione.

Le attività che svolgiamo possono essere schematicamente identificate in: 1- Conoscenza di come si risolve il problema 2 - Effettiva capacità di risolvere il problema 3 - Capacità di descrivere il procedimento di soluzione del problema

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 3 of 20

Schema Istruttore - Esecutore

Problema Analisi Soluzioneanalitica Descrizione

Soluzione descrittiva

Interpretazione Descrizioneinterpretata Attuazione

Soluzione effettiva

Primo soggetto istruttore

Secondo soggetto esecutore

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 4 of 20

Istruttore Descrizione dell’esecuzione del problema: 1- effettuata avendo scomposto il problema nelle sue singole azioni elementari 2 - descrivere ogni azione elementare in modo che non ci sia nessuna ambiguità durante l’esecuzione

3 - le azioni elementari devono essere poste in una forma tale che l’esecutore sia in grado di comprendere pienamente ciò che deve svolgere nella giusta sequenza delle azioni. Le azioni elementari sono indicate con il termine ISTRUZIONI / AZIONI ELEMENTARI La descrizione è indicata con il termine PROCEDURA EFFETTIVA / ESECUTIVA

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 7 of 20

Ambiguità

Le ambiguità derivano spesso dal fatto che lo stesso problema può essere risolto secondo procedure diverse o sequenzialità diverse oppure su termini del linguaggio non specifici. Per evitare ciò è necessario: 1 - il linguaggio che l’esecutore deve interpretare sia definito in modo completo e non ambiguo (caratteristica sintattica)

2 - l’insieme delle azioni che l’esecutore è in grado di compiere deve essere definito e tali azioni devono essere elementari per l’esecutore (caratteristica pragmatica)

3 - l’insieme delle regole di associazione tra i costrutti del linguaggio e azioni deve essere definito e non ambiguo (caratteristica semantica)

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 8 of 20

Algoritmo

Le soluzioni a problemi per esecutori che siano caratterizzate secondo le indicazioni 1, 2, 3 vengono definiti

ALGORITMI

Gli algoritmi sono quindi una sequenza finita di istruzioni, fornite in un linguaggio definito, non ambigue attraverso le quali un essere umano addestrato o una macchina svolgono a partire da informazioni d’ingresso un compito al fine di ottenere una soluzione in un tempo finito

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 9 of 20

Determinare tra due numeri x ed y qual'è il maggiore

P 1 - leggi il valore ed assegnalo alla variabile x P 2 - leggi il valore ed assegnalo alla variabile y P 3 – calcola la differenza x - y P 4 – assegna il risultato alla variabile z P 5 – rispondi alla domanda z è maggiore di 0 se la risposta è affermativa salta al punto P 6 altrimenti (risposta negativa) esegui il passo P 7. P 6 – stampa la frase “Il numero maggiore è “ seguita dal valore contenuto in x e prosegui con il passo P 8 P 7 – stampa la frase “Il numero maggiore è “ seguita dal valore contenuto in y e prosegui con il passo P 8 P 8 – termina l’esecuzione

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 10 of 20

Rappresentazione degli algoritmi

La costruzione dell’algoritmo per la risoluzione del problema è un passo fondamentale per ottenere al soluzione attraverso un esecutore

A questo fine risulta

utile porre sotto forma

grafica quelli che sono

i passi da compiere per

passare dalle

informazioni di

ingresso alle soluzioni

o informazioni di

uscita.

Per questo si utilizza la

metodologia descrittiva

a diagrammi di flusso.

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 13 of 20

Diagramma di flusso esempio precedente Inizio

Fine

Leggi X Leggi Y

Prepara spazio per x, y, z

SI NO

Domanda Z > 0

CALCOLA X-Y e salvalo in Z

Stampa la frase “Il numero maggiore è ” Valore di X

Stampa la frase “Il numero maggiore è ” Valore di Y

X Spazio dati in relazione alla tipologia Y Spazio dati in relazione alla tipologia Z Spazio dati in relazione alla tipologia

Memoria dati

Diagramma di flusso per ricerca su n valori

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 14 of 20

Inizio

Fine

Leggi X Leggi Y

Prepara spazio per x, y, z

SI (^) Valori da considerareCi sono ancora NO ?

Z = max ( X, Y)

X Spazio dati in relazione alla tipologia Y Spazio dati in relazione alla tipologia Z Spazio dati in relazione alla tipologia T "Il massimo tra i numeri è " (costante testo da stampare)

Memoria dati

Leggi X

Z = max (X, Z )

CALCOLARE il valore massimo tra tanti valori da inserire

Il valore di ritorno C ( slide successiva)viene assegnato a Z

Stampa la frase T e valore Z

Stampa la frase T e valore Z

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 15 of 20

SubRoutine calcola max(A, B)

Trasferimento dati X su A e Y su B

Restituisce C

CALCOLA A-B e salvalo in C

A Spazio dati primo operando B Spazio dati secondo operando C Spazio dati ritorno valore massimo

Memoria dati

Il valore massimo tra A e B all'uscita della sequenza si trova nello spazio C che viene restituito al chiamante

SI NO

Domanda C > 0 ?

CA CB

Informatica - Ingegneria Medica - 2018 - Franco Del Bolgia Slide 16 of 20

Variabili temporanee - scambio dati

Scambiare x con y se y < x Passo (^) X Y 1 8 5 2 Y^  X^8 3 8 8 4 X^  Y^8 5 8 8 1 8 5 2 X^  Y^5 3 5 5 4 Y^  X^5 5 5 5

Ruolo delle variabili temporanee

Y  X

X  Y

T  X

X  Y

Y  T

Passo (^) T X Y 1 8 5 2 T^  X^8 8 3 8 8 5 4 X^  Y^8 5 5 8 5 5 6 YT^8 5 7 8 5 8

1 8 5 2 T^  Y^5 8 3 5 8 5 4 YX^5 8 5 5 8 8 6 XT^5 5 7 5 5 8

X  Y

Y  X

T  Y

Y  X

X  T

CONTROLLA CHE SIA USCITO TUTTO

E’ USCITO TUTTO?^ ATTESA 10 sec

E’ PIENA?

NUMERO = NUMERO + 1

NUMERO > 4?

NO

NO

NO

SI

SI

SI

CHIUDI IL GAS PRENDI IL NUMERO DI TAZZINE 4

VERSA IL CAFFE NELLA TAZZINA NUMERO

NUMERO = 1

PRENDI UN’ALTRA TAZZINA

FINE PROCESSO

Multifunzionalità Mentre aspetto eseguo altre operazioni diverse

N=1N=2N=3N=4N=

Università degli Studi di Roma – Tor Vergata

Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica

Domande?