ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

I Linguaggi di programmazione
Sistema operativo MS-DOS
Software di base: Linguaggi di Programmazione
1 Algoritmi, linguaggi, programmazione Di L. DAbramo Università dellAquila A.A
Analisi e progettazione
Linguaggi algoritmici
Evoluzione dei linguaggi di programmazione
Dal problema al programma
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
I linguaggi di programmazione
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Linguaggi di programmazione
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Dr. Francesco Fabozzi Corso di Informatica
Fondamenti di Informatica
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
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
L’indagine OCSE-PISA: il framework e i risultati per la matematica
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Linguaggi di Programmazione 1 docente: Maurizio Tucci Lezione 0.1 Concetti di Base.
Modelli simulativi per le Scienze Cognitive
Unità Didattica 2 I Linguaggi di Programmazione
Progettazione di una base di dati
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Elementi di Informatica
Da Problema a Programmazione
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
L’ingegneria del software
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
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
ECDL Patente europea del computer
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
Informatica e Algoritmi
Gli Algoritmi L’algoritmo è un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si.
Dal problema all’ algoritmo
la traduzione dei programmi
Rappresentazione degli algoritmi
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
Algoritmi.
Interpreti e compilatori
Concetti Fondamentali sulla Programmazione
1 Macchine astratte, linguaggi, interpretazione, compilazione.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
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
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
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.
Unità di apprendimento 6
© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche

Algoritmi, linguaggi e programmi Algoritmi Formalismi di codifica Linguaggi di programmazione Evoluzione e tipologia Ciclo di vita del software Università degli Studi di Udine

Algoritmi Il termine algoritmo è generalmente usato come sinonimo di: procedura effettiva procedura effettiva procedimento di calcolo procedimento di calcolo metodo di risoluzione di un problema metodo di risoluzione di un problema insieme di regole per eseguire una data operazione insieme di regole per eseguire una data operazione Università degli Studi di Udine

Algoritmi Più precisamente un algoritmo è una procedura generale, finita, non ambigua ed eseguibile che lavora su dati d’ingresso fornendo alcuni dati in uscita. Università degli Studi di Udine

Algoritmi Generale: il metodo deve risolvere una classe di problemi e non una singola istanza. Università degli Studi di Udine

Algoritmi Finita: il numero di istruzioni elementari da eseguire non può essere infinito. Università degli Studi di Udine

Algoritmi Non ambigua: ogni istruzione deve essere definita in modo preciso ed univoco, senza alcuna ambiguità sul significato dell’operazione. Università degli Studi di Udine

Algoritmi Eseguibile: deve esistere un agente di calcolo in grado di eseguire ogni istruzione in un tempo finito. Università degli Studi di Udine

Algoritmi Un algoritmo può essere: deterministico deterministico non deterministico non deterministico probabilistico probabilistico Università degli Studi di Udine

Algoritmi Si dirà deterministico se per ogni istruzione esiste al più un passo successivo. In pratica esiste una e una sola computazione possibile dell’algoritmo. Università degli Studi di Udine

Algoritmi Un algoritmo sarà non deterministico se contiene almeno una istruzione che ammette più passi successivi che possono essere scelti indifferentemente. Università degli Studi di Udine

Algoritmi L’algoritmo si dirà probabilistico se esiste almeno un passo che ammette più passi successivi scelti in base ad una legge di distribuzione della probabilità. Università degli Studi di Udine

Algoritmi Un algoritmo si dirà corretto se perviene alla soluzione del compito cui è preposto. Verrà detto efficiente se consente di raggiungere tale soluzione nel modo più breve possibile. Università degli Studi di Udine

Algoritmi Il concetto di algoritmo non è strettamente legato al mondo informatico e si è evoluto partendo dalla logica. Università degli Studi di Udine

Algoritmi, linguaggi e programmi Algoritmi Formalismi di codifica Linguaggi di programmazione Evoluzione e tipologia Ciclo di vita del software Università degli Studi di Udine

