Want to create interactive content? It’s easy in Genially!

Reuse this genially

Problemi e algoritmi

EUGENIA SABRINA GRANESE

Created on October 6, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Geniaflix Presentation

Vintage Mosaic Presentation

Shadow Presentation

Newspaper Presentation

Zen Presentation

Audio tutorial

Pechakucha Presentation

Transcript

Problemi e algoritmi

PRESENTATION

Indice

  • Il calcolatore, i problemi, i programmi e i linguaggi di programmazione
  • I problemi e la loro soluzione
  • Analisi e comprensione del problema
  • Astrazione, modellizzazione e definizione della strategia
  • L'algoritmo

Il calcolatore, i problemi, i programmie i linguaggi di programmazione

01

  • Il PC è una macchina complessa in grado di eseguire milioni di istruzioni al secondo, le quali devono essere scritte secondo delle regole chiamate sintassi.
  • L’insieme di queste istruzioni prende il nome di programma.
  • Il progrmma viene scritto in un linguaggio di programmazione.

02

  • Il linguaggio di programmazione usato dal programmatore è noto anche come linguaggio al alto livello, il quale è molto lontano dal codice binario, il linguaggio a basso livello.
  • Affichè l'elaboratore sia in grado di comprendere tale linguaggio, è necessario che venga effettuata una traduzione da un linguaggio ad un altro.
  • Questa operazione viene eseguita da particolari programmi detti compilatori o traduttori, i quali sono programmi che trasformano il codice scritto dal programmatore, codice sorgente, in codice eseguibile dal calcolatore, codice macchina.

I problemi e la loro soluzione

03

  • Alla base della scrittura di un programma c’è l’esigenza di risolvere un problema.
  • La definizione di problema è: “Situazione difficile che si deve affrontare e risolvere e che presenta soluzioni alternative”.
  • Per essere risolto, un problema deve essere innanzitutto compreso.
  • La comprensione passa attraverso una fase di analisi, detta “studio della situazione reale” o, appunto, “fase di analisi”.

04

  • Sia nei problemi molto semplici sia nei problemi complessi è sempre la fase di analisi e di comprensione che ci consente di giungere alla soluzione.
  •  Soltanto quando il problema è stato analizzato e compreso e se ne è trovata la soluzione il programmatore può passare alla scrittura del programma vero e proprio.
Si parte quindi dal problema per arrivare al programma individuando la soluzione: questo è il principale compito del programmatore.

05

  • Il programmatore:
- Dapprima si pone una serie di domande;- Successivamente può iniziare il lavoro di progetto per l’“individuazione di un algoritmo” risolutivo. Il primo passo è quello di capire cosa si deve risolvere, quindi occorre ricercare la soluzione individuando come risolvere il problema.

06

  • Una volta individuata la strategia risolutiva si scrivono le singole istruzioni da compiere, una dopo l’altra.
  • L’insieme delle operazioni che permettono di risolvere un problema prende il nome di algoritmo, il quale termine deriva dal nome del matematico arabo Al Khwarismi.

L'algoritmo

07

  • L’algoritmo è un insieme di azioni elementari che consentono di risolvere un problema.
  • L’algoritmo è quindi una sequenza ordinata di passi semplici che hanno lo scopo di portare a termine un compito complesso.

08

L’algoritmo deve avere le seguenti caratteristiche: • deve essere generale, cioè risolvere un insieme di problemi; • opera su dati in ingresso producendo un risultato in uscita; • le istruzioni sono ordinate e in numero finito; • le istruzioni sono chiare e interpretate in modo univoco da chi le esegue; • il risultato viene prodotto in un tempo finito; • ogni volta che viene eseguito con gli stessi dati produce gli stessi risultati.

09

Durante la fase di progetto vengono usate due modalità per descrivere gli algoritmi:•il diagramma a blocchi (o flow chart) •il linguaggio di progetto (o pseudocodifica)

Analisi e comprensione del problema

10

  • L’analisi consiste nell’affrontare in modo sistematico il problema, studiando i vari aspetti della sua formulazione.
Per una corretta comprensione del problema è necessario:
  • evidenziare
- reali obiettivi del problema; - le regole; - i dati espliciti e impliciti;
  •  eliminare
- i dettagli inutili e ambigui.

Astrazione, modellizzazione e definizione della strategia

11

  • Per agevolare le operazioni di comprensione del problema il programmatore utilizza due strumenti fondamentali:
• l’astrazione; • la creazione del modello.
  • L’astrazione è il primo importante strumento di lavoro nella fase di progettazione di un programma. Con essa il problema viene semplificato, ne vengono individuate le sue caratteristiche principali e contemporaneamente viene “scollegato dalla sua natura fisica” mediante il processo di modellizzazione.

12

  • Il modello è una rappresentazione del problema sotto una forma diversa da quella fisica.
  • A seconda del progettista o delle esigenze e dell’ambito in cui si opera, è possibile che uno stesso problema possa essere associato a:
• un modello grafico; • un modello tabellare; • un modello simbolico. I modelli rappresentano lo strumento attraverso il quale viene concretizzato il concetto di astrazione, fornendo la base del processo di risoluzione del problema.

13

  • Il processo di ricerca della soluzione applica su tale modello un insieme di conoscenze e la capacità di utilizzarle per elaborare una strategia risolutiva.
La ricerca può essere svolta in direzioni diverse:• esistono tecniche che, partendo dai dati iniziali, cercano di arrivare alla soluzione applicando delle regole o degli operatori (metodi diretti); • tecniche che partendo dalle possibili soluzioni, applicando opportuni operatori, cercano di ottenere i dati di partenza (metodi inversi).

14

I metodi si basano su:•l’utilizzo dell’esperienza passata: -somiglianza con altri problemi noti; -analogia con altri problemi risolti; •la scomposizione dei problemi in sottoproblemi; •la conoscenza dell’argomento; •il procedimento per tentativi.

15

Gli strumenti a disposizione del progettista sono molteplici.Tra gli strumenti ricordiamo: •le conoscenze di matematica e algebra; •l’intuito; •la logica e il ragionamento deduttivo/induttivo; •la fantasia e l’ingegno.

THANK YOU!