1: Linguaggi di Programmazione
|
|
|
- Carla Corradini
- 8 anni fa
- Visualizzazioni
Transcript
1 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. Design and Implementation. Prentice-Hall, 1996 M. Gabbrielli & S. Martini, Linguaggi di programmazione Principi e paradigmi, McGraw-Hill
2 2. Metodologie di Programmazione Object-Oriented tecniche per la programmazione orientata ad oggetti (in piccolo) specifica, implementazione, dimostrazioni esemplificate utilizzando il linguaggio Java testo di riferimento (prima parte): Barbara Liskov, Program Development in Java, Abstraction, Specification and Object-Oriented Design, Addison-Wesley
3 Struttura 1 (linguaggi) macchine astratte, interpreti, compilatori, implementazioni miste cenni di semantica operazionale il linguaggio di specifica-implementazione (Ocaml) tipi di dato, tipi di dato astratti, tipi espressioni e comandi ambiente, dichiarazioni, blocchi sottoprogrammi, regole di scoping, passaggio di parametri 3
4 Struttura 2 (linguaggi) classi e oggetti gestione dell ambiente: implementazione gestione della memoria: implementazione ambiente globale, moduli, compilazione separata struttura della macchina intermedia: esempi 4
5 Spirito 1 (linguaggi) definizioni formali e realizzazioni sempre implementate utilizzando un linguaggio (Ocaml) adatto sia alla specifica che all implementazione trattando un linguaggio didattico orientato ad oggetti, che ha come frammenti un linguaggio funzionale puro ed un linguaggio imperativo puro classici il linguaggio viene introdotto in modo incrementale sia rispetto ai costrutti che rispetto ai paradigmi il linguaggio didattico è a sua volta molto simile a Ocaml dalla semantica operazionale al codice compilato attraverso metodi sistematici 5
6 Spirito 2 (linguaggi) accanto al filone principale, ci saranno delle digressioni (indicate esplicitamente) per descrivere costrutti e meccanismi diversi da quelli del linguaggio didattico implementazioni alternative non sempre le digressioni saranno descritte in modo eseguibile le digressioni riguarderanno spesso i linguaggi veri sia quelli vivi che alcuni reperti archeologici importanti dei paradigmi linguistici importanti ignoreremo completamente i linguaggi (e i costrutti) per la programmazione concorrente tratteremo in modo molto superficiale la programmazione logica perché non omogenea agli altri paradigmi 6
7 Spirito 3 (linguaggi) come vedremo, esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in modo naturale linguaggi diversi e loro implementazioni ed esiste una chiara relazione tra concetti semantici e strutture di implementazione tali concetti e strutture mettono in evidenza ciò che è comune ai vari linguaggi e possono essere trattati a prescindere dal particolare linguaggio per questa ragione, non tratteremo mai alcun linguaggio vero in particolare, ignoreremo completamente le differenze legate alle specifiche sintassi 7
8 Spirito 4 (linguaggi) il livello di descrizione non sarà mai quello di un manuale d uso, che quasi sempre non contiene nè una descrizione formale della semantica indipendente dall implementazione necessaria per poter ragionare sul significato dei programmi che scriviamo nè una descrizione delle strutture a tempo di esecuzione della particolare implementazione necessaria per ragionare sulla performance dei nostri programmi queste due cose (e la relazione fra di esse) sono l oggetto di interesse di questa parte del corso 8
9 Spirito 5 (linguaggi) conoscere questi principi di semantica e di tecniche di implementazione consente di migliorare la conoscenza del linguaggio che usate comunemente perché quel meccanismo non è fornito o è particolarmente costoso? migliorare il vostro vocabolario di costrutti un costrutto che ci sarebbe utile, ma non viene fornito dal linguaggio, può spesso essere simulato imparare agevolmente un nuovo linguaggio scegliere il linguaggio più adatto alle vostre esigenze o almeno avere argomenti tecnici per discutere con il capo che vi vuol fare programmare in COBOL! progettare un nuovo linguaggio o estenderne uno esistente capita più spesso di quanto possiate immaginare! 9
10 Struttura 1 (Java) programmazione come decomposizione guidata da astrazioni meccanismi di astrazione: parametrizzazione, specifica tipi di astrazione: procedure, tipi di dato astratti, iterazione astratta, gerarchie di tipi introduzione informale di Java classi, oggetti, metodi, gerarchie il modello di esecuzione 10
11 Struttura 2 (Java) astrazioni procedurali astrazioni sui dati iterazione astratta gerarchie di tipi polimorfismo 11
12 Spirito 1 (Java) metodologie di programmazione orientata ad oggetti esemplificate utilizzando Java non tutto Java e non solo Java un insieme di tecniche basate su vari tipi di astrazione alcune supportate da Java in modo più o meno diretto la più importante non è supportata da Java l astrazione attraverso specificazione invece di (o in aggiunta a) codice Java specifiche informali 12
13 Spirito 2 (Java) specifiche, implementazioni, dimostrazioni di correttezza relazioni formali fra 2 specifiche, fra 1 specifica ed una implementazione, etc. le dimostrazioni sono tanto importanti quanto le implementazioni ogni meccanismo di astrazione ha associata una particolare sequenza di operazioni di specifica, implementazione e dimostrazione che ci porterà ad utilizzare sottoinsiemi di costrutti Java coerenti non è compito di questo corso introdurre il linguaggio nella sua interezza nè tanto meno le sue librerie (che vi imparate da soli, quando vi servono) 13
14 Linguaggi 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 costrutto del linguaggio, rappresentare un numero (anche infinito) di interminabili sequenze di istruzioni macchina corrispondenti i linguaggi si sono evoluti trasformando in costrutti linguistici (e realizzando una volta per tutte nell implementazione del linguaggio) tecniche e metodologie sviluppate nell ambito della programmazione, degli algoritmi, dell ingegneria del software e dei sistemi operativi in certi casi perfino in settori di applicazioni (basi di dati, intelligenza artificiale, simulazione, etc.) di fondamentale importanza è stata l introduzione nei linguaggi di vari meccanismi di astrazione, che permettono di estendere il linguaggio (con nuove operazioni, nuovi tipi di dato, etc.) semplicemente scrivendo dei programmi nel linguaggio stesso 14
15 Un po di storia dei linguaggi i linguaggi di programmazione nascono con la macchina di Von Neumann (macchina a programma memorizzato) i programmi sono un particolare tipo di dato rappresentato nella memoria della macchina la macchina possiede un interprete capace di fare eseguire il programma memorizzato, e quindi di implementare un qualunque algoritmo descrivibile nel linguaggio macchina un qualunque linguaggio macchina dotato di semplici operazioni primitive per effettuare la scelta e per iterare (o simili) è Turing-equivalente, cioè può descrivere tutti gli algoritmi i linguaggi hanno tutti lo stesso potere espressivo, ma la caratteristica distintiva importante è il quanto costa esprimere direttamente legato al livello di astrazione fornito dal linguaggio 15
16 I linguaggi macchina ad alto livello dai linguaggi macchina ai linguaggi Assembler nomi simbolici per operazioni e dati (anni 50) FORTRAN e COBOL (sempreverdi) notazioni ad alto livello orientate rispettivamente al calcolo scientifico (numerico) ed alla gestione dati (anche su memoria secondaria) astrazione procedurale (sottoprogrammi, ma con caratteristiche molto simili ai costrutti forniti dai linguaggi macchina) nuove operazioni e strutture dati (per esempio, gli arrays in FORTRAN, e i records in COBOL) nulla di significativamente diverso dai linguaggi macchina 16
17 I favolosi anni 60: LISP e ALGOL 60 risultati teorici a monte formalizzazione degli aspetti sintattici primi risultati semantici basati sul λ-calcolo caratteristiche comuni introduzione dell ambiente vera astrazione procedurale con ricorsione argomenti procedurali e per nome ALGOL 60 primo linguaggio imperativo veramente ad alto livello scoping statico gestione dinamica della memoria a stack LISP (sempreverde, ancora oggi il linguaggio dell A.I.) primo linguaggio funzionale, direttamente ispirato al λ-calcolo scoping dinamico strutture dati dinamiche, gestione dinamica della memoria a heap con garbage collector 17
18 Estendere la macchina fisica o implementare una logica ALGOL 60, prototipo dei linguaggi imperativi parte dalla struttura della macchina fisica la estende con nuovi potenti meccanismi LISP, prototipo dei linguaggi logici e funzionali parte da un calcolo logico (λ-calcolo) ne definisce una implementazione sulla macchina fisica ne nascono concetti simili non a caso basati sulla teoria gli approcci restano diversi e danno origine a due filoni il filone imperativo il filone logico che sono tuttora vitali 18
19 La fine degli anni 60 PL/I: il primo tentativo di linguaggio totalitario (targato IBM) tentativo di sintesi fra LISP, ALGOL 60 e COBOL fallito per mancanza di una visione semantica unitaria SIMULA 67: nasce la classe estensione di ALGOL 60 orientato alla simulazione discreta quasi sconosciuto, riscoperto 15 anni dopo 19
20 Evoluzione del filone imperativo risultati anni 70 metodologie di programmazione, tipi di dati astratti, modularità, classi e oggetti programmazione di sistema in linguaggi ad alto livello: eccezioni e concorrenza PASCAL estensione di ALGOL 60 con la definizione di tipi (non astratti), l uso esplicito di puntatori e la gestione dinamica della memoria a heap (senza garbage collector) semplice implementazione mista (vedi dopo) facilmente portabile 20
21 Il dopo PASCAL C PASCAL + moduli + tipi astratti + eccezioni + semplice interfaccia per interagire con il sistema operativo ADA: il secondo tentativo di linguaggio totalitario (targato Dipartimento della Difesa U.S.A.) C ++ come sopra + concorrenza + costrutti per la programmazione in tempo reale progetto ambizioso, anche dal punto di vista semantico, con una grande enfasi sulla semantica statica (proprietà verificabili dal compilatore) C + classi e oggetti (allocati sulla heap, ancora senza garbage collector) 21
22 L evoluzione del filone logico: programmazione logica PROLOG implementazione di un frammento del calcolo dei predicati del primo ordine strutture dati molto flessibili (termini) con calcolo effettuato dall algoritmo di unificazione computazioni non-deterministiche gestione della memoria a heap con garbage collector CLP (Constraint Logic Programming) PROLOG + calcolo su domini diversi (anche numerici) con opportuni algoritmi di soluzione di vincoli 22
23 L evoluzione del filone logico: programmazione funzionale ML implementazione del λ-calcolo tipato definizione di nuovi tipi ricorsivi i valori dei nuovi tipi sono termini, che possono essere visitati con un meccanismo di pattern matching (versione semplificata dell unificazione) scoping statico (a differenza di LISP) semantica statica molto potente (inferenza e controllo dei tipi) un programma corretto per la semantica statica quasi sempre va bene gestione della memoria a heap con garbage collector HASKELL ML con regola di valutazione lazy 23
24 JAVA molte caratteristche dal filone imperativo essenzialmente tutte quelle del linguaggio più avanzato del filone, cioè C ++ alcune caratteristiche dei linguaggi del filone logico gestione della memoria con garbage collector utilizza il meccanismo delle classi e dell ereditarietà per ridurre il numero di meccanismi primitivi quasi tutto viene realizzato con classi predefinite nelle librerie ha una implementazione mista (anch essa tipica del filone logico) che ne facilita la portabilità e lo rende particolarmente adatto ad essere integrato nelle applicazioni di rete 24
25 Lo strumento utilizzato nella prima parte del corso Ocaml (Objective CaML), una estensione, orientata ad oggetti (e con un frammento imperativo), di uno dei più importanti linguaggi funzionali (ML) progettato ed implementato all INRIA (Francia) l implementazione (per tutte le piattaforme importanti) si può scaricare dal sito il manuale on line al sito 25
26 Materiale didattico, esame, istruzioni per l uso del corso il materiale didattico delle lezioni (in formato html e di presentazione powerpoint scaricabile) è disponibile sulla mia pagina web così come tutti i programmi Ocaml e Java che verranno discussi nelle esercitazioni esame = prova scritta + orale ammissione all orale con votazione >= 15/30 nello scritto 2 prove intermedie che possono rimpiazzare la prova scritta consigli seguire il corso (e soprattutto le esercitazioni), mantenendosi al passo con lo studio partecipare (attivamente) alle esercitazioni sostenere le prove intermedie 26
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
PROGRAMMAZIONE II Corso B Introduzione al corso
AA 2014-2015 PROGRAMMAZIONE II Corso B Introduzione al corso Andrea Corradini o Email: [email protected] o Web: www.di.unipi.it/~andrea 1 INFORMAZIONI GENERALI Pagina web del corso: http://www.di.unipi.it/~andrea/didattica/pr2-b-14/
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
Programmazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
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
FONDAMENTI DI INFORMATICA
Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia [email protected] A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica
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
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
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à
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
FONDAMENTI DI INFORMATICA
Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia [email protected] A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica
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
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
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
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 ([email protected])
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
Introduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
Il Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
Modelli e complessità di calcolo
Modelli e complessità di calcolo Prof. Giorgio Ausiello Orario delle lezioni: Martedi, Mercoledi, Giovedi ore 8.30 10.00 Orario di ricevimento: Lunedi ore 17.00 19.00 Via Ariosto 25 II piano - Ufficio
PROGRAMMAZIONE 2 1.Introduzione
AA 2014-2015 PROGRAMMAZIONE 2 1.Introduzione 1 Gianluigi Ferrari o Email [email protected] o Web www.di.unipi.it/~giangi Di cosa mi occupo (ricerca) o o o PRESENTAZIONI Formal methods in SoGware Engineering
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
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
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
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?
Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione
Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento
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
INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
Lez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
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
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso
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
Metodi Avanzati di Programmazione (II Anno) a.a. 2011/2012 Docente: Annalisa Appice Dipartimento di Informatica Università degli Studi Bari Aldo Moro
Metodi Avanzati di Programmazione (II Anno) a.a. 2011/2012 Docente: Annalisa Appice Dipartimento di Informatica Università degli Studi Bari Aldo Moro tel.: 080 5443262 email: [email protected] http://www.di.uniba.it/~appice/
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI
FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M
FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M A.A. 2010/2011 Docente: Prof. Paola Mello e-mail: [email protected] Tel: 051 2093818 Server web del modulo: http://www.lia.deis.unibo.it/courses/ai/fundamentalsai2010-11/
Elementi di Informatica
Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Introduzione
Fondamenti dei linguaggi di programmazione
Fondamenti dei linguaggi di programmazione Aniello Murano Università degli Studi di Napoli Federico II 1 Informazioni Generali sul Corso Esame: Fondamenti dei linguaggi di programmazione (nel vecchio ordinamento:
Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco
Università di Bologna Facoltà di Ingegneria C.d.L. in Ing. Gestionale Fondamenti di Informatica T-1 (A-K) A.A. 2015/16 Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco 1 Obiettivi del corso Il corso
Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri
Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire
PIANO DI LAVORO. Programmazione Didattica per Competenze. Indirizzo Informatica e Telecomunicazioni. Articolazione Informatica DOCENTE:
PIANO DI LAVORO Programmazione Didattica per Competenze Indirizzo Informatica e Telecomunicazioni Articolazione Informatica DOCENTE: ITP: MATERIA: CLASSE: ORE SETTINALI: CANTARELLA ALFREDO NATALE LUIGI
Introduzione alla Programmazione. Giselda De Vita
Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:
Problemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M
FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M A.A. 2016/2017 Docente: Prof. Paola Mello e-mail: [email protected] Tel: 051 2093818 Server web: http://www.lia.deis.unibo.it/courses/ai/fundamentalsai2016-17/
La programmazione ad oggetti: chiamate di metodi. Overloading. This
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.
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
Corso Programmazione
Corso Programmazione 2008-2009 (docente) Fabio Aiolli E-mail: [email protected] Web: www.math.unipd.it/~aiolli (docenti laboratorio) A. Ceccato, F. Di Palma, M. Gelain Dipartimento di Matematica Pura
Programmazione di INFORMATICA e Laboratorio
ISIUO ECNICO SAALE settore ECNOLOGICO ad indirizzo: Elettronica ed Elettrotecnica - Informatica e elecomunicazioni Meccanica, Meccatronica ed Energia "VIORIO EMANUELE III" Via Duca della Verdura, 48-90143
Corso di Applicazioni di Intelligenza Artificiale LS. Prof. Paola Mello Anno accademico 2008/2009
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Applicazioni di Intelligenza Artificiale LS Corso di Laurea in Ingegneria Informatica Prof. Paola Mello Anno accademico 2008/2009 CONTENUTI
Introduzione alla Programmazione Logica ed al linguaggio PROLOG
Introduzione alla Programmazione Logica ed al linguaggio PROLOG Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a. 2014/15 Paolo Tomeo http://sisinflab.poliba.it/tomeo Programmazione
Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3
Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare
Il concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
Fondamenti di Informatica (lettere A-I) A
Fondamenti Informatica (lettere A-I) A Prof. Roberto Basili (Primo Modulo) Prof. Vincenzo Grassi(Secondo Modulo) Fondamenti Informatica Corso 10 CFU Nasce dalla fusione dei corsi Fondamenti Informatica
Funzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
Introduzione. Fondamenti di Informatica 1. Dispensa 1 Gennaio Contenuti. Alfonso Miola. K Corso di Fondamenti di Informatica 1
Alfonso Miola Dispensa 1 Gennaio 2001 1 Contenuti K Corso di K Programma del corso K Materiale didattico K Organizzazione didattica K Attività di laboratorio K Prove di valutazione ed esami 2 Corso di
Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
Cenni Storici. Introduction to Fortran 90. Maurizio Cremonesi, CINECA
Cenni Storici Introduction to Fortran 90 Maurizio Cremonesi, CINECA Aprile 2014 FORTRAN= FORmula TRANslation (o TRANslator) Il Fortran è uno dei primi linguaggi di programmazione, sviluppato a partire
Fondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) [email protected] Indice 1 Introduzione
Modularizzazione del software
Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica
Fondamenti di Programmazione
Fondamenti di Programmazione Prof. Mauro Gaspari: [email protected] Tutor: Dott. Davide Guidi: [email protected] Corso Coordinato con: Laboratorio di Linguaggi di Programmazione Prof. Angela Spighetti:
Algoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
Concetti introduttivi
Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione. Un programma indica al computer i passaggi da compiere per svolgere
Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni
Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da
