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


Introduzione agli Algoritmi e Diagrammi di Flusso, Appunti di Informatica

Una panoramica chiara e concisa degli algoritmi e dei diagrammi di flusso, strumenti fondamentali nell'informatica e nella programmazione. Vengono spiegati i concetti di problema, risolutore, esecutore e le proprietà che un algoritmo deve rispettare per essere considerato tale. Inoltre, vengono illustrate le diverse tipologie di diagrammi di flusso e le strutture di iterazione, con esempi pratici per facilitare la comprensione. Adatto a studenti e appassionati che desiderano avvicinarsi al mondo della programmazione e dell'informatica.

Tipologia: Appunti

2021/2022

Caricato il 19/09/2025

noemi-antonini-3
noemi-antonini-3 🇮🇹

9 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Dal Problema all’algoritmo
Un problema è un quesito che attende una risposta detta soluzione. Il
processo risolutivo che porta alla soluzione di un problema è definito da
una serie di passi che terminano con il risultato finale, che è l’obiettivo
che vogliamo raggiungere.
Per poter risolvere un problema sono necessarie alcune informazioni
iniziali e indispensabili che chiameremo dati iniziali.
Chi risolve il problema?
Entrano in gioco due “attori”:
Il risolutore, è colui che attraverso una fase di analisi sviluppa il
processo risolutivo necessario per risolvere il problema.
L’esecutore è colui che esegue le azioni descritte dal risolutore per
giungere concretamente alla soluzione del problema.
Il risolutore è colui dotato di intelligenza che sviluppa il processo
risolutivo, l’esecutore è colui che senza esperienza esegue le azioni
elementari suggerite dal risolutore. Nel nostro caso l’esecutore sarà
identificato dal PC.
Il processo risolutivo è quindi composto da una serie di azioni elementari.
Ma cos’è un’azione?
L’azione è un qualunque evento che ha un tempo di inizio e una fine.
Le azioni devono avvenire in sequenza, una dopo l’altra.
L’algoritmo: E’ una sequenza finita e ordinata di azioni elementari che
descrivono il processo risolutivo che porta alla soluzione del problema.
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Introduzione agli Algoritmi e Diagrammi di Flusso e più Appunti in PDF di Informatica solo su Docsity!

Dal Problema all’algoritmo

Un problema è un quesito che attende una risposta detta soluzione. Il

processo risolutivo che porta alla soluzione di un problema è definito da

una serie di passi che terminano con il risultato finale, che è l’obiettivo

che vogliamo raggiungere.

Per poter risolvere un problema sono necessarie alcune informazioni

iniziali e indispensabili che chiameremo dati iniziali.

Chi risolve il problema?

Entrano in gioco due “attori”:

 Il risolutore , è colui che attraverso una fase di analisi sviluppa il

processo risolutivo necessario per risolvere il problema.

 L’ esecutore è colui che esegue le azioni descritte dal risolutore per

giungere concretamente alla soluzione del problema.

Il risolutore è colui dotato di intelligenza che sviluppa il processo

risolutivo, l’esecutore è colui che senza esperienza esegue le azioni

elementari suggerite dal risolutore. Nel nostro caso l’esecutore sarà

identificato dal PC.

Il processo risolutivo è quindi composto da una serie di azioni elementari.

Ma cos’è un’azione?

L’azione è un qualunque evento che ha un tempo di inizio e una fine.

Le azioni devono avvenire in sequenza, una dopo l’altra.

L’algoritmo: E’ una sequenza finita e ordinata di azioni elementari che

descrivono il processo risolutivo che porta alla soluzione del problema.

Le proprietà degli algoritmi:

Affinché un algoritmo possa definirsi tale deve rispettare alcune

caratteristiche fondamentali. Deve essere:

 Finito: il processo risolutivo deve essere composto da un numero

finito di azioni elementari

 Non ambiguo: ogni azione deve essere rigorosamente definita nei

suoi effetti (che produce) e non deve creare ambiguità all’esecutore

 Generale: l’algoritmo non deve essere valido solo per un particolare

problema, ma deve essere applicato a tutti i problemi della stessa

classe.

 Completo: Deve considerare tutti i casi possibili

 Osservabile nei risultati: L’algoritmo deve portare ad un risultato

