La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Le basi della programmazione. La programmazione Problemi algoritmi programma.

Presentazioni simili


Presentazione sul tema: "Le basi della programmazione. La programmazione Problemi algoritmi programma."— Transcript della presentazione:

1 Le basi della programmazione

2 La programmazione Problemi algoritmi programma

3 I problemi Il problema è un quesito che deve avere una risposta (prepara il caffè, scrivere un tema, calcolare lequazione, ec..) Il problema è un quesito che deve avere una risposta (prepara il caffè, scrivere un tema, calcolare lequazione, ec..) È un insieme di passi da svolgere per giungere alla soluzione del problema Processo risolutivo

4 Figure del processo risolutivo Risolutore : chi definisce il processo risolutivo Risolutore : chi definisce il processo risolutivo Esecutore : colui che esegue il processo risolutivo descritto dal risolutore Esecutore : colui che esegue il processo risolutivo descritto dal risolutore

5 Il computer Esegue i passi definiti e studiati dalluomo Esegue i passi definiti e studiati dalluomo Luomo rimane lelemento Centrale di tutte le attività

6 Formalizzazione del problema È un processo essenziale per raggiungere in ultimo stadio alla soluzione Del problema È un processo essenziale per raggiungere in ultimo stadio alla soluzione Del problema Fasi della formalizzazione del problema : 1. rigorosa lettura del testo e rielaborazione in caso di ambiguità 2.Analisi 3.Obiettivo da raggiungere o soluzione 4.Evidenziare dati : 1. espliciti informazioni da assumere per giungere alla soluzione 2.Impliciti dati disponibili allinizio del procedimento Fasi della formalizzazione del problema : 1. rigorosa lettura del testo e rielaborazione in caso di ambiguità 2.Analisi 3.Obiettivo da raggiungere o soluzione 4.Evidenziare dati : 1. espliciti informazioni da assumere per giungere alla soluzione 2.Impliciti dati disponibili allinizio del procedimento

7 Per risolvere un problema Individuare le informazioni di partenza Individuare le informazioni di partenza Individuare lobiettivo da raggiungere Individuare lobiettivo da raggiungere Individuare il processo risolutivo : Individuare il processo risolutivo : Trasformare i dati a disposizione Trasformare i dati a disposizione Sottoporli a un processo di elaborazione (logico matematico, ect.) Sottoporli a un processo di elaborazione (logico matematico, ect.) Ottenere i dati finali Ottenere i dati finali Verificare la soluzione trovata Verificare la soluzione trovata

8 Ricerca della soluzione Conoscere la realtà di interesse, la realtà che il problema prende in esame Conoscere la realtà di interesse, la realtà che il problema prende in esame Utilizzare metodi risolutivi già sperimentati Utilizzare metodi risolutivi già sperimentati Scomporre il problema in sottoproblemi di complessità più limitata Scomporre il problema in sottoproblemi di complessità più limitata

9 Dal problema al programma Il computer diviene lo strumento per lelaborazione dei dati Il computer diviene lo strumento per lelaborazione dei dati Fasi di un processo : Fasi di un processo : 1.Immissione dati (input) 2.Trattamento (elaborazione) 3.Emissione (output)

10 La risoluzione del problema : Si scompone in passi o azioni Si scompone in passi o azioni Lazione per essere tale deve avere : Lazione per essere tale deve avere : Esecutore Esecutore Oggetti sui cui opera lesecutore Oggetti sui cui opera lesecutore La trasformazione sugli oggetti La trasformazione sugli oggetti In un ben definito tempo In un ben definito tempo

11 processo Le azioni sono : Le azioni sono : sequenziali sequenziali Elementari cioè non scomponibili Elementari cioè non scomponibili Linsieme delle azioni elementari che si svolgono in modo Sequenziale prende il nome di PROCESSO

12 Storia algoritmo Proviene dalla matematica Proviene dalla matematica Indica regole o operazioni da compiere per fare calcoli o risolvere problemi Indica regole o operazioni da compiere per fare calcoli o risolvere problemi Deriva dal nome di un algebrista arabo del IX secolo Al-khuwarizmi Deriva dal nome di un algebrista arabo del IX secolo Al-khuwarizmi