Formalismi di codifica Per fare in modo che le singole istruzioni siano ben definite, sono stati studiati dei formalismi di codifica che cercano di mediare tra il linguaggio comune e il linguaggio matematico. Università degli Studi di Udine

Formalismi di codifica Tra quelli più matematici, basati su grafi (macchina di Turing) e quelli derivanti dalla formalizzazione del linguaggio normale si è diffusa anche una forma grafica detta diagramma di flusso. Università degli Studi di Udine

Formalismi di codifica I diagrammi di flusso sono costituiti da tre tipi diversi di strutture di istruzioni: struttura sequenziale struttura sequenziale struttura di selezione struttura di selezione struttura di ripetizione struttura di ripetizione Università degli Studi di Udine

Formalismi di codifica Qualsiasi algoritmo può essere rappresentato da un diagramma di flusso derivante dalla connessione di un numero finito di strutture elementari. Università degli Studi di Udine

Formalismi di codifica Nella struttura di sequenza le istruzioni vengono eseguite una dietro all’altra. Università degli Studi di Udine

Formalismi di codifica Nella struttura di selezione sono possibili due strade legate ad una condizione: Università degli Studi di Udine

Formalismi di codifica La struttura di ripetizione permette un ciclo condizionato: Università degli Studi di Udine

Formalismi di codifica Altro formalismo di codifica, più legato al linguaggio naturale scritto, è la pseudocodifica (pseudocode) Università degli Studi di Udine

Formalismi di codifica Nella pseudocodifica viene adottata anche l’identazione, una tecnica che prevede il rientro dei gruppi di istruzioni riferite a cicli o a strutture di scelta. Università degli Studi di Udine

Formalismi di codifica Il passaggio dalla pseudocodifica al programma vero e proprio è molto semplice, mentre il diagramma di flusso rende più chiaro il percorso dei dati. Università degli Studi di Udine

Algoritmi, linguaggi e programmi Algoritmi Formalismi di codifica Linguaggi di programmazione Evoluzione e tipologia Ciclo di vita del software Università degli Studi di Udine

Linguaggi di programmazione L’elaboratore elettronico è in grado di eseguire solo programmi che utilizzino il suo set di istruzioni base. In pratica, riesce ad interpretare solo quello che viene chiamato linguaggio macchina. Università degli Studi di Udine

Linguaggi di programmazione I linguaggi di preparazione consentono di redigere i programmi con istruzioni fornite in modo più congeniale all’uomo. Università degli Studi di Udine

Linguaggi di programmazione Inoltre, i linguaggi di programmazione effettuano la traduzione dal linguaggio di alto livello al linguaggio macchina. Università degli Studi di Udine

Linguaggi di programmazione Ogni linguaggio si basa su di una serie di parole chiave articolate in sequenze particolari che vengono riconosciute dal linguaggio solo se “ben formate”. Università degli Studi di Udine

Linguaggi di programmazione Per utilizzare un linguaggio di programmazione bisogna conoscere la sua sintassi, la sua grammatica e la sua semantica. Università degli Studi di Udine

Linguaggi di programmazione Esistono linguaggi di basso livello, che somigliano al linguaggio macchina (Assembler) e linguaggi di alto livello che si avvicinano al linguaggio normale. Università degli Studi di Udine

Algoritmi, linguaggi e programmi Algoritmi Formalismi di codifica Linguaggi di programmazione Evoluzione e tipologia Ciclo di vita del software Università degli Studi di Udine

Evoluzione e tipologia Il primo linguaggio ad alto livello è stato il FORTRAN (FORmula TRANslator) usato principalmente per scopi scientifici e ingegneristici e sviluppato alla fine degli anni Cinquanta. Università degli Studi di Udine

Evoluzione e tipologia Altri linguaggi molto usati furono il COBOL, il LISP, il Pascal, il Prolog, il C e l’ADA, sviluppati dal ‘60 alla fine degli anni ‘70. Università degli Studi di Udine

