logik2021/codego/aussagenlogik/recursion/recursion_count.go

50 lines
1.5 KiB
Go
Raw Normal View History

package recursion
import (
"logik/aussagenlogik/formulae"
)
/* ---------------------------------------------------------------- *
* METHOD: Formula Depth
* ---------------------------------------------------------------- */
2021-05-14 18:35:06 +02:00
func FmlDepth(fml formulae.Formula) int {
// Definiere Schema:
2021-05-14 18:35:06 +02:00
var schema = func(fml formulae.Formula, prevValues []int) int {
// Herausforderung: schreibe diese Funktion!
return 0
}
// Erzeuge Funktion aus Schema und berechne Wert:
fn := formulae.CreateFromSchemeIntValued(schema)
2021-05-14 18:35:06 +02:00
return fn(fml)
}
/* ---------------------------------------------------------------- *
* METHOD: Formula Length
* ---------------------------------------------------------------- */
2021-05-14 18:35:06 +02:00
func FmlLength(fml formulae.Formula) int {
// Definiere Schema:
2021-05-14 18:35:06 +02:00
var schema = func(fml formulae.Formula, prevValues []int) int {
// Herausforderung: schreibe diese Funktion!
return 0
}
// Erzeuge Funktion aus Schema und berechne Wert:
fn := formulae.CreateFromSchemeIntValued(schema)
2021-05-14 18:35:06 +02:00
return fn(fml)
}
/* ---------------------------------------------------------------- *
* METHOD: Number of Parentheses
* ---------------------------------------------------------------- */
2021-05-14 18:35:06 +02:00
func NrParentheses(fml formulae.Formula) int {
// Definiere Schema:
2021-05-14 18:35:06 +02:00
var schema = func(fml formulae.Formula, prevValues []int) int {
// Herausforderung: schreibe diese Funktion!
return 0
}
// Erzeuge Funktion aus Schema und berechne Wert:
fn := formulae.CreateFromSchemeIntValued(schema)
2021-05-14 18:35:06 +02:00
return fn(fml)
}