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 e strutture dati: analisi, programmazione e diagrammi di flusso, Schemi e mappe concettuali di Elementi di Informatica

Il processo di risoluzione di un problema attraverso un soggetto descrittivo e uno esecutore, suddiviso in quattro fasi: analisi del problema, descrizione della soluzione, interpretazione della soluzione e attuazione della soluzione. Vengono inoltre illustrati i concetti di algoritmo, linguaggio di programmazione e diagrammi di flusso, nonché le diverse tipologie di strutture dati, statiche e dinamiche. Infine, vengono presentate le operazioni logiche booleane e la loro importanza negli algoritmi.

Tipologia: Schemi e mappe concettuali

2017/2018

Caricato il 03/05/2018

lucia-bustaffa
lucia-bustaffa 🇮🇹

1 documento

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
CAPITOLO 3
Quando si ha un problema di cui un soggetto conosce la risoluzione (soggetto descrittivo), deve riuscire a
risolvere un problema tramite un secondo soggetto (soggetto esecutore).
La difficoltà si riscontra nel riuscire a spiegare al soggetto esecutore la modalità di risoluzione del problema.
Si procede quindi tramite un processo che si articola in quattro fasi:
1. ANALISI del problema ed identificazione di una SOLUZIONE da parte del primo soggetto;
2. DESCRIZIONE della soluzione al soggetto esecutore in termini a lui comprensibili;
3. INTERPRETAZIONE della soluzione da parte del soggetto esecutore;
4. ATTUAZIONE della soluzione da parte del secondo soggetto.
Durante la fase 3 del processo si potrebbero riscontrare dei problemi perché bisogna adottare un linguaggio
che sia comprensibile per il soggetto esecutore.
Da questo deriva che il problema principale viene scisso in sottoproblemi i quali vengono a loro vota scissi
fino al raggiungimento di PROBLEMI ELEMENTARI, a ciascuno dei quali corrisponde un’AZIONE
ELEMENTARE.
Le azioni elementari permettono di trasformare i dati (INPUT) in risultati (OUTPUT), prescindendo dal
modo in cui questo avviene (BLACK BOX).
IN COSA CONSISTE L’ESECUZIONE (ATTUAZIONE) DELLA
PROCEDURA?
Essa consiste nell’eseguire ogni azione ELEMENTARE della successione, avendo stabilito quali sono le
azioni, qual è l’ordine in cui queste devono essere eseguite e il modo in cui ogni azione successiva utilizza i
risultati delle azioni precedenti.
Ciò che è richiesto all’esecutore è che:
a. Sappia a quale linguaggio debba fare riferimento, dato dal descrittore. Esso deve essere definito, al
fine di una comprensione totale.
b. L’insieme delle azioni elementari che deve compiere deve essere DEFINITO.
c. Non devono esserci ambiguità tra linguaggio e azioni da eseguire.
ALGORITMO: insieme di istruzioni che descrivono la soluzione del problema. Esso si compone di
sottoproblemi elementari. La soluzione di ciascuno di questi sottoproblemi è detta STEP dell’algoritmo.
L’algoritmo inoltre deve essere scritto in un linguaggio di programmazione che porta alla trasformazione
dell’algoritmo in un PROGRAMMA.
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Algoritmi e strutture dati: analisi, programmazione e diagrammi di flusso e più Schemi e mappe concettuali in PDF di Elementi di Informatica solo su Docsity!

CAPITOLO 3

Quando si ha un problema di cui un soggetto conosce la risoluzione (soggetto descrittivo), deve riuscire a risolvere un problema tramite un secondo soggetto (soggetto esecutore).

La difficoltà si riscontra nel riuscire a spiegare al soggetto esecutore la modalità di risoluzione del problema.

Si procede quindi tramite un processo che si articola in quattro fasi:

1. ANALISI del problema ed identificazione di una SOLUZIONE da parte del primo soggetto;

2. DESCRIZIONE della soluzione al soggetto esecutore in termini a lui comprensibili;

3. INTERPRETAZIONE della soluzione da parte del soggetto esecutore;

4. ATTUAZIONE della soluzione da parte del secondo soggetto.

Durante la fase 3 del processo si potrebbero riscontrare dei problemi perché bisogna adottare un linguaggio che sia comprensibile per il soggetto esecutore.

Da questo deriva che il problema principale viene scisso in sottoproblemi i quali vengono a loro vota scissi fino al raggiungimento di PROBLEMI ELEMENTARI, a ciascuno dei quali corrisponde un’ AZIONE ELEMENTARE.

Le azioni elementari permettono di trasformare i dati (INPUT) in risultati (OUTPUT), prescindendo dal modo in cui questo avviene (BLACK BOX).

IN COSA CONSISTE L’ESECUZIONE (ATTUAZIONE) DELLA

PROCEDURA?

Essa consiste nell’eseguire ogni azione ELEMENTARE della successione, avendo stabilito quali sono le azioni, qual è l’ordine in cui queste devono essere eseguite e il modo in cui ogni azione successiva utilizza i risultati delle azioni precedenti.

Ciò che è richiesto all’esecutore è che:

