Introduzione alla Programmazione Logica ed al linguaggio PROLOG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione alla Programmazione Logica ed al linguaggio PROLOG"

Transcript

1 Introduzione alla Programmazione Logica ed al linguaggio PROLOG Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a Vito Claudio Ostuni

2 Linguaggi procedurali e dichiarativi linguaggi procedurali (o imperativi): sono composti da una serie di istruzioni (algoritmo) che indicano al calcolatore come deve essere svolto un certo compito. Si parte da un insieme di dati, e si applicano una serie di operazioni da eseguire in sequenza che li elaborano per produrre il risultato finale. (Es.: C, Java,..) linguaggi dichiarativi: dicono al calcolatore cosa deve fare, lasciando al computer stesso la scelta di come farlo. Questo avviene solo in teoria, in pratica anche i linguaggi dichiarativi devono inserire alcuni suggerimenti su quale sia la strada migliore. (Es.: Prolog, SQL, Lisp,..)

3 Programmazione logica Il concetto di base della programmazione logica è di descrivere la conoscenza generale che si ha sul problema, piuttosto che uno specifico procedimento di soluzione. Si tratta di trovare la rappresentazione più adeguata alla specifica area applicativa ed esprimerla in un linguaggio logico. Un problema è caratterizzato dall'esistenza di oggetti discreti, o individui, da relazioni tra essi, e da proposizioni che esprimono proprietà logiche su queste relazioni. Per rappresentare simbolicamente la conoscenza relativa ad un problema, occorre fare uso di un linguaggio formale, assegnando innanzi tutto dei nomi sia agli oggetti che alle relazioni.

4 In programmazione logica un problema viene descritto con un insieme di formule della logica, dunque in forma dichiarativa. 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. Noi forniamo al programma una serie di informazioni vere, aggiungiamo un altra serie di regole che descrivono il modo in cui le informazioni si combinano tra loro e infine interroghiamo il programma. Es: logica = rappresentazione del problema deduzione = risoluzione del problema Tutti gli uomini sono mortali Socrate è un uomo Si deduce che: Socrate è mortale

5 Programmazione classica Algoritmi + Strutture dati = Programmi Dati e algoritmo sono interdipendenti. Programmazione logica Algoritmo = Logica + Controllo Dati e controllo sono indipendenti. Il programmatore deve solo preoccuparsi di definire la parte logica (fatti+regole), ovvero deve solo definire il problema. Non bisogna specificare come risolverlo (il controllo è compito del calcolatore).

6 Prolog PROLOG: PROgramming in LOGic Nato nel 1973, si fonda sulle idee di programmazione logica di R. Kowalski. È il più noto linguaggio di programmazione logica. È basato sulla logica dei Predicati del Primo Ordine (prova automatica di teoremi e risoluzione). È un linguaggio di altissimo livello. È un manipolatore di stringhe e non di numeri. È largamente utilizzato per applicazioni di Intelligenza Articiale (Planning, Sistemi Esperti, Sistemi a Regole di Produzione,..). Non adatto per applicazioni numeriche o real-time.

7 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. La testa della clausola è detta anche conseguente, mentre il corpo antecedente. Un programma logico consiste in un insieme di procedure espresse in clausole di Horn ed attivate da una asserzione iniziale d'obiettivo.

8 Considerando le clausole espresse secondo due categorie che sono i fatti e le regole 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.

9 Oggetti Un programma Prolog è costituito da un insieme di termini ognuno dei quali è costituito da un insieme di caratteri. Un oggetto può essere semplice, come una costante, oppure composto, ossia formato da altri oggetti componenti e sono detti strutture. Ci sono 3 tipologie di termini: Costanti Variabili Strutture Oggetti semplici Oggetti Strutture Variabili Costanti Atomi Numeri

