Informatik A - WiederholungVom Lernen und Vergessen Am Ende einer Vorlesung wissen die Studenten...

Preview:

Citation preview

Informatik A - Wiederholung

Informatik A - Wiederholung

Norbert Fuhr

Informatik A - Wiederholung

Vom Lernen und Vergessen

Am Ende einer Vorlesung wissen die Studenten noch ca. 50%des vorgetragenen StoffesNach einer Woche erinnern sie sich noch an 10-15%Nach drei Monaten ist die Menge des behaltenen Wissenspraktisch nicht mehr messbar

„Sage es mir, und ich vergesse es;zeige es mir, und ich erinnere mich;lass’ es mich tun, und ich behalte es.“(Konfuzius)

Informatik A - WiederholungI Logik

I.1 Aussagenlogik

I.1 Aussagenlogik

Definition/Konstruktion von FormelnKlausel, konjunktive Form, disjunktive FormBegriffe: Interpretation, Modell, unerfüllbare Formel,TautologieBeweis über WahrheitstafelnAxiomatische Beweisverfahren

ÄquivalenzregelnDefinition: FolgerungsbegriffSchlussregelnAnforderungen an AxiomensystemeHilberts AxiomensystemAutomatisches Beweisen

Informatik A - WiederholungI Logik

I.2 Prädikatenlogik

I.2 Prädikatenlogik

SyntaxSemantik: Interpretation der syntaktischen SymboleSchlussregeln und ÄquivalenzenEntscheidbarkeit von PL1

Informatik A - WiederholungII Schaltfunktionen

II.1 Zahlendarstellung

II.1 Zahlendarstellung

Definition b-adisches SystemUmrechnung Dezimal ↔ Basis bNegative Zahlen: Einer- Zweierkomplement,Gleitkommazahlen nach IEEE

Darstellungnormalisierte/unnormalisierte DarstellungNull, ∞, NaNUmwandlung Dezimal → Binär

Informatik A - WiederholungII Schaltfunktionen

II.2 Boolesche Algebra

II.2 Boolesche Algebra

DefinitionGesetzePotenzmenge und Boolesche Algebra

Informatik A - WiederholungII Schaltfunktionen

II.3 Schaltfunktionen

II.3 Schaltfunktionen

Definition: Schaltfunktion, totale Sf, Boolesche SfDisjunktive Normalform

Minterme, einschlägiger Index, DarstellungssatzFunktionale Vollständigkeit

Konjunktive NormalformMaxtermeUmwandlung disjunktive → konjunktive Normalform

Informatik A - WiederholungII Schaltfunktionen

II.4 Schaltnetze

II.4 Schaltnetze

Arten von BausteinenKriterien für SchaltungenGraphen

Definitionungerichteter/gerichteter GraphPfadZyklusDAG: Gerichteter, azyklischer graph

Darstellung eines Schaltnetzes als Graph

Informatik A - WiederholungII Schaltfunktionen

II.5 Ringsummennormalform

II.5 Ringsummennormalform

Definition RNFÄquivalenzenDefinition komplementfreie RNFHerleitung der komplementfreien RNF

Informatik A - WiederholungIII Schaltnetze und ihre Optimierung

III.2 Vereinfachung von Schaltnetzen

III.2 Vereinfachung von Schaltnetzen

Vereinfachung durch ResolutionKarnaugh-Diagramme

AufbauMaximaler Block/Minimaler AusdruckPartielle Boolesche FunktionenVerkürzte Ringsummennormalform

Disjunktive Form, KostenmaßImplikanten und PrimimplikantenQuine & Clusky Verfahren

Informatik A - WiederholungIII Schaltnetze und ihre Optimierung

III.3 Fehlerdiagnose von Schaltnetzen

III.3 Fehlerdiagnose von Schaltnetzen

FehlermöglichkeitenSchaltungsabhängige Fehlerdiagnose: Annahmen, Ansatz

1 Fehlerfunktionen2 Äquivalente Funktionen3 Ausfallmatrix4 Fehlermatrix

Schaltungsunabhängige Fehlerdiagnose: Annahmen, Ansatz1 Testpaare2 Minimale Testmenge

Informatik A - WiederholungIII Schaltnetze und ihre Optimierung

III.4 Hazards in Schaltnetzen

III.4 Hazards in Schaltnetzen