a. (^) Sappia a quale linguaggio debba fare riferimento, dato dal descrittore. Esso deve essere definito, al fine di una comprensione totale.

b. L’insieme delle azioni elementari che deve compiere deve essere DEFINITO.

c. Non devono esserci ambiguità tra linguaggio e azioni da eseguire.

ALGORITMO: insieme di istruzioni che descrivono la soluzione del problema. Esso si compone di

sottoproblemi elementari. La soluzione di ciascuno di questi sottoproblemi è detta STEP dell’algoritmo.

L’algoritmo inoltre deve essere scritto in un linguaggio di programmazione che porta alla trasformazione dell’algoritmo in un PROGRAMMA.

AL TERMINE SI HA: 5- L’ESECUZIONE

L’algoritmo può essere rappresentato tramite un linguaggio grafico detto dei DIAGRAMMI DI FLUSSO O DIAGRAMMI A BLOCCHI. In questo ogni blocco ha un suo significato.

RAPPRESENTA L’INIZIO. Da questo si diparte una freccia soltanto.

  • RAPPRESENTA LA FINE. Sopra di questo è presente una freccia che simboleggia il

Termine dell’operazione

  • RAPPRESENTA LE OPERAZIONI IN INGRESSO E IN USCITA. Sopra e sotto questo so

no presenti due frecce. All’interno della forma c’è una scritta che specifica i dati

trasferiti e in che direzione

  • RAPPRESENTA LE DECISIONI. Da questa si dipartono due frecce che rappresentano le possi i possibili risultati. Ciò su cui bisogna scegliere è scritto nel rombo
• RAPPRESENTA LE AZIONI O UNA SUCCESSIONE DI AZIONI. È

Preceduto e

Succeduto da frecce

  • RAPPRESENTA I SOTTOPROGRAMMI. È Preceduto e

Succeduto da frecce

LE STRUTTURE DATI STATISTICHE

4- TRADUZIONE NEL
LIGUAGGIO MACCHNA,

cioè linguaggio che l’esecutore riesce a comprendere

1. ANALISI DEL
PROBLEMA
ED
IDENTIFICAZI
ONE DI UNA
SOLUZIONE
2- VIENE
DEFINITO
L’ALGORITM
O
RISOLUTIVO
PROGRAMMAZI

ONE, scrittura del programma in un linguaggio ad alto livello

FORMAZIONE DI UN

PROGRAMMA

ALGEBRA BOOLEANA

Tra i bit si possono svolgere delle operazioni: addizione, moltiplicazione ed operazioni logiche. Le OPERAZIONI LOGICHE interpretano, negli algoritmi, i bit come 1-VERO, 0-FALSO.

Queste operazioni logiche sono: AND, NOT, OR. Da queste si ricavano operazioni logiche complesse: NAND e NOR.

  • NOT: restituisce il valore inverso a quello dato, SI -> not F= T; not T= F
  • AND: chiamato anche PRODOTTO BOOLEANO, si applica a due operandi. Restituisce TRUE solo quando entrambi sono TRUE, altrimenti restituisce FALSE.

L e relazioni di cui gode sono: associativa, commutativa e di idempotenza (a and a= a)

Valgono le relazioni per cui:

a. a and T=a

b. a and F=F

c. a and not a=F

  • OR: chiamata anche SOMMA BOOLEANA, si applica per due operandi. Restituisce TRUE quando ALMENO UNO degli elementi è TRUE, altrimenti restituisce FALSE. Gode anch’esso delle proprietà associativa, commutativa e di idempotenza (a or a = a)

Le relazioni di cui gode sono:

a. a or F= a

b. a or T= T

c. a or not a= T

PRINCIPIO DI DUALITA’= se un’espressione è valida, lo saranno anche quelle che si ottengono da

questa cambiando tutti or in and (e viceversa, and in or), e tutti i T in F (e viceversa, F in T).

Per and e or valgono anche delle proprietà che coinvolgono entrambi gli operatori:

  1. DISTRIBUTIVA: sia della somma rispetto al prodotto (a x (b+c) = (a x b )+ (a x c )) ma anche del prodotto rispetto la somma ( a + (b x c ) = (a + b ) x (a +c))
  2. DI ASSORBIMENTO: della somma rispetto al prodotto (a x (a+b) = a) e del prodotto rispetto la somma (a + (a x b) = a)
  3. DE MORGAN: il complemento del prodotto dei due termini si ottiene dalla somma dei complementi dei due termini (- (a x b ) = (-a)+ (-b)) ; il complemento della somma di due termini si ottiene dal prodotto dei complementi dei due termini (-(a + b) = (-a) x (-b))

Combinando termini e operatori si ottengono delle espressioni booleane. Le configurazioni possibili, avendo n variabili, sono 2 n^ diverse configurazioni. Queste sono riportate in una “tabella della verità”.

LA TABELLA DELLA VERITA’ SI COTRUISCE:

  1. Si identificano tutte le righe T (non importa se tutti i valori siano T, ciò che importa è che la maggioranza dei valori sia T. es. -> F F T T T , il valore della riga è T). *vale lo stesso per F.
  2. (^) Per ogni riga si costruisce una sottoepressione prodotto (and) per cui