10 Costanti I nomi semplici di oggetti sono detti costanti. Essi denotano oggetti elementari definiti. In Prolog esistono due tipi di costanti: gli atomi e gli interi. - Gli atomi possono essere di due tipi: sequenza di lettere e cifre che inizia con lettera minuscola oppure che inizia con lettera maiuscola, ma in questo caso la sequenza va messa fra apici. Si può usare il carattere speciale _ inserito nel corpo di un atomo per migliorarne la leggibilità. Es: tavolo Tavolo tavolo_di_legno a113 simboli. Es: :-?- - Gli interi sono utilizzati per rappresentare numeri, sono costituiti da sole cifre e non possono contenere il punto decimale.

11 Variabili Le variabili, cioè i termini utilizzati per indicare una entità che al momento sono ancora da determinate o da identificare, sono rappresentati dalle lettere maiuscole o dal carattere _ (underscore) che indica la variabile anonima.

12 Strutture Una struttura è un oggetto costituito da un insieme di termini, chiamati componenti. Una struttura è una entità del tipo: Es: mangia(gianni,mela). dove il predicato mangia è chiamato funtore e gli argomenti gianni e mela sono chiamati componenti. Il funtore deve essere necessariamente un atomo. Una variabile non può esser usata come funtore. Gli argomenti invece possono esser termini di qualsiasi tipo. Un funtore con n componenti è detto funtore n-ario (o ad n posti, o ad n argomenti, o di molteplicità n). Se più funtori hanno lo stesso nome ma molteplicità diverse, sono a tutti gli effetti funtori diversi. Le convenzioni di scrittura dei funtori sono le stesse di quelle degli atomi. Si noti che le costanti possono essere considerate come funtori 0-ari, cioè senza argomenti.

13 Strutture I nomi che costituiscono la n-pla di argomenti di un funtore possono a loro volta essere strutture. Ciò consente la costituzione di nomi arbitrariamente complessi, a vari livelli di composizione. Es: acquisto(mario_rossi,album(viva_la_vida,band(coldplay))). Questo fatto codifica l acquisto di un album. Si può notare che band e album sono funtori.

14 Sintassi Come detto un termine è un insieme di caratteri. I caratteri riconosciuti dal Prolog sono divisi in 4 categorie: insieme delle lettere maiuscole: A B C D... X Y Z; insieme delle lettere minuscole: a b c... x y z; insieme dei caratteri numerici: ; insieme dei caratteri speciali:! " # $ % & ' ( ) = - ~ ^ \ { } [ ] _ + ; * < >,.? /

15 Sintassi I nomi di predicati e oggetti devono necessariamente iniziare con una lettera minuscola Es: genitore gianni tommaso I nomi di variabili devono iniziare con una lettera maiuscola o con _ per le variabili anonime Es: X Un'asserzione è composta dal nome del predicato e dagli argomenti espressi tra parentesi tonde separati da virgole. Es: genitore(gianni, tommaso) si legge gianni è genitore di tommaso Ogni asserzione termina con un punto. Questo è il simbolo che indica al Prolog la fine di un elemento di conoscenza.

16 Relazioni Una relazione è l'attribuzione di una qualità comune a più oggetti. Ad esempio, una relazione di parentela, come l'essere genitore correla ogni genitore ai suoi figli. Naturalmente, una relazione può valere tra più di un gruppo di oggetti; per esempio, la relazione "padre di" vale tra molte coppie di persone. Analogamente, un singolo gruppo di oggetti può soddisfare più di una relazione, ad esempio, Mario Rossi è compagno di lavoro di Mario Bianchi, ed anche suo vicino di casa.

17 Una relazione collega tra loro gli elementi di una n-pla. È un insieme di asserzioni con uguale predicato e numero di argomenti. In Prolog una relazione è denotata da un nome, detto predicato, seguito (in parentesi) dalla n-pla dei nomi degli oggetti correlati (separati da virgola). Perciò ogni predicato, come ogni funtore, ha la sua molteplicità; in particolare, si dice binario se ha 2 argomenti, ternario se ha 3 argomenti, e così via. Es: genitore(gianni,tommaso). È un predicato binario

