PCP - Programming Concepts & Paradigms

Lernkartei zum Modul Programming Concepts & Paradigms der HSLU

Lernkartei zum Modul Programming Concepts & Paradigms der HSLU


V. B.
Diese Lernkarten behandeln fortgeschrittene Konzepte der Programmierung und Programmierparadigmen auf Universitätsniveau. Sie vertiefen sich in Themen wie Prolog, C, Java, und verschiedene Programmierparadigmen, darunter prozedurale, objektorientierte, funktionale und logische Programmierung. Die Karteikarten erklären Kontrollstrukturen, Endrekursion, abstrakte Datentypen und die Unterschiede zwischen verschiedenen Programmiersprachen und -paradigmen. Diese Lernkarten sind ideal für Studierende und Programmierer, die ihr Verständnis von fortgeschrittenen Programmierkonzepten vertiefen und ihre Fähigkeiten in verschiedenen Programmiersprachen und -paradigmen erweitern möchten.
Flashcards
44
Students
6
Language
German
Category
Computer Science
Level
University
Created / Updated
20.09.2018 / 23.06.2022

Flashcards

Was antwortet Prolog auf die folgende Anfrage: [1, 2, 3] = [_ | X]?

X = [2.3]

Was antwortet Prolog auf die folgende Anfrage: [a, b, c] = [_, X | Y]?

X = b

Y = [c]

Warum ist es in Prolog i.A. effizienter auf das erste, als auf das letzte Element einer Liste zuzugreifen?

Weil das Head im Prolog direkt zugreifbar ist und nicht wie beim Tail durch die ganze Liste iteriert werden muss.

conc/3 sei wie folgt definiert: 

conc([], L, L).
conc([X | L1], L2, [X | L3]) :- conc(L1, L2, L3).

  1. Was antwortet Prolog auf die folgende Anfrage: conc(L, [c], [a, b, c])?
  2. Was antwortet Prolog auf die Anfrage conc(Before, [d | After], [a, b, c, d, e, f, g, h])?
  3. Und was auf conc([a], L, [b, c])?
  4. Bonusaufgabe (schwierig): Wie lässt sich mem/2 unter Verwendung von conc/3 ausdrücken? (D.h. als neues Prädikat der Form mem_c(X, L) :- ...conc...)

  1. L = [a, b]
  2. Before = [a, b, c]  After = [e, f, g, h]
  3. false
  4. mem_c(X, L) :- conc(_, [X | _], L)