Informatica 3. LEZIONE 0: Panoramica dei linguaggi di programmazione. Politecnico di Milano - Prof. Sara Comai 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Informatica 3. LEZIONE 0: Panoramica dei linguaggi di programmazione. Politecnico di Milano - Prof. Sara Comai 1"

Transcript

1 Informatica 3 LEZIONE 0: Panoramica dei linguaggi di Politecnico di Milano - Prof. Sara Comai 1

2 Linguaggi di Un linguaggio di è una notazione formale caratterizzata da due componenti: Sintassi: insieme di regole formali che specificano la composizione di programmi Per determinare se un programma è valido Semantica: insieme di regole che specificano il significato di un programma sintatticamente valido Notazioni formali Semantica operazionale: comportamento di un processore astratto che esegue il programma scritto nel linguaggio di Politecnico di Milano - Prof. Sara Comai 2

3 Sintassi di un linguaggio Sintassi: regole che definiscono le sequenze valide di simboli Frasi come sequenze di parole Parole: definite su un alfabeto Regole lessicali: insieme di caratteri che costituiscono l alfabeto del linguaggio Esempi: Caratteri maiuscoli e minuscoli differiscono in C/C++ ma sono identici in Pascal L operatore diverso è:!= in C/C++ e /= in Ada Politecnico di Milano - Prof. Sara Comai 3

4 EBNF regole sintattiche non terminale terminale EBNF=Extended Backus Naur Form Metalinguaggio con metasimboli ::= < > * + Regole sintattiche: <programma> ::= { <istruzione>* } non terminale definito da regole lessicali <istruzione> ::= <assegnamento> <condizione> <ciclo> <assegnamento> ::= <identificatore> = <espr> ; <condizione> ::= if <espr> { <istruzione> + } if <espr> { <istruzione> + } else { <istruzione> + } <ciclo> ::= while <espr> { <istruzione> + } <espr> ::= <identificatore> <numero> ( <espr> ) <espr> <operatore> <espr> Politecnico di Milano - Prof. Sara Comai 4

5 EBNF regole lessicali Regole lessicali: <operatore> ::= + - * / = /= < > <= >= <identificatore> ::= <lettera> <ld>* <ld> ::= <lettera> <cifra> <numero> ::= <cifra>+ <lettera> ::= a b c... z <cifra> ::= Politecnico di Milano - Prof. Sara Comai 5

6 Diagrammi sintattici programma { } istruzione istruzione assegnamento condizione ciclo assegnamento identificatore = espressione Politecnico di Milano - Prof. Sara Comai 6

7 Diagrammi sintattici condizione if espressione { istruzione } else { istruzione } ciclo while espressione { istruzione } espressione espressione operatore espressione identificatore numero { espressione } Politecnico di Milano - Prof. Sara Comai 7

8 Linguaggi e metodi di progettazione Esempi di metodi di progettazione: top-down: scomposizione del sistema in moduli orientata agli oggetti: scomposizione del sistema in classi di oggetti... Linguaggi diversi supportano metodi di progettazione diversi lo stile di indotto dal linguaggio prende il nome di PARADIGMA DI PROGRAMMAZIONE Politecnico di Milano - Prof. Sara Comai 8

9 Paradigmi dei linguaggi Programmazione procedurale programmi decomposti in passi di computazione unità di modularizzazione: procedure Programmazione funzionale computazione di valori attraverso espressioni e funzioni elementi di base: funzioni Programmazione basata su tipi di dati astratti unità di modularizzazione: tipo di dato astratto (ADT) Programmazione basata su moduli unità di modularizzazione: gruppo di entità (variabili, procedure, funzioni, tipi) Politecnico di Milano - Prof. Sara Comai 9

10 Paradigmi dei linguaggi Programmazione orientata agli oggetti unità di modularizzazione: classi (organizzate in gerarchie) moduli istanziati a tempo di esecuzione Programmazione generica moduli generici che si possono istanziare a tempo di compilazione o esecuzione Programmazione dichiarativa descrizione dichiarativa del problema (specifica) Politecnico di Milano - Prof. Sara Comai 10

11 Linguaggi e architettura del calcolatore Architettura di von Neumann I/O Memoria CPU fetch execute store Linguaggi di von Neumann (o imperativi o basati su stati o basati su istruzioni): astrazione della macchina di von Neumann esecuzione sequenziale delle istruzioni che modifica lo stato della computazione (variabili) Politecnico di Milano - Prof. Sara Comai 11