18 Proposizioni Come visto i termini indicano gli oggetti e i predicati le relazioni tra gli stessi, quindi le proposizioni indicano le proprietà logiche che sussistono tra le relazioni. Ogni proposizione termina con un punto. Ci sono due tipi di proposizioni: Atomiche o asserzioni ( o anche fatti) Regole genitore(gianni,tommaso). figlio(y,x) :- genitore(x,y). Sono proposizioni non atomiche condizionali Le proposizioni prive di variabili vengono dette chiuse (ground sentences). Es: padre(gianni)

19 Fatti Sono clausole di Horn non condizionali. Esprimono un'affermazione non vincolata alla preventiva verifica di un insieme di condizioni. h:-b h è vera se b è vero (non è un fatto, è una regola) h h è vera a prescindere (è un fatto) Un fatto è una frase riguardante qualcosa o qualcuno, che stabilisce una relazione fra gli argomenti. Questa relazione può esser vera o falsa. Il Prolog assume implicitamente che tutti i fatti presenti nella base di conoscenza siano veri. Es: caldo(agosto). genitore( gianni, tommaso).

20 Regole Sono clausole di Horn condizionali. Proposizioni non atomiche costituite da più predicati connessi da operatori (o connettivi) logici, denotati da simboli speciali. Il connettivo :- indica l implicazione, detto anche condizionale. I predicati a destra del simbolo condizionale sono detti premesse, a sinistra ci può esser un unico predicato detto conclusione. Il connettivo, indica la congiunzione (AND logico) tra due predicati. Es: batteria(guasta) :- luci(spente), motorino_avviamento(muto).

21 Disgiunzione Una relazione può essere definita da più proposizioni condizionali aventi lo stesso predicato come conclusione (o da più proposizioni atomiche con lo stesso predicato). In questo caso esse vengono considerate in alternativa tra loro, cioè implicitamente connesse dall'operatore logico di disgiunzione (OR logico). genitore(x, Y) :- padre(x, Y). genitore(x, Y) :- madre(x, Y). Oppure si può usare il simbolo ; genitore(x, Y) :- padre(x, Y) ; madre(x, Y). In entrambi i casi si legge: X è genitore di Y se è padre o è madre di Y

22 Query Sono clausole di Horn senza conclusione. Le query prolog si basano su un meccanismo di pattern matching chiamato unificazione. Es: acquisto(mario_rossi,album(viva_la_vida,band(coldplay))). Vogliamo sapere quali siano gli album acquistati dal sig. mario rossi, allora poniamo all interprete la seguente query:?-acquisto(mario_rossi,album(x,band(y))). Tramite unificazione l interprete prolog cerca di unificare i termini nella query con quelli nell asserzione. Le variabili X e Y presenti nel goal (query) vengono sostituite con gli atomi presenti nell asserzione. X = viva_la_vida, Y = coldplay

23 Unificazione L unificazione può esser applicata ad una coppia qualsiasi di termini. Dati la coppia di termini, essi unificano se vale una delle seguenti condizioni: sono identici le variabili in essi possono essere istanziate con oggetti in modo che dopo la sostituzione delle variabili i termini diventano identici L unificazione è un processo che prende due termini e verifica se unificano. Se non unificano, il processo di unificazione fallisce. Se unificano, il processo di unificazione ha successo e istanzia le variabili. persona(antonio) unifica con persona(antonio) persona(gianni) non unifica con persona(antonio) persona(x) unifica con persona(gianni) grazie alla sostituzione X/gianni

24 Regole di Unificazione Valutiamo le possibili unificazioni tra T1 e T2 Se T1 e T2 sono entrambi delle costanti, possono essere unificati se e solo se sono lo stesso termine costante. Se T1 è un termine diverso da una variabile (ovvero è una costante od una struttura) e T2 è una variabile non istanziata, T1 e T2 possono venire unificati, istanziando T2 a T1. Se T1 e T2 sono entrambi strutture, possono essere unificati se e solo se hanno lo stesso funtore principale e lo stesso numero di argomenti, e gli argomenti che si corrispondono per posizione possono essere a loro volta unificati. Se T1 e T2 sono entrambi variabili non istanziate, vengono unificate l'una con l'altra, non appena una di esse viene istanziata ad un termine secondo le regole precedenti, anche l'altra assume lo stesso termine.

