La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Dal problema al programma Modulo 8 Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dellinformazione e della Comunicazione A cura della.

Presentazioni simili


Presentazione sul tema: "Dal problema al programma Modulo 8 Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dellinformazione e della Comunicazione A cura della."— Transcript della presentazione:

1 Dal problema al programma Modulo 8 Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dellinformazione e della Comunicazione A cura della prof.ssa Piera De Maio

2 Scopo del modulo Conoscere alcuni concetti fondamentali dellinformatica:algoritmo, 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 introduzione intuitiva del concetto di problema cenni sulle strategie per la risoluzione dei problemi soluzione di un problema gli algoritmi 8.1.4a Diagrammi a blocchi 8.1.4b Linguaggio di progetto 8.2 Automi esecutori 8.2. Automi esecutori Caratteriatiche di un automa 8.2.1bConcetto di modello 8.2.1cConcetto di automa 8.2.1b Automi e classi di problemi Esercitazioni 8.3 Linguaggi Sintassi e semantica dei linguaggi 8.3.1a Linguaggi nella comunicazione uomo-macchina Linguaggi e automi 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 Interpretazione Modello Procedimento risolutivo (algoritmoProcedimento risolutivo (algoritmo) Esecuzione Verifica dei risultati

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 TOP DOWN Suddivide il problema in tanti piccoli sottoproblemi Utilizza uno schema grafico a segmenti GRAFICO Interpretazione

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 Diagramma a blocchi o flow-chart La descrizione delle fasi esecutive del problema può avvenire mediante la formalizzazione dei passi elementari da effettuare che può essere realizzata con: Pseudocodifica e/o

12 8.1.4a Diagrammi a blocchi 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 ISTRUZIONI CONDIZIONI OUTPUT Diagramma a blocchi o flow-chart

13 8.1.4a Esempio di diagramma a blocchi N S = A S= S+A N=N-1 N= S FINE SINO inizio Somma di una sequenza di numeri

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 S+A 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 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, bancomat…computer) 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 Automi

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\iT12 ptPt/ fermo1p/ su2p/ su 1pPt/ giù1p/ fermo2p/ su 2pPt/ giù1p/ giù2p/ fermo PT 2P 1P 1/fermo 2/su 1/ giù T/giù 1/ su 2/ fermo 2/su T / fermo

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 Essere acquisita direttamente tramite rilevamento di un evento reale attraverso percezione sensoriale. Uninformazione può : Essere trasmessa (messaggio) intenzionalmente da un emittente ad un ricevente per mezzo di un canalemessaggio

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 gatto Il gruppo dei suoni o di lettere g/a/t/t/o

24 8.3.1 Sintassi e semantica dei linguaggi 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 ELEMENTI 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 Linguaggi non evoluti Linguaggio macchina, linguaggio assemblativo (Assembler). Vicino alla logica della macchina Linguaggi evoluti Linguaggi non orientati alla macchina, ma alla soluzione dei problemi. Vicino alla logica delluomo

27 8.3.2 Linguaggi e automi I principali software Sistema operativo Office Automation 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 Algoritmo Programma sorgente Programma traduttore Programma oggetto Elaborazione Risultati Dalla formulazione del problema alla sua soluzione

29 8.3.3 Linguaggi di programmazione Programma sorgente Lalgoritmo risolutivo viene trasformato in un programma attraverso un linguaggio di programmazione che può contenere: Istruzioni di dichiarazione Istruzioni di assegnazione Istruzioni di controllo Istruzioni di input e output 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 Principali linguaggi Fortran Algol Cobol Basic Logo Lisp PL1 Pascal C /C++ Java PHP


Scaricare ppt "Dal problema al programma Modulo 8 Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dellinformazione e della Comunicazione A cura della."

Presentazioni simili


Annunci Google