12 Paradigmi dei linguaggi Linguaggi di Linguaggi di Von Neumann (Procedurali, operazionali,...) Linguaggi non di Von Neumann Linguaggi funzionali (LISP, ML) Linguaggi logici (PROLOG) Politecnico di Milano - Prof. Sara Comai 12

13 Storia dei linguaggi di ca. primo programma di Ada Lovelace (Augusta Ada Byron) 1945 Plankalkül di Konrad Zuse Svizzera (mai utilizzato per programmare) Assembler - rappresentazione simbolica del linguaggio macchina istruzione di salto condizionato Politecnico di Milano - Prof. Sara Comai 13

14 Storia dei linguaggi di Primi linguaggi ad alto livello 1955 FORTRAN - Formula Translation (o Translator) - di John Backus: (applicazioni scientifiche) compilazione separata di sottoprogrammi, formule 1960 ALGOL 60 - ALGOrithmic Language comitato USA- Europa: (applicazioni scientifiche) struttura a blocchi, ricorsione (stack del record di attivazione), strutture dat Usato per la rappresentazione di algorimtmi Dijkstra: primo compilatore per ALGOL COBOL - COmmon Business Oriented Language comitato Codasyl: (applicazioni orientate ai dati) file, I/O Politecnico di Milano - Prof. Sara Comai 14

15 Storia dei linguaggi di Altri linguaggi non convenzionali: non efficienti ma adatti in aree di applicazione particolari 1958 LISP, John McCarthy: (applicazioni IA) un unica struttura dati (lista), operazioni semplici, codice/dati uniformi (liste) 1962 APL: (prototipazione rapida) array, molte operazioni 1962 SNOBOL4: (manipolazione testi) stringhe, pattern matching Politecnico di Milano - Prof. Sara Comai 15