25 Riassumendo Le componenti fondamentali di un programma Prolog sono: dichiarazioni di fatti sugli oggetti e le loro relazioni dichiarazioni di regole sugli oggetti e le loro relazioni domande sugli oggetti e le loro relazioni. genitore(gianni,tommaso). genitore(tommaso,andrea). figlio(y,x) :- genitore(x,y).?- figlio(x,y). X = tommaso Y = gianni

Introduzione alla Programmazione Logica ed al linguaggio PROLOG

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

Dettagli

Programmazione logica e PROLOG. Esercitazione 1. Sommario. Programmazione logica. Applicazioni della Programmazione Logica

Programmazione logica e PROLOG. Esercitazione 1. Sommario. Programmazione logica. Applicazioni della Programmazione Logica Sommario Programmazione logica e PROLOG Esercitazione 1 Programmazione logica Base delle conoscenze Interrogazione del sistema Regole Ricorsive Esecuzione dei programmi Modello operazionale Rappresentazione

Dettagli

Programmazione 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 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

Dettagli

Linguaggi di Programmazione Prolog (1) Prolog. Processo di dimostrazione (limiti) Linguaggio: Utile per:

Linguaggi 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

Dettagli

Logica proposizionale

Logica 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

Dettagli

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"

Programmazione 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

Dettagli

Richiami di Prolog. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano)

Richiami di Prolog. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano) Intelligenza Artificiale A.A. 2004-2005 20 Maggio 2005 Richiami di Prolog Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035 (primo piano) 1 Riferimenti

Dettagli

1 Cenni di logica matematica

1 Cenni di logica matematica 1 Cenni di logica matematica 1 1 Cenni di logica matematica Una delle discipline chiave della matematica (e non solo, visto che è fondamentale anche per comprendere la lingua parlata) è la logica matematica,

Dettagli

BREVE 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 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

Dettagli

Introduzione alla logica

Introduzione 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

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 7 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 19 Marzo 2013 Programmazione dichiarativa Programmi = Algoritmi + Strutture Dati

Dettagli

Prolog: materiale didattico

Prolog: materiale didattico Prolog: materiale didattico Qualunque testo di introduzione al Prolog, ad esempio: I. Bratko. Programmare in Prolog per l Intelligenza Artificiale. Masson - Addison Wesley, 1988. W. F. Clocksin and C.

Dettagli

Prolog. Processo di dimostrazione (limiti) Dott. Fabio Massimo Zanzotto. Linguaggio: Utile per:

Prolog. 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

Dettagli

Prolog Prodromi. Sistemi distribuiti LS 2003/2004 Prof. Andrea Omicini

Prolog Prodromi. Sistemi distribuiti LS 2003/2004 Prof. Andrea Omicini Prolog Prodromi Sistemi distribuiti LS 2003/2004 Prof. Andrea Omicini 1 Prima della Programmazione Logica I primi edifici formali: aritmetica e geometria Aristotele e l'inferenza logica Il concetto di

Dettagli

Logica: materiale didattico

Logica: 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

Dettagli

Intelligenza Artificiale. Sistemi a regole Sistemi esperti

Intelligenza Artificiale. Sistemi a regole Sistemi esperti Intelligenza Artificiale Sistemi a regole Sistemi esperti Marco Piastra Sistemi a regole - 1 Sistemi a regole Sistemi esperti 1. Introduzione al calcolo dei predicati 2. Sistemi a regole 3. Jess 4. Fox,

Dettagli

PROLOG: PROgramming in LOGic Linguaggio usato per risolvere problemi che coinvolgono oggetti e relazioni tra oggetti.

PROLOG: PROgramming in LOGic Linguaggio usato per risolvere problemi che coinvolgono oggetti e relazioni tra oggetti. Paradigmi di programmazione Imperativo: orientato alla soluzione algoritmica del problema (Assembler, C, Pascal, Ada,...) Dichiarativo: si concentra sulla descrizione del problema. Il programmatore specifica

