Back to 课程

Computer-science_A-level_Cie

0% Complete
0/0 Steps
  1. computers-and-components
    6 主题
  2. logic-gates-and-logic-circuits
    2 主题
  3. central-processing-unit-cpu-architecture
    6 主题
  4. assembly-language-
    4 主题
  5. bit-manipulation
    1 主题
  6. operating-systems
    3 主题
  7. language-translators
    2 主题
  8. data-security
    3 主题
  9. data-integrity
    1 主题
  10. ethics-and-ownership
    3 主题
  11. database-concepts
    3 主题
  12. database-management-systems-dbms-
    1 主题
  13. data-definition-language-ddl-and-data-manipulation-language-dml
    1 主题
  14. computational-thinking-skills
    1 主题
  15. algorithms
    14 主题
  16. data-types-and-records
    2 主题
  17. arrays
    2 主题
  18. files
    1 主题
  19. introduction-to-abstract-data-types-adt
    1 主题
  20. programming-basics
    1 主题
  21. constructs
    2 主题
  22. structured-programming
    1 主题
  23. program-development-life-cycle
    2 主题
  24. program-design-
    2 主题
  25. program-testing-and-maintenance
    3 主题
  26. user-defined-data-types
    1 主题
  27. file-organisation-and-access-
    3 主题
  28. floating-point-numbers-representation-and-manipulation
    3 主题
  29. protocols
    2 主题
  30. circuit-switching-packet-switching
    1 主题
  31. processors-parallel-processing-and-virtual-machines
    5 主题
  32. boolean-algebra-and-logic-circuits
    4 主题
  33. purposes-of-an-operating-system-os
    3 主题
  34. translation-software
    3 主题
  35. encryption-encryption-protocols-and-digital-certificates
    3 主题
  36. artificial-intelligence-ai
    4 主题
  37. recursion
    1 主题
  38. programming-paradigms
    4 主题
  39. object-oriented-programming
    7 主题
  40. file-processing-and-exception-handling
    2 主题
  41. data-representation
    5 主题
  42. multimedia
    3 主题
  43. compression
    2 主题
  44. networks-and-the-internet
    11 主题
课 Progress
0% Complete

Declarative programming

How do I write declarative code?

  • Declarative programming is a paradigm where you describe what you want the program to accomplish, not how to do it

  • SQL is a common example of declarative programming

  • It allows you to extract and manipulate data using queries, without needing to specify the control flow

  • SQL was covered in more detail in Section 8 – SQL

  • Declarative code is made up of:

    • Facts – things that are known or assumed to be true

    • Rules – logical relationships between facts

  • Unlike imperative programming, where order and control flow are essential, declarative code allows you to define facts and rules in any order, and then write a query that uses them

  • In the following examples, a logic-based declarative language (like Prolog) is used

Example: Facts about dog breeds

type(beagle, hound).
type(labrador, retriever).
type(poodle, companion).
type(golden_retriever, retriever).
type(bulldog, companion). size(beagle, medium).
size(labrador, large).
size(poodle, medium).
size(golden_retriever, large).
size(bulldog, medium). shedding(beagle, moderate).
shedding(labrador, heavy).
shedding(poodle, low).
shedding(golden_retriever, heavy).
shedding(bulldog, low).

Interpreting clauses

  • Each fact uses the format:

predicate(object, property).

Clause

Meaning

type(poodle, companion).

A poodle is a companion dog

size(labrador, large).

A Labrador is a large-sized dog

shedding(bulldog, low).

A bulldog has low shedding

Sample queries

  • Use queries to retrieve information from the facts

?- size(poodle, medium).
true. ?- type(X, retriever).
X = labrador ;
X = golden_retriever. ?- shedding(X, low), size(X, medium).
X = poodle ;
X = bulldog.

Key points

Concept

Description

Fact

A statement like type(beagle, hound). that is always true

Rule

A logical relationship built from facts (not shown here)

Query

A question to the knowledge base, e.g. size(X, medium).

Any order

Facts and rules can appear in any order

Result

The interpreter matches patterns in queries against known facts

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注