16 Storia dei linguaggi di BASIC (Beginner's All purpose Symbolic Instruction Code): interattività WG-Basic, Visual Basic SIMULA 67: simulazione, esecuzione parallela molto semplice, primo concetto di classe (routine + strutture dati) Smalltalk, C++ ALGOL 68, Adriaan van Wijngaarden: ortogonalità di concetti, specifica formale (applicazioni accademiche grammatica a due livelli) 1968 Forth (Fourth linguaggio di quarta generazione): basato su 2 stack (procedure e dati), interattivo, comando= word senza passaggio esplicito di parametri (stack), modulare 1970 PASCAL, Niklaus Wirth: strutturata, programma con sezioni ben definite, record, puntatori, allocazione dinamica Turbo Pascal, Delphi Politecnico di Milano - Prof. Sara Comai 16

17 Storia dei linguaggi di Linguaggio C, Ritchie linguaggio di medio livello, efficiente C++, Java, C# Sperimentazione con nuovi paradigmi Linguaggi orientati agli oggetti: 1972 Smalltalk - Xerox Parc Linguaggi logici: 1973 PROLOG (PROgramming in LOGic), basato sul calcolo dei predicati (clausole di Horn) Concorrenza e modularità: Mesa, Modula-2 (1980) Politecnico di Milano - Prof. Sara Comai 17

18 Storia dei linguaggi di Linguaggi funzionali: ML (MetaLinguaggio ), Miranda Linguaggi orientati agli oggetti: 1983 Ada 1986 C++, Bjarne Stroustroup Bell Labs, standardizzato nel 1998; generica, template 1986 Eiffel Politecnico di Milano - Prof. Sara Comai 18

19 Storia dei linguaggi di Interfacce visuali: 1991 Visual Basic, Microsoft (orientato agli eventi) VBScript, VB.net Parallelismo: FORTRAN 90 Linguaggi per sistemi esperti: CLIPS, OPS5 Linguaggi di script: Tcl/tk (GUI ), Perl (1987), Python (multi-paradigma ) Programmazione di rete: Java (1995, Sun Microsystems) Politecnico di Milano - Prof. Sara Comai 19

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai

Dettagli

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Dettagli

Informatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione

Informatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione Informatica 3 Informatica 3 LEZIONE 2: Sintassi e semantica Lezione 2- Modulo 1 Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4:

Dettagli

Informatica 3. LEZIONE 2: Sintassi e semantica

Informatica 3. LEZIONE 2: Sintassi e semantica Informatica 3 LEZIONE 2: Sintassi e semantica Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4: Routine Convenzioni dei nomi Informatica

Dettagli

Introduzione all OOP!

Introduzione all OOP! Introduzione all OOP! Introdurre l evoluzione dei linguaggi di programmazione e la loro classificazione Introdurre l OOP (astrazione, incapsulamento, ereditarietà) Dal C a Java un primo esempio 1 LINGUAGGI

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2

Dettagli

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Un po di storia sui linguaggi

Un po di storia sui linguaggi LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione!paradigmi linguistici, costrutti!semantica!implementazione, strutture a tempo di esecuzione 1 Linguaggi di programmazione e astrazione! i linguaggi di programmazione ad alto

Dettagli

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Linguaggi di programmazione. Paradigmi di programmazione

Linguaggi di programmazione. Paradigmi di programmazione Linguaggi di programmazione Paradigmi di programmazione Linguaggi: un po di storia Albori: Macchine a programma memorizzato, Programmi come dati Linguaggio Macchina Assemblatore FORTRAN (calcolo scientifico)

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione I linguaggi di programmazione sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione Sono definiti da un insieme di

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione I linguaggi di programmazione sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione Sono definiti da un insieme di

Dettagli

Linguaggi di Programmazione I Lezione 1

Linguaggi di Programmazione I Lezione 1 Linguaggi di Programmazione I Lezione 1 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 4 marzo 2008 Introduzione al corso 3 Obbiettivi..............................................................

Dettagli

Un po di storia sui linguaggi

Un po di storia sui linguaggi LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI Giacomo Piscitelli pag. 1/10 Dall Algoritmo al Programma Metodo risolutivo problema algoritmo Linguaggio programma Individuazione di un metodo risolutivo

Dettagli

I Linguaggi di Programmazione

I Linguaggi di Programmazione I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Prof.Claudio Maccherani 1995

Prof.Claudio Maccherani 1995 I.T.C. "V.Emanuele II" - Perugia Prof.Claudio Maccherani 1995 2004 / 05 INDICE LINGUAGGI di PROGRAMMAZIONE...1 TRADUTTORI...1 INTERPRETE...2 COMPILATORE (e LINK)...3 ASSEMBLATORE...4 Confronto tra Assembler

Dettagli

Programmazione I. Linguaggi di programmazione. Traduzione. Fabrizio Messina

Programmazione I. Linguaggi di programmazione. Traduzione. Fabrizio Messina Programmazione I di programmazione Traduzione Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina di programmazione I linguaggi di programmazione sono classificati in tre livelli: linguaggi

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp.

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp. LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Cobol Basic Pascal Python Modula-2

Dettagli

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è un programma. Informatica di Base -- R.Gaeta 18 Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

SOFTWARE. Interattività

SOFTWARE. Interattività Università di Roma Tor Vergata Anno Accademico 2016 2017 SOFTWARE Interattività uomo macchina Interattività 2 2 1 1 2 SOFTWARE Hardware equivale ad una macchina senza autista, è il corpo fisico del sistema.

Dettagli

Programmazione II. Lezione 1. Daniele Sgandurra 19/10/2010.

Programmazione II. Lezione 1. Daniele Sgandurra 19/10/2010. Programmazione II Lezione 1 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 19/10/2010 1/39 Programmazione II Lezione 1 19/10/2010 Sommario 1 Introduzione Struttura del Corso Obiettivi Info 2 Cenni Storici

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione 2. I linguaggi di I linguaggi di I linguaggi di I linguaggi di sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione

Dettagli

Concetti Introduttivi

Concetti Introduttivi Concetti Introduttivi Linguaggi di Programmazione http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Linguaggi di Programmazione Impartiscono

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

È una notazione con cui è possibile descrivere gli algoritmi.

È una notazione con cui è possibile descrivere gli algoritmi. Linguaggi di programmazione È una notazione con cui è possibile descrivere gli algoritmi. Programma È la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

Introduzione allo Studio dei Linguaggi di Programmazione. Corso di Linguaggi di Programmazione Informatica e Tecnologie Produzione Software

Introduzione allo Studio dei Linguaggi di Programmazione. Corso di Linguaggi di Programmazione Informatica e Tecnologie Produzione Software Introduzione allo Studio dei Linguaggi di Programmazione Corso di Linguaggi di Programmazione Informatica e Tecnologie Produzione Software Argomenti 2 Studiare i Linguaggi di Programmazione Domini Applicativi

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo

Dettagli

Strutture dati nel supporto a run time

Strutture dati nel supporto a run time Strutture dati nel supporto a run time 1 Entità presenti quando un programma va in esecuzione programmi d utente (compilati) routines del supporto interprete I/O, librerie, routines per la gestione delle

Dettagli

ASTRAZIONE. Sono indipendenti dalla macchina hardware sottostante ASTRAZIONE 1

ASTRAZIONE. Sono indipendenti dalla macchina hardware sottostante ASTRAZIONE 1 ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica

Dettagli

programmazione A.A Elementi di Informatica ( Lezione VI ) Linguaggi di programmazione Prof. Giovanni Gallo Dr.

programmazione A.A Elementi di Informatica ( Lezione VI ) Linguaggi di programmazione Prof. Giovanni Gallo Dr. Programmazione A.A. 2002-03 I Elementi di Informatica ( Lezione VI ) Linguaggi di programmazione Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania

Dettagli

1: Linguaggi di Programmazione

1: Linguaggi di Programmazione 1: Linguaggi di Programmazione paradigmi linguistici, costrutti semantica operazionale implementazione, strutture a tempo di esecuzione testi di consultazione T.W. Pratt & M.V. Zelkowitz, Programming languages.

Dettagli

1: Linguaggi di Programmazione

1: Linguaggi di Programmazione 1: Linguaggi di Programmazione paradigmi linguistici, costrutti semantica operazionale implementazione, strutture a tempo di esecuzione testi di consultazione T.W. Pratt & M.V. Zelkowitz, Programming languages.

Dettagli

Fondamenti di Informatica modulo B

Fondamenti di Informatica modulo B Università degli Studi di Ferrara Dipartimento di Ingegneria Fondamenti di Informatica modulo B Corso di Laurea triennale in Ingegneria Elettronica e Informatica Prof. Evelina Lamma Anno Accademico 2012/13

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio Messaggio Insieme di sequenze di simboli, le parole,

Dettagli

Linguaggi di Programmazione I Lezione 1

Linguaggi di Programmazione I Lezione 1 Linguaggi di Programmazione I Lezione 1 Prof. P. A. Bonatti mailto://bonatti@na.infn.it http://people.na.infn.it/ bonatti Si ringrazia il Prof. Marcello Sette per il materiale didattico 6 marzo 2012 LP1

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 28 Linguaggi 2 / 28 Linguaggi 3 / 28 Linguaggi di alto livello Si basano su una macchina

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Limiti del linguaggio assembler Esempio: gestione

Dettagli

SOFTWARE. Interattività

SOFTWARE. Interattività SOFTWARE Attività logico-matematiche che permettono ad in sistema informatico di elaborare le informazioni Interattività Lezione 4 Lauree Triennali Lezione Informatica Software Del Bolgia Franco 2017 2018

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

SOFTWARE. Interattività

SOFTWARE. Interattività SOFTWARE Attività logico-matematiche che permettono ad in sistema informatico di elaborare le informazioni Interattività slide 2 SOFTWARE Hardware equivale ad una macchina senza autista, è il corpo fisico

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2) Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii Sommario PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...