Ursachen für HazardsArten von HazardsStatischer Funktionshazard

DefinitionBestimmung

Statischer Schaltungshazard: Definition

Informatik A - WiederholungIV Schaltwerke

IV.1 Flip-Flops

IV.1 Flip-Flops

Verhalten von Bistabiler KippstufeRS-Flip-Flop: Aufbau, WahrheitstabelleJK-Flip-Flop: Aufbau, WahrheitstabelleD-Flip-Flop: Aufbau, Wahrheitstabelle

Informatik A - WiederholungIV Schaltwerke

IV.2 Sequentielle Schaltungen

IV.2 Sequentielle Schaltungen

Mealy-Automat: DefinitionBeispiele

2-Bit Register1–Bit AdditionModulo 6 Zähler

Automat, Übergangstabelle, Realisierung

Informatik A - WiederholungIV Schaltwerke

IV.3 Lineare Schaltkreise

IV.3 Lineare Schaltkreise

BausteineCodierung/DecodierungMultiplikationsschaltungDivisionsschaltung

Informatik A - WiederholungV Programmierbare Logische Arrays (PLAs)

V Programmierbare Logische Arrays (PLAs)

BasisbausteineAufbau: UND-, ODER-EbeneProgrammieren von PLAs

2m Bits als SteuerungsprogrammVariante: Einspeisung von Variablen und deren NegationVariante: feste Produktterme (PAL)

Anwendung: ROMAnwendung: Schaltwerke

Informatik A - WiederholungVI VLSI-Schaltungen

VI VLSI-Schaltungen

TechnologieMaßzahlenKomplexität: # Anschlüsse, Rechenzeit

Informatik A - WiederholungVII Schaltungen für Addition und Subtraktion

VII Schaltungen für Addition und Subtraktion

Serieller VolladiererPipeline-AddiererVon-Neumann-AddierwerkCarry-Look-Ahead AdditionMultiplikationsschaltungMultiplikationsalgorithmus

Informatik A - WiederholungVIII Von–Neumann–Rechner

VIII Von–Neumann–Rechner

Grundlegende ArchitekturAufbau einer (minimalen) CPU

DatenprozessorBefehlsprozessor

Zwei-Phasen-VerarbeitungSpeicheraufbau:

DimensionenHierarchie

Busse: Adressbus, Datenbus, I/O-BusseInput/Output: Asynchronität, I/O-ControllerInteruptsOptimierung

PipeliningParallelität

Informatik A - WiederholungIX Eine kleine Programmiersprache

IX.1 Syntaktische Beschreibungsmittel

IX.1 Syntaktische Beschreibungsmittel

Chomsky-GrammatikGrammatik-TypenErweiterte Backus–Naur–FormSyntaxdiagrammeÜberführung von EBNF in Syntaxdiagramme

Informatik A - WiederholungIX Eine kleine Programmiersprache

XI.2 Syntax von Mini–Pascal

XI.2 Syntax von Mini–Pascal

Variablen, Konstanten, ProzedurenStatementsExpressionsVerzweigungen und SchleifenBlockschachtelung

Informatik A - WiederholungIX Eine kleine Programmiersprache

XI.3 Mini-Assembler

XI.3 Mini-Assembler

InstruktionenStapelmaschine

DatenstapelAktivierungsblockInstruktionszählerProgrammspeicher

Semantik von Befehlen

Informatik A - WiederholungIX Eine kleine Programmiersprache

XI.4 Semantik von Mini–Pascal

XI.4 Semantik von Mini–Pascal

Übersetzung von ExpressionsÜbersetzung von StatementsÜbersetzung von Verzweigungen und Schleifen

Informatik A - WiederholungX Von Mini–Pascal zu Pascal

X.1 Pascal Datentypen

X.1 Pascal Datentypen

Begriffe: Typ, Variable, ZuweisungEinfache DatentypenTypkonstruktoren

arrayrecord, caseset

Zeigertypen: Deklaration, OperationenListenoperationen mit Zeigern

ErzeugenEinfügenSuchenLöschen

Dateien: Deklaration, Operationen

Informatik A - WiederholungX Von Mini–Pascal zu Pascal

X.2 Kontrollstrukturen, Prozeduren, Funktionen

X.2 Kontrollstrukturen, Prozeduren, Funktionen