Dettagli

UNIFICAZIONE E PATTERN MATCHING

UNIFICAZIONE E PATTERN MATCHING UNIFICAZIONE E PATTERN MATCHING In Intelligenza Artificiale (IA), la maggior parte dei sistemi basati su conoscenza poggia sul confronto di descrizioni (simboliche), nella forma di Unificazione o di Matching.

Dettagli

Logica proposizionale

Logica 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

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

IL PROBLEMA DELLA NEGAZIONE IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO

IL PROBLEMA DELLA NEGAZIONE IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO IL PROBLEMA DELLA NEGAZIONE Finora non abbiamo preso in esame il trattamento di informazioni negative Solo programmi logici costituiti da clausole definite e che quindi non possono contenere atomi negati.

Dettagli

IL PROBLEMA DELLA NEGAZIONE

IL PROBLEMA DELLA NEGAZIONE IL PROBLEMA DELLA NEGAZIONE Finora non abbiamo preso in esame il trattamento di informazioni negative Solo programmi logici costituiti da clausole definite e che quindi non possono contenere atomi negati.

Dettagli

Lo studioso di logica si chiede se la conclusione segue correttamente dalla premesse fornite e se premesse sono buone per accettare la conclusione.

Lo studioso di logica si chiede se la conclusione segue correttamente dalla premesse fornite e se premesse sono buone per accettare la conclusione. Logica binaria 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 di logica si chiede

Dettagli

Algoritmo. Calcolabilità

Algoritmo. Calcolabilità Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata

Dettagli

Esempio compito 11 Sett 2008

Esempio compito 11 Sett 2008 Esempio compito 11 Sett 2008 no_dupl([], []). no_dupl([x Xs], Ys):- member(x, Xs), no_dupl(xs, Ys). no_dupl([x Xs], [X Ys]):- nonmember(x, Xs), no_dupl(xs, Ys). nonmember(_, []). nonmember(x, [Y Ys]):-X

Dettagli

C1: L C1 C2: L C2 C: C1 C2

C1: 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

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

Dettagli

Logica per la Programmazione

Logica 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.

Dettagli

Introduzione alla programmazione

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

Dettagli

si vuole verificare: P5: pioverà

si vuole verificare: P5: pioverà Logica matematica ntroduzione alla logica matematica ilvana adaloni Paolo ison Fondamenti di nformatica AA 20004 niversità di Padova formalizzazione dei meccanismi di ragionamento la logica studia proposizioni

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

Ragionamenti e metodi di dimostrazione. Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica

Ragionamenti e metodi di dimostrazione. Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica Ragionamenti e metodi di dimostrazione Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica Proposizioni Si definisce proposizione una frase alla quale è possibile attribuire uno e un solo valore

Dettagli

1 Il linguaggio matematico

1 Il linguaggio matematico 1 Il linguaggio matematico 1.1 La logica delle proposizioni La matematica è un linguaggio; a differenza del linguaggio letterario che utilizza una logica soggettiva, la matematica si serve di una logica

Dettagli

Sesto modulo: Logica Obiettivi 1. individuare dei "calcoli logici" che consentano di meccanizzare l attività deduttiva

Sesto modulo: Logica Obiettivi 1. individuare dei calcoli logici che consentano di meccanizzare l attività deduttiva Sesto modulo: Logica Obiettivi 1. individuare dei "calcoli logici" che consentano di meccanizzare l attività deduttiva 2. stabilire quali ragionamenti sono corretti e quali no 3. distinguere tra condizione

Dettagli

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

Dettagli

Elementi di Logica matematica. Elementi di logica matematica

Elementi di Logica matematica. Elementi di logica matematica 1 Elementi di logica matematica Molte grammatiche definiscono la proposizione come un giudizio della mente espresso con parole, cioè da un punto di vista grammaticale la parola proposizione sta ad indicare

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Richiami teorici ed esercizi di Logica

Richiami 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

Dettagli