13 ALGORITMO Si intende una sequenza finita e ordinata di azioni, univocamente Interpretabili, ciascuna delle quali deve essere precisamente Definita. L esecuzione fornisce dei risultati di classi di problemi per ogni Valore di dati forniti in ingresso Si intende una sequenza finita e ordinata di azioni, univocamente Interpretabili, ciascuna delle quali deve essere precisamente Definita. L esecuzione fornisce dei risultati di classi di problemi per ogni Valore di dati forniti in ingresso Per algoritmo si intende la descrizione di un insieme finito di istruzioni, che devono essere eseguite per portare a termine un dato compito e per raggiungere un risultato definito in precedenza Altra definizione

14 Caratteristiche fondamentali dellalgoritimo Preciso e non ambiguo Preciso e non ambiguo Finito Finito Generale Generale Dettagliato ( ogni passo corrisponde azioni elementari) Dettagliato ( ogni passo corrisponde azioni elementari) Deterministico Deterministico Completo ed esaustivo Completo ed esaustivo Osservabile nei risultati Osservabile nei risultati

15 Un algoritmo scritto in linguaggio Comprensibile al computer Prende il nome di programma sorgente Lattività di traduzione Dellalgoritmo prende il codice nome di codice Luomo per comunicare usa il linguaggio naturale

16 Lavoro di programmazione I programmi comprensibili alla macchina I programmi comprensibili alla macchina Devono essere scritti in un Devono essere scritti in un linguaggio di programmazione (pascal, vb, c++, java) programmatore la persona in grado di scrivere programmi comprensibili per la macchina è il programmatore

17 Linguaggio di programmazione È quel linguaggio che viene usato per tradurre lalgoritmo in una forma comprensibile allelaboratore È quel linguaggio che viene usato per tradurre lalgoritmo in una forma comprensibile allelaboratore Il risultato di questa traduzione si chiama programma Il risultato di questa traduzione si chiama programma

18 inizio Problema analisi algoritmo Traduzione linguaggio (Programma sorgente) Correzione errori (debugging) Collaudo (testing) fine Fase iniziale di programmazione Fase di analisi Fase di progetto Fase di verifica Fase di realizzazione o implementazione

19 Il programma Composto da istruzioni e dati Composto da istruzioni e dati DATI PROGRAMMA ISTRUZIONI Le istruzioni rappresentano le Le istruzioni rappresentano le azioni da svolgere sui dati

20 I linguaggi simbolici o di programmazione Nel linguaggio dovremo rispettare : Nel linguaggio dovremo rispettare : Regole sintattiche = modalità per scrivere le frasi o istruzioni in modo corretto Regole sintattiche = modalità per scrivere le frasi o istruzioni in modo corretto Il lessico = le parole riconosciute dal linguaggio Il lessico = le parole riconosciute dal linguaggio Gli identificatori = il nome che il programmatore assegna ai dati (variabili, costanti, numeriche alfanumeriche e logiche) Gli identificatori = il nome che il programmatore assegna ai dati (variabili, costanti, numeriche alfanumeriche e logiche)

21 Rappresentazione degli algoritmi Grafici Grafici informali informali

22 Metodi grafici I passi dellalgoritmo sono rappresentati mediante simboli, associati a regole di interpretazione, rappresentano : I passi dellalgoritmo sono rappresentati mediante simboli, associati a regole di interpretazione, rappresentano : Le istruzioni Le istruzioni Il flusso dellelaborazione seguito durante lo svolgimento Il flusso dellelaborazione seguito durante lo svolgimento Il metodo grafico più diffuso, è denominato diagramma a blocchi o di flusso dallinglese FLOWCHART

23 Metodi informali Consiste nel rappresentare i passi risolutivi del processo di un problema per mezzo di un linguaggio informale, simile a quello naturale, detto pseudolinguaggio o linguaggio per la progettazione di programmi Consiste nel rappresentare i passi risolutivi del processo di un problema per mezzo di un linguaggio informale, simile a quello naturale, detto pseudolinguaggio o linguaggio per la progettazione di programmi Si dice psedocodice linsieme di frasi scritte nel linguaggio di Progetto che rappresentano (codificano) le operazioni da compiere Per la risoluzione del problema

24 Tipi di dati Variabili e costanti

25 variabili Le variabili sono dei contenitori di dati, che possono cambiare durante l esecuzione dellalgoritmo Le variabili sono dei contenitori di dati, che possono cambiare durante l esecuzione dellalgoritmo Il valore di una variabile deve : Il valore di una variabile deve : essere memorizzato in una cella (contenitore) di memoria essere memorizzato in una cella (contenitore) di memoria Individuarla attraverso un nome che la identifichi Individuarla attraverso un nome che la identifichi Definire il suo tipo, ciò permette di stabilire linsieme di valori che può assumere e le operazioni che possono essere effettuate. Definire il suo tipo, ciò permette di stabilire linsieme di valori che può assumere e le operazioni che possono essere effettuate.