oggettivo.

 Deterministico: Partendo sempre dagli stessi dati iniziali,

l’esecuzione dell’algoritmo deve fornire sempre gli stessi risultati

finali.

La rappresentazione degli algoritmi

Per descrivere gli algoritmi il linguaggio naturale non si presta bene,

poiché contiene ambiguità, sinonimi, allegorie e metafore che non sono

utili per descrivere i comandi da impartire ad un PC.

Un modo per rappresentare gli algoritmi è ricorrere ai Diagrammi a

Blocchi o Flow-Chart che utilizza la rappresentazione grafica, l’utilizzo di

variabili, operatori relazionali, strutture condizionali e iterative per

sviluppare gli algoritmi.

Assegnazione

Un comando di assegnazione, calcola una espressione e registra il risultato in una variabile.

Condizione

Il comando If controlla una espressione booleana e passa al ramo del Vero o del Falso a seconda se è verificata o meno la condizione.

Mentre

Prima viene testata la condizione e dopo sono eseguite le istruzioni del ciclo.

Fai

Prima sono eseguite le istruzioni del ciclo e dopo viene testata la condizione.

Le strutture di ITERAZIONE

PREREQUISITI

Strutture di controllo sequenziali e di selezione.

OBIETTIVI

Descrivere un problema risolvibile con le strutture iterative.

Riconoscere il tipo di iterazione (a condizione iniziale e finale) da applicare ad un determinato contesto reale.

ARGOMENTI

L’utilità dei cicli iterativi.

Tipologie di iterazione.

Elementi fondamentali di un ciclo.

Ciclo iterativo a condizione iniziale (WHILE o MENTRE)

Ciclo iterativo a condizione finale (DO … WHILE o FAI)

L’UTILITA’ DEI CICLI ITERATIVI

Quando una sequenza di istruzioni viene ripetuta fino a quando non si verifica una certa condizione prende il nome di struttura iterativa. Un algoritmo avente una struttura iterativa è una tipologia di algoritmo costituito da una sequenza di azioni che viene ripetuta, finché è necessaria la ripetizione stessa (un ciclo). Tutte le operazioni che richiedono la ripetizione di una stessa azione più volte, ma in numero finito sono dette procedure iterative. Ad ogni iterazione, l'esecutore svolge un compito. Al termine verifica se tale compito vada ripetuto mediante una condizione di ripetizione.

ITERAZIONI

In un algoritmo può capitare di dover eseguire un insieme di istruzioni, in modo identico, più volte. Si parla allora di cicli iterativi ( LOOP ).

Le iterazioni indefinite possono essere:

Precondizionale , o iterazione per vero, se il controllo per l’arresto dell’iterazione è posto prima del gruppo di istruzioni da ripetere.

Postcondizionale , o iterazione per falso, se il controllo per l’arresto dell’iterazione è posto dopo del gruppo di istruzioni da ripetere. In definitiva i tipi di ciclo iterativi sono i seguenti tre:

 Ciclo iterativo a condizione iniziale (WHILE / MENTRE) o precondizionale.

 Ciclo iterativo a condizione finale (DO … WHILE / RIPETI … MENTRE) o postcondizonale.

NB Il cosiddetto "ciclo infinito", o " loop infinito ", è spesso dovuto ad un errore di programmazione che manda in stallo l’esecuzione del programma, ed è quindi un grave errore logico nello sviluppo di un applicativo.

ELEMENTI FONDAMENTALI DI UN CICLO

Gli elementi fondamentali che contraddistinguono un ciclo iterativo sono:  PASSO INIZIALE: Inizializzazione di una o più variabili utilizzabili nella condizione di test: la prima volta che si esegue il test la condizione deve avere un valore sensato.

 TEST DI FINE: Test che verifica una condizione: è la condizione di entrata/uscita dal ciclo (condizione del ciclo).

 PASSO ITERATIVO: Istruzioni da iterare, ovvero le istruzioni (gruppo di istruzioni) che vengono eseguite ad ogni iterazione (corpo del ciclo).

 Tra le istruzioni da iterare occorre un’ istruzione di modifica che possa modificare l’esito del test, al fine di permettere l’uscita dal ciclo.