Agenti Basati su Logica

Agenti Basati su Logica Agenti Basati su Logica Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 09/04/2018 Agenti basati sulla logica Generico agente logico Il mondo del Wumpus Logica proposizionale Inferenza

Dettagli

Corso di Fondamenti di Informatica Università degli Studi di Cassino

Corso di Fondamenti di Informatica Università degli Studi di Cassino Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17

Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17 Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,

Dettagli

Fondamenti d Informatica: Grammatiche. Barbara Re, Phd

Fondamenti d Informatica: Grammatiche. Barbara Re, Phd Fondamenti d Informatica: Grammatiche Barbara Re, Phd Grammatiche } Con il termine grammatica s intende } Un formalismo che permette di definire un insieme di stringhe mediante l imposizione di un particolare

Dettagli

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Dati e Istruzioni Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/28 Comunicazione dell algoritmo all

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

Dettagli

Ragionamento formalei. Ragionamento formale

Ragionamento formalei. Ragionamento formale Ragionamento formale La necessità e l importanza di comprendere le basi del ragionamento formale, utilizzato in matematica per dimostrare teoremi all interno di teorie, è in generale un argomento piuttosto

Dettagli

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri

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

Logica 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 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

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

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16 Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea@di.unipi.it, francesca.levi@unipi.it A. Corradini e

Dettagli

Proposizioni e verità

Proposizioni 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à...............................................

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

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti.

INSIEMI. 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

Dettagli

CALCOLO PROPOSIZIONALE: CENNI

CALCOLO PROPOSIZIONALE: CENNI CALCOLO PROPOSIZIONALE: CENNI Francesca Levi Dipartimento di Informatica February 26, 2016 F.Levi Dip.to Informatica Informatica per le Scienze Umane a.a. 15/16 pag. 1 La Logica La logica è la disciplina

Dettagli

Tipi di dato e variabili. Walter Didimo

Tipi di dato e variabili. Walter Didimo Tipi di dato e variabili Walter Didimo Tipi di dato I dati che possono essere manipolati in un programma si classificano in tipologie differenti, chiamate tipi di dato Esistono due macro tipi di dato in

Dettagli

Elementi di programmazione

Elementi di programmazione Elementi di programmazione L E Z I O N I P E R I C O R S I D I I N F O R M A T I C A D E L L I C E O S C I E N T I F I C O O P Z I O N E S C I E N Z E A P P L I C A T E P R O F. D O M E N I C O L O R U

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algebra di Boole Elementi di

Dettagli

Informatica. Logica e Algebra di Boole

Informatica. 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

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

4 La Logica come base di ogni scienza. 5 Alla ricerca della forma logica. logica

4 La Logica come base di ogni scienza. 5 Alla ricerca della forma logica. logica 4 La Logica come base di ogni scienza La Logica è alla base di ogni scienza (o teoria) in quanto è fondamento di ogni scienza non tanto per i contenuti specifici ma per la loro articolazione deduttiva.

Dettagli

RAPPRESENTAZIONE 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; 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

Dettagli

La matematica non è un opinione, lo è oppure...?

La matematica non è un opinione, lo è oppure...? La matematica non è un opinione, lo è oppure...? Giulio Giusteri Dipartimento di Matematica e Fisica Università Cattolica del Sacro Cuore Brescia 26 Febbraio 2010 Vecchie conoscenze Dedurre... dedurre...

Dettagli

Introduzione alla Matematica per le Scienze Sociali - parte II

Introduzione alla Matematica per le Scienze Sociali - parte II Introduzione alla Matematica per le Scienze Sociali - parte II Lucrezia Fanti Istituto Nazionale per l Analisi delle Politiche Pubbliche (INAPP) lucrezia.fanti@uniroma1.it Lucrezia Fanti Intro Matematica

Dettagli

DISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.

DISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE. DISPENSE DI PROGRAMMAZIONE Modulo 3 Linguaggi di programmazione: dati e controllo (Parte I) LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.

Dettagli

Un po di logica. Christian Ferrari. Laboratorio di matematica

