[Playlisten] [Impressum und Datenschutzerklärung]

13D.1 Simulation mit wandernden endlichen Automaten, Teil 1


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

heuteschrieb mir eine Simulationvor das hier soll die Welt seinals Schachbrettin irgendeiner Größeaber das Schachbrett ist inZellenbereitsund ähm Zellen hochdas soll die Welt sein und auf dieser Weltsollen in der SimulationirgendwelcheTiere herumspazierenähm bereit im hochunserem groß CTiereauf dieser Welt ?? wird konstant dass die Zahl der Tiere immer dieselbe istwie sollen auf der Welt rumspazierenund damit die endlichen Automaten vorkommensoll jedes Tierin einem von mehreren Zuständen sein genau einemvon mehreren Zuständen sein??gucken verwendest ?? noch mehraber als Idee schon maldas so ein tierersteZustand am Wandern sein kannund erste Zustand sein zweiter Zustand das so ein Tier am Essen sein kann währenddessen wandert es nichtfressen sollte ?? sagen Beistrich hier ist am fressen soEssenMonster so ein Tier am Schlafen sei??kommt mir dazuwitzig Übergänge überlegen müssenwann du nur das eine ?? Wandlungsich das andereund so weiteraber erster will ich es versuchendiese Situation hier zu modellierenwie würden sie sowas versuchen in C zu übersetzen?? eine Reihe von Tieren eine Reihe von drei oderTirgendeine Zeit ihrenam?? für das man keine Ray für die Landschaftsbaudes Verfalls ?? auch noch wenn man sagt okay in der Landschaft gibt es was zu essen?? Blume sein soll dannKomma vergleicht auch nochaber ich würde tatsächlich jetzt eine ?? für Tiere bauendamit geht es also losKomma so bisschen selbst eines Traktfür so ein Tierund dann eine Räder füruns zu BeginnN und M und TinC plus plus könnte man sowas schreiben wie Constins Schwimmen ist gleich?? FahrerzehnwarKomma jetzt gleich Rest damit bauen will ist das MCkeine gute Idee in C plus plus ging es in Cist das leider anders machen die klassische Artnicht so schön ist die fein ähmzehnSemikolon dahinterund diezweiEndenundwas aber drei TierenzweiT dreiTiere so konnte man Strack für Sortier undwie man dann eine Rede davon anlegen würdefür das Tiertierdieses Gerüstmüsse allmählichsitzenStrack der Name des ?? SchweifklammerSemikolonin C und C plus plus Semikolon einenoch?? und IC?? sofort dahinter zeigtedamit das so anfühlt wie in den neueren SprachenTeil derTiertierso Wasser speichern muss sind die KoordinatenXund Y sinnvollerweisewo ist erdie Lebenden zwischen null und minus eins und null und ähm minus einsund den Zustanddass es jetzt aber ungeschickt Zustandwie baulichen Zustand was muss das schon Sorteden kleinen Zeh?? Zustand muss enum sein das ?? Komma selbst der übungshalber eine enum für den Zustandam Wandern fressen und Schlafendas ist der Zustandso die Endung für den Zustandäh unsdannin Schweifklammerdie MöglichkeitenSemikolon eine in C und C plus plusSemikolon am Ende?? wird als in eine ZeilePointe an sich Komma wann der sich in der Schönheit wandert an der Stelle was ist der ZustandMandantbestensSchlafwandsind in drei möglichen Zuständeinsie zu ähnlich aus wie dies TraktFormalendungstraktwie heiße Typ Zustand beziehungsweise Tierbei der Strack sagen siewas an Elementen drin ist eine Variablevon der Sorte Zustand die Z heißen soll eine Variable von der Sorte ganze Zahl die X heißen soll und so weitermit Semikolonbei der enum bei der Aufzählung in ?? Rechengeben Sie Namen für die möglichen Wertedie Zahl null leiste mir jetzt wandert die Zahl eins der ist für mich jetzt fressen und die Zahl zwei der Stimme jetzt schlafendNamen für Zahlenmit Komma getrenntmir stehen Semikoloneines Trakt und bei der Bedienung stehen Kommazwischen Hand für Zahlensowo die Frage auf Kommawenn die so schreiben in C dann müssten sie in C auch enum Zustandschreiben da unten das bisschen komisch aus macht man in den neueren Sprachen nicht mehrdeshalb hier diese eigenwillige ExtrazeileTeilich möchteden Typ enum Zustandden möchte ich Kurzzustandnennensteht dir nicht sounabsichtlichzweimal Zustandbenenne den Typenum Zustandmit dem Namen Zustandwird ähnliche Zustand schreibenwir die auch hier Zustand von vierzig Wagen können sich ihr Zustand zwei wird schreiben müssensoder Feuchtwangerraydafürschreibt das noch mal in eine Reihe für ganze Zahlen namens Afür zweiundvierzig ganze Zahlen sehen so aus und jetzt analogbei der keine ganzen Zahlen nicht orientierender Typ heißt hier nicht TiereTyp Tiertyphier ebenfalls auch nicht dann ins Arsenal insTyp ist hierdannein Name für das Israelso von mir ausund in eckigen Klammern wie viele sein sollen drei wollte ich habendieschreibe ich da einfach in der Mitte automatisch für das T drei eingesetztsojetzt müsste man dafür sorgen dass er der erste Schrittdas in diesem ?? etwas vernünftiges drinnen stehtauchKomma Extrafunktiondraus eine Funktiondieses Dreh sinnvoll zu füllenfüllen des Rechtsund hier würde ich sagenimmer schon Namenführte zuirgendwas sinnvolles was übergeben sie dieser Funktionunter ?? möchte danebenund isoliertgebaut werden wird man natürlich normalerweisein nächster Zillertal reinschreibenwenn extra Header-Dateischreibt Amazon Funktion?? ganz heiß sei diese Funktion hier eine direktin den soweit schreiben sozusagen diese reinschreiben zu Funktion sieht auch direkt diesen Wert Twenn ich jetzt anfange das auszulagernwenn ich diese Funktioneine andere Datei einnehmedann sieht die nicht mehr dieses Ray zweiundzwanzignicht mehr diesen Wert für Trebellischwenn ich schon wünsche mir tatsächlich das Rayzeigerauf das vorderste RE übergibtund dieses C übergibtso sollte das schon sein die Anzahl der Tiere undwo ist das Gerät Musik reingeschrieben werden soll kann ich das nachherbesser stattfindetwas ?? schnell eine andere Datei reinstecken diese Funktionwas man tun sollteFranz mal so das siedas Gerät übergebenzeigte vor das Innere übergeben und die Anzahl der Tiere übergeben und diessoll dann zufälligeingerichtet werdenSemikolon muss natürlich immer auch angeben upswie groß ist das Spielfeld sozusagenerste Zeile malwas kriegt diese Funktion ist damit ja ablesen was die Funktion rechtsie kriechtein Zeigerauf den vordersten Eintrag von einem Rave von Tierendas können Sie so schreibenPunkt hierwären wenn ich jetzt so schreibe diese Variante zwo ist nicht diese Variablen so unbedingt?? erfolgt warKomma die Art des K zu machenso sie kein einziges Tier eines muss ein Ray sein das wäre eine Möglichkeit es zu schreibeneine Möglichkeit wäre ?? Zeiger zu schreiben ich kriege Anzeige auf das vordersteZeiger auf ein Tierder Situationzum Aufruf passiert ist dass dieser Zeigerden Zoo stehtder gleiche Zoo ist in diese Variable A kopiert wirddann kommt insdie Anzahl der Tieredann die dieähmähm war die Breite die Höhemüsse klugerweise nicht hingeschriebenähm sollte die Höhe gewesen seinund Gewichten im zuerst an schon sollte NM natürlich sein sinnvollerweiseins breiteKindsomit sieht man am Aufruf schonoffensichtlichwill ich nicht zurück haben aus der Funktion ich rufe Sie einfach auf ?? Punktes gibt kein sind es sich jetzt hierhin schreiben die Finger nicht ein einziges Tier zurück sind drei Tiere welches Tier soll ich zurückgeben es gibt ganz in der die ?? zu schreiben??ich gebe gar nichts zurück der Trick ist ja dass ich in diese Serie rein schreibediese Funktionerhältden Zeiger auf den vordersten Eintrag des weiß und schreibt in das ?? reinund dann ist sie fertig damit hat sie was unsere geschriebener Musik nicht mehr zurückgebensie hat das getanund der Aufruf erfährt es eben bei dieses RE geändert worden ist die Einträgen das beiden ?? geändert worden ist es was in SW reingeschrieben wordensoähmjetzt deutliche Bisse gewürfelt werden damit der gewürfelt werden kann brauchen wir erstmals Standardlippefür die eine Funktiongutspitzen Klammern KassensystemgehörtPunkt hajetzt muss gewürfelt werden für jeden von denenoffensichtlich mit einer for-SchleifeFrau ?? ist gleichnulldie kleine AnzahlC++geschenktjedes Mannes gewürfelt werdendürfen sie mal selber erst würfelnirgendwie würfelt es auch mehrere Tiere an derselben Stelle sitzen können wir dürfen sie irgendwiemithilfe von Breite und Höhedieser wirksamen Koordinatedürfen sie irgendwie für sowas dann nochmals so zu regeln dass Tiere nicht an derselben Stelle setzen können mehrere Tierehier kommt der Zeiger auf den vordersten Eintrag?? ich sage jetzt gib mir aus dem Gerät die Nummer Iund davon dieX Koordinatesieht das ausAsteht für das ArrayA von Inge sowie der Eintragin das NBA von I ist ein Tierdaraus die Koordinatenkann ?? Punkt X absprechenund das sollte zu Vollzeit sein Rentenbrennt einfach nurwenn erzeugte Zufallszahlin Sachen soll er groß istwenn sich am ersten Wochenende ?? Modul Domain Tricküberlegenbreitete natürlich Modulobreitesodas ist Zahl von null bis Breite minus einsbis das GehöranalogfürYdann nämlich renntModulohöheund für den Zustandkann man ja absurderweisedasselbe machenPunkt Znehme eine ZufallszahlModuloModulodreiein König hier als Ergebnisnull eins oder zwei was ist der Rest der Zahlen durch drei null eins oder zweider Zustand eine Zahlgleich null oder eins oder zweiZustand hiernull eins oder zwei?? amBass ist etwas unschön ist das ich hier wirklich mit drei Rechnerdas ich da die Zahl drei ausdrücklich eintragedas vollständig vermeiden deshalb hier auch diese die feinstenmöchte das ganze möglichst flexibel halten wenn ich hier drei eintrageum die späte überlege auch ich möchte doch noch in weiteren Zustandeines plötzlich vier nicht mehr dreiund ich verbinde höchstwahrscheinlichhier diese drei zu ersetzenwas ichals Kleinkrieg mache ist folgendesnunich schreibe hier noch eine weitere Variable in Anzahlzu stellenals letzten Zustanddas jetzt kein Zustand den ich wirklich verwenden willPunkt sehen Sie den Trick warum ist das hilfreich das so zu machender den Wert drei nicht wandern ist null Fressendes Einschlafenist zwei Anzahl Zustände ist dreijetzt habe ich einen Namen für die Zahl drei hier untenschreibe ich Ansatz Umstände hinund wenn ich mir noch weitere Zustände ausdenkeschreibe ich die davormit wird Anzahl Zustände gleich vier und so weiter das ganzePunkt wird sichererund ich hab den ordentlichen Namensoweitständig das nur Zufallswertedrinnennoch nichts Schöneres Sondernummer korrigieren ?? es sollen keine zwei Tiere an derselben Stelle sitzen können das Krücken begleicht nochmals?? ich denke nur es ist aber sinnvoller es von Ausgabe zu machen?? Ausgabe zuder muss er natürlich wissenda muss er wissen wie groß sie sind und wie viele Tiere das sindweiterhin zu machen??Ausgabezonenicht maleine Funktion und das auszugebendasnatürliche Prinzip genauso aussehenAusgabe zu swappenkomischeskomisches Konstruktliebt so aus ?? Ausgabe zuAusgabe zueinmaldie StandardausgabeStandard ein Ausgabe kam bisher seltener vorgeworfenwas sie mal in CloudStandardeiopaja Standard ?? Ostern ?? input/outputAund da würde ich jetzt folgendes tun??die FunktionenBouchardKomma zum Beispiel benutzenScharund der Geben Sie die Nummer einesBuchstabensversuchen sie damals hätte sie zu schreiben wie kann man diesen Zuges ausgebendass der Wiki als Landschaft da stehtdass der na sowas steht wieman es ausgibtdass ?? sowas steht ?? Punkt Punkt Punktund hier ist eineram fressenPunktwerPunkt Punkt Punkthier ist einer ?? schlafendass die Landschaft so ausgegeben wird mit Bouchard Bouchard ein einziges Zeichen ausKomma dass man erstKomma sich angucken was passiert und dann korrigiere man das hier noch das keine zwei Tiere an derselben Stelle sitzen dürfenaber es war das wir die Ausgabenso zwei for-Schleifenicht gerade mein Spielfeld ab mit zwei Vorschlag nur Vorsicht mit der Reihenfolgeder beiden for-Schleifedie innere for-Schleifedas ist die in Xich gehe ersteine Zeile durchund danach gehe ich in Y ein zweiter nächste Zeiledie schnelle for-Schleifedie for-Schleife die ganz häufig läuft das System der X Richtungdas ist die innere for-Schleifedie Nix ist die innere for-Schleifekostet am Anfangetwas Überwindungaußen ist die Ygleichen null Y kleinerInzest in HöheY plus plussound innen drin steht die Kriegsflaggegleichnullseiner Breiteplus Plussowie das ?? funktioniert dasY gleich Null an der oberen Kante ist in Y gleich für minus ein ?? unteren Kante also andersrum als man es in der Mathematik üblicherweise hat egalso das meine Schleifen jetzt will ich was ausgeben BouchardGrünewald erst malaber nur Punkte ausgeben das wäre das leere Feld für mich ?? Doppelpunktjeder Stelle auf dem Spielfeld TV ein Punkt auses muss ihr war nicht Breite mal Höhe Punkt ineinander machen ich muss hin und wieder auch nochneue Zeilemachen wir die innere for-Schleife rum ist ist eine Zeile fertig und am Ende der Zeile muss ich sagen jetzt bitte neue Zeiledas ist BouchardBackslash N für neue Zeiledas Spezialzeichendas in die neue Zeile einMann zumindest schon dieses Spielfeld zehn mal sehenob Song auch noch Fehler drinwarderoder?? Semikolon vergessen sehr schönsind die anderen dannanderen lösen sich dann in Wohlgefallen auf?? Bezieher im Debugger noch noch noch nochdas Terminalfensterihr Terminal ein komplett meine Ausgabe reindas also nichts was auf unser Marken und oder so funktioniertbenutze sie einfach wirklich dass ich auf dem Computer benötigen Ausgabe sehen kann in vernünftiger Form hinzufüllenokay und es die Ausgabeokay so sieht die Ausgabe aus ich habeoh jezehnsind in der Breite zehn in der Höhe ist aber verschiedene Zahlen nehmendas man auch sehen kann das sein was passiert ?? normalsehen in der Breiteundachtin der Höhesind auch in der Höhe und zehn in der Breite so sieht es erst mal außer sich setze einfachachtzig Punkteund nach jeder Zeilehier aber den Zeilenumbruchso ist das bisher letzte Licht aber nicht den Punkt setzen ich möchtesetzenwas der Zustand ist von dem jeweiligenTier an dieser Stelle wird eins gibt wenn's kein Tier gibt Komma Punkt inEinfachheit halber aber wenn ein Tier ist möchte ich deinen Zustand ausgebenwie würde man jetzt vorgehenIon als eine Vorschlag über alle Tieresindgleich nulldie kleine Anzahlihnplusjetzt gehe ich für jede Position auf dem SpielfeldX Y für jede Position auf dem Spielfelddie Position meiner Weltgehe ich alle Tiere durch den Cook istdieses Tier gerade dar und ist das nächste Glatteis irgendeiner von denen eine dades erstes Eve rein wenn von dem Tier mit der Nummer IX Koordinategleich meine Exkoordinateistundwenn von dem Tier mit der Nummer Idie Y Koordinategleich meine liebste Koordinatedann sieht's da derzeit das Tier Nummer I X und Y habe ich ja in der Schleife dringehemein Feld durch?? mit X und Yund in dieser Zelle mit der Koordinate X und der Koordinate Y dieser Zelle kuck ich alle Tiere durch und guckeist das Tier mit der Nummer I tatsächlich an dieser Stelle ist dessen X Koordinatedie Koordinate meiner Zelle ist Essen im Schrank erinnerte die Anathema Nacellewenn das beides gilt sitzt da das Tierundich kann ausgeben?? VerkehrsmanualsNummerwird spannendfür mich die Nummer ausgeben die Nummer des Zustandswickeln sie das Nummer des Zustands dieses Tiereswar die Nummer der Zustandsbeschreibung?? Punkt X Punkt Y sondern der Zugsetzt alsoder Citytier aus derAußenwelt welche davon den Zustanddas ist aber noch nicht was ich ausgeben willwo genau das jetzt eine null oder eins oder zwei für den Zustand aber was ich davon zum Bouchard begeben will ist er die Nummer des Symbolswas sich mit den Anführungszeicheneinfaches Anführungszeichen zudie nur des Symbols?? jetzt auf ganzhändische Art ich nehme die Nummer des Symbols null und addiere dann noch das draufwenn der Zustand gleich Null ist und hier die Nummer des Symbolsnull?? der Zustand gleich eins ist eins weiter als normalerweise ??und so weiterdannwas jetzt noch ungeschickt istich habe das Tier gefundenwas da sitztFenster sitztund Geber das Symbol aus sich aber noch irgendwie die hier untenfür den Regelfall besser kein Tier sitzt irgendwie verratenwickeln sie miteinanderverheiratetdieses Bouchard unten wieder kein Tier sitztund diese for-Schleifewenn ich in der for-Schleife ein Tier finde was der sitztewig für das was aus bis eine Ziffer und Kleinbuchstabenimmer nochdas neue so ganz fertig kriege ich das hier und das hier zusammen ?? sollen nur dasda oben oder das ?? passieren?? ältester Vorschlag wird sie hier Selbst für die ?? direkt auf dem wir stehensie das machenElsund den hier reinsetzenwas wird passierenwill kleines J Musikdirektordas so muss natürlich wieder weg aber auch das stimmt noch lange nicht was steht warum geht das schiefKomma sowie soviel Punktefür jede Stelle in der Landschaft hier X Y für jede Stelle in der Landschaft gehe ich meine Räder durch ?? von Tierenund in jedem Durchgangfür jedes Tierschreibe ich bitte Zustand das ist mindestens die wirklich da ist oder ich mach einen Punktbei drei Tieren mache ich also drei Zeichenpro Felddie meisten davon Punktedas kanns nicht sein ich muss dieses Els doch irgendwie wieder rauskriegen dieses Putzscharmit demeinenPunkt hier kann ich dich darum machendanneine Möglichkeit wäre das ich mir merken ob ich das Tier gefunden habe sich in Approach Variable habegefunden?? gefundenund ist erst malKreuzund wenn ich was gefunden habe sollte ich mirvielleichtich habe das Tier gefundendamit in C das gut funktioniert Punkt immer noch obenwohlPunktohund und und und?? hierso wenn ich nicht gefunden habeso geht es jetzt wenn ich nicht gefunden habeNord gefundenPunktdann gebe ich den Punkt ausist nicht gefunden habe dann gebe ich dem Punkt aus unddas könnte man jetzt noch etwas effizienter machen ich gehe alle Tiere durchwenn ich eins gefunden habegebe ich dessen Zustand aus erster Ziffermerk mich hab's gefundenwenn die for-Schleife beendet es mich hab nichts gefunden gewichten Punkt aus dieser Vorstrafe hier oben wie könnte ich noch minimal effizienter machengenau hier noch ein Weg sein wenn ich das hier gefunden habedann kann ich die Suche beendendiese for-Schleife beenden wenn ich fündig geworden bin der Einträge??das mit dem Buchstabenaus Aufgabeich hoffe hier TodoPartyservice mit Buchstabe A drei Switch die man als Switchhiermitund geben dann entsprechend Buchstaben ausBuchstabenstatt ZifferegalKomma unsnach der Mittagspause Promotion noch die Positionan das sie auch wirklichordentlich gesetzt werdendass keine zwei Tiere am selben Platz sind ich das es sie normal laufenin der Hoffnung dass noch ungefähr was wichtiges passiertokay so ?? mir das vorgestellt ?? den jetzigen Ortzahlen und nichtdie Anfangsbuchstabensoweitbis dahin