La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Le basi della programmazione

Presentazioni simili


Presentazione sul tema: "Le basi della programmazione"— Transcript della presentazione:

1 Le basi della programmazione

2 Problemi algoritmi programma
La programmazione Problemi algoritmi programma

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

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

5 Il computer Esegue i passi definiti e studiati dall’uomo
L’uomo rimane l’elemento Centrale di tutte le attività

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

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

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

9 Dal problema al programma
Il computer diviene lo strumento per l’elaborazione dei dati Fasi di un processo : Immissione dati (input) Trattamento (elaborazione) Emissione (output)

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

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

12 Storia algoritmo Proviene dalla matematica
Indica regole o operazioni da compiere per fare calcoli o risolvere problemi 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 Altra definizione 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

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

15 Un algoritmo scritto in linguaggio Comprensibile al computer
L’uomo per comunicare usa il linguaggio naturale Un algoritmo scritto in linguaggio Comprensibile al computer Prende il nome di programma sorgente L’attività di traduzione Dell’algoritmo prende il nome di codice

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

17 Linguaggio di programmazione
È quel linguaggio che viene usato per tradurre l’algoritmo in una forma comprensibile all’elaboratore Il risultato di questa traduzione si chiama programma

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

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

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

21 Rappresentazione degli algoritmi
Grafici informali

22 Metodi grafici I passi dell’algoritmo sono rappresentati mediante simboli, associati a regole di interpretazione, rappresentano : Le istruzioni Il flusso dell’elaborazione seguito durante lo svolgimento Il metodo grafico più diffuso, è denominato diagramma a blocchi o di flusso dall’inglese 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 Si dice psedocodice l’insieme 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 dell’algoritmo Il valore di una variabile deve : essere memorizzato in una cella (contenitore) di memoria Individuarla attraverso un nome che la identifichi Definire il suo tipo, ciò permette di stabilire l’insieme di valori che può assumere e le operazioni che possono essere effettuate.

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

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

28 Nome variabile Contenuto variabile Aliquota_iva 20 Cella di memoria

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

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

31 Numeri in virgola mobile + - * / MOD integer 2 byte Numeri interi
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,402823E38 * / 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 Ciclo di vita e visibilità
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 Alcune hanno una durata pari all’intera applicazione Altre vengono create e distrutte diverse volte nel ciclo dell’applicazione

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

35 Programmazione strutturata
Strutture di controllo

36 Programmazione strutturata
algoritmo La stesura dell’algoritmo risolutivo di un problema è una fase molto delicata della programmazione Pertanto : È necessario stabilire un’insieme 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à 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 : la costruzione la lettura La manutenzione

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

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

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

41 Rappresentazione grafica
Strutture di controllo

42 Struttura sequenziale
Istruzione 1 Istruzione 2 Le istruzioni vengono eseguite Una di seguito all’altra, Secondo l’ordine del flow chart Istruzione 3 Istruzione N

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

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

45 I linguaggi di programmazione
È il linguaggio che viene utilizzato per tradurre l’algoritmo in una forma comprensibile all’elaboratore Il risultato della traduzione è detta programma

46 I moderni linguaggi di programmazione sono :
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 Sorgente (deve essere tradotto nel linguaggio macchina) La fase di traduzione viene fatta dal programma traduttore che genera una sequenza di istruzioni eseguibili

48 Tipi di traduzione Interpretazione compilazione

49 inteprete 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 È consigliato usarlo solo in fase di progettazione

50 compilazione Il programma traduttore è detto compilatore e trasforma l’intero 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 Il risultato della compilazione si chiama programma oggetto

51 Fase di link Alla compilazione deve far seguito la fase di link = collegamento 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.

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


Scaricare ppt "Le basi della programmazione"

Presentazioni simili


Annunci Google