Kontrollstrukturen: repeat, for, if, caseProzeduren, forward-DeklarationWert- vs. ReferenzparameterFunktionenBeispiel: Minicompiler

HauptprogrammRegel für WertzuweisungRegel für AusdruckRegel für TermRegel für Faktor

Informatik A - WiederholungX Von Mini–Pascal zu Pascal

X.3 Objektorientierte Programmierung in Pascal

X.3 Objektorientierte Programmierung in Pascal

Grundbegriffe der Objektorientierten ProgrammierungObjekttypKapselungVererbungKonstruktorDestruktorMethoden

Informatik A - WiederholungX Von Mini–Pascal zu Pascal

X.4 C vs. Pascal

X.4 C vs. Pascal

Unterschiede im TypsystemUnterschiede in den OperatorenUnterschiede in den KontrollstrukturenProzeduren, Funktionen

Informatik A - WiederholungXI Prolog

XI.1 Von Logik zu Prolog

XI.1 Von Logik zu Prolog

HornklauselnImperative Programmiersprachen vs. LogiksprachenKomponenten eines Prologprogramms

FaktenRegelnAnfragen

Rekursive Regeln

Informatik A - WiederholungXI Prolog

XI.2 Syntax und Semantik von Prolog

XI.2 Syntax und Semantik von Prolog

Syntax: Konstante, VariablenSyntax: StrukturenSemantik: Grundbegriffe: Instanziierung, UnifikationGleichheitGleichheit: BeispieleSemantik: InferenzInferenz: Und-Oder-Baumfail: Erzwingen von BacktrackingCut: Unterbinden von Backtracking

Informatik A - WiederholungXI Prolog

X.3 Rekursive Regeln

X.3 Rekursive Regeln

Begriffeclosed world assumptionProzedurale BedeutungDeklarative Bedeutung

Rekursive Inferenz: richtige/falsche Anordnung

Informatik A - WiederholungXI Prolog

XI.4 Listen

XI.4 Listen

Notationsmöglichkeiten: flach, Kopf+Rest, Punktnotation,FunktornotationMitgliedschaftKombinationHinzufügen und LöschenTeillisten und InverseMengenoperationenDesign Pattern für Umgang mit ListenSortieren durch EinfuegenBubblesortQuicksort

Informatik A - WiederholungXI Prolog

XI.5 Umgang mit Baumstrukturen

XI.5 Umgang mit Baumstrukturen

Symbolisches DifferenzierenVereinfachung Arithmetischer AusdrückeSymbolisches Differenzieren mit Vereinfachung

Informatik A - WiederholungXII Funktionale Programmiersprachen

XII.1 Überblick

XII.1 Überblick

Charakteristika funktionaler ProgrammiersprachenFunktionen als “first class values”Striktes TypsystemFreiheit von Seiteneffekten

Informatik A - WiederholungXII Funktionale Programmiersprachen

XII.2 Variablen und Funktionen

XII.2 Variablen und Funktionen

VariablenzuweisungLexikalisches ScopingFunktionendeklarationFunktionen als ”first class values”CurryingFunktionen höherer OrdnungRekursive Funktionen

Informatik A - WiederholungXII Funktionale Programmiersprachen

XII.3 Pattern Matching

XII.3 Pattern Matching

SyntaxBereichspatternsUnvollständige Matches

Informatik A - WiederholungXII Funktionale Programmiersprachen

XII.4 Polymorphismus, Tupel, Listen

XII.4 Polymorphismus, Tupel, Listen

Parametrisierte TypenTupelListenPolymorphe ListenFunktionen höherer Ordnung auf ListenQuicksort in OCaml

Informatik A - WiederholungXII Funktionale Programmiersprachen

XII.5 Union Types

XII.5 Union Types

Binäre BäumePatternmatching mit Union TypesUngeordnete Bäume

EinfügenSuchen

Geordnete BäumeEinfügenSuchen

Informatik A - WiederholungXII Funktionale Programmiersprachen

XII.6 Objektorientierte Programmierung in OCaml

XII.6 Objektorientierte Programmierung in OCaml

Deklaration von Klassen, Instanzvariablen und MethodenAufruf von MethodenInstanziierung von ObjektenAufruf eigener MethodenInitializerVirtuelle MethodenPrivate MethodenVererbungMehrfachvererbung

Recommended