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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Intelligenza Artificiale A.A Maggio 2005 Richiami di Prolog Marco Pennacchiotti Tel Ing.dell Informazione, stanza 1035 (primo piano) 1

2 Riferimenti Testi di riferimento per il Prolog: - Prolog Programming - Paul Brna - Learn Prolog Now! - Blackbourn,Bos,Stregnitz Dove scaricare SWI Prolog: - Ricevimento: - Giovedì, dalle 14 alle 16 Stanza 1035 Primo Piano Ingegneria della Informazione 2

3 Sommario Perché (ancora) Prolog? I concetti essenziali del prolog: E un linguaggio dichiarativo Utilizza il Modus Ponens Utilizza l unificazione Utilizza uno spazio di ricerca delle soluzioni in profondità Liste Modifiche dello spazio di ricerca Tecniche di programmazione Test in itinere 3

4 Perché (ancora) Prolog? Il Prolog è il linguaggio di programmazione ideale per analizzare la sintassi del Linguaggio Naturale (LN): Le regole grammaticali del LN possono essere facilmente rappresentate con regole Prolog Uno stesso programma Prolog consente di :» Riconoscere se una frase in un LN è sintatticamente corretta (Riconoscimento)» Produrre tutte le frasi sintatticamente corrette di un LN (Generazione) GRAMMATICA LN s -> n v n -> Mario n -> Giorgio v -> corre v -> mangia PROGRAMMA PROLOG s --> n, v. n --> [Mario]. n --> [Giorgio]. v --> [corre]. v --> [mangia]. Riconoscimento: Mario mangia OK! Giorgio Mario NO! Generazione: Mario mangia Mario corre Giorgio mangia Giorgio corre 4

5 Sommario Perché (ancora) Prolog? I concetti essenziali del prolog: E un linguaggio dichiarativo Utilizza il Modus Ponens Utilizza l unificazione Utilizza uno spazio di ricerca delle soluzioni in profondità Liste Modifiche dello spazio di ricerca Tecniche di programmazione 5

6 Linguaggio Dichiarativo Linguaggi di programmazione Procedurali (C, Java, etc) COSA DEVO FARE PER? Obiettivo: dato un input elaborare un output tramite un algoritmo Il programmatore deve: implementare l algoritmo in una procedura Dichiarativi (Prolog, etc) CHE PROPRIETA DEVE AVERE UN OGGETTO PER? Obiettivo: dati degli oggetti verificare le loro proprietà e relazioni (query) Il programmatore deve: codificare proprietà, relazioni e i loro vincoli in una base di conoscenza (knowledge base, KB) attraverso fatti e regole INPUT procedurale OUTPUT PROPRIETA DA VERIFICARE dichiarativo PROPRIETA VERIFICATA Algoritmo Risolutivo Base di conoscenza 6

7 Linguaggio Dichiarativo ESEMPIO Problema: data una lista di numeri, ordinarla in ordine crescente. - Soluzione Procedurale: COSA DEVO FARE PER ORDINARE UNA LISTA? Obiettivo: data la lista in input ottenere in output la sua versione ordinata Il programmatore deve: implementare una procedura di ordinamento - Soluzione Dichiarativa: CHE PROPRIETA DEVONO AVERE DUE LISTE PER ESSERE UNA L ORDINAMENTO DELL ALTRA? Obiettivo: rappresentare una relazione tra due liste che sia vera quando una è l ordinamento dell altra Il programmatore deve: codificare le proprietà ed i vincoli che la relazione deve avere affinché sia vera [ 3, 1, 7, 2 ] [ 1, 2, 3, 7 ] ORDINAMENTO ( [3,1,7,2], Y ) ORDINAMENTO ( [3,1,7,2], [1,2,3,7] ) procedurale Selection Sort dichiarativo lista_riordinata(x,y) :- permutazione(x,y), ha_elementi_ordinati(y). 7

8 Cos è un programma Prolog? Un programma Prolog è una base di dati, ovvero una collezione di: - FATTI cose incondizionatamente vere nel dominio di interesse - REGOLE cose condizionatamente vere nel dominio di interesse uomo(socrate). uomo(platone). maestro_di(socrate,platone). mortale(x) :- uomo(x). conosce(x,y) :- maestro(x,y). conosce(x,y) :- maestro(y,x). FATTI: PROPRIETA : socrate è un uomo, platone è un uomo RELAZIONI: socrate è maestro di platone REGOLE: PROPRIETA : X è mortale se è un uomo RELAZIONI: X conosce Y se X è maestro di Y Un esecuzione di un programma Prolog è una QUERY alla base di dati riguardo alla conoscenza (esplicita o implicita) racchiusa nel programma:?- uomo(socrate) yes!?- conosce(socrate,platone) yes! 8

