• Non ci sono risultati.

Lezione 12

N/A
N/A
Protected

Academic year: 2021

Condividi "Lezione 12"

Copied!
20
0
0

Testo completo

(1)

Descrizione di un algoritmo

• Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi;

• Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare qualcosa di più generale;

• Pseudo-codici o Diagrammi di Flusso;

• Per ogni istruzione elementare, esiste un simbolo o una parola chiave

(2)

Istruzioni di inizio e di fine

Start

(3)

Istruzioni input/output

Leggi Dato

Scrivi “Ciao!”

Esempio di Input

Esempio di Output

(4)

Istruzioni imperative

Calcola 20 + 15

(5)

Flusso di esecuzione

• I singoli diagrammi devono essere uniti tramite i connettori;

• L’esecuzione delle istruzioni deve essere fatta

sequenzialmente, ovvero seguendo i connettori;

• Quando si scrive l’algoritmo bisogna fare molta attenzione alla direzione del flusso di esecuzione

(6)

Esempio: Somma di due numeri

Scrivere l’algoritmo di un programma che esegue la somma di due numeri;

(7)

Somma: diagramma di flusso

Start

Leggi X

Leggi Y

Z = X+Y

Stampa Z

End

(8)

Somma: pseudo-codice

Start Leggi X Leggi Y Calcola Z = X + Y Stampa Z End

(9)

Variazioni nel flusso di esecuzione

• Ci sono dei momenti in cui il flusso di esecuzione può scegliere tra diverse direzioni;

• In genere, questi salti sono sottoposti ad una

condizione logica (risposta vero

o falso);

(10)

Istruzioni condizionali

Falso

Vero

Condizione

logica

(11)

Istruzioni condizionali: pseudo-codice

Start

……… ………

If (condizione logica) then

istruzioni caso vero

Else

istruzioni caso falso

End if …………

(12)

Istruzioni condizionali: pseudo-codice

Start

……… ………

If (condizione logica) then

istruzioni caso vero

End if ………… End

(13)

Istruzioni condizionali: esempio

Falso

Vero

Vuoi più

sale?

(14)

Espressioni logiche

• Prima di parlare delle istruzioni condizionali, dobbiamo ripassare il linguaggio con cui si formulano le condizioni: la logica.

• Un’espressione logica è una funzione che può avere due valori di verità: vero o falso.

– Una proposizione della quale dobbiamo valutare se è vera o falsa

(15)

Negazioni (NOT)

• Se A è un’espressione logica, anche Not A lo è;

Vero Falso

Falso Vero

(16)

Congiunzione (AND)

• Se A e B sono espressioni logiche, anche A and B lo è;

A

B

A and B

Falso Falso Falso Falso Vero Falso Falso Falso Vero Vero Vero Vero

(17)

Disgiunzione (OR)

• Se A e B sono espressioni logiche, anche A or B lo è;

A

B

A or B

Falso Falso Falso Vero Vero Falso Vero Falso Vero Vero Vero Vero

(18)

Relazioni

• Useremo inoltre le seguenti relazioni:

= (uguaglianza); < (minore);

> (maggiore); <> (diverso);

(19)

Esempio Istruzioni Annidate: diagramma di flusso

Aggiungi sale

Aggiungi burro

Aggiungi sale vuoi

più salato AND più gustoso ? vuoi più salato ? V V F F

(20)

Esempio Istruzioni Annidate: pseudo-codice

I

f vuoi più salato and più gustoso Then

aggiungi sale aggiungi burro

Else

If vuoi più salato Then

aggiungi sale

End if End if

Riferimenti

Documenti correlati

Vi è però anche una diversa tecnica dimostrativa, detta per assurdo: per dimostrare vera l’implicazione PQ si suppone (per assurdo) che sia dato un valore delle variabili che

 Infatti, sia il formalismo che la regola di inferenza che viene qui applicata (il Principio di Risoluzione) sono molto più simili ai convenzionali linguaggi di programmazione che

–– Risoluzione (corretta e completa per clausole generali) Risoluzione (corretta e completa per clausole generali) –– Forward chaining (corretta e completa per clausole

Tale formula formula e’ e’ vera vera in in ogni ogni dominio dominio per per cui cui c’e’ c’e’ un un oggetto oggetto nero nero o o c’e’ c’e’ un un oggetto oggetto che che

dovrebbe cambiare qualcosa... l'intellettualismo etico non mi vede tra i suoi estimatori... non vedo perché sapere che la mia paura dei ragni dipende da quella volta che ho sentito

•  Riconsiderare gli enunciati della sillogistica dal punto di vista di questo linguaggio.. Forma

 Se espressione è uguale ad uno dei valori costanti il controllo passa alla sequenza di istruzioni a partire dalla prima istruzione associata al valore costante.  Oltre alla

Frege al termine del secolo XIX, la logica ha imparato a simbolizzare con lettere o altri segni non solo le variabili, gli argomenti dei predicati, ma i predicati stessi (terminali e