Unità di apprendimento 6

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Il Software.
Analisi e progettazione
Scomposizione funzionale
Linguaggi algoritmici
Costruzione di un semplice programma che opererà su uno smartphone
Evoluzione dei linguaggi di programmazione
Procedure e funzioni A. Ferrari.
Dal problema al programma
I linguaggi di programmazione
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Il computer ragiona? Problemi e algoritmi.
1 Le competenze di base dell'asse matematico Utilizzare le tecniche e le procedure del calcolo aritmetico ed algebrico, rappresentandole anche sotto forma.
Informatica Problema Algoritmo Programma
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
La forma normale di un’equazione di secondo grado è la seguente:
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 l
L’indagine OCSE-PISA: il framework e i risultati per la matematica
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Unità Didattica 2 I Linguaggi di Programmazione
Fondamenti di Informatica Algoritmi
Progettazione di una base di dati
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
Da Problema a Programmazione
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Le basi della programmazione
Un esempio: Calcolo della potenza n-esima di un numero reale
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
ECDL Patente europea del computer
1 Nuovo Obbligo Scolastico: Gli Assi Culturali. 2 Asse dei Linguaggi Asse Matematico Asse Scientifico-Tecnologico Asse Storico Sociale.
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
IO E LA MATEMATICA PROCEDURALE
COME RAGIONA UN COMPUTER
Dal problema all’ algoritmo
la traduzione dei programmi
Rappresentazione degli algoritmi
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Algoritmi.
Concetti Fondamentali sulla Programmazione
Realizzazione software
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Il software Claudia Raibulet
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Dal problema al programma
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.
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
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.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Unità di apprendimento 6 Dal problema al programma

Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi

In questa lezione impareremo: cos’è un problema come affrontarlo come descrivere l’algoritmo risolutivo utilizzando i diagrammi a blocchi

Il calcolatore, i problemi, i programmi e i linguaggi di programmazione Il PC è una macchina complessa in grado di eseguire milioni di istruzioni al secondo. L’insieme di queste istruzioni prende il nome di programma. Ogni singola istruzione deve essere scritta secondo rigorose regole (sintassi) affinché l’elaboratore possa comprenderla correttamente

Il calcolatore, i problemi, i programmi e i linguaggi di programmazione Il programma viene scritto in un linguaggio di programmazione costituito da un insieme di regole sintattiche. Queste regole forniscono al calcolatore le istruzioni necessarie per portare a termine un determinato compito. Il linguaggio di programmazione usato dal programmatore è noto anche come linguaggio ad alto livello.

Il calcolatore, i problemi, i programmi e i linguaggi di programmazione E’ molto lontano dal codice binario linguaggio a basso livello, cioè dal formato dei comandi che un PC è in grado di eseguire. Affinché l’elaboratore sia in grado di comprenderlo, è necessario che venga effettuata una traduzione da un linguaggio all’altro.

Il calcolatore, i problemi, i programmi e i linguaggi di programmazione Questa operazione viene eseguita da particolari programmi, detti compilatori o traduttori. Sono programmi che trasformano il codice sorgente, scritto dal programmatore, in codice macchina, eseguibile dal calcolatore.

I problemi e la loro soluzione Alla base della scrittura di un programma c’è l’esigenza di risolvere un problema. La definizione di problema è la seguente: “Situazione difficile che si deve affrontare e risolvere e che presenta soluzioni alternative”. Per essere risolto, un problema deve essere innanzitutto compreso. La comprensione passa attraverso una fase di analisi, detta “studio della situazione reale” o, appunto, “fase di analisi”.

I problemi e la loro soluzione Sia nei problemi molto semplici fino a problemi complessi è sempre la fase di analisi e di comprensione che ci consente di giungere alla soluzione. Soltanto quando il problema è stato analizzato e compreso e se ne è trovata la soluzione il programmatore può passare alla scrittura del programma vero e proprio.

I problemi e la loro soluzione La comprensione passa attraverso lo “studio della situazione reale”: la fase di analisi. Si parte quindi dal problema per arrivare al programma individuando la soluzione: questo è il principale compito del programmatore

I problemi e la loro soluzione Il programmatore: dapprima si pone una serie di domande necessarie proprio per avere gli elementi della conoscenza del problema; successivamente può iniziare il lavoro di progetto per l’“individuazione di un algoritmo” risolutivo.

I problemi e la loro soluzione Il primo passo è quello di capire che cosa si deve risolvere. Quindi occorre ricercare la soluzione individuando come risolvere il problema (individuazione della strategia risolutiva).

Analisi e comprensione del problema L’analisi consiste nell’affrontare in modo sistematico il problema, studiando i vari aspetti della sua formulazione. Occorre preliminarmente delimitare con precisione l’area di interesse, ricordando che più ampia è la portata del problema da risolvere, maggiori diventano le complessità da affrontare sul piano concettuale, progettistico e operativo.

Analisi e comprensione del problema Per una corretta comprensione del problema è necessario: evidenziare reali obiettivi del problema; le regole; i dati espliciti e impliciti; eliminare i dettagli inutili e ambigui.

Astrazione, modellizzazione e definizione della strategia Per agevolare le operazioni di comprensione del problema il programmatore utilizza due strumenti fondamentali: l’astrazione la creazione del modello

Astrazione, modellizzazione e definizione della strategia L’astrazione è il primo importante strumento di lavoro nella fase di progettazione di un programma. Con l’astrazione il problema viene semplificato, ne vengono individuate le caratteristiche principali e contemporaneamente viene “scollegato dalla sua natura fisica” mediante il processo di modellizzazione.