9 Sommario Perché (ancora) Prolog? I concetti essenziali del prolog: E un linguaggio dichiarativo Utilizza il Modus Ponens Utilizza l unificazione Utilizza uno spazio di ricerca delle soluzioni in profondità Liste Modifiche dello spazio di ricerca Tecniche di programmazione 9

10 Modus Ponens: la deduzione in Prolog Le Regole Prolog implementano la regola di inferenza logica del Modus Ponens MODUS PONENS IN LOGICA x uomo(x) mortale(x), uomo(socrate) mortale(socrate) MODUS PONENS IN PROLOG uomo(socrate). mortale(x) :- uomo(x). mortale(socrate). X è mortale se X è un uomo (condizione sufficiente, ma non necessaria, per essere mortale è essere uomo) Questo metodo di deduzione logica è alla base del ragionamento che permette all interprete Prolog di trovare le informazioni richieste in una query, a partire dalle informazioni racchiuse nel programma 10

11 Modus Ponens: esempio Esempio di programma con congiunzioni e disgiunzioni tifoso(mario,lazio). vinto(lazio). famoso(giorgio). Mario è tifoso della Lazio. La Lazio ha vinto. Giorgio è famoso. felice(x) :- felice(x) :- felice(x) :- ricco(x), famoso(x). sano(x). tifoso(x,y), vinto(y). X è felice: - Se è ricco e famoso OPPURE - Se è sano OPPURE - Se è tifoso di una squadra E la squadra ha vinto Esempio di risposta a query utilizzando al Modus Ponens?- felice(mario). YES!?- felice(giorgio) NO! Closed World Assumption eppure ci potrebbero essere altri modi per essere felici, non rappresentati nel programma! 11

12 Sommario Perché (ancora) Prolog? I concetti essenziali del prolog: E un linguaggio dichiarativo Utilizza il Modus Ponens Utilizza l unificazione Utilizza uno spazio di ricerca delle soluzioni in profondità Liste Modifiche dello spazio di ricerca Tecniche di programmazione 12

