vault backup: 2023-10-11 11:23:46
This commit is contained in:
parent
a8020ec998
commit
ec8c78cf4e
10
.obsidian/workspace.json
vendored
10
.obsidian/workspace.json
vendored
@ -25,7 +25,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Algo/CM/CM du 11 octobre.md",
|
"file": "Algo/CM/Lists.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "backlink",
|
"type": "backlink",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Algo/CM/CM du 11 octobre.md",
|
"file": "Algo/CM/Lists.md",
|
||||||
"collapseAll": false,
|
"collapseAll": false,
|
||||||
"extraContext": false,
|
"extraContext": false,
|
||||||
"sortOrder": "alphabetical",
|
"sortOrder": "alphabetical",
|
||||||
@ -115,7 +115,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outgoing-link",
|
"type": "outgoing-link",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Algo/CM/CM du 11 octobre.md",
|
"file": "Algo/CM/Lists.md",
|
||||||
"linksCollapsed": false,
|
"linksCollapsed": false,
|
||||||
"unlinkedCollapsed": true
|
"unlinkedCollapsed": true
|
||||||
}
|
}
|
||||||
@ -138,7 +138,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Algo/CM/CM du 11 octobre.md"
|
"file": "Algo/CM/Lists.md"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -172,7 +172,7 @@
|
|||||||
"active": "26919eaeae9a8f38",
|
"active": "26919eaeae9a8f38",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Algo/CM/CM du 27 septembre.md",
|
"Algo/CM/CM du 27 septembre.md",
|
||||||
"Algo/CM/CM du 11 octobre.md",
|
"Algo/CM/Lists.md",
|
||||||
"Algo/CM/CM du 04 octobre.md",
|
"Algo/CM/CM du 04 octobre.md",
|
||||||
"Algo/Courses/Chapter 6 - Lists (Exercises).md",
|
"Algo/Courses/Chapter 6 - Lists (Exercises).md",
|
||||||
"Algo/Courses/Chapter 6 - Lists.md",
|
"Algo/Courses/Chapter 6 - Lists.md",
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
List is the most fundamental data type. Is a sequencial argument, is a final sequence of element. It is no possible to have more than one element per box.
|
|
||||||
There is two different way to declare a list, the recursive one and the iterative one.
|
|
38
Algo/CM/Lists.md
Normal file
38
Algo/CM/Lists.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
List is the most fundamental data type. Is a sequencial argument, is a final sequence of element. It is no possible to have more than one element per box.
|
||||||
|
There is two different way to declare a list, the recursive one and the iterative one.
|
||||||
|
|
||||||
|
## Recursive list
|
||||||
|
- The first box is the **head of the list**
|
||||||
|
- The rest of the list is **the tail of the list**
|
||||||
|
- The signature of the recursive list is the following:
|
||||||
|
```
|
||||||
|
TYPES
|
||||||
|
list, box
|
||||||
|
|
||||||
|
USES
|
||||||
|
element
|
||||||
|
|
||||||
|
OPERATIONS
|
||||||
|
emptylist : -> list (* Internal operations of list*)
|
||||||
|
cons : list x element -> list (* Internal operations of list *)
|
||||||
|
tail : list -> list (* Internal operations of list *)
|
||||||
|
head : list -> box (* Internal operations of box *)
|
||||||
|
contents : box -> element (* Observer of box *)
|
||||||
|
first : list -> element (* Observer of list *)
|
||||||
|
next : box -> box (* Internal operation of box *)
|
||||||
|
|
||||||
|
PRECONDITIONS
|
||||||
|
tail(_l_) is-defined-iaoi _l_ ≠ emptylist
|
||||||
|
head(_l_) is-defined-iaoi _l_ ≠ emptylist
|
||||||
|
first(_l_) is-defined-iaoi _l_ ≠ emptylist
|
||||||
|
|
||||||
|
AXIOMS
|
||||||
|
first(_l_) = contents(head(_l_))
|
||||||
|
tail(cons(_e,l_)) = _l_
|
||||||
|
first(cons(_e,l_)) = _e_
|
||||||
|
next(head(_l_)) = head(tail(_l_))
|
||||||
|
|
||||||
|
WITH
|
||||||
|
list _l_
|
||||||
|
element _e_
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user