Dettagli

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C... Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...

Dettagli

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono

Dettagli

Le istruzioni corrispondono univocamente a quelle macchina, ma vengono espresse tramite nomi simbolici i (parole chiave)

Le istruzioni corrispondono univocamente a quelle macchina, ma vengono espresse tramite nomi simbolici i (parole chiave) ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Introduzione. Giacomo PISCITELLI

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Introduzione. Giacomo PISCITELLI Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Introduzione Giacomo PISCITELLI Scheduling Orario delle lezioni Martedi ore 15:30-18.30 aula 4 Giovedi

Dettagli

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Paradigmi di programmazione Linguaggi procedurali Linguaggi a oggetti Linguaggio macchina VisualBasic Delphi VB.NET Fortran Cobol Basic Pascal C C++ Java C# 1940 1950 1960 1970

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

Cos è. In un linguaggio di programmazione si possono distinguere:

Cos è. In un linguaggio di programmazione si possono distinguere: Cos è Un linguaggio di programmazione è un linguaggio dotato di un insieme di regole per scrivere programmi per computer, ovvero un insieme di istruzioni che a partire da un insieme di dati di input, applicando

Dettagli

Delega della esecuzione di un procedimento di calcolo: il ruolo del linguaggio. Linguaggi a basso e ad alto livello.