Un 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

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 Elementi di Programmazione Architettura del calcolatore Reti di Calcolatori Calcolo proposizionale Algebra Booleana Contempla

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente

Dettagli

API. Ripasso di logica. Davide Martinenghi. Politecnico di Milano. API Davide Martinenghi (1/30)

API. Ripasso di logica. Davide Martinenghi. Politecnico di Milano. API Davide Martinenghi (1/30) API Ripasso di logica Davide Martinenghi Politecnico di Milano API Davide Martinenghi (1/30) Logica proposizionale - sintassi L è un linguaggio della logica proposizionale L alfabeto di L è composto da

Dettagli

Foglio Elettronico Lezione 1

Foglio Elettronico Lezione 1 - Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma

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

Sistemi Deduttivi. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Sistemi Deduttivi[1]

Sistemi Deduttivi. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Sistemi Deduttivi[1] Intelligenza Artificiale I Sistemi Deduttivi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Sistemi Deduttivi[1] Calcolo simbolico? Una fbf è conseguenza logica di un insieme di fbf sse qualsiasi

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

Elementi di teoria degli insiemi

Elementi di teoria degli insiemi ppendice Elementi di teoria degli insiemi.1 Introduzione Comincia qui l esposizione di alcuni concetti primitivi, molto semplici da un punto di vista intuitivo, ma a volte difficili da definire con grande

Dettagli

Logica 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; Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Implicazione logica. Equivalenza logica; Condizione necessaria,

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

Linguaggio di Riferimento: C

Linguaggio di Riferimento: C Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall

Dettagli

Introduzione al PROLOG

Introduzione al PROLOG Introduzione al PROLOG Laboratorio di apprendimento logico-matematico C.Gallo Introduzione al Prolog 1 Rapporti con la logica Ogni sistema intelligente si basa essenzialmente sulla capacità di: riconoscere

Dettagli

Dalla precedente lezione: LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) 28/02/2016

Dalla precedente lezione: LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) 28/02/2016 LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 3 LA RAPPRESENTAZIONE DEI DATI (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

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

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica

ISTITUTO 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

Dettagli

Fondamenti teorici e programmazione

Fondamenti teorici e programmazione Fondamenti teorici e programmazione FTP(A) - modb Lezione 8 F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1 Ragionamento formale Comprendere le basi del ragionamento

Dettagli

Operatori di relazione

Operatori di relazione Condizioni Negli algoritmi compaiono passi decisionali che contengono una proposizione (o predicato) dal cui valore di verità dipende la sequenza dinamica Chiamiamo condizioni tali proposizioni Nei casi

Dettagli

LOGICA PER LA PROGRAMMAZIONE a.a. 2017/18 Prima esercitazione 28/9/2017 Soluzioni Proposte

LOGICA PER LA PROGRAMMAZIONE a.a. 2017/18 Prima esercitazione 28/9/2017 Soluzioni Proposte LOGICA PER LA PROGRAMMAZIONE a.a. 2017/18 Prima esercitazione 28/9/2017 Soluzioni Proposte Attenzione: Le soluzioni che seguono sono considerate corrette dai docenti. possono esistere altre soluzioni corrette,

Dettagli

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

Intelligenza Artificiale. Logica proposizionale: calcolo simbolico

Intelligenza Artificiale. Logica proposizionale: calcolo simbolico Intelligenza Artificiale Logica proposizionale: calcolo simbolico Marco Piastra Logica formale (Parte 2) - 1 Parte 2 Calcolo logico Assiomi Derivazioni Derivazioni e conseguenza logica Completezza Logica

Dettagli

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi e le priorità di realizzazione. Raccolta e analisi dei requisiti individua proprietà

Dettagli

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2018/19

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2018/19 Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2018/19 Andrea Corradini e Filippo Bonchi Dipartimento di Informatica E-mail: andrea@di.unipi.it, filippo.bonchi@unipi.it A. Corradini e

Dettagli

NOZIONI DI LOGICA PROPOSIZIONI.

NOZIONI 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

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