13 Unificazione Fatti, regole e queries sono costituiti da termini. Esistono tre tipi di termini: Costanti (mario, giorgio, 10, -11, ) Variabili (X,Y, ) Termini complessi (felice(giorgio), felice(x), f(f(f(x), ) Due termini unificano se sono uguali o se contengono variabili che possono essere istanziate in modo da rendere i termini uguali ESEMPI POSITIVI mario = mario X = Y X = mario ama(joe,x)=ama(y,laura) YES! X=_5018 X=_5018 YES! X=mario YES! joe=y laura=x YES! ESEMPI NEGATIVI mario = giorgio NO! mario = felice(mario) NO! ama(joe,x) = ama(x,laura) NO! OCCURS CHECK X = f(x) X=f(f(f(f(f(f(f(f(f(f(...)))))))))) Yes 13

14 Programmare con l Unificazione Si possono costruire semplici programmi Prolog utilizzando la solo unificazione, senza fare quindi uso di inferenza logica vertical(line(point(x,y),point(x,z))). horizontal(line(point(x,y),point(z,y))).?- vertical(line(point(1,2),point(3,4))). NO!?- horizontal(line(point(3,1),x)). X = point(_g21,1) YES! Questo semplice tipo di programmazione : permette di costruire concetti complessi e strutturati; è molto efficiente (non si deve ricorrere ad inferenza); è particolarmente utile in applicazioni linguistiche 14

15 Sommario Perché (ancora) Prolog? I concetti essenziali del prolog: E un linguaggio dichiarativo Utilizza il Modus Ponens Utilizza l unificazione Utilizza uno spazio di ricerca delle soluzioni in profondità Liste Modifiche dello spazio di ricerca Tecniche di programmazione 15

16 Ricerca delle soluzioni Il Prolog cerca le soluzioni ad una query (goal) effettuando una ricerca in profondità all interno del programma. Punti fondamentali: Unificazione: vengono restituiti come soluzioni i termini che unificano con la query Backtracking: se la ricerca non ha successo in un ramo, essa continua in un ramo ancora non esplorato (choice point) Le diverse fasi della ricerca (proof search) possono essere rappresentate graficamente da un albero di esplorazione: - NODI = goal che devono essere soddisfatti ad un dato punto della ricerca - ARCHI = istanziazioni delle variabili ad un dato punto della ricerca - FOGLIE = rami della ricerca terminati, con successo o fallimento 16

17 Ricerca delle soluzioni: esempio PROGRAMMA f(a). f(b). g(a). g(b). SEARCH TREE k(x) X=_G21 f(_g21), g(_g21), h(_g21) GOAL SUBGOALS h(b). k(x) :- f(x),g(x),h(x). _G21=a _G21=b CHOICE POINT g(a), h(a) g(b), h(b) QUERY BACKTRACK h(a) h(b)?- k(x). Punti fondamentali: I fatti vengono letti dall alto al basso. I sub-goals vengono soddisfatti da sinistra verso destra. 17

18 Ricerca delle soluzioni: esempio con ricorsione PROGRAMMA figlio(marta,carla). figlio(carla,maria). figlio(maria,laura). figlio(laura,rosa). discendente(x,y) :- figlio(x,y). figlio(marta,laura) SEARCH TREE discendente(marta,laura) _G21=carla figlio(marta,_g21), discendente(_g21,laura) discendente(x,y) :- figlio(x,z), discendente(z,y). discendente(carla,laura) QUERY figlio(carla,laura) figlio(carla,_g22), discendente(_g22,laura)?-discendente(marta,laura). ATTENZIONE! Cambiando l ordine dei fatti e delle regole cambia il comportamento procedurale Prolog non è un linguaggio completamente dichiarativo, ma parzialmente anche procedurale _G22=maria discendente(maria,laura) figlio(maria,laura) 18

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

Esercitazione di Basi di Dati

Esercitazione 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

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

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

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

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

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. 2013-14 Vito Claudio Ostuni Linguaggi procedurali e dichiarativi linguaggi

Dettagli

Esercitazione di Logica

Esercitazione di Logica Esercitazione di Logica Corso di Fondamenti di Informatica 20 Maggio 2004 Reti semantiche, FOL, Prolog Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035

Dettagli

Esercizi di Programmazione Prolog

Esercizi di Programmazione Prolog Esercizi di Programmazione Prolog Marco Comini 29 febbraio 2008 Nel seguito useremo il termine PROLOG in contrasto a PROLOG PURO per distinguere Prolog con builtins (come < e is) da quello senza. Inoltre

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Gennaio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Gennaio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Gennaio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si esprimano in logica dei predicati del I ordine le seguenti frasi:

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 29 Gennaio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si esprimano in logica dei predicati del I ordine le seguenti frasi:

Dettagli

Linguaggi di Programmazione

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

Dettagli

Linguaggi di Programmazione

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

Dettagli

Il linguaggio di programmazione Python

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

Dettagli

Automi & Morfologia. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano)

Automi & Morfologia. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano) Intelligenza Artificiale A.A. 2004-2005 23 Giugno 2005 Automi & Morfologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035 (primo piano) Sommario Morfologia

Dettagli

Intelligenza Artificiale. Tecniche di ricerca basate sullo spazio degli stati

Intelligenza Artificiale. Tecniche di ricerca basate sullo spazio degli stati Intelligenza Artificiale Tecniche di ricerca basate sullo spazio degli stati Marco Piastra Ricerca e stati - 1 Problemi diversi, soluzioni simili Fox, Goat and Cabbage La definizione prevede Uno stato

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 16 Giugno 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 16 Giugno 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 16 Giugno 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si modellino le seguenti frasi (si noti che il dominio contiene solo entità

Dettagli

LOGICA PER LA PROGRAMMAZIONE

LOGICA 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

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 12 Giugno 2014 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si esprimano in logica dei predicati del I ordine le seguenti frasi:

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

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 13 Luglio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 13 Luglio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 13 Luglio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si formalizzino le seguenti frasi in logica dei predicati: - Esiste almeno un

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Fondamenti di Intelligenza Artificiale M a.a. 2010/2011. Note sul compito d esame

Fondamenti di Intelligenza Artificiale M a.a. 2010/2011. Note sul compito d esame Fondamenti di Intelligenza Artificiale M a.a. 2010/2011 Note sul compito d esame 1 Composizione di un possibile testo d esame Il testo d esame di Fondamenti di Intelligenza Artificiale M, dal 2009/2010

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

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

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

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

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi B1_1 V1.3. Sistemi a regole

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi B1_1 V1.3. Sistemi a regole Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi B1_1 V1.3 Sistemi a regole Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale

Dettagli

Fondamenti di Intelligenza Artificiale M

Fondamenti di Intelligenza Artificiale M Fondamenti di Intelligenza Artificiale M 1 Esempi di possibili esercizi Description Logic e SW Introdurre brevemente la differenza tra Open World Assumption e Close World Assumption, illustrando tale differenza

Dettagli

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3 Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa

Dettagli

PROGRAMMAZIONE DIDATTICA MODULARE Anno Scolastico 2018/2019. MATERIA Informatica CLASSE III DOCENTE Claudia Mantero INDIRIZZO A.F.

PROGRAMMAZIONE DIDATTICA MODULARE Anno Scolastico 2018/2019. MATERIA Informatica CLASSE III DOCENTE Claudia Mantero INDIRIZZO A.F. Istituti Paritari PIO XII RMTD545007 Amministrazione Finanza e Marketing Sistemi Informativi Aziendali 00159 ROMA - via Galla Placidia, 63 RMTL395001 Costruzioni, Ambiente e territorio Tel 06431465 Fax

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

Algoritmi e Strutture Dati Laboratorio 15/12/2008. Daniele Loiacono

Algoritmi e Strutture Dati Laboratorio 15/12/2008. Daniele Loiacono Algoritmi e Strutture Dati Laboratorio 15/12/2008 Problema della compressione Rappresentare i dati in modo efficiente Impiegare il numero minore di bit per la rappresentazione Goal: risparmio spazio su

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

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I Risoluzione con unificazione Marco Piastra Risoluzione con unificazione [1] Risoluzione proposizionale Procedura per stabilire se a) Refutazione { } e traduzione in forma normale