Delega della esecuzione di un procedimento di calcolo: il ruolo del linguaggio. Linguaggi a basso e ad alto livello. DISPENSE DI PROGRAMMAZIONE Modulo 2 Dall algoritmo al programma Delega della esecuzione di un procedimento di calcolo: il ruolo del linguaggio. Linguaggi a basso e ad alto livello. Linguaggi imperativi.

Dettagli

L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema

L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input Elaboratore Elettronico Risultati

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi

Dettagli

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Lezione 2 Conosciamo i linguaggi di programmazione In questa lezione impareremo: che cos è un linguaggio

Dettagli

Corso di Fondamenti di Informatica e Laboratorio

Corso di Fondamenti di Informatica e Laboratorio Corso di Fondamenti di Informatica e Laboratorio Corsi di Laurea Ingegneria Informatica (O-Z) Corsi di Laurea Ingegneria delle Telecomunicazioni - (A-Z) (ordinamento 03) A.A. 2009-2010 Prof. Giuseppe Mangioni

Dettagli

Capitolo 6. Linguaggi di Programmazione. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Capitolo 6. Linguaggi di Programmazione. Mauro Giacomini Pearson Addison-Wesley. All rights reserved Capitolo 6 Linguaggi di Programmazione Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 6: Linguaggi di programmazione 6.1 Prospettiva storica 6.2 Concetti della programmazione

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

Informatica. Terzo anno Prof. A. Longheu

Informatica. Terzo anno Prof. A. Longheu Informatica Terzo anno Prof. A. Longheu Definizioni Un linguaggio di programmazione è un linguaggio formale (cioè descritto da regole) utilizzato per implementare gli algoritmi Richiami: Un algoritmo è

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Introduzione al corso Introduzione al corso Linguaggi di programmazione 1 / 1 Una presentazione generale dei linguaggi di programmazione: Completare le conoscenze acquisite

Dettagli

Linguaggi e traduttori

Linguaggi e traduttori Operatore giuridico d impresa Informatica Giuridica A.A 2004/2005 I Semestre Linguaggi e traduttori Lezione 3 prof. Monica Palmirani Produzione del Software il software si genera trasformando l algoritmo

Dettagli

la traduzione dei programmi ed introduzione a Java

la traduzione dei programmi ed introduzione a Java la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Informatica Generale 15/16 Scienze della comunicazione cristina gena cgena@di.unito.it http://www.di.unito.it/~cgena/ teaching.html I calcolatori hanno la caratteristica

Dettagli

Cos'e un linguaggio di programmazione?

Cos'e un linguaggio di programmazione? Linguaggi di Programmazione Corso di Laurea in Informatica Introduzione ai linguaggi di Valeria Carofiglio a.a. 2016-2017 (questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi)

Dettagli

La fase di Implementazione

La fase di Implementazione Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Implementazione Giulio Destri Ing. del Sw: Implementaz. - 1 Scopo del modulo

Dettagli

Programmazione II. Lezione 3. Daniele Sgandurra 26/10/2010.

Programmazione II. Lezione 3. Daniele Sgandurra 26/10/2010. Programmazione II Lezione 3 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 26/10/2010 1/35 Programmazione II Lezione 3 26/10/2010 Sommario 1 2 Semantica 2/35 Programmazione II Lezione 3 26/10/2010 Parte

Dettagli

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

PROGRAMMARE IN JAVA Volume I

PROGRAMMARE IN JAVA Volume I Graziano Frosini PROGRAMMARE IN JAVA Volume I INTRODUZIONE ALLA PROGRAMMAZIONE PROGRAMMAZIONE A OGGETTI INGRESSO/USCITA GENERICI THREAD Edizioni ETS www.edizioniets.com Copyright 2007 EDIZIONI ETS Piazza

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Problema Algoritmo Programma Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

Dettagli