Evoluzione e tipologia Ultimamente si sono sviluppati altri linguaggi, quali C++ (‘85) e il più famoso Java (‘94). Ovviamente ulteriori linguaggi verranno creati in futuro per sfruttare le nuove tecnologie. Università degli Studi di Udine

Evoluzione e tipologia I linguaggi più studiati a livello didattico sono il Pascal e il C (nelle loro forme standard) per il loro uso coerente della programmazione strutturata. Università degli Studi di Udine

Evoluzione e tipologia I linguaggi di programmazione si dividono in: linguaggi interpretati linguaggi interpretati linguaggi compilati linguaggi compilati Università degli Studi di Udine

Evoluzione e tipologia Nei linguaggi interpretati, ad ogni esecuzione del programma viene effettuata la traduzione in linguaggio macchina. Università degli Studi di Udine

Evoluzione e tipologia I linguaggi compilati sono, invece, dotati di un compilatore che traduce, una volta per tutte, il programma trasformandolo in programma oggetto. Università degli Studi di Udine

Evoluzione e tipologia Vanno ora diffondendosi i linguaggi ad oggetti e la conseguente programmazione orientata agli oggetti, che consentono un più efficace stile di programmazione. Università degli Studi di Udine

Evoluzione e tipologia Esempi tipici di programmazione ad oggetti sono ottenibili attraverso C++ o Java. Essi associano anche strumenti visuali di programmazione. Università degli Studi di Udine

Algoritmi, linguaggi e programmi Algoritmi Formalismi di codifica Linguaggi di programmazione Evoluzione e tipologia Ciclo di vita del software Università degli Studi di Udine

Ciclo di vita del software La costruzione dei prodotti informatici non è un procedimento casuale, ma costituisce quello che viene definito il ciclo di vita del software. Università degli Studi di Udine

Ciclo di vita del software Tale ciclo parte dalla nascita del programma e termina con la sua definitiva eliminazione dal sistema. Università degli Studi di Udine

Ciclo di vita del software Vengono individuate sette fasi fondamentali: lo studio di fattibilità lo studio di fattibilità l’analisi e la specifica dei requisiti l’analisi e la specifica dei requisiti il progetto dell’architettura del sistema il progetto dell’architettura del sistema la realizzazione dei singoli moduli la realizzazione dei singoli moduli l’integrazione del sistema l’integrazione del sistema l’installazione l’installazione la manutenzione. la manutenzione. Università degli Studi di Udine

Ciclo di vita del software Nello studio di fattibilità si stimano i possibili costi di sviluppo derivanti dalla realizzazione del prodotto e si comparano con i benefici ricavabili. Università degli Studi di Udine

Ciclo di vita del software Nella seconda fase vengono esplicitate le proprietà richieste al programma e specificati gli obiettivi che si vogliono conseguire, fino a portare alla formalizzazione delle funzioni e delle strutture dati che risolvono il problema. Università degli Studi di Udine

Ciclo di vita del software Il progetto dell’architettura del sistema prevede la scomposizione del problema generale in problemi più semplici detti moduli. Università degli Studi di Udine

Ciclo di vita del software Vengono, quindi, realizzati separatamente, tramite un qualsiasi linguaggio, i vari moduli ed ogni singola componente è controllata e verificata per garantire le specifiche richieste. Università degli Studi di Udine

Ciclo di vita del software Nella fase di integrazione le singole sottoparti vengono assemblate ottenendo il programma completo Università degli Studi di Udine

Ciclo di vita del software La fase di verifica dell’intero sistema si esplicita tramite alcuni controlli effettuati dal produttore (alfa-test) e, in seguito, da terze parti (beta-test). Università degli Studi di Udine

Ciclo di vita del software L’installazione è la fase in cui il sistema viene messo in opera, effettuando l’operazione di trasporto del programma dall’ambiente di sviluppo del produttore all’ambiente di utilizzazione del cliente. Università degli Studi di Udine

Ciclo di vita del software Dalla consegna del programma fino alla definitiva disinstallazione, vi è una lunga fase che prende il nome di manutenzione. Università degli Studi di Udine