Dettagli

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 19/03/2018 Constraint Satisfaction problem Fino ad ora ogni stato è stato modellizzato come una

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Gennaio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Gennaio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Gennaio 2017 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (5 punti) Si formalizzino in logica dei predicati del I ordine le seguenti frasi: 1.

Dettagli

Programmazione di INFORMATICA e Laboratorio

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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a]

Dettagli

N-Regine POSSIBILE SOLUZIONE IN PROLOG: GENERATE AND TEST

N-Regine POSSIBILE SOLUZIONE IN PROLOG: GENERATE AND TEST N-Regine POSSIBILE SOLUZIONE IN PROLOG: GENERATE AND TEST La soluzione è rappresentata da una permutazione della lista: [1,2,3,4,5,6,7,8] La permutazione è una soluzione se le posizioni di ogni regina

Dettagli

Tail,PermTail), delete1(head,permlist. PermList,PermTail).

Tail,PermTail), delete1(head,permlist. PermList,PermTail). N-Regine POSSIBILE SOLUZIONE IN PROLOG: GENERATE AND TEST La soluzione è rappresentata da una permutazione della lista: [1,2,3,4,5,6,7,8] La permutazione è una soluzione se le posizioni di ogni regina

Dettagli

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Intelligenza Artificiale. Logica proposizionale: calcolo automatico Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining

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 Programmazione e Paradigmi. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggi di Programmazione e Paradigmi. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Linguaggi di Programmazione e Paradigmi Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Come risolvere un problema Le 3 tappe fondamentali di risoluzione di un problema algoritmico sono:

Dettagli

Fondamenti di Intelligenza Artificiale M. Altri possibili esercizi

Fondamenti di Intelligenza Artificiale M. Altri possibili esercizi Fondamenti di Intelligenza Artificiale M Altri possibili esercizi 1 Esempi di possibili esercizi Description Logic e SW e domande sui seminari in generale Introdurre brevemente la differenza tra Open World

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

Linguaggi di programmazione. Paradigmi di programmazione

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

Dettagli

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 11 Gennaio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 11 Gennaio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 11 Gennaio 2018 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si formalizzino le seguenti frasi in logica dei predicati: 1. Chi conosce la

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE PRIMA PARTE (6 CFU) 9 Dicembre 2010 Tempo a disposizione 2h Risultato 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE PRIMA PARTE (6 CFU) 9 Dicembre 2010 Tempo a disposizione 2h Risultato 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE PRIMA PARTE (6 CFU) 9 Dicembre 0 Tempo a disposizione h Risultato / punti Esercizio 1 (punti 6) Si rappresentino in logica dei predicati del primo ordine le seguenti

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

Linguaggi di programmazione

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

Dettagli

Linguaggi di programmazione e astrazione

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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno Il concetto di dato Il concetto

Dettagli

Calcolo numerico e programmazione Programmazione

Calcolo numerico e programmazione Programmazione Calcolo numerico e programmazione Programmazione Tullio Facchinetti 11 maggio 2012 14:05 http://robot.unipv.it/toolleeo La programmazione la programmazione è l insieme delle

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

Un metodo di rappresentazione della Conoscenza e un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza.

Un 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