Astrazione, modellizzazione e definizione della strategia Il modello è una rappresentazione del problema sotto una forma diversa da quella fisica. A seconda del progettista o delle esigenze e dell’ambito in cui si opera, è possibile che uno stesso problema possa essere associato a: un modello grafico un modello tabellare un modello simbolico

Astrazione, modellizzazione e definizione della strategia I modelli rappresentano lo strumento attraverso il quale viene concretizzato il concetto di astrazione fornendo la base del processo di risoluzione del problema. Il processo di ricerca della soluzione applica su tale modello un insieme di conoscenze e la soggettiva capacità di utilizzarle per elaborare una strategia risolutiva.

Astrazione, modellizzazione e definizione della strategia La ricerca può essere svolta in direzioni diverse: esistono tecniche che, partendo dai dati iniziali, cercano di arrivare alla soluzione applicando delle regole o degli operatori (metodi diretti); tecniche che partendo dalle possibili soluzioni, applicando opportuni operatori, cercano di ottenere i dati di partenza (metodi inversi).

Astrazione, modellizzazione e definizione della strategia I metodi si basano su: l’utilizzo dell’esperienza passata: somiglianza con altri problemi noti; analogia con altri problemi risolti; la scomposizione dei problemi in sottoproblemi; la conoscenza dell’argomento; il procedimento per tentativi.

Astrazione, modellizzazione e definizione della strategia gli strumenti a disposizione del progettista sono molteplici; ogni strumento deve sempre essere integrato e confrontato con l’esperienza e le abilità creative proprie del progettista per riuscire a dare vita alla soluzione del problema.

Astrazione, modellizzazione e definizione della strategia Tra gli strumenti ricordiamo: le conoscenze di matematica e algebra; l’intuito; la logica e il ragionamento deduttivo/induttivo; la fantasia e l’ingegno.

I problemi e la loro soluzione Una volta individuata la strategia risolutiva si scrivono le singole istruzioni da compiere, una dopo l’altra. L’insieme delle operazioni che permettono di risolvere un problema prende il nome di algoritmo. Il termine algoritmo deriva dal nome del matematico arabo Al Khwarismi.

L’algoritmo Al Khwarismi è ritenuto l’ideatore del procedimento che consente di effettuare il calcolo della moltiplicazione tra due numeri mediante la disposizione a cifre incolonnate E’ il procedimento che usiamo ancora oggi.

L’algoritmo L’algoritmo è un insieme di azioni elementari che consentono di risolvere un problema trasformando i dati iniziali del problema stesso nel risultato, cioè nell’insieme dei dati finali che rappresentano la soluzione. L’algoritmo è quindi una sequenza ordinata di passi semplici che hanno lo scopo di portare a termine un compito complesso

L’algoritmo L’algoritmo deve avere le seguenti caratteristiche: deve essere generale, cioè risolvere un insieme di problemi; opera su dati in ingresso producendo un risultato in uscita; le istruzioni sono ordinate e in numero finito; le istruzioni sono chiare e interpretate in modo univoco da chi le esegue; il risultato viene prodotto in un tempo finito; ogni volta che viene eseguito con gli stessi dati produce gli stessi risultati.

L’algoritmo Durante la fase di progetto vengono usate due modalità per descrivere gli algoritmi: il diagramma a blocchi (o flow chart) il linguaggio di progetto (o pseudocodifica)

Dall’algoritmo al codice macchina L’algoritmo codificato in pseudocodifica è ancora molto lontano dal programma che viene eseguito dal calcolatore. Il microprocessore è in grado di utilizzare solo il codice binario (distinguere 0 da 1). Può eseguire solo un codice rappresentato con zero e uno, che si chiama codice macchina.

Dall’algoritmo al codice macchina È possibile scrivere un programma direttamente in codice macchina. Si utilizza un linguaggio specifica, il linguaggio assemblativo. Codificare programmi in questo linguaggio è molto complesso dato che mette a disposizione del programmatore poche istruzioni e di basso livello.

Dall’algoritmo al codice macchina Esempio di codice eseguibile scritto in linguaggio macchina con a fianco il segmento di codice scritto in linguaggio assemblativo (anche detto assembly).

Dall’algoritmo al codice macchina E’ percorribile un’altra strada per arrivare al codice macchina: scrivere l’algoritmo in un linguaggio di programmazione di alto livello; mediante uno specifico programma, il compilatore, tradurre automaticamente il “programma sorgente” scritto ad alto livello in linguaggio macchina.

Dall’algoritmo al codice macchina Si traduce l’algoritmo in linguaggio di programmazione ad alto livello. Questo è un linguaggio formale, rigoroso, composto da un insieme di regole lessicali e sintattiche molto ridotte e schematizzate in numero. Devono essere sufficienti per poter descrivere in modo non ambiguo le istruzioni che il calcolatore deve eseguire.

Dall’algoritmo al codice macchina Esistono molteplici linguaggi di programmazione, diversi tra loro per: metodologia e filosofia adottata (paradigma); complessità e numero di istruzioni; settore e ambito di applicazione.

Dall’algoritmo al codice macchina Tra tutti ricordiamo solamente: il linguaggio Pascal, elaborato nel 1968 dal professor Wirth del Politecnico di Zurigo, che è tutt’oggi il linguaggio più diffuso e utilizzato per affrontare lo studio della programmazione; il linguaggio C, messo a punto da Dennis Ritchie per implementare i primi sistemi operativi negli anni Settanta, che è il linguaggio di riferimento sia per i programmatori “più esperti”.

Dall’algoritmo al codice macchina Schema riassuntivo di comparazione tra linguaggi

ABBIAMO IMPARATO CHE...