26 Schema di variabile 8 Nome variabile INDIRIZZO Contenuto della variabile Cella di memoria Nome variabile Contenuto della variabile Nome variabile Contenuto della variabile INDIRIZZO Nome variabile Contenuto della variabile 8 INDIRIZZO Nome variabile Contenuto della variabile

27 costante Rappresenta un dato fisso che non può cambiare durante lo sviluppo dellalgoritmo. Il valore è : Rappresenta un dato fisso che non può cambiare durante lo sviluppo dellalgoritmo. Il valore è : Memorizzato in una cella di memoria Memorizzato in una cella di memoria Identificata da un nome simbolico Identificata da un nome simbolico Cella di memoria 20 INDIRIZZO Nome costante Contenuto della costante

28 Aliquota_iva 20 Nome variabile Contenuto variabile Cella di memoria

29 dati Possono essere di tipo diverso : Possono essere di tipo diverso : Numerici Numerici Alfanumerici Alfanumerici Logici Logici Per lavorare correttamente è necessario dichiarare il loro Per lavorare correttamente è necessario dichiarare il loro tipo

30 Tipi di dati in Visual basic Tipo dato Dimen sione Descrizione Intervallo valori Operazioni ammesse Boolean 2 byte True /false 0 / 1 Not/ or /and/xor Byte 1 byte Numeri positivi da 0 a – * / MOD Currency8 Intero con 4 cifre decimali utile nei calcoli finanziari , , * / MOD ^ Date 8 byte Data espressa con 8 caratteri e valori ora 1 gen 100 al 31 dic 9999

31 Double 8 byte Numeri in virgola mobile + - * / MOD integer 2 byte Numeri interi * / MOD long 4 byte Numeri interi * / MOD single 4 byte Numeri in virgola mobile - + 3,402823E * / MOD string 10+2 byte Valori alfanumerici & concatenamento variant 16 byte Converte un tipo in un altro in base alle necessità tutte object 4 byte oggetto Riferimento ad un oggetto

32 variabili Ciclo di vita e visibilità

33 Ciclo di vita delle variabili o lifetime Ciclo di vita delle variabili è il periodo per il quale tale variabile resta attiva e utilizza memoria centrale Ciclo di vita delle variabili è il periodo per il quale tale variabile resta attiva e utilizza memoria centrale Alcune hanno una durata pari allintera applicazione Alcune hanno una durata pari allintera applicazione Altre vengono create e distrutte diverse volte nel ciclo dellapplicazione Altre vengono create e distrutte diverse volte nel ciclo dellapplicazione

34 Visibilità delle variabili Larea di visibilità o scope rules è: Larea di visibilità o scope rules è: È la porzione di codice da cui si può accedere a tale variabile È la porzione di codice da cui si può accedere a tale variabile Alcune sono e di solo a una porzione di codice in cui sono state dichiarate Alcune sono private e di solo a una porzione di codice in cui sono state dichiarate Altre sono ossia visibili a tutto il codice Altre sono public ossia visibili a tutto il codice

35 Programmazione strutturata Strutture di controllo

36 algoritmo La stesura dellalgoritmo risolutivo di un problema è una fase molto delicata della programmazione La stesura dellalgoritmo risolutivo di un problema è una fase molto delicata della programmazione Pertanto : Pertanto : È necessario stabilire uninsieme di regole necessarie alla corretta organizzazione del lavoro È necessario stabilire uninsieme di regole necessarie alla corretta organizzazione del lavoro Le regole trasformano la programmazione da attività disordinata e laboriosa in attività sistematica e orientata al raggiungimento di un buon livello di qualità Le regole trasformano la programmazione da attività disordinata e laboriosa in attività sistematica e orientata al raggiungimento di un buon livello di qualità Costituisce il metodo di lavoro che va sotto il nome : Costituisce il metodo di lavoro che va sotto il nome : Programmazione strutturata

37 Programmazione struttura Metodo di strutturazione degli algoritmi, conforme ad un insieme di regole, che rendono più facile : Metodo di strutturazione degli algoritmi, conforme ad un insieme di regole, che rendono più facile : la costruzione la costruzione la lettura la lettura La manutenzione La manutenzione

38 Strutture di controllo Sono Sono Sequenziale Sequenziale Condizionale o di selezione Condizionale o di selezione Iterativa o ciclica Iterativa o ciclica