Dettagli

I Linguaggi di Programmazione

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

Dettagli

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

Knowledge base (KB) = insiemi di sentenze scritte in un linguaggio formale.

Knowledge base (KB) = insiemi di sentenze scritte in un linguaggio formale. Basi di Conoscenza Knowledge base (KB) = insiemi di sentenze scritte in un linguaggio formale. Le risposte devono seguire dalla KB. Inference Engine: strutture dati ed algoritmi per manipolare la KB ed

Dettagli

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining Sistemi a Regole Fabio Sartori sartori@disco.unimib.it 3 dicembre 2008 L algoritmo RETE Forward e Backward Chaining 1 Sistemi di Produzioni (1) Un sistema di produzioni consiste in un insieme non ordinato

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

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

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Febbraio 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Febbraio 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 12 Febbraio 2016 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Date le seguenti frasi in linguaggio naturale: 1. Chi soffre di allergie starnutisce.

Dettagli

Secondo Anno: Informatica Economico-Turistico

Secondo Anno: Informatica Economico-Turistico Secondo Anno: Informatica Economico-Turistico Competenze ASSE DEI LINGUAGGI (1) Utilizzare e produrre testi multimediali (1.1) Comprendere i prodotti della comunicazione audiovisiva Elaborare prodotti

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

CAPITOLO 3 - ALGORITMI E CODIFICA

CAPITOLO 3 - ALGORITMI E CODIFICA FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)

Dettagli

Rappresentazione della conoscenza. Lezione 4. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0

Rappresentazione della conoscenza. Lezione 4. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0 Rappresentazione della conoscenza Lezione 4 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0 Efficienza nei programmi PROLOG Controllo dell inferenza Meta-predicati Termini e loro rappresentazione

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

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Strutture Elementari Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 29 ottobre 2008 Strutture Dati Astratte Il concetto di dato Il concetto

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

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 14 Giugno 2013 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si considerino le seguenti frasi: 1. Tutti gli insegnanti sono

Dettagli

Fondamenti teorici e programmazione

Fondamenti teorici e programmazione Fondamenti teorici e programmazione FTP(A) - modb Lezione 9 di ricerca binaria F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1 liberi Un albero libero è un

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

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

ISTITUTO TECNICO INDUSTRIALE ITI "E. MEDI" PIANO DI STUDIO DELLA DISCIPLINA Scienze e Tecnologie Applicate: indirizzo INFORMATICA PIANO DELLE UDA

ISTITUTO TECNICO INDUSTRIALE ITI E. MEDI PIANO DI STUDIO DELLA DISCIPLINA Scienze e Tecnologie Applicate: indirizzo INFORMATICA PIANO DELLE UDA ISTITUTO TECNICO INDUSTRIALE ITI "E. MEDI" PIANO DI STUDIO DELLA DISCIPLINA Scienze e Tecnologie Applicate: indirizzo INFORMATICA PIANO DELLE UDA UDA COMPETENZE della UDA ABILITA UDA CONOSCENZE UDA DISCIPLINA

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I Risoluzione e clausole di Horn Marco Piastra Risoluzione e clausole di Horn [1] Sistemi deduttivi e automazione Il problema è decidibile? La definizione di derivabilità a la

Dettagli

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Grammatiche. Stefano Ferrari

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

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

Linguaggi e Traduttori: Analisi sintattica

Linguaggi e Traduttori: Analisi sintattica Linguaggi e Traduttori: Analisi sintattica Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande/ VERSIONE 1 1) Nella ricorsione, quando il problema ha soluzione immediata siamo a) nell ipotesi ricorsiva b) nel

Dettagli

Ragionamento Automatico Richiami di tableaux proposizionali

Ragionamento Automatico Richiami di tableaux proposizionali Richiami di logica e deduzione proposizionale Ragionamento Automatico Richiami di tableaux proposizionali (L. Carlucci Aiello & F. Pirri: SLL, Cap. 5) La logica proposizionale I tableau proposizionali

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

Introduzione all Intelligenza Artificiale a.a. 2016/17

Introduzione all Intelligenza Artificiale a.a. 2016/17 Introduzione all Intelligenza Artificiale a.a. 2016/17 Prima prova intermedia 7 Aprile 2017 PRIMA PARTE Domande (punti 7) La risposta corretta alla maggior parte delle domande abilita la correzione della

Dettagli

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Corso di Informatica Modulo T1 C1-Sequenza e selezione Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 9 Proof System per la Logica del Primo Ordine Leggi per i Quantificatori Regole di inferenza: Generalizzazione

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 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

Dettagli