Code: Alles auswählen
<category>
<pattern>42</pattern>
<template>Die Frage war: Was ist der Sinn des Lebens?</template>
</category>

Code: Alles auswählen
<category>
<pattern>42</pattern>
<template>Die Frage war: Was ist der Sinn des Lebens?</template>
</category>
Code: Alles auswählen
Structure Satzglied_Struct
Wort.s
; Hier das Wort rein, z.B. "Baum"
Satzglied.l
; 0 = unbekannt (für alle Fälle), 1 = Subjekt, 2 = Prädikat usw.
EndStructure
NewList Satzglied.Satzglied_Struct()
usw...
Code: Alles auswählen
;{- Information :: Für PB V4.x und PB 3.94
; Autor : Folker Linstedt
; Inhalt: Wort-Analyse
; Beginn: 17.05.2006
; Stand : 17.05.2006
;}/
;{- Deklaration
Eingabe.s ; Text-Eingabe
Ausnahme.b; Boolean für Ausnahmen
; Modale Verben, können mit Zusatzwerben benutzt werden:
; Ausnahmen: Verben mit Umlauten: dürfen, können, müssen
; weitere : sollen, wollen
; Andere Ausnahmen: Laufen, saufen, ... (Die dummen Umlaute!) Aber ebm nicht kaufen
; Ausnahmen ohne Regel: sein, haben
Dim Worte.s(8) ; Stamm, Ich, Du, Er, Sie, Es, Wir, Ihr, Sie
Dim PersPron.s(8); PersonalPronomen
PersPron(0)="Stamm"
PersPron(1)="ich"
PersPron(2)="du "
PersPron(3)="er "
PersPron(4)="sie"
PersPron(5)="es "
PersPron(6)="wir"
PersPron(7)="ihr"
PersPron(8)="sie"
;}/
OpenConsole()
PrintN(":: WortDingli Simple V.0.1, (c) 2006 by Folker Linstedt")
PrintN("::")
PrintN(":: Bitte geben Sie ein Tu(n)-Wort in seiner Grundform in der Gegenwartsform ... ::")
PrintN(":: ... bzw. ein Verb im Infinitiv im PrAesens ein ::")
PrintN("")
Print("Eingabe: "): Eingabe=Input() ; Keine weitere Überprüfung
;PrintN(""); für PB 3.94 notwendig, da Input nicht allein in die Nächste Zeile springt
PrintN("")
Ausnahme=0; Ausnahmen müssten in einer Datenbank aufgenommen werden
; Folgenden 3 Zeilen sollen aus Umgangssprache Hochdeutsch mach'n
If Mid(Eingabe,Len(Eingabe)-1,1)<>"e"
Eingabe=Left(Eingabe,Len(Eingabe)-1)+"en"
EndIf
If Eingabe="sein"
Worte(1)="bin"
Worte(2)="bist"
Worte(3)="ist"
Worte(6)="sind"
Worte(7)="seit"
Ausnahme=1
EndIf
If Eingabe="haben"
Worte(1)="habe"
Worte(2)="hast"; Statt "habst"
Worte(3)="hat"; Statt "habt"
Worte(6)="haben"
Worte(7)="habt"
Ausnahme=1
EndIf
If Eingabe="sollen" ; Ausnahmen mit Umlauten sind irgendwie umständlicher in der Console
Worte(0)=Left(Eingabe,Len(Eingabe)-2); Stamm für Mehrzahl
Worte(1)="soll"; Stamm ... bei dürfen -> darf, bei müssen -> muss, bei wollen -> will
Worte(2)=Worte(1)+"st"
; -> bei musst fällt ein "s" weg, weil drei auf einander folgen, und es kein
; zusammengesetztes Substantiv ist wie bei Schlosssickergrube, Schifffahrt
Worte(3)=Worte(1); Wie "ich"
Worte(6)=Eingabe
Worte(7)=Worte(0)+"t" ; diesmal nicht wie "Er"
Ausnahme=1
EndIf
If Ausnahme=0
Worte(0)=Left(Eingabe,Len(Eingabe)-2); Macht aus "gehen" -> "geh"
Worte(1)=Worte(0)+"e"
Worte(2)=Worte(0)+"st"
Worte(3)=Worte(0)+"t"
Worte(6)=Worte(0)+"en"
Worte(7)=Worte(0)+"t" ; meist wie er, aber ebm nicht immer >> Ausnahmen
EndIf
Worte(4)=Worte(3) ; "Sie" ist wie "Er"
Worte(5)=Worte(3) ; "Es" ist wie "Er"
Worte(8)=Worte(6) ; "Sie" ist wie "wir"
For i=1 To 8 ; Auch wenn Wir/Sie und Er/Sie/Es gleich sind, ist es für die Ausgabe einfacher
PrintN(" "+PersPron(i)+" "+Worte(i))
Next
Input() ; Warte bis Enter
Wieso ich das gemacht habe, hab ich kommentiert!ich würde schon mal er/sie/es nicht in 3 feldern haben, die mit ich/du/wir/ihr/sie gleichberechtigt sind, doch das nur am rande.
Das ist eine dieser Formulierungen, die nur deine Tastatur älter werden lassen, aber keinen Gehalt haben.ich würde schon mal er/sie/es nicht in 3 feldern haben, die mit ich/du/wir/ihr/sie gleichberechtigt sind, doch das nur am rande.