Logikprogrammering. Undervisningsmaterialet NYTT för 2013: Learn Prolog Now! SWI Prolog-tolk, startas under tuxedo/ pingvinerna med swipl!
|
|
- Ann-Sofie Fransson
- för 8 år sedan
- Visningar:
Transkript
1 Logikprogrammering Undervisningsmaterialet NYTT för 2013: Learn Prolog Now! SWI Prolog-tolk, startas under tuxedo/ pingvinerna med swipl!
2 Learn Prolog Now!
3 SWI Prolog Gratis Prolog-tolk Lesser GNU Public License Fungerar på Linux, Windows Mac OS Det finns många olika Prolog-tolkar Alla följer inte ISO-standarden
4 Föreläsning 1 Teori Introduktion till Prolog Fakta, regler och förfrågningar. Prologs syntax Exercises ( hemläxa ) Praktisk träning
5 FL 1: innehåll Ge några enkla exempel på Prologprogram Presentera Prologs tre grundstrukturer: Fakta (Facts) Regler (Rules) Förfrågningar (Queries) Introducera andra begrepp, bl a logikens roll unifiering mha variabler Börja studera Prolog systematiskt genom att definiera termer, atomer och variabler.
6 Prolog "Programming with Logic" Deklarativt Mycket olikt andra (procedurala) programmeringsspråk Bra för kunskapsintensiva uppgifter
7 Prologs historia första Prolog-tolken av Colmerauer och Roussel s/1990s 2005
8 Prologs historia implementation av en DEC10-kompilator av Warren s/1990s 2005
9 Prologs historia Definite Clause Grammars implementation av Pereira och Warren s/1990s 2005
10 Prologs historia Prolog blir mera populärt, speciellt i Europa och Japan s/1990s 2005
11 Prologs historia Prolog används för att programmera naturligt språk-gränssnitt i International Space Station av NASA s/1990s 2005
12 Prologs grundidé Beskriv den relevanta situationen Ställ en fråga Prolog härleder logiskt nya fakta gällande den situation vi beskrivit Prolog delger oss sina slutsatser som svar
13 Konsekvenser Tänk deklarativt, inte proceduralt Utmanande Requires a different mindset Högnivåspråk Inte så effektivt som ex. C Bra när det gäller att producera snabba prototyper Nyttigt i många AI-applikationer
14 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party. Ska skrivas in i en separat fil, som laddas med ex.?- [prolog/lesson1]. filen i exemplet skulle heta prolog/lesson1.pl ej med
15 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?-
16 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- woman(mia).
17 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- woman(mia). yes?-
18 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- woman(mia). yes?- playsairguitar(jody).
19 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- woman(mia). yes?- playsairguitar(jody). yes?-
20 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- woman(mia). yes?- playsairguitar(jody). yes?- playsairguitar(mia). no
21 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- tattoed(jody).
22 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- tattoed(jody). no?-
23 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- tattoed(jody). ERROR: predicate tattoed/1 not defined.?-
24 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- party.
25 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- party. yes?-
26 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- rockconcert.
27 Kunskapsbas 1 woman(mia). woman(jody). woman(yolanda). playsairguitar(jody). party.?- rockconcert. no?-
28 Kunskapsbas 2 happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).
29 Kunskapsbas 2 happy(yolanda). listens2music(mia). fact listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).
30 Kunskapsbas 2 happy(yolanda). listens2music(mia). fact fact listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).
31 Kunskapsbas 2 happy(yolanda). listens2music(mia). fact fact listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda). rule
32 Kunskapsbas 2 happy(yolanda). listens2music(mia). fact fact listens2music(yolanda):- happy(yolanda). rule rule playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).
33 Kunskapsbas 2 happy(yolanda). listens2music(mia). fact fact listens2music(yolanda):- happy(yolanda). rule rule playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda). rule
34 Kunskapsbas 2 happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda). head body
35 Kunskapsbas 2 happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).?-
36 Kunskapsbas 2 happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).?- playsairguitar(mia). yes?-
37 Kunskapsbas 2 happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda).?- playsairguitar(mia). yes?- playsairguitar(yolanda). yes
38 Satser (clauses) happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda). Det finns fem satser i den här kunskapsbasen: två fakta och tre regler. Slutet på en sats markeras med en punkt.
39 Predikat happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda). Det finns tre predikat i den här kunskapsbasen: happy, listens2music, och playsairguitar
40 Kunskapsbas 3 happy(vincent). listens2music(butch). playsairguitar(vincent):- listens2music(vincent), happy(vincent). playsairguitar(butch):- happy(butch). playsairguitar(butch):- listens2music(butch).
41 Att uttrycka konjunktion happy(vincent). listens2music(butch). playsairguitar(vincent):- listens2music(vincent), happy(vincent). playsairguitar(butch):- happy(butch). playsairguitar(butch):- listens2music(butch). Kommat, uttrycker konjunktion (and/och) i Prolog
42 Kunskapsbas 3 happy(vincent). listens2music(butch). playsairguitar(vincent):- listens2music(vincent), happy(vincent). playsairguitar(butch):- happy(butch). playsairguitar(butch):- listens2music(butch).?- playsairguitar(vincent). no?-
43 Kunskapsbas 3 happy(vincent). listens2music(butch). playsairguitar(vincent):- listens2music(vincent), happy(vincent). playsairguitar(butch):- happy(butch). playsairguitar(butch):- listens2music(butch).?- playsairguitar(butch). yes?-
44 Att uttrycka disjunktion (eller/or) happy(vincent). listens2music(butch). playsairguitar(vincent):- listens2music(vincent), happy(vincent). playsairguitar(butch):- happy(butch). playsairguitar(butch):- listens2music(butch). happy(vincent). listens2music(butch). gärna playsairguitar(vincent):- listens2music(vincent), happy(vincent). playsairguitar(butch):- happy(butch); listens2music(butch).
45 Prolog och Logik Prolog har klart något med logik att göra... Operatorer Implikation :- (P -> Q: Q :- P) Konjunktion, (och) Disjunktion ; (eller) Använder modus ponens Negation A -> B A Q om P B
46 Kunskapsbas 4 woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).
47 Prologs variabler woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- woman(x). Stor begynnelsebokstav signalerar variabel
48 Instantiering av variabler woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- woman(x). X=mia X instantieras till första värdet som hittas i kunskapsbasen som gör påståendet sant.
49 Att fråga efter alternativ woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- woman(x). X=mia; Tryck på semikolon eller spacebar!
50 Att fråga efter alternativ woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- woman(x). X=mia; X=jody
51 Att fråga efter alternativ woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- woman(x). X=mia; X=jody; X=yolanda
52 Att fråga efter alternativ woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- woman(x). X=mia; X=jody; X=yolanda; no no signalerar att det inte finns flera svar
53 Kunskapsbas 4 woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- loves(marsellus,x), woman(x). Finns det nån kvinna som marsellus älskar?
54 Kunskapsbas 4 woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- loves(marsellus,x), woman(x). X=mia yes?-
55 Kunskapsbas 4 woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- loves(pumpkin,x), woman(x).
56 Kunskapsbas 4 woman(mia). woman(jody). woman(yolanda). loves(vincent, mia). loves(marsellus, mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin).?- loves(pumpkin,x), woman(x). no?-
57 Kunskapsbas 5 loves(vincent,mia). loves(marsellus,mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin). jealous(x,y):- loves(x,z), loves(y,z).?- jealous(marsellus,w).
58 Kunskapsbas 5 loves(vincent,mia). loves(marsellus,mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin). jealous(x,y):- loves(x,z), loves(y,z).?- jealous(marsellus,w). W=vincent?-
59 Kunskapsbas 5 loves(vincent,mia). loves(marsellus,mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin). jealous(x,y):- loves(x,z), loves(y,z). En aningen speciell definition av svartsjuka; X är svarsjuk på Y ifall både X och Y älskar samma Z. X Z Y
60 Kunskapsbas 5 loves(vincent,mia). loves(marsellus,mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin). jealous(x,y):- loves(x,z), loves(y,z). Hur skulle du ändra predikatet jealous för att beskriva situationen där man är svartsjuk på den som älskas av den som man själv älskar?
61 Kunskapsbas 5 Hur skulle du ändra predikatet jealous för att beskriva situationen där man är svartsjuk på den som älskas av den som man själv älskar? jealous(x,y):- loves(x,z), loves(z,y). X Z Y
62 Kunskapsbas 5 jealous(x,y):- loves(x,z), loves(z,y). X Z Obs! Eftersom Prologs unifiering fungerar såsom den fungerar, kommer denna definition också att innebära att man är svartsjuk på sig själv, ifall kärleken är besvarad; det finns ingenting som hindrar X och Y från att bindas till samma objekt! Y
63 Kunskapsbas 5 jealous(x,y):- loves(x,z), loves(z,y). X Y Z fallet X = Y
64 Kunskapsbas 5 jealous(x,y):- loves(x,z), loves(z,y). X Y Z fallet X = Z = Y Ifall vår kunskapsbas innehåller fall där någon älskar sig själv (mycket psykologiskt sunt nog!), får vi ännu konstigare situationer...
65 Kunskapsbas 5 jealous(x,y):- loves(x,z), loves(z,y). X Z fallet X = Z Denna person skulle också vara patologiskt svartsjuk på alla de andra personer han/hon älskar... Y
66 Kunskapsbas 5 jealous(x,y):- loves(x,z), loves(z,y). X Y Z fallet X = Z = Y För att undvika dessa tolkningar måste vi explicit förbjuda vissa bindningar i reglerna, ex. X \= Y. Vi ska se närmare på dessa i nästa kapitel, unifiering.
67 Strangelove...(konstiga bindningar)?- [strangelove].! % strangelove compiled 0.00 sec, 7 clauses! true.!?- listing.! jealous(a, C) :-!!loves(a, B),!!loves(B, C).! loves(jason, medeia).! loves(medeia, jason).! loves(medeia, khrysis).! loves(jason, jason).! true.! jason krysis medeia
68 Strangelove...(konstiga bindningar)?- jealous(medeia, X). X = medeia ; X = jason ; false. jason krysis medeia
69 Strangelove...(konstiga bindningar) [trace]?- jealous(medeia, X). Call: (6) jealous(medeia, _G337)? creep Call: (7) loves(medeia, _G407)? creep Exit: (7) loves(medeia, jason)? creep Call: (7) loves(jason, _G337)? creep Exit: (7) loves(jason, medeia)? creep Exit: (6) jealous(medeia, medeia)? creep jason X = medeia ; medeia som älskar jason är svartsjuk på den som jason älskar (= medeia) krysis medeia
70 Strangelove...(konstiga bindningar) Redo: (7) loves(jason, _G337)? creep Exit: (7) loves(jason, jason)? creep Exit: (6) jealous(medeia, jason)? creep X = jason ; medeia som älskar jason är svartsjuk på den som jason älskar (= jason) jason krysis medeia
71 Strangelove...(konstiga bindningar) Redo: (7) loves(medeia, _G407)? creep Exit: (7) loves(medeia, khrysis)? creep Call: (7) loves(khrysis, _G337)? creep Fail: (7) loves(khrysis, _G337)? creep Fail: (6) jealous(medeia, _G337)? creep false. Eftersom khrysis som medeia också älskar inte älskar någon, behöver medeia inte vara svartsjuk på denna någon. jason krysis medeia
72 Vad lär vi oss om detta? ALLT du skriver i reglerna tar Prolog bokstavligen. Prolog kommer att hitta alla de konstiga konsekvenser som dina regler kan ha. På detta sätt hjälper Prolog dig att skriva logiska definitioner utan luckor. Om du inte lär dig att täcka luckorna blir du snart din egen syster eller farfar.
73 Kunskapsbas 5 loves(vincent,mia). loves(marsellus,mia). loves(pumpkin, honey_bunny). loves(honey_bunny, pumpkin). jealous(x,y):- loves(x,z), loves(y,z). Observera att det är vi/ programmeraren som ger mening åt predikaten och dess argument, inte systemet!
74 Prologs syntax Vad exakt består fakta, regler och förfrågningar av? Terms Simple Terms Constants Variables Atoms Numbers Complex Terms
75 Atomer En sekvens av stora och små bokstäver, siffror eller understreck som börjar med en liten bokstav Exempel: butch, big_kahuna_burger, playguitar En arbiträr sekvens av tecken innesluten inom apostrofer Exempel: 'Vincent', 'Five dollar shake', En sekvens av specialtecken Exempel: :, ;. :-
76 Tal Integers: 12, -34, Floats:
77 Variabler En teckensekvens som kan bestå av stora eller små bokstäver, siffror och _ och börjar med antingen en stor bokstav eller _. Exempel: Stor begynnelsebokstav signalerar ALLTID en variabel! X, Y, Variable, Vincent, _tag
78 Komplexa termer Atomer, tal och variabler är byggklossar för komplexa termer Komplexa termer byggs av en funktor som direkt åtföljs av en sekvens av argument Argumenten ges inom vanliga parenteser (), och separeras av kommatecken Funktorn måste vara en atom
79 Exempel på komplexa termer Exempel vi redan sett : playsairguitar(jody) loves(vincent, mia) jealous(marsellus, W) Komplexa termer inne i komplexa termer: hide(x,father(father(father(butch))))
80 Aritet Antalet argument en komplex term kräver kallas för dess aritet Exempel: woman(mia) är en term med aritet 1 loves(vincent,mia) har aritet 2 father(father(butch)) har aritet 1
81 Aritet är viktig I Prolog kan du definiera två predikat med samma funktor men med olika aritet Prolog skulle betrakta dessa som två olika predikat I Prolog-dokumentation anges ariteten av ett predikat vanligtvis med suffixet "/ efterföljt av ett nummer som representerar antalet argument
82 Exempel på aritet happy(yolanda). listens2music(mia). listens2music(yolanda):- happy(yolanda). playsairguitar(mia):- listens2music(mia). playsairguitar(yolanda):- listens2music(yolanda). Den här kunskapsbasen definierar happy/1 listens2music/1 playsairguitar/1
83 Övningar Inför nästa föreläsning ska du bekanta dig med Prolog-tolken swipl. Fundera genom (åtminstone) övningarna från boken: Jobba genom practical session efter kapitel 1 i boken:
84 Sammandrag Enkla exempel på Prologprogram Introducerade tre baskonstruktioner i Prolog: Fakta Regler Förfrågningar Diskuterade andra begrepp, såsom logikens roll unifiering mha variabler Definition av Prologs byggstenar: termer, atomer och variabler
85 Nästa föreläsning Diskuterar unifiering i Prolog Prologs sökstrategi
Föreläsning 3: rekursion
Föreläsning 3: rekursion Teori Introducera rekursiva definitioner i Prolog Fyra exempel Visa att det kan finnas diskrepanser mellan Prolog-programmets deklarativa och procedurala betydelse! Rekursiva definitioner
Traditionell Programmering
Crash Course in Prolog Baran Çürüklü Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen är deklarativa och består av egenskaper, relationer och regler. Lisp and Prolog är de vanligaste
Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section
Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett
Logik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
Ett Logikprogram. Logik och Programmering. Introduktion till PROLOG, dvs. PROgramming in LOGic. Viktiga begrepp/områden i Prolog. Framtiden?
Crash Course in Prolog Peter Funk FUKO HT2001 IDt, Computer Science and Engineering Mälardalen University Västerås, Sweden Peter.Funk@mdh.se Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen
FL 5: Aritmetik. Teori
FL 5: Aritmetik Teori Introducerar Prologs inbyggda operationer för aritmetik Tillämpar dessa på enkla listhanteringsproblem, mha ackumulatorer Ser på svansrekursiva predikat och förklarar varför de är
FL 6: Definite Clause Grammars (kap. 7)
FL 6: Definite Clause Grammars (kap. 7) Teori Introducerar kontextfria grammatikor och några besläktade begrepp Introducerar definite clause - grammatikor, Prologs sätt att jobba med kontextfria grammatikor
Centrala begrepp i prolog och logikprogrammering. Annamaris lista
Centrala begrepp i prolog och logikprogrammering Annamaris lista Databas med fakta och regler: Ett prolog-system består av en databas av fakta, och regler som gäller för dessa fakta. Fakta har formen av
DD1361 Programmeringsparadigm HT17
DD1361 Programmeringsparadigm HT17 Logikprogrammering 1 Dilian Gurov, KTH Delkursinnehåll Logisk versus procedurell läsning Kontrollflöde: Unifiering, Backtracking, Snitt Induktiva datatyper och rekursion
Prova på-laboration i Prolog
Prova på-laboration i Prolog Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-12 1. Introduktion till Prolog Programspråket Prolog konstruerades i början
DD1361 Programmeringsparadigm HT16
DD1361 Programmeringsparadigm HT16 Logikprogrammering 1 Dilian Gurov, TCS Delkursinnehåll Logikprogrammering Logisk versus procedurell läsning Kontrollflöde Unifiering, Backtracking, Snitt Negation Induktiva
Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).
Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Repetition: I Haskell är mönster-passning (pattern-matchning) jättepraktiskt: När vi gör ett anrop av en funktion med ett visst argument
Semantik och pragmatik (Serie 4)
Semantik och pragmatik (Serie 4) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 30 Så här långt (satslogik) Konjunktion (p q): att två enklare satser båda är uppfyllda.
DD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 1 Dilian Gurov, TCS Innehåll Logikprogrammering Kontrollflöde Unifiering Backtracking Negation Snitt Induktiva datatyper och rekursion Inbyggda datatyper:
Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.
Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Användning av Prolog. Prolog har framför allt används inom AI ( Articifial Intellegence),
DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion
DD1350 Logik för dataloger Fö 2 Satslogik och Naturlig deduktion 1 Satslogik En sats(eller utsaga)är ett påstående som kan vara sant eller falskt. I satslogik(eng. propositionallogic) representeras sådana
Klassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet
Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,
Introduktion till programmering D0009E. Föreläsning 1: Programmets väg
Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.
MATEMATISK LOGIK Matematisk logik formaliserar korrekta resonemang och definierar formellt bindeord (konnektiv) mellan påståenden (utsagor, satser) I matematisk logik betraktar vi påståenden som antingen
Föreläsning 8. newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK -- data istället för newtype krävs om >1 konstruerare.
Föreläsning 8. Typer och programmeringsstil i Haskell. När vi definerade ett schack gjorde vi så här: newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK deriving Show -- newtype effektivare
Övningshäfte 1: Logik och matematikens språk
GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter
729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 8: Predikatlogik Henrik Björklund Umeå universitet 2. oktober, 2014 Första ordningens predikatlogik Signaturer och termer Första ordningens predikatlogik Formler
Parameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.
UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1
Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar
Innehåll Föreläsning 7 Logik med tillämpningar 99-03-01 Första ordningens predikatlogik Objekt, predikat, kvantifierare Funktioner, termer, wffs Bindning och räckvidd Tolkningar och värderingar Satisfiering,
Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Språket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion 2 2.1 Varför logik?... 2 2.2 Satslogik... 2
Föreläsning 1 Syntax 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 21 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 1.1 Innehåll Innehåll 1 Kursadministration 1 2 Introduktion
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Semantik och pragmatik
Semantik och pragmatik OH-serie 5 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Så här långt Konjunktion (p q): att två enklare satser
Varför är logik viktig för datavetare?
Varför är logik viktig för datavetare? 1. Datavetenskap handlar ofta om att automatisera processer som tidigare styrts av människor. Intuition, intelligens och mänskliga resonemang ersätts av beräkningar.
Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system
Vad är det? Översikt Discrete structure: A set of discrete elements on which certain operations are defined. Discrete implies non-continuous and therefore discrete sets include finite and countable sets
Semantik och pragmatik (Serie 3)
Semantik och pragmatik (Serie 3) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 37 Logik: språk tanke (Saeed kapitel 4.) Satser uttrycker (ofta) tankar. Uttrycksrikedom
Tentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Grundläggande datalogi - Övning 1
Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b
Användarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf
UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik II 1 Predikatlogik, generella
FUZZY LOGIC. Christopher Palm chrpa087
FUZZY LOGIC 900223-1554 Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8
Formell logik Kapitel 9. Robin Stenwall Lunds universitet
Formell logik Kapitel 9 Robin Stenwall Lunds universitet Kapitel 9: Introduktion till kvantifiering Vi har hittills betraktat logiska resonemang vars giltighet enbart beror på meningen hos konnektiv som
FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS
729G06 Logik FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 160208 Idag C-regeln, informell (och formell) inledning till predikatlogik (Bevis kommer senare.) 2 3 Vår (Snöfritt Cykla) (Vår Snöfritt) Cykla Lätt
Semantik och pragmatik
Semantik och pragmatik OH-serie 4 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Om barnet har svårt att andas eller har ont i bröstet
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Extramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få
Introduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Introduktion till användning av linux-servern sledge och några övningsuppgifter
Uppsala universitet Institutionen för utbildning, kultur och medier Monica Langerth Zetterman och Richard Walls IT-stöd i undervisningen, HT10 Introduktion till användning av linux-servern sledge och några
Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 4: Konjunktiv och disjunktiv normalform Henrik Björklund Umeå universitet 15. september, 2014 CNF och DNF Konjunktiv normalform (CNF) Omskrivning av en formel
Deklarativ programmering
Deklarativ programmering TDP007 Konstruktion av datorspråk Föreläsning 7 Peter Dalenius Institutionen för datavetenskap 2014-03-03 Deklarativ programmering Program skrivet i ett deklarativt språk logikspråk,
p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik
DD1350 Logik för dataloger Fö 3 Satslogikens semantik 1 Kort repetition Satslogik formellt språk för att uttrycka påståenden med variabler och konnektiv /\, \/,, t.ex. p /\ q r 1 Kort repetition Naturlig
MATEMATIKENS SPRÅK. Avsnitt 1
Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en
Föreläsning 3. Programmering, C och programmeringsmiljö
Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:
Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 12: Logikprogrammering Henrik Björklund Umeå universitet 16. oktober, 2014 Prolog Prolog har två klasser av formler. Atomära formler: country(sweden, 9000000).
Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?
Avslutning Anmärkningar inför tentan Vad ska ni kunna? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna, inlämningsuppgifterna och gruppövningarna
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
Hornklausuler i satslogiken
Hornklausuler i satslogiken Hornklausuler (efter logikern Alfred Horn) är ett viktigt specialfall som tillåter effektiva algoritmer och ligger till grund för regelbaserade expertsystem och logiska programspråk
Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder
Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i
Introduk+on +ll programmering i JavaScript
Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,
JavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?
Avslutning Anmärkningar inför tentan Vad ska kunnas? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna och gruppövningarna räcker i princip.
Introduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Programmering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Formell logik Kapitel 10. Robin Stenwall Lunds universitet
Formell logik Kapitel 10 Robin Stenwall Lunds universitet Kapitel 10: Kvantifikatorernas logik Förra gången introducerade vi kvantifikatorer och variabler Vi har därmed infört samtliga symboler i FOL Brännande
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Interaktiva berättelser med Twine
Digitalt lärande och programmering i klassrummet Introduktionsworkshop - Interaktiva berättelser med Twine Introduktion Twine är en spelmotor gjord för textbaserade spel och interaktiva berättelser. I
TUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.
Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!
Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.
Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 3 Predikatlogik 3.1 Motivering I satslogiken är de minsta beståndsdelarna satslogiska variabler som kan anta värdena
En introduktion till logik
rasmus.blanck@gu.se FT1200, LC1510 och LGFI52 VT2017 Först: Tack till Martin Kaså, som gett mig tillstånd att använda och bearbeta dessa ljusbilder. Vad är logik? Slogan: Logik undersöker vilka argument
Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet
Formell logik Kapitel 5 och 6 Robin Stenwall Lunds universitet Kapitel 5 Bevismetoder för boolesk logik Visa att en sats är en tautologisk konsekvens av en mängd premisser! Lösning: sanningstabellmetoden
Logik: sanning, konsekvens, bevis
Logik: sanning, konsekvens, bevis ft1100 samt lc1510 HT 2016 Giltiga argument (Premiss 1) (Premiss 2) (Slutsats) Professorn är på kontoret eller i lunchrummet Hon är inte på kontoret Professorn är i lunchrummet
Länkning av Prolog under C
Länkning av Prolog under C Kent Boortz Swedish Institute of Computer Science Box 1263, S-164 28 Kista, Sweden 1 september 1991 T91:14 Sammanfattning SICStus länkmoduler ger möjlighet att blanda Prolog-
Föreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Uttryck och villkor. Föreläsning 2
Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);
729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Föreläsning 2, 729G09, VT15 Reguljära uttryck Lars Ahrenberg 150409 Plan för föreläsningen Användning av reguljära uttryck Formella språk Reguljära språk Reguljära
PROV. 12 Egenskaper (provavsnitt)
12 Egenskaper (provavsnitt) 12.1 Egenskaper 12.2 Deklaration av egenskaper 12.3 Åtkomsttjänster för egenskaper 12.4 Åtkomsttjänster med genererade instansvariabler 12.5 Åtkomsttjänster med egna instansvariabelnamn
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
AngularJS Skriven av: Isak Glans. Datum: 2015-04-29. Kurs: Webbutveckling. Lärare: Per Sahlin. Utbildning: Systemutvecklare i.net, Newtons Yrkeshögskola. 1 Sammanfattning Syftet med denna uppsats är att
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
10. Moralisk fiktionalism och ickedeskriptiv
Det finns två olika positioner som båda kan kallas fiktionalism : 1. Hermeneutisk fiktionalism 2. Revolutionär fiktionalism ( revisionistisk fiktionalism ) De kan betraktas som två separata positioner,
Föreläsning 2. Teori. Övningar. Unifiering Unifiering i Prolog Sökning efter bevis. Ett lite större exempel: kampsport.pl Praktisk träning (hemläxa)
Föreläsning 2 Teori Unifiering Unifiering i Prolog Sökning efter bevis Övningar Ett lite större exempel: kampsport.pl Praktisk träning (hemläxa) Målet med denna föreläsning Diskutera unifiering i Prolog
Objektorienterad programmering Föreläsning 4
Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion
TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
Beräkningsvetenskap föreläsning 2
Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa
Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
7, Diskreta strukturer
Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar