Introduzione alla Programmazione Logica ed al linguaggio PROLOG
|
|
- Tiziano Costanzo
- 6 anni fa
- Visualizzazioni
Transcript
1 Introduzione alla Programmazione Logica ed al linguaggio PROLOG Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a. 2014/15 Paolo Tomeo
2 Programmazione logica Paradigma di programmazione basato su logica formale Una logica formale (Es. Clausole di Horn) definisce le regole sintattiche per descrivere lo schema di ragionamenti e problemi, indipendentemente dal loro contenuto. Nella programmazione logica un problema viene descritto con un insieme di formule della logica, dunque in forma dichiarativa
3 Differenza fra forma procedurale e dichiarativa Linguaggi procedurali (o imperativi): sono composti da una serie di istruzioni (algoritmo) che indicano al calcolatore come deve essere svolto un certo compito. (Es. C, Java, Python) Linguaggi dichiarativi: dicono al calcolatore cosa deve fare, ma non come farlo. Quindi non specificano esplicitamente l'algoritmo. Sono inclusi fra questi i linguaggi di query dei database (Es. SQL), le espressioni regolari, alcuni linguaggi di markup (Es. HTML), i linguaggi funzionali e i linguaggi logici. Non tutti i linguaggi logici però sono strettamente dichiarativi
4 Un comune programma in programmazione logica è composto da una serie di fatti, che descrivono cose e situazioni sempre vere, e una serie di regole, che permettono di dedurre nuove situazioni vere sulla base dei fatti a disposizione. logica = rappresentazione del problema deduzione = risoluzione del problema Esempio Tutti gli uomini sono mortali Socrate è un uomo Si deduce che: Socrate è mortale
5 Prolog PROLOG sta per PROgramming in LOGic Nato nel 1973, si fonda sulle idee di programmazione logica di R. Kowalski. È il più noto linguaggio di programmazione logica. È un linguaggio di altissimo livello. È largamente utilizzato per applicazioni di Intelligenza Artificiale (Planning, Sistemi Esperti, Natural Language Processing, ecc.). Non adatto per applicazioni numeriche o real-time. Ottima dispensa in inglese:
6 Prolog Il Prolog è un linguaggio di programmazione logica basato sulle clausole di Horn. h :- b 1, b 2,.. b n h rappresenta la testa della clausola e b 1, b 2,.. b n sono i letterali (atomi) che compongono il corpo. h è vera se è solo se il corpo è vero, ovvero se sono veri tutti i letterali nel corpo. Programmare in Prolog equivale a descrivere il dominio del problema tramite fatti e regole sotto forma di clausole di Horn.
7 Un programma Prolog è costituito da: un insieme di fatti, che dichiarano un certo stato di cose da un insieme di regole, che definiscono relazioni fra stati di cose da obiettivi (o domande) a cui rispondere. Fatti + regole = Base di conoscenza L'interprete Prolog possiede un meccanismo di inferenza che tenta di rispondere alle domande ponendole in relazione con i fatti e le regole della base di conoscenza e tentando di eseguire delle deduzioni.
8 Fatti I fatti Prolog sono clausole di Horn non condizionali, cioè esprimono un'affermazione (compiuta) che non è vincolata alla preventiva verifica di un insieme di condizioni. Il Prolog assume implicitamente che tutti i fatti presenti nella base di conoscenza siano veri. Esempio. colore(neve, bianco). colore(sangue, rossa). colore(cielo, nero).
9 Regole Le regole, in Prolog, indicano situazioni di carattere generale servendosi di oggetti e relazioni tra essi. Sono utili per evitare ridondanza e spreco di risorse nella base di conoscenza. Esempio 1 uomo(socrate). mortale(x) :- uomo(x). Esempio 2 book(title, author1, author2). coauthor(x, Y) :- book(_, X, Y). coauthor(x, Y) :- book(_, Y, X). L'underscore ('_') è usato per indicare qualsiasi variabile. Nell'esempio 2, sfruttando l'underscore, possiamo verificare se due individui sono coautori di un qualsiasi libro
10 Query Per interrogare un programma in Prolog, che praticamente equivale ad eseguirlo, vengono utilizzate le query, che in Prolog sono dette goal e corrispondono a clausole di Horn da dimostrare. Esempio 1?- uomo(x). X = socrate.?- mortale(x). X = socrate?- mortale(socrate). true Esempio 2?- coauthor(author2, Y). Y=author1.
11 Query composte Semplici query possono essere combinate per formare query composte. Utilizzando la virgola per la composizione, si definisce un and logico di goal. Esempio?- coauthor(author2, Y), coauthor(author3, Y). In questo caso si verifica se c'è un autore che è stato coautore sia di author2 che author3.
12 Variabili Le variabili sono utilizzate per indicare una entità generica e consentono di esprimere un'affermazione riguardo una considerazione generale Costanti Le costanti indicano un entità particolare e consentono di esprimere un'affermazione specifica
13 Sintassi - 1 I nomi di predicati ed entità devono necessariamente iniziare con una lettera minuscola I nomi delle variabili devono necessariamente iniziare con una lettera Maiuscola Una variabile anonima è indicata dall'underscore _ Ogni asserzione termina con un punto.
14 Sintassi - 2 Il nome di un predicato o di un argomento non deve contenere degli spazi padre di( Y, Y) va sostituito con padre_di( Y, Y) o padredi( Y, Y) I commenti in Prolog iniziano con % Esempio % questo è un commento a(x) :- b(x), c(x). % questo è un altro commento
15 Disgiunzione È possibile definire una disgiunzione mediante il simbolo ; Tuttavia questa pratica è fortemente sconsigliata perché potrebbe rendere il programma difficile da comprendere. Quindi per la disgiunzione è consigliato definire un'altra regola con la stessa testa ma corpo diverso genitore(x, Y) :- padre(x, Y). genitore(x, Y) :- madre(x, Y). In questo caso, se la prima regola dovesse risultare falsa, il Prolog passerà alla regola successiva.
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. 2013-14 Vito Claudio Ostuni Linguaggi procedurali e dichiarativi linguaggi
DettagliProgrammazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0
Programmazione logica e PROLOG Esercitazione 1 AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0 Sommario Programmazione logica Base delle conoscenze Interrogazioni Regole Ricorsive Esecuzione dei programmi
DettagliEsercitazione di Basi di Dati
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035
DettagliIntroduzione alla logica
Corso di Intelligenza Artificiale 2011/12 Introduzione alla logica iola Schiaffonati Dipartimento di Elettronica e Informazione Sommario 2 Logica proposizionale (logica di Boole) Logica del primo ordine
DettagliLinguaggi di Programmazione Prolog (1) Prolog. Processo di dimostrazione (limiti) Linguaggio: Utile per:
Linguaggi di Programmazione Prolog (1) Prolog Linguaggio: basato su una restrizione della logica del primo ordine dichiarativo Utile per: Prototipizzazione radipa (di alcuni problemi) Applicazioni di Intelligenza
DettagliUna Breve Introduzione alla Logica
Una Breve Introduzione alla Logica LOGICA La LOGICA è la disciplina che studia le condizioni di correttezza del ragionamento Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spetti
DettagliLogica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17
Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea@di.unipi.it, francesca.levi@unipi.it A. Corradini e
DettagliC1: L C1 C2: L C2 C: C1 C2
Abbiamo visto Gli agenti logici applicano inferenze a una base di conoscenza per derivare nuove informazioni. Concetti base della logica: sintassi: struttura formale delle sentenze semantica: verita` di
DettagliProlog. Processo di dimostrazione (limiti) Dott. Fabio Massimo Zanzotto. Linguaggio: Utile per:
! "!#$&%&' Dott. Fabio Massimo Zanzotto Prolog Linguaggio: basato su una restrizione della logica del primo ordine ()+*-,.+*-/0 /213* 4657 Utile per: Prototipizzazione radipa (di alcuni problemi) Applicazioni
DettagliLOGICA PER LA PROGRAMMAZIONE
LOGICA PER LA PROGRAMMAZIONE Franco Turini turini@di.unipi.it IPSE DIXIT Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spetti la presente indagine, che essa cioè riguarda la dimostrazione
DettagliIntroduzione 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
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
DettagliLogica: materiale didattico
Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica
DettagliChe cosa abbiamo fatto fin ora
Che cosa abbiamo fatto fin ora Abbiamo trattato: agenti con stato e con obiettivo, più razionali rispetto ad agenti reattivi enfasi sul processo di ricerca stati e azioni descrivibili in maniera semplice
DettagliLinguaggi, 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
DettagliBREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta
BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta corretto e vero. Un ragionamento è corretto se segue uno
DettagliUn po di logica. Christian Ferrari. Laboratorio di matematica
Un po di logica Christian Ferrari Laboratorio di matematica 1 Introduzione La logica è la disciplina che studia le condizioni di correttezza del ragionamento. Il suo scopo è quindi quello di elaborare
DettagliProgrammazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"
Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 1 Calcolo Proposizionale: sintassi e semantica Tautologie Esempi di Formalizzazione di Enunciati pag.
DettagliLogiche descrittive Le logiche descrittive sono una famiglia di formalismi per la rappresentazione della conoscenza (KR) che descrivono ciò che è
Logiche descrittive Le logiche descrittive sono una famiglia di formalismi per la rappresentazione della conoscenza (KR) che descrivono ciò che è noto in un dominio di applicazione definendo i concetti
DettagliAnno 1. Teoria degli insiemi: definizioni principali
Anno 1 Teoria degli insiemi: definizioni principali 1 Introduzione In questa lezione introdurremo gli elementi base della teoria degli insiemi. I matematici hanno costruito una vera e propria Teoria degli
Dettagliistituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation
http://xml.html.it/guide/leggi/58/guida-xml-di-base/ INTRODUZIONE extensible Markup Language (XML) = metalinguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup non
DettagliUn metodo di rappresentazione della Conoscenza e un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza.
RAPPRESENTAZIONE DELLA CONOSCENZA e Ragionamento Un metodo di rappresentazione della Conoscenza e un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza. Una buona Rappresentazione della Conoscenza
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliMaiuscole e minuscole
Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e
DettagliRichiami teorici ed esercizi di Logica
Facoltà di ingegneria Università della Calabria Corsi di Potenziamento Matematica e Logica A. A. 2008-2009 Richiami teorici ed esercizi di Logica Proposizioni logiche: Ogni espressione matematica alla
DettagliLinguaggi 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
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 7 Formule Valide, Conseguenza Logica Proof System per la Logica del Primo Ordine Leggi per i Quantificatori
DettagliLOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini
LOGICA DEL PRIMO ORDINE: PROOF SYSTEM Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini LOGICA DEL PRIMO ORDINE: RIASSUNTO Sintassi: grammatica libera da contesto (BNF), parametrica rispetto
DettagliRappresentazione della Conoscenza. Lezione 1. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0
Rappresentazione della Conoscenza Lezione 1 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0 Sommario La rappresentazione della conoscenza (BL 1) Sistemi basati sulla conoscenza (BL 1)
DettagliElementi di Logica Le forme del ragionamento
Elementi di Logica Le forme del ragionamento Corso di Logica e Filosofia della scienza, a.a. 2015-2016 Il principale oggetto di studio della logica è il ragionamento, con particolare attenzione per il
DettagliStruttura del calcolatore
Mondo esterno Dati di ingresso Calcolatore Dati di uscita Mondo esterno Il calcolatore elabora dei dati di ingresso per ottenere dati in uscita In linea di principio, ma non solo, il compito svolto da
DettagliIl 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)
DettagliLogica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;
Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Implicazione logica. Equivalenza logica; Condizione necessaria,
Dettaglisempre vere sempre false
Logica: elementi I principi della logica sono innanzitutto i seguenti: Identità: a=a (ogni cosa è cioè identica a se stessa) Non contraddizione: non (a e non a). E impossibile che la stessa cosa sia e
DettagliProgrammazione 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
DettagliLogica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/2017
Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/2017 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea.corradini@unipi.it, francesca.levi@unipi.it A. Corradini
DettagliFONDAMENTI 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
DettagliProposizioni e verità
Proposizioni e verità Claudia Casadio Logica e Psicologia del Pensiero Laurea Triennale - Parte Istituzionale A.A. 2007-08 Contents 1 Proposizione.......................................... 3 2 Verità...............................................
DettagliMacchine astratte, linguaggi, interpretazione, compilazione
Macchine astratte, linguaggi, interpretazione, compilazione 1 Macchine astratte una collezione di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi componenti della macchina astratta
DettagliLogica proposizionale
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Logica proposizionale Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli
DettagliCenni di logica e calcolo proposizionale
Cenni di logica e calcolo proposizionale Corso di Laurea in Informatica Università degli Studi di Bari (sede Brindisi) Analisi Matematica S.Milella (sabina.milella@uniba.it) Cenni di logica 1 / 10 Proposizioni
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
DettagliEsercitazioni per il corso di Logica Matematica
Esercitazioni per il corso di Logica Matematica Luca Motto Ros 15 aprile 2005 Esercizi Nota importante. In questa dispensa sono stati raccolti, senza alcun ordine particolare, alcuni esercizi che possono
DettagliIntroduzione alle classi e agli oggetti. Walter Didimo
Introduzione alle classi e agli oggetti Walter Didimo Classi e oggetti La classe rappresenta l unità di base della programmazione ad oggetti: una classe definisce una tipologia di elementi (cioè una categoria
DettagliLogica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2017/2018
Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2017/2018 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea.corradini@unipi.it, francesca.levi@unipi.it A. Corradini
DettagliLogica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/2016
Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/2016 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea.corradini@unipi.it, francesca.levi@unipi.it A. Corradini
DettagliAlgoritmi 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
DettagliMarta Capiluppi Dipartimento di Informatica Università di Verona
Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) L'algebra booleana risulta
DettagliCos'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)
DettagliEsercizi di Riepilogo e Autovalutazione
Esercizi di Riepilogo e Autovalutazione Marcello D Agostino Corso di Logica Filosofica 2014/2015 27 maggio 2015 Copyright c 2015 Marcello D Agostino Classificazione delle domande * = difficoltà bassa **
DettagliIntroduzione 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
DettagliNOZIONI DI LOGICA. Premessa
NOZIONI DI LOGICA Premessa Il compito principale della logica è quello di studiare il nesso di conseguenza logica tra proposizioni, predisponendo delle tecniche per determinare quando la verità di una
DettagliLinguaggi 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
Dettagli1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
DettagliNOZIONI DI LOGICA PROPOSIZIONI.
NOZIONI DI LOGICA PROPOSIZIONI. Una proposizione è un affermazione che è vera o falsa, ma non può essere contemporaneamente vera e falsa. ESEMPI Sono proposizioni : 7 è maggiore di 2 Londra è la capitale
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
DettagliINSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti.
INSIEMI DEF. Un INSIEME è una qualsiasi collezione di oggetti. Esso è ben definito quando è chiaro se un oggetto appartiene o non appartiene all insieme stesso. Esempio. E possibile definire l insieme
DettagliSemantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica
Semantica proposizionale Unit 2, Lez 3 e 4 Corso di Logica Sommario Semantica dei connettivi Costruzione delle tavole di verità Tautologie, contraddizioni e contingenze Semantica delle forme argomentative
DettagliLINGUAGGI 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
DettagliLinguaggi 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
DettagliTRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+
TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli
DettagliRAPPRESENTAZIONE DELLA CONOSCENZA. È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza;
RAPPRESENTAZIONE DELLA CONOSCENZA È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza; Una buona Rappresentazione della Conoscenza può FACILITARE la SOLUZIONE di un Problema riducendone
DettagliCHE COS È L INFORMATICA. Prof. Enrico Terrone A. S. 2014/15
CHE COS È L INFORMATICA Prof. Enrico Terrone A. S. 2014/15 Definizione L informatica è la scienza che studia il computer sotto tutti i suoi aspetti. In inglese si usa l espressione computer science, mentre
DettagliISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica
settembre 008 Elementi di Logica 1. Nozioni preliminari La logica studia come funziona il pensiero e il ragionamento espresso attraverso degli enunciati Il ragionamento è un sistema di enunciati che permette
DettagliLogica Formale. Introduzione. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Logica Formale [1]
Intelligenza Artificiale I Logica Formale Introduzione Marco Piastra Intelligenza Artificiale I - A.A. 2010- Logica Formale 1] Sistemicità del linguaggio naturale Capacità di astrazione della descrizione
DettagliChe 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
DettagliLez. 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
DettagliAppunti di geometria euclidea
Appunti di geometria euclidea Il metodo assiomatico Appunti di geometria Euclidea Lezione 1 Prima di esaminare nel dettaglio la Geometria dal punto di vista dei Greci è opportuno fare unrichiamo di Logica.
DettagliIstruzioni, algoritmi, linguaggi
Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliC++ 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
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliProgramma 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
DettagliRappresentazione della Conoscenza. Lezione 6. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 0
Rappresentazione della Conoscenza Lezione 6 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 0 Sommario La rappresentazione della conoscenza Logica come formalismo di rappresentazione (RN 8.3/7.3)
DettagliInformatica Generale Andrea Corradini I linguaggi di programmazione
Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi
DettagliLinguaggi 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
DettagliIntroduzione alla Programmazione Funzionale
Introduzione alla Programmazione Funzionale April 27, 2017 Paradigmi di Programmazione Programmi sviluppabili usando diversi paradigmi Imperativo: computazione come modifica di stato Funzionale: computazione
DettagliConcetti base programmazione. Antonio Gallo
Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,
DettagliLe basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliInformatica. Logica e Algebra di Boole
Informatica Logica e Algebra di Boole La logica è la scienza del corretto ragionamento e consiste nello studio dei principi e dei metodi che consentono di individuare il corretto ragionamento. Lo studioso
DettagliINTRODUZIONE AL TESTO FILOSOFICO
INTRODUZIONE AL TESTO FILOSOFICO MEDIANTE FORME DI ANNOTAZIONE SEMANTICA Ciclo seminariale 4 febbraio 2011 4 marzo 2011 Fra ontologie e mappe: un introduzione Francesco Bianchini DI COSA PARLEREMO Mappe
DettagliSistemi con vincoli. Docente: Francesca Rossi.
E-mail: frossi@math.unipd.it Scopo del corso Dare le nozioni di base della programmazione con vincoli Come rappresentare un problema reale con un insieme di vincoli Tecniche principali per risolverlo Approccio
DettagliEs. quadrilatero: specie di poligono, genere di quadrato. La specie ha più caratteristiche, il genere è riferito a più elementi.
La logica di Aristotele La logica non si trova tra le scienze dell enciclopedia aristotelica, poiché essa ha per oggetto la forma comune a tutte le scienze, cioè il procedimento dimostrativo, o le varie
DettagliINTELLIGENZA ARTIFICIALE (elementi) 6 cfu
INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Prof.ssa Stefania Bandini Dott. Alessandro Mosca Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it
DettagliINTELLIGENZA ARTIFICIALE (elementi) 6 cfu
INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Docente: prof.ssa Stefania Bandini Esercitatore: dr. Matteo Palmonari Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it
DettagliCorso di Matematica per la Chimica
Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Introduzione La MATEMATICA è uno strumento
DettagliFONDAMENTI 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
DettagliRAPPRESENTAZIONE DELLA CONOSCENZA (1)
RAPPRESENTAZIONE DELLA CONOSCENZA (1) Ci sono 30 caselle NERE e 32 caselle BIANCHE (a) (b) È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza; Una buona Rappresentazione della Conoscenza
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliMODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliIntelligenza Artificiale I
Intelligenza Artificiale I Esercitazione 1 Marco Piastra Esercitazione 1-1 Jess? Acronimo di Java Expert System Shell Sistema scritto in Java Autore: Ernest Friedman-Hill, Sandia National Laboratories
DettagliDAGLI 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
DettagliUNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE
UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE TAVOLE DI VERITÀ, COLETEZZA VERO-FUNZIONALE Esercizio 1. Calcola le tavole
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Introduzione alla programmazione Riferimenti Emanuele Goldoni Laboratorio Reti (MN) Tel. 0376-286234 E-mail: emanuele.goldoni@unipv.it Slide sul sito
Dettagli