39 La teoria della programmazione strutturata enuncia il seguente dettato : La teoria della programmazione strutturata enuncia il seguente dettato : Qualsiasi algoritmo può essere scritto utilizzando Soltanto le tre Strutture di base o fondamentali : 1.Sequenziale 2.Condizionale 3.iterativa Teorema di Bohm-Jacopini (1966)

40 Questi 3 modelli organizzativi sono detti : strutture di controllo Sequenza Sequenza Istruzione 1 Istruzione 2 Istruzione 3 …..….. Istruzione N Condizionale o alternativa Condizionale o alternativa Se condizione Allora Istruzione 1 Altrimenti Istruzione 2 Fine se Ciclica o ripetizione Ciclica o ripetizioneRipeti istruzione / i Finchè condizione

41 Rappresentazione grafica Strutture di controllo

42 Istruzione 1 Istruzione N Istruzione 3 Istruzione 2 Struttura sequenziale Le istruzioni vengono eseguite Una di seguito allaltra, Secondo lordine del flow chart

43 Istruzione 1 Istruzione 2 Struttura condizionale/ alternativa Se la condizione è vera viene Eseguita istruzione 1 Se la condizione è falsa Viene eseguita istruzione 2 condizione

44 Istruzione/i Struttura ciclica / iterativa Esegue istruzione/i finchè la Condizione rimane falsa, per Condizione vera esce dal ciclo condizione F V

45 I linguaggi di programmazione È il linguaggio che viene utilizzato per tradurre lalgoritmo in una forma comprensibile allelaboratore È il linguaggio che viene utilizzato per tradurre lalgoritmo in una forma comprensibile allelaboratore Il risultato della traduzione è detta programma Il risultato della traduzione è detta programma

46 I moderni linguaggi di programmazione sono : I moderni linguaggi di programmazione sono : Tipo evoluto o ad alto livello Tipo evoluto o ad alto livello Utilizzano termini del linguaggio naturale Sono più vicini al problema Facilitano il lavoro del programmatore

47 Traduzione dei programmi Il testo di un programma scritto usando il linguaggio di programmazione e detto Il testo di un programma scritto usando il linguaggio di programmazione e detto Sorgente (deve essere tradotto nel linguaggio macchina) Sorgente (deve essere tradotto nel linguaggio macchina) La fase di traduzione viene fatta dal programma traduttore che genera una sequenza di istruzioni eseguibili La fase di traduzione viene fatta dal programma traduttore che genera una sequenza di istruzioni eseguibili

48 Tipi di traduzione Interpretazione Interpretazione compilazione compilazione

49 inteprete Si dice che un programma sorgente viene interpretato, quando : Si dice che un programma sorgente viene interpretato, quando : Il programma che prende il nome di INTERPRETE considera il testo sorgente istruzione per istruzione, le traduce mentre le esegue Il programma che prende il nome di INTERPRETE considera il testo sorgente istruzione per istruzione, le traduce mentre le esegue È consigliato usarlo solo in fase di progettazione È consigliato usarlo solo in fase di progettazione

50 compilazione Il programma traduttore è detto compilatore e trasforma lintero programma sorgente in linguaggio macchina, memorizzando in un file i risultati. Il programma traduttore è detto compilatore e trasforma lintero programma sorgente in linguaggio macchina, memorizzando in un file i risultati. un programma compilato una sola volta può essere eseguito, senza bisogno di altri interventi un programma compilato una sola volta può essere eseguito, senza bisogno di altri interventi Il risultato della compilazione si chiama programma oggetto Il risultato della compilazione si chiama programma oggetto

51 Fase di link Alla compilazione deve far seguito la fase di link = collegamento Alla compilazione deve far seguito la fase di link = collegamento Viene svolta da un programma apposito detto LINKER Viene svolta da un programma apposito detto LINKER Aggiunge al programma compilato i moduli del compilatore, che realizzano la le funzioni richieste dai vari comandi, e collega i dati presenti in M.C. Aggiunge al programma compilato i moduli del compilatore, che realizzano la le funzioni richieste dai vari comandi, e collega i dati presenti in M.C.

52 Testo del programma Analisi lessicale Analisi sintattica Programma Tradotto in Linguaggio Machina Programma oggetto Programma sorgente Controllo della correttezza Dei termini Controllo della corretta Dei costrutti dei termini Programma oggetto LINKING collegatore Programma Eseguibile Linking Programma eseguibile


Scaricare ppt "Le basi della programmazione. La programmazione Problemi algoritmi programma."

Presentazioni simili


Annunci Google