This commit is contained in:
NikolajDanger
2022-06-16 17:37:07 +02:00
parent 188047f928
commit 48e8bf97fb
13 changed files with 397 additions and 127 deletions

View File

@@ -13,13 +13,13 @@ DICE x
### Recursive Fibonacci number function
```
DEFINI fib x VT {
DEFINI fib(x) VT {
SI x EST NVLLVS TVNC {
REDI NVLLVS
REDI(NVLLVS)
} ALVID SI x EST I TVNC {
REDI I
REDI(I)
} ALVID {
REDI ((INVOCA fib (x-II)) + (INVOCA fib (x-I)))
REDI(INVOCA fib(x-II) + INVOCA fib(x-I))
}
}
```
@@ -29,21 +29,21 @@ DEFINI fib x VT {
```
CVM FORS
DESIGNA correct VT FORTIS_NVMERVS I C
DESIGNA correct VT FORTIS_NVMERVS(I,C)
DESIGNA gvess VT NVLLVS
DVM FALSITAS FACE {
DESIGNA gvess VT AVDI_NVMERVS
DESIGNA gvess VT AVDI_NVMERVS()
SI gvess MINVS correct TVNC {
DICE "Too low!"
DICE("Too low!")
} ALVID SI gvess PLVS correct TVNC {
DICE "Too high!"
DICE("Too high!")
} ALVID {
ERVMPE
}
}
DICE "You guessed correctly!"
DICE("You guessed correctly!")
```
## Variables
@@ -109,8 +109,8 @@ If-then statements are denoted with the keywords `SI` (if) and `TVNC` (then). Th
```
DESIGNA x VT VERITAS
SI x TVNC {
DICE I
REDI NVLLLVS
DICE(I)
REDI(NVLLLVS)
}
DICE NVLLVS
@@ -130,9 +130,9 @@ When using `SI`/`TVNC` statements, you can also use `ALVID` as an "else".
```
DESIGNA x VT VERITAS
SI x TVNC {
DICE I
DICE(I)
} ALVID {
DICE NVLLVS
DICE(NVLLVS)
}
> I
@@ -143,11 +143,11 @@ SI x TVNC {
```
DESIGNA x VT II
SI x EST I TVNC
DICE I
DICE(I)
ALVID SI x EST II TVNC
DICE II
DICE(II)
ALVID
DICE III
DICE(III)
> II
```
@@ -160,11 +160,11 @@ The keyword `ET` can be used as a boolean "and". The keyword `AVT` can be used a
DESIGNA x VT VERITAS
DESIGNA y VT FALSITAS
SI x ET y TVNC {
DICE I
DICE(I)
} ALVID SI x AVT y TVNC {
DICE II
DICE(II)
} ALVID {
DICE III
DICE(III)
}
> II
@@ -178,7 +178,7 @@ DESIGNA x VT NVLLVS
DONICVM y VT NVLLVS VSQVE X FACE {
DESIGNA x VT x + y
}
DICE x
DICE(x)
> XLV
```
@@ -189,7 +189,7 @@ DESIGNA x VT NVLLVS
DVM x PLVS X FACE {
DESIGNA x VT x+I
}
DICE x
DICE(x)
> XI
```
@@ -198,7 +198,7 @@ DICE x
```
DESIGNA x VT [I, II, III, IV, V]
PER y IN x FACE {
DICE y
DICE(y)
}
> I
@@ -215,10 +215,10 @@ Calling a function is done with the `INVOCA` keyword.
```
DEFINI square x VT {
REDI (x*x)
REDI(x*x)
}
DICE (INVOCA square XI)
DICE(INVOCA square(XI))
> CXXI
```