Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di...

14
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione

Transcript of Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di...

Page 1: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Corso di Laurea in Biotecnologiecorso di

InformaticaPaolo MereghettiDISCo – Dipartimento di Informatica, Sistemistica e Comunicazione

Page 2: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Programmazione in C

Page 3: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Sequenza di azioni (prescrizioni) per effettuare un dato compito

La definizione di un algoritmo è basata sulla rappresentazione di

informazioni e implica una loro trasformazione e un’eventuale

produzione di nuove informazioni

Esempio: ricetta per la realizzazione di un piatto

istruzioni di montaggio di un elettrodomestico

prelievo bancomat ecc…..

ossia

La descrizione di una serie di operazioni la cui esecuzione

permette di risolvere un dato problema

Il concetto di algoritmo

Page 4: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Gli algoritmi sono espressi mediante un linguaggio e sono

realizzati da un esecutore

Nell’elaboratore gli algoritmi per la soluzione di particolari problemi sono espressi mediante un linguaggio di programmazioneI linguaggi di programmazione sono i linguaggi formali che la macchina è in grado di comprendere

Un programma è la descrizione di un algoritmo ed è costituito da una sequenza di istruzioni che il calcolatore è in grado di comprendere ed eseguire.

uomomacchina

Il concetto di algoritmo

Page 5: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

La descrizione è quindi costituita da:

Istruzioni, cioè costrutti linguistici che prescrivono l’esecuzione di operazioni

Strutture di controllo, cioè costrutti linguistici che indicano all’esecutore l’ordine in cui eseguire le operazioni

Tre principali strutture di controllo:

• Sequenza• Selezione• Iterazione

Il concetto di algoritmo

Page 6: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Struttura di selezione

SE condizione

permette la prescrizione di un azione sulla base del verificarsi di una condizione

Esempio: telefonata

struttura di controllo

ALLORA istruzione1

ALTRIMENTI istruzione2

SE il numero è occupatoALLORA ricomponi numero

ALTRIMENTI inizia conversazione

Il concetto di algoritmo

Page 7: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Struttura di iterazione

RIPETI istruzione

permette la prescrizione di ripetizione di un azione sino al momento in cui si verifica una determinata condizione

Esempio: telefonata

struttura di controllo

FINCHE’ condizione

RIPETI componi numero sulla tastieraFINCHE’ utente cercato ha segnale libero

Il controllo viene fatto dopo l’esecuzione dell’istruzione

Uscita per condizione verificata (vera)

Il concetto di algoritmo

Page 8: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Altre espressioni di struttura di iterazione

RIPETI istruzione

Esempio: telefonata

MENTRE condizione

RIPETI componi numero sulla tastieraMENTRE utente cercato ha segnale occupato

Il concetto di algoritmo

Page 9: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Requisiti fondamentali di un algoritmo

Completezza

Univocità

Finitezza

La descrizione è effettuata in un linguaggio comprensibile all’esecutore emediante un insieme finito di operazioni

elementari, note all’esecutore

Tiene conto di tutte le possibili condizioni che

si possono verificare durante la sua esecuzione

In un numero finito di passi il compito viene

portato a termine

Il concetto di algoritmo

Page 10: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Rappresentazione schematica di un algoritmo:

Istruzione 1

Istruzione 2

Istruzione 4

RIPETI

FINCHE’ condizione

Istruzione 3

condizione falsa

condizione vera

SE condizioneallora altrimenti

Istruzione 5 Istruzione 6

Sequenza

Iterazione

Selezione

Rappresentazione a blocchi

Page 11: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Sollevare i ricevitoreAttendere il segnale di linea

RipetiComporre il numero Componi una cifra Finchè numero interoAttendere la rispostaSe la linea è libera

Se l’interlocutore rispondeCondurre la conversazioneDeporre il ricevitore

AltrimentiDeporre il ricevitore

Altrimenti (se la linea è occupata)Deporre il ricevitore

Esempio di algoritmo: effettuare una telefonata

Page 12: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Passo P1

Inizio

Letturax e y

x – y

>0? No

Scrittura“max è x”

Scrittura“max è y”

Passo P2

Fine

Esempio di algoritmo: calcolo del massimo tra due numeri

Page 13: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Inizio

Letturanumeri

x1, x2, …

m max(x1, x2)

Passo P1

Sì Altri numerida esaminare?

No

Prendi i primi due numeri x1 e x2

Scrittura“max è m”

Fine

Prendi il successivo, xi

m max(m, xi)

Passo P2

Passo P3

Esempio di algoritmo: calcolo del massimo tra n numeri

Page 14: Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.

Inizio

Letturanum

Sì num>0? No

max 0

Scrittura

“max”

Fine

num>max?

max num

SìNo

Inizio

Letturanumerix1, x2, …

mmax(x1, x2)

Passo P1

Sì Altri numeri da

esaminare?No

Prendi i primi due numeri x1 e x2

Scrittura“max è m”

Fine

Prendi il successivo, xi

mmax(m, xi)

Passo P2

Passo P3

Algoritmi Equivalenti