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


Es di Algoritmi- Informatica, Esercizi di Elementi di Informatica

Esempi di Algoritmi Informatica

Tipologia: Esercizi

2019/2020

Caricato il 22/04/2020

mirkofede.cozzolino1
mirkofede.cozzolino1 🇮🇹

1 documento

1 / 3

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1
Algoritmi, Dati e Programmi – Algoritmi
Prof. Alberto Postiglione
Università degli Studi di Salerno
Dipartimento di Scienze Aziendali -
Management & Innovation Systems
1.2: Esempi di Algoritmi -
Problemi Algoritmici
Prof Alberto Postiglione (DISA-MIS) – Università di Salerno
Programmazione 1 – Introduzione agli Algoritmi
1.2 – Esempi di Algoritmi – Problemi Algoritmici
? Ricerca il massimo tra 2 numeri
? Ricerca il massimo tra 3 numeri
? Ricerca il massimo tra n numeri
In questo caso può essere utile effettuare l’associazione
numero  altezza di una persona
E quindi pensare al problema della ricerca del massimo tra
un insieme di numeri come a quello della ricerca della
persona più alta in un gruppo di persone,
procedendo per confronti successivi
Ovviamente si può fare il confronto tra due
sole
p
ersone alla volta.
Esempio: ricerca del massimo
Informatica Generale Dia 2
Prof Alberto Postiglione (DISA-MIS) – Università di Salerno
Programmazione 1 – Introduzione agli Algoritmi
1.2 – Esempi di Algoritmi – Problemi Algoritmici
1. Fai entrare la prima persona (primo numero).
•Questaè la più alta di quelle finora entrate (è l'unica!)
2. Ci sono altre persone?
NO – La persona rimasta nella stanza è la più alta
SI – Continua con il passo 3
3. Fai entrare la prossima persona (prossimo numero)
La persona appena entrata è più bassa di quella che è
attualmente la più alta?
SI fai uscire la persona appena entrata
NO fai uscire la persona che era precedentemente la
più alta e sostituiscila con la nuova arrivata
Esempio: ricerca del massimo
Informatica Generale Dia 3
Prof Alberto Postiglione (DISA-MIS) – Università di Salerno
Programmazione 1 – Introduzione agli Algoritmi
1.2 – Esempi di Algoritmi – Problemi Algoritmici
Supponi di avere n sassolini (es 10).
Ogni volta che leggi un nuovo numero, ne butti via
uno, in modo che
quando non avrai più sassolini saprai che sono
terminati i numeri da leggere.
Inoltre, supponi di scrivere su un foglio di carta il
numero più alto che fino a quel momento hai
incontrato.
Esempio: ricerca del massimo
Informatica Generale Dia 4
Prof Alberto Postiglione (DISA-MIS) – Università di Salerno
Programmazione 1 – Introduzione agli Algoritmi
1.2 – Esempi di Algoritmi – Problemi Algoritmici
Esempio: Algoritmo per la ricerca del massimo
Informatica Generale Dia 5
ALGORITMO PER LA RICERCA DEL MASSIMO
1. Raccogli n sassolini.
2. Leggi il primo numero.
3. Questo è il tuo Massimo momentaneo.
4. butta il primo sassolino (hai appena letto un numero)
5. Hai ancora sassolini?
1. NO: Vai al passo 4 (Sono terminate i numeri da leggere).
2. SI:
1. Leggi un altro numero
2. butta via un altro sassolino
3. Se ilnuovonumer maggioredel Massimo momentaneo (cioè quello cha è
scritto sul foglio) allora cancella il vecchio Massimo e scrivi al suo posto
questo nuovo numero
4. Torna al passo 3
6. Hai terminato (Sul foglio trovi il Massimo dei numeri)
Prof Alberto Postiglione (DISA-MIS) – Università di Salerno
Programmazione 1 – Introduzione agli Algoritmi
1.2 – Esempi di Algoritmi – Problemi Algoritmici
? Ordinare in modo crescente 2 numeri
Uniche operazioni ammesse
confronto tra 2 numeri e
scambio di posto tra due numeri
25
52
? Ordinare in modo crescente 3 numeri
321
Ordinamento crescente di un insieme di numeri
Informatica Generale Dia 6
25
25
231
213
123
pf3

Anteprima parziale del testo

Scarica Es di Algoritmi- Informatica e più Esercizi in PDF di Elementi di Informatica solo su Docsity!

Algoritmi, Dati e Programmi – Algoritmi

Prof. Alberto Postiglione Università degli Studi di Salerno Dipartimento di Scienze Aziendali - Management & Innovation Systems

1.2: Esempi di Algoritmi -

Problemi Algoritmici

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

? Ricerca il massimo tra 2 numeri ? Ricerca il massimo tra 3 numeri ? Ricerca il massimo tra n numeri

• In questo caso può essere utile effettuare l’associazione

numero  altezza di una persona

• E quindi pensare al problema della ricerca del massimo tra

un insieme di numeri come a quello della ricerca della persona più alta in un gruppo di persone, procedendo per confronti successivi

• Ovviamente si può fare il confronto tra due

sole persone alla volta.

Esempio: ricerca del massimo

Informatica Generale Dia 2

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

  1. Fai entrare la prima persona (primo numero).
    • Questa è la più alta di quelle finora entrate (è l'unica!)
  2. Ci sono altre persone?

• NO – La persona rimasta nella stanza è la più alta

• SI – Continua con il passo 3

  1. Fai entrare la prossima persona (prossimo numero)
    • La persona appena entrata è più bassa di quella che è attualmente la più alta?
  • SIfai uscire la persona appena entrata
  • NOfai uscire la persona che era precedentemente la più alta e sostituiscila con la nuova arrivata

Esempio: ricerca del massimo

Informatica Generale Dia 3 Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

 Supponi di avere n sassolini (es 10).

 Ogni volta che leggi un nuovo numero, ne butti via uno, in modo che

• quando non avrai più sassolini saprai che sono

terminati i numeri da leggere.

 Inoltre, supponi di scrivere su un foglio di carta il numero più alto che fino a quel momento hai incontrato.

Esempio: ricerca del massimo

Informatica Generale Dia 4

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici Esempio: Algoritmo per la ricerca del massimo

Informatica Generale Dia 5

ALGORITMO PER LA RICERCA DEL MASSIMO

  1. Raccogli n sassolini.
  2. Leggi il primo numero.
  3. Questo è il tuo Massimo momentaneo.
  4. butta il primo sassolino (hai appena letto un numero)
  5. Hai ancora sassolini?
    1. NO: Vai al passo 4 (Sono terminate i numeri da leggere).
    2. SI:
      1. Leggi un altro numero
      2. butta via un altro sassolino
      3. Se il nuovo numero è maggiore del Massimo momentaneo (cioè quello cha èscritto sul foglio) allora cancella il vecchio Massimo e scrivi al suo posto questo nuovo numero
      4. Torna al passo 3
  6. Hai terminato (Sul foglio trovi il Massimo dei numeri)

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

? Ordinare in modo crescente 2 numeri  Uniche operazioni ammesse

• confronto tra 2 numeri e

• scambio di posto tra due numeri

? Ordinare in modo crescente 3 numeri 3 2 1

Ordinamento crescente di un insieme di numeri

Informatica Generale Dia 6

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

? Ordinare in modo crescente n numeri

  • In questo caso si procede come per il precedente esempio, effettuando l’associazione numero  altezza
  • Ci sono n persone fuori dalla porta.
  • Esse entreranno una alla volta e si siederanno su n sedie
  • Dopo che sarà arrivata l’ultima persona, le persone saranno tutte sedute, da sinistra a destra in ordine di altezza

Ordinamento crescente di un insieme di numeri

Informatica Generale Dia 7 Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

  1. Fai entrare la prima persona
    • falla sedere sulla prima sedia a sinistra
  2. Ci sono altre persone?
    • NOSTOP (Le persone sono in ordine)
    • SI – Continua con il passo 3
  3. Fai entrare la prossima persona (chiamiamola Pippo) e falla sedere a destra della persona seduta più a destra (che corrisponde alla più alta di quelle già entrate).
  4. Pippo è più alto di chi è seduto alla sua sinistra?
    • SI – Pippo ha trovato la sua posizione. Torna al passo 2
    • NO
      • scambia il posto tra Pippo e quello che è alla sua sinistra.
      • Ci sono ancora altre persone a sinistra di Pippo?
        • NO – Pippo è arrivato in prima posizione. Torna al passo 2.
        • SI – torna al passo 4

Ordinamento crescente di un insieme di numeri

Informatica Generale Dia 8

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

 Inizialmente, gli algoritmi erano applicati unicamente a problemi numerici

 L'esperienza con i calcolatori ha mostrato che i dati elaborati dai programmi possono virtualmente rappresentare qualsiasi cosa.

Ma quali sono i tipi di problemi che possono essere risolti tramite un algoritmo (“Problemi Algoritmici”)?

Problemi Algoritmici

Informatica Generale Dia 9 Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

Input : prevalentemente numerici  Output : numerici, risultato di elaborazioni sugli stessi input o da loro determinate.  Esempio num. 1

  • Input : due numeri interi, a e b
  • Output : il numero intero ab*^2  Esempio num. 2
  • Input : due numeri interi, J e K
  • Output : La somma dei numeri compresi tra J e K

Algoritmi computazionali

Informatica Generale Dia 10

Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

Input : qualsiasi

Output : SI se una certa proprietà dei dati input è verificata, NO altrimenti

Esempio num. 3

  • Input : un numero intero positivo, K
  • Output : SI se K è primo, NO altrimenti
  • Commento : l’algoritmo prevede l’esecuzione di calcoli, ma il risultato non è numerico.

Algoritmi Decisionali (I)

Informatica Generale Dia 11 Prof Alberto Postiglione (DISA-MIS) – Università di Salerno

Programmazione 1 – Introduzione agli Algoritmi 1.2 – Esempi di Algoritmi – Problemi Algoritmici

Esempio num. 4 (Commesso Viaggiatore – versione decisionale)

  • Input :
    • n città collegate da strade di cui si conosce la lunghezza
    • Carta stradale che copre tutte le n città
    • un numero intero K.
  • Output :
    • SI se esiste un itinerario di lunghezza massima pari a K chilometri che tocca tutte le città.
    • NO altrimenti (cioè non esiste oppure tutti gli itinerari sono più lunghi di K chilometri)

Algoritmi Decisionali (II)

Informatica Generale Dia 12