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, DIAGRAMMI DI FLUSSO E FLOWCHART, Traduzioni di Elementi di Informatica

SPIEGAZIONE DEGLI ALGORITMI, COME SI ESEGUONO I DIAGRAMMI DI FLUSSO E LA TRADUZIONE DEI DIAGRAMMI DI FLUSSO

Tipologia: Traduzioni

2018/2019
In offerta
30 Punti
Discount

Offerta a tempo limitato


Caricato il 30/01/2019

peppe199607
peppe199607 🇮🇹

3

(1)

1 documento

1 / 33

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1
Informatica Generale
Susanna Pelagatti
Ricevimento:
Mercoledì ore 14.30-17.30
presso
Dipartimento di Informatica, Via Buonarroti, 2
stanza 346 DE Tel. 050.2212.772
o per posta elettronica
Pagina web del corso:
http://www.di.unipi.it/~susanna/IG02/
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
Discount

In offerta

Anteprima parziale del testo

Scarica ALGORITMI, DIAGRAMMI DI FLUSSO E FLOWCHART e più Traduzioni in PDF di Elementi di Informatica solo su Docsity!

Informatica Generale

Susanna Pelagatti

email: [email protected]

Ricevimento:

Mercoledì ore 14.30-17.

presso

Dipartimento di Informatica, Via Buonarroti, 2

stanza 346 DE Tel. 050.2212.

o per posta elettronica

Pagina web del corso:

http://www.di.unipi.it/~susanna/IG02/

La scorsa lezione …

• Abbiamo introdotto la struttura tipica del calcolatore di

von Neumann

Memoria

(RAM,dischi, etc)

Mantiene

Dati e Programmi

Processore

(CPU)

E’ un esecutore capace

di interpretare i singoli passi

richiesti dai programmi

(istruzioni elementari)

Sottosistema

di Interfaccia

Permette di comunicare

dati programmi alla

macchina e di ottenere i

risultati (tastiera, micr.,

stampante, schermo, )

Dal problema all’algoritmo:

un esempio

  • La biblioteca – Libri disposti sugli scaffali
    • La posizione di ogni libro è fissata dalle due coordinate ( • S è il numero dello scaffale dove si trova il libro S , P ) dove
    • La biblioteca ha uno schedario con una scheda per ogni libro. Ogni scheda contiene, nell’ordine:^ •^ P è la posizione all’interno dello scaffale
      • • cognometitolo del libro e nome dell’autore
      • numero scaffale (S) e posizione nello scaffale (P)

Dal problema all’algoritmo:

esempio (2)

  • La biblioteca (cont.)
    • (^) Le schede sono ordinate in ordine alfabetico del campo autore
  • (^) Problema:

Vogliamo specificare un algoritmo che spieghi all’utente della biblioteca come trovare un libro cercato supponendo di sapere : Autore e Titolo

Dal problema all’algoritmo:

esempio (4)

  • (^) … e se non so come si effettua la ricerca nello schedario?
    • (^) Tutte le operazioni specificate devono essere ‘elementari’ per chi esegue l’algoritmo.
    • Se non lo sono è possibile spiegarle a parte per mezzo di un sotto-algoritmo
      • (^) es : nello spiegare una ricetta spesso si fa riferimento a parti spiegate in altre ricette, tipicamente

‘… preparare la pasta frolla (ricetta p. 212) usando i primi 3 ingredienti, poi preparare il ripieno come segue ….’

Dal problema all’algoritmo:

esempio (5)

  • Un sotto algoritmo per cercare nello schedario :
    1. Apri il classificatore
    2. Prendi la prima scheda 3. Confronta il campo autore e titolo con quelli cercati
    3. Se sono uguali, allora la ricerca è terminata, altrimenti prendi la scheda successiva e vai al passo 3 5. Se le schede sono esaurite, allora il libro cercato non esiste.

Dal problema all’algoritmo: le

strutture di controllo

  • (^) La struttura di controllo condizionale
    1. Apri il classificatore 2. Prendi la prima scheda
    2. Confronta il campo autore e titolo con quelli cercati 4. Se (sono uguali), allora la ricerca è terminata, altrimenti prendi la scheda successiva e vai al passo 3
    3. Se (le schede sono esaurite) allora il libro cercato non esiste. (….) specifica la condizione

Dal problema all’algoritmo: le

strutture di controllo (2)

  • La struttura di salto ( vai a o go_to )

1. Apri il classificatore

2. Prendi la prima scheda

3. Confronta il campo autore e titolo con quelli cercati

4. Se sono uguali, allora la ricerca è terminata, altrimenti prendi la scheda successiva e vai al passo 3

5. Se le schede sono esaurite allora il libro cercato non esiste.

Algoritmi: ancora esempi ...

  • Immaginiamo degli algoritmi per i seguenti problemi : 1. Trovare il maggiore fra 2 numeri interi x e y
    1. Trovare il maggiore fra 3 numeri interi 3. Trovare il massimo fra N numeri x , y e z
  • (^) assumiamo le seguenti operazioni elementari – somma (+), sottrazione (-), stabilire se un numero è maggiore o minore di 0, leggere/scrivere dallo schermo
  • … – (^) definiamo dei sottoalgoritmi e utilizziamo le strutture di controllodove ragionevole :

Il maggiore fra 2 numeri interi x, y

  • Algoritmo max
    1. Leggi i valori di x e y dall’esterno
    2. Calcola la differenza 3. Se d è maggiore di 0 vai al passo 5 altrimenti prosegui in sequenza d fra x e y (d=x-y)
    3. Stampa ‘il massimo è …’ seguito dal valore di y e vai a 6 5. Stampa ‘il massimo è …’ seguito dal valore di x
    4. Termina l’esecuzione

Il maggiore fra 3 numeri interi

  • Possiamo sfruttare l’algoritmo max come ‘sottoalgoritmo’
  • Algoritmo 1. Leggi i valori di max_3 x , y, z dall’esterno
    1. Valuta se x> y usando l’algoritmo max
    2. In caso affermativo vai al passo 5 4. Trova il massimo fra y e z (con max) e termina
    3. Trova il massimo fra x e z (con max) e termina

Il massimo fra N numeri interi

  • (^) Possiamo ancora sfruttare l’algoritmo max come ‘sottoalgoritmo’!
  • (^) Idea … trovare prima il maggiore fra i primi due numeri, poi confrontare il risultato con il terzo, poi con il quarto etc …
  • (^) In pratica, possiamo usare la struttura di controllo iterativa finchè…ripeti per effettuare le operazioni di max su tutti i numeri in ingresso

Diagrammi di Flusso

  • (^) Sono grafici che permettono di esprimere un algoritmo in modo preciso ed intuitivo
  • (^) Si costruiscono a partire da un certo numero di ‘blocchi base’ che rappresentano le operazioni elementari ed i costrutti di controllo

Diagrammi di Flusso (2)

I blocchi base :

Cond.

Inizio

Fine

Sottoprog. Operazione I/

Si Elaborazione

No