Dal problema al programma - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Dal problema al programma

Description:

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell informazione e della Comunicazione Dal problema al programma Modulo 8 A cura della prof.ssa ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 31
Provided by: Unkn95
Category:
Tags: dal | problema | programma | tivo

less

Transcript and Presenter's Notes

Title: Dal problema al programma


1
Dal problema al programma
Piano Nazionale di Formazione degli Insegnanti
sulle Tecnologie dellinformazione e della
Comunicazione
  • Modulo 8

A cura della prof.ssa Piera De Maio
2
Scopo del modulo
  • Conoscere alcuni concetti fondamentali
    dellinformaticaalgoritmo, automa, linguaggio
    formale
  • Essere in grado di cogliere lintreccio tra
    alcuni risultati della matematica e della logica
    dei primi decenni del secolo scorso ed i
    successivi sviluppi e applicazioni che questi
    hanno avuto in campo informatico

3
Indice
  • 8.1 Problemi e algoritmi
  • 8.1.1 introduzione intuitiva del concetto di
    problema
  • 8.1.2 cenni sulle strategie per la risoluzione
    dei problemi
  • 8.1.3 soluzione di un problema
  • 8.1.4 gli algoritmi
  • 8.1.4a Diagrammi a blocchi
  • 8.1.4b Linguaggio di progetto
  • 8.2 Automi esecutori
  • 8.2. Automi esecutori
  • 8.2.1 Caratteriatiche di un automa
  • 8.2.1bConcetto di modello
  • 8.2.1cConcetto di automa
  • 8.2.1b 8.2.2 Automi e classi di problemi
  • Esercitazioni
  • 8.3 Linguaggi
  • 8.3.1 Sintassi e semantica dei linguaggi
  • 8.3.1a Linguaggi nella comunicazione
    uomo-macchina
  • 8.2.2 Linguaggi e automi
  • 8.3.3 Linguaggi di programmazione

4
8.1.1 Introduzione intuitiva al concetto di
problema
Il problema è una situazione che pone delle
domande alle quali si devono dare delle risposte.
Risolvere il problema vuol dire uscire dalla
situazione
5
8.1 Problemi e algoritmi
  • Un problema consta dei seguenti elementi
  • Dati ossia ciò che è noto e che indichiamo col
    termine input
  • Risultati gli elementi incogniti che si devono
    determinare e che indicheremo con output
  • Condizioni le limitazioni cui devono soggiacere
    i risultati

6
8 .1 Problemi e algoritmi
Tipi di problemi
Problemi di decisione
Problemi di ricerca
Problemi di ottimizzazione
7
8.1.2 Strategie per la risoluzione
dei problemi
Problema
Verifica dei risultati
Interpretazione
Esecuzione
Procedimento risolutivo (algoritmo)
Modello
8
8.1.2b Concetto di modello
Modello
E uno schema teorico elaborato per rappresentare
elementi fondamentali di fenomeni o enti
  • Modelli descrittivi (riproducono in modo
    semplice la realtà , senza presupporre luso

  • che ne verrà fatto)
  • Modelli predittivi (danno gli elementi di una
    situazione per prevederne levoluzione)
  • Modelli prescrittivi (impongono un particolare
    comportamento in previsione dellobiet

  • tivo da raggiungere)
  • Modelli simbolici o matematici (danno una
    rappresentazione astratta mediante un

  • insieme di equazioni che
    legano le grandezze)
  • Modelli analogici ( danno una rappresentazione
    fedele della realtà in scala ridotta )

9
8.1.2 Strategie per la risoluzione dei
problemi
Interpretazione
TOP DOWN
GRAFICO
Utilizza uno schema grafico a segmenti
Suddivide il problema in tanti piccoli
sottoproblemi
10
8.1.2 Strategie per la risoluzione dei
problemi
Algoritmo
Insieme delle istruzioni che definiscono una
sequenza di operazioni mediante le quali si
risolve il problema
Deve essere
  • finito (numero limitato di passi )
  • definito (ogni istruzione deve consentire
    uninterpretazione
  • univoca)
  • eseguibile ( la sua esecuzione deve essere
    eseguibile con gli
  • strumenti a
    disposizione)
  • deterministico ( ad ogni passo deve essere
    definita una
  • operazione
    successiva ).

