Le basi della programmazione

Slides:



Advertisements
Presentazioni simili
Informatica Generale Marzia Buscemi
Advertisements

Sistema operativo MS-DOS
Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Linguaggi algoritmici
Evoluzione dei linguaggi di programmazione
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
I linguaggi di programmazione
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Algoritmi e Programmazione
Fondamenti di Informatica
Fondamenti di Informatica
Sommario Gli algoritmi I linguaggi per la formalizzazione di algoritmi
Informatica Problema Algoritmo Programma
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Introduzione alla programmazione ll
Introduzione alla programmazione lll
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Unità Didattica 1 Algoritmi
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Gli algoritmi.
Problemi e algoritmi. I problemi È un quesito che attende una risposta detta soluzione Ma come trovare la soluzione? Spesso si ricorre a tentativi fino.
Elementi di Informatica
Elementi di Informatica
Da Problema a Programmazione
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lezione 6 Strutture di controllo Il condizionale
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Lo sviluppo del software e i linguaggi di programmazione
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 15 ISTRUZIONI
ECDL Patente europea del computer
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
Programmazione Strutturata
Programmazione imperativa
Dal problema all’ algoritmo
la traduzione dei programmi
Rappresentazione degli algoritmi
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Algoritmi.
Realizzazione software
Il software Claudia Raibulet
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
ALGORITMI Dal problema al programma Definizione di algoritmo
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Unità di apprendimento 6 Dal problema al programma.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Le basi della programmazione

Problemi algoritmi programma La programmazione Problemi algoritmi programma

È 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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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)

Rappresentazione degli algoritmi Grafici informali

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

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

Tipi di dati Variabili e costanti

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.

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

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

Nome variabile Contenuto variabile Aliquota_iva 20 Cella di memoria

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

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 -922337203685477,5808 +922337203685477,5807 + - * / MOD ^ Date 8 byte Data espressa con 8 caratteri e valori ora 1 gen 100 al 31 dic 9999

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

Ciclo di vita e visibilità variabili Ciclo di vita e visibilità

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

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

Programmazione strutturata Strutture di controllo

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

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

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

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)

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

Rappresentazione grafica Strutture di controllo

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

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

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

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

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

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

Tipi di traduzione Interpretazione compilazione

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

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

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.

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