Sei sulla pagina 1di 6

LABORATORIO

DI

MATEMATICA

prof. CAROTENUTO MARIANEVE

anno scolastico 2009/2010

1
Il computer può affrontare solo i problemi risolubili mediante algoritmi;

1. un algoritmo è una successione finita di istruzioni destinate a risolvere un problema;

2. per rappresentare un algoritmo è possibile ricorrere non solo al linguaggio di progetto ma anche a

rappresentazioni grafiche come il diagramma di flusso (o a blocchi) .

3. Ogni diagramma di flusso inizia e termina con il simbolo ;

4. l'ingresso (o lettura) e l'output (o scrittura) dei dati

si rappresenta con un parallelogramma ;

5. l'elaborazione dei dati si rappresenta mediante un rettangolo ;

6. per rappresentare le istruzioni di controllo (di scelta) si utilizza il rombo.

7. Come già detto un algoritmo si può rappresentare attraverso un linguaggio di progetto.

8. Il linguaggio di progetto è un linguaggio in cui vengono schematizzate le istruzioni che vogliamo

dare al computer allo scopo di risolvere il problema.

Esempio:
Problema
Calcola l'area del rettangolo conoscendo la base e l'altezza.

Risoluzione fatta dall'uomo

Svolgimento
Dati Calcoli

Base Area = Base * Altezza


Altezza

Risoluzione fatta per il computer o elaboratore


Diagramma a blocchi Linguaggio di progetto
INIZIO INIZIO

Leggi (Base,Altezza) leggi il valore di Base e Altezza immessi da tastiera;

Area = Base*Altezza assegna ad Area il valore Base*Altezza

scrivi Area (il risultato) scrivi sullo schermo il valore dell'Area;

fine fine.

2
LA SELEZIONE SEMPLICE

La selezione a un solo ramo viene detta selezione semplice


Consideriamo il seguente problema: noto un numero L , se è positivo calcolare l'area del quadrato che lo
ammette come lato. Il problema non prevede nulla nel caso in cui il numero sia uguale o minore a zero. Il
diagramma di flusso sarà il seguente:

Diagramma a blocchi Linguaggio di progetto

Inizio Inizio

leggi (L) leggi L;

se L>0 allora
Falso L>0
assegna Area := L * L;
Vero
scrivi Area;
Area = L* L
fine.
scrivi (Area)

fine

In questa scelta se l'affermazione è vera cioè il numero da noi scelto è maggiore di zero il computer
eseguirà il calcolo, altrimenti chiuderà il programma senza fare nessun calcolo.

LA SELEZIONE BINARIA (o a due vie) è una struttura nella quale l'esecutore deve scegliere tra

due alternative.

Vediamo come si rappresentano gli algoritmi che contengono al proprio interno una scelta

per cui, se accade un determinato evento A si eseguono delle istruzioni, mentre se non accade A se ne

eseguono altre.

Affrontando un problema, infatti, può capitare di trovarsi di fronte ad un'alternativa. Supponiamo, per

esempio, di dover risolvere il seguente quesito: un teatro concede uno sconto del 20% sul biglietto intero

alle persone che hanno un età maggiore dei 60 anni. Sapendo che l'ingresso costa €15, determinare il

prezzo al variare dell'età.

3
Elaboriamo il seguente DIAGRAMMA A BLOCCHI

Inizio

leggi (età)

Falso età >60 Vero

Selezione binaria,cioè a due


prezzo = 15 prezzo = 15-15*20/100 rami (o vie)
Se la condizione è
vera, cioè l'età è maggiore di 60
anni allora viene percorso
il ramo relativo al caso affermativo
scrivi (prezzo) viceversa se la condizione
è falsa, viene percorso
fine l'altro ramo. Che equivale a dire
se la condizione è vera allora
il prezzo avrà il 20% di sconto
altrimenti
il prezzo sarà per intero

In linguaggio di progetto, il diagramma di cui sopra diventa

Inizio
leggi età;
se età>60 allora ricorda il dato viene immesso da tastiera
assegna prezzo := 15 – 15* 20/100;
altrimenti
assegna prezzo := 15;
scrivi prezzo; Viene scritto il nome della variabile prezzo
fine.

Nel linguaggio di progetto le istruzioni vengono incolonnate per renderle più chiare, anche da un punto di
vista visivo, e comprensibili. Di conseguenza, le istruzioni che dipendono da altre vengono incolonnate
più a destra:
esempio: altrimenti
assegna …...
queste regole di incolonnamento vengono dette regole di indentazione.
(per alcuni linguaggi di programmazione tali regole sono basilari)

LA SELEZIONI NIDIFICATE
Si possono avere strutture di selezione una interna all'altra, queste prendono il nome di selezioni
nidificate. Esempio, se nel problema precedente lo sconto si volesse applicare anche per i ragazzi di età
inferiore ai 18 anni e non solo a chi ha più di 60 anni.

4
L'algoritmo scritto sotto forma di diagramma di flusso sarà:

Inizio

leggi (età)

Falso Vero
età >60
Falso Vero
età < 18

prezzo:= 15 prezzo:= 15-15*30/100 prezzo:= 15-15*20/100

scrivi (prezzo)

fine

L'algoritmo scritto in linguaggio di progetto sarà:

Inizio
leggi età;
se età > 60 allora ( >, < questi due simboli matematici indicano
assegna prezzo := 15 – 15 *20/100; rispettivamente maggiore di.. e minore di..)
altrimenti
se età < 18 allora
assegna prezzo := 15 – 15 *30/100;
altrimenti
assegna prezzo := 15;
scrivi prezzo;
fine.

Se invece alcune istruzioni devono essere ripetute più volte (come nell'esercizio della preparazione di
una tazza di camomilla ) si ha un iterazione o ciclicita.
L'ITERAZIONE
La struttura iterativa o ciclica, permette di ripetere più volte uno stesso gruppo di istruzioni.
Tale struttura può essere espressa in modi diversi.

Il linguaggio di progetto sarà: Il diagramma di flusso relativo sarà:


Inizio
metto lo zucchero nella camomilla I
assaggio la camomilla
SE è amara metterò altro zucchero zuccherare
fino a quando sarà dolce la camomilla
fine.
Assaggiare la camomilla

5
6