11
8.1.2 Strategie per risoluzione dei
problemi
Rappresentazioni grafiche e formalizzate di un
algoritmo
La descrizione delle fasi esecutive del problema
può avvenire mediante la formalizzazione dei
passi elementari da effettuare che può essere
realizzata con
Diagramma a blocchi o flow-chart
e/o
Pseudocodifica
12
8.1.4a Diagrammi a blocchi
Diagramma a blocchi o flow-chart
Ha il pregio di evidenziare visivamente
lavanzamento in sequenza e le varie strutture
che compongono lalgoritmo, presenta istruzioni
di input, calcolo e/o di elaborazione, condizioni
e output.
INPUT
CONDIZIONI
ISTRUZIONI
OUTPUT
13
8.1.4a Esempio di diagramma a blocchi
inizio
Somma di una sequenza di numeri
N
S ?
A
S SA
NN-1
SI
NO
N ?
S
FINE
14
8.1.4b Linguaggio di progetto
Linguaggio di progetto o pseudocodifica
E un linguaggio formale, ( linguaggio di
progetto) con regole prive di ambiguità ed
eccezioni che esprimono i vari tipi di
istruzioni. Viene definito pseudocodifica o
notazione lineare strutturata. Generalmente
utilizzato dai programmatori di elaboratori.
begin ESEMPIO
IN PASCAL Input N S ? repeat input
A S SA N N-1 until N? output S end
15
8.2 Automi esecutori
La risoluzione di un problema è un processo di
manipolazione di informazioni per generare nuove
informazioni . Per risolvere un problema ci sono
due tipi di attività
intelligentidi elaborazione
routinarie di esecuzione
16
8.2.1 Caratteristiche di un automa
Automi
Sono macchina che compiono attività complesse in
cui sono riconoscibili elementi propri delle
attività superiori del comportamento umano.
Possono essere programmate per svolgere diverse
mansioni e per modificare le proprie azioni in
relazione ai mutamenti ambientali. (Es
lavatrici, sistemi di controlli ascensori,
bancomatcomputer) Un automa è un sistema
Dinamico Passa da uno stato allaltro secondo
gli input che riceve Invariante Se le condizioni
iniziali sono le stesse il comportamento
del sistema è
invariato Discreto Le variabili, dingresso, di
stato e duscita possono assumere
solo valori discreti
17
8.2.1 Il concetto di automa
Grafi e tabelle di transizione
Servono a rappresentare il comportamento
logico-funzionale di un automa Es. tabella e
grafo di un automa a stati finiti di un ascensore
S\i T 1 2
pt Pt/ fermo 1p/ su 2p/ su
1p Pt/ giù 1p/ fermo 2p/ su
2p Pt/ giù 1p/ giù 2p/ fermo
1/fermo
1/ su
T / fermo
T/giù
1P
PT
2/ fermo
1/ giù
2P
2/su
2/su
18
8.2.2 Automi e classi di problemi
Un sistema automatico o automa è un sistema nel
quale la componente umana è completamente
eliminata nellambito dei processi, che sono ben
determinati e prevedibili Lavatrice,
lavastoviglie, computer (automa a programma)
Un sistema umano, al contrario, presenta un
carattere probabilistico, poiché luomo può
assolvere a funzioni impreviste , utilizzando il
ragionamento, la creatività e lintuito.
19
Problemi e algoritmi
  • ESERCITAZIONI
  • Un bambino ha costruito una torre di tre blocchi
    colorati così disposti dallalto in basso
    ROSSO-GIALLO-VERDE. IL bambino vuole capovolgerla
    in modo da avere VERDE-GIALLO-ROSSO.Può spostare
    solo un blocchetto alla volta. Individuare il
    numero minimo di stati per i quali si arriva alla
    configurazione desiderata.
  • Cercare una chiave in un mazzo di 100 chiavi con
    il minor numero di prove (diagramma di flusso)

20
8.3 Linguaggi
Il linguaggio è un sistema codificato di segni
che consente la comunicazione, intesa come
scambio di informazioni
21
8.3.1 Sintassi e semantica dei
linguaggi
Uninformazione può
  • Essere acquisita direttamente tramite rilevamento
    di un evento reale attraverso percezione
    sensoriale.
  • Essere trasmessa (messaggio) intenzionalmente da
    un emittente ad un ricevente per mezzo di un
    canale

22
La comunicazione
  • Il messaggio presuppone lutilizzo di un codice (
    sistema di regole) e di un linguaggio che devono
    essere conosciuti sia dal emittente che dal
    destinatario, altrimenti la comunicazione non ha
    effetto

?
?
?
?
emittente
destinatario
23
8.3.1 Sintassi e semantica dei linguaggi
La funzione del linguaggio è quella di sostituire
ad oggetti o concetti dei segni/simboli per
trasmettere un messaggio. Il segno è
lassociazione di qualcosa di materiale e
sensibile (immagine, suono) che chiamiamo
significante con qualcosa di puramente
concettuale che chiamiamo significato Il codice
ci consente linterpretazione dei segni
Segno significante significato Segno significante significato Segno significante significato
gatto Il gruppo dei suoni o di lettere g/a/t/t/o
24
8.3.1 Sintassi e semantica dei linguaggi
ELEMENTI DI UN LINGUAGGIO
  • Alfabeto insieme finito e non vuoto di
    simboli convenzionali espressi con segni
    tipografici detti caratteri
  • Ortografia insieme finito e non vuoto di regole
    per la scrittura dei suoni
  • Sintassi insieme finito e non vuoto delle
    regole mediante le quali si formano le stringhe o
    le frasi di un linguaggio
  • Semantica insieme finito e non vuoto di
    significati da attribuire alle stringhe
  • Morfologia insieme finito e non vuoto di tuttele
    regole che servono per generare le forme di un
    linguaggio

25
8.3.1.a Linguaggi nella comunicazione uomo -
macchina
Luomo per comunicare all automa le strategie
risolutive di un problema ha bisogno di un
linguaggio formale che gli consenta di passare
dall algoritmo al programma , cioè ad una
sequenza di istruzioni mediante le quali si può
risolvere il problema.
26
8.3.2 Linguaggi e automi
Linguaggio macchina, linguaggio assemblativo
(Assembler). Vicino alla logica della macchina
Linguaggi non evoluti
Linguaggi non orientati alla macchina , ma alla
soluzione dei problemi. Vicino alla logica
delluomo
Linguaggi evoluti
27
8.3.2 Linguaggi e automi
I principali software
Office Automation
Sistema operativo
  • Word processor
  • Foglio di calcolo
  • Sistemi di gestione base dati
  • Programmi per la realizzazione di
  • presentazioni multimediali
  • Programmi di grafica computerizzata
  • Editor di suoni
  • Editor di pagine web

Software di base , controlla tutte le risorse del
computer, necessita di un linguaggio più vicino
al linguaggio macchina (Assembler)
28
8.3.3 Linguaggi di programmazione
Problema
Risultati
Dalla formulazione del problema alla sua soluzione
Elaborazione
Algoritmo
Programma sorgente
Programma traduttore
Programma oggetto
29
8.3.3 Linguaggi di programmazione
Lalgoritmo risolutivo viene trasformato in un
programma attraverso un linguaggio di
programmazione che può contenere
Programma sorgente
Istruzioni di dichiarazione
Istruzioni di input e output
Istruzioni di controllo
Istruzioni di assegnazione
Descrivono dati e variabili utilizzati dal
programma, definendone tipo e struttura
Consentono di assegnare alla variabile un valore
dello stesso tipo della variabile
Sono istruzioni che richiedono salti di sequenza
nellesecuzione del programma
Richiedono lingresso o luscita di
uninformazione da una periferica alla memoria
centrale e viceversa
30
8.3.3 Linguaggi di programmazione
Fortran
Cobol
Algol
Basic
PHP
Principali linguaggi
Logo
PL1
Lisp
Java
Pascal
C /C
Write a Comment
User Comments (0)
About PowerShow.com