[Playlisten] [Impressum und Datenschutzerklärung]

08A.2 Kästchenroboter, Teil 1, 2D-Array, struct, enum


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

folgendeSituationrichtig modelliereneinzweidimensionalesFelswie ein Schachbrett aber nicht unbedingt quadratischmehrFelderauf dem zweidimensionalenFeldsoll einRoboter sitzenund den Roboter möchte ich steuern kann ich möchte dem sagener sollnach oben gehen nach links gehen nach rechts gehen nach unten gehenund damit auch was zu tun hatmöchte ich das auf diesem Feldirgendwelche Objekte verstreut sindSchraubenÄpfel TomatenWasser Kommairgendwelche Objekte sollen auf diesem Feld verstreut sei nur eine Sorte an Objektenin jeder Zellenull eins zweipositive Anzahl an Objekten oder null ganze Anzahl an Objekten auf jeden Fallund dieser Roboter solldieseaufhebenkönnenmit sich mitnehmen können und irgendwo später wieder ablegenkönnen als ich möcht auch einen Befehlder folgendes kann wenn der Roboter auf diesem Feld stehtsoll der Roboterein Objekt aufheben können oder beide Objekte aufheben können ?? nicht drei es sind nicht ?? auf dem Feldund diese dann mitnehmen wenn er dann weiterläuftsoll das Feld leer seinund dann soll später sagen können okay lieber Roboterligaein Objekt ab Fliege zwei Objekte ab aus deinem Speicher das soll derRoboter könnendas normal dann als Wiederholung für Felder offensichtlich geht's hier um Felder weißund um Strukturen auch diese Befehlefür den Roboter die willig mithilfe von Strukturenformulierenam?? mal vorsichtiganjetzt etwas sauberer als bisherich möchte nach einem Hauptprogrammdes jetzigen kleines C Programm nichts spezielles für soll später ?? ich möchte nach einem Hauptprogrammauf hoher Ebene Befehle an den Roboterausteilen können ?? Befehle ?? oder erteilen könnenund es müssen sauber zu machensauberer als bisher lagere ich tatsächlich das ganze interneWissen über den Roboter in Extradateiaus und hier muss dann sinnvollerweisedas passende Blut reinAnführungszeichen obenweil es nicht zum System gehörtwas ich gleich schreiben werdewenn zum System gehört so ?? es gehört aber nicht zum System deshalb inAnführungszeichendoppelten Anführungszeichen soll ich sagendas einfachWort Punkt Haarin der Datei stehenden insbesondere die Funktionsdeklarationensowasan Funktionen mit dem Lichtermeer oder sagen kann wie als Vorgänger zurückgibtund zu viel aufdas Wort Haar muss ich bauenhier neue Datei und dann speichern alsQuatsch Punkt Haarnatürlich war ich auch mit C Datei in der die Implementierungstets noch mal neue Dateiund speichern alssie?? wirdPunkt zehnsovorsichtig anfangen nachzudenken was denndieser Roboter tun soll??ich möchteim Endeffekt sechs verschiedene Befehle haben der Roboter sollnach links nach obennach rechts nach unten gehen könnener sollauf dem Feld auf dem er stehtoder vom Feld auf dem stehtdie Objekte oder angegebeneAnzahl an Objekten aufhebenkönnenoderauf dem Feld auf dem ?? stehtoder auf das Feld auf dem er stehtso soviel Objekte wieder ablegen können?? Kleintransportmaschineninsgesamt sechs Befehlehaben sie irgend eine Ahnungirgend eine Ideewas gut wäre ?? umsechs Befehle zu kodieren ich möchte nach ?? Programme für diesen Roboter schreiben eine Folge von Befehlenwie werde ich diese Befehle sinnvollerweisecodierenalso ein vor Schlag während eines Tag dafür ?? zu nehmen aber noch malangucken Traktirgendein NameSchweifklammer Schweifklammerwas sind wir drinnen steht Typund ElementnameElementnameund noch ?? über noch in Element Name und so weiter was sie drin steht ?? Äxten das Takt existiert ja parallelich habeein Ding mit diesem Namen von diesem Typ zum Beispiel letztes Mal war es die Bestellnummervom Typ in den Job und parallel dazuhabe ich dieAnzahlvom Typ ins?? in seinem Verbund zusammenwas in Abstract habenexistiert immer alles parallel zueinanderihr mich jetzt aber sechs verschiedene Befehle die voneinander unterscheiden willsechs verschiedene Befehle die ich unterscheiden will wonach schreibt dassdiese Befehle jetzt ähneln doch den Zuständen einer Ampel rotgrüngelbund so weiterähmRot und Grün bei der anderen passiert auch nicht gleichzeitignach rechts gehen nach oben gehenso soviel Abwegen das passiert auch nicht gleichzeitigdeshalb wäre es komisch Komma das Mindestalter bilden würdeihn um Informationwie bei der AmpeleineAufzählunghätte ich gerneoben muss noch was reinKomma wohindugleich noch wasfehlt noch was?? späterähm ich hätte gerne eine Informationdie dann sowasvielleichtauf Englisch heißt wie bayerischen Opfer Beistrich die Operation desErbenKomma dass welcher Operation führt der Roboter ausund da schreibe ich jetzt rein Semikolon ich vergessenin C und C plus plusda schreibe ich jetzt sowas rein wieLeft für gehen nach linkseine mystisch ?? Leftgol White oder sonst was mir zu lang ?? erab da unddas soll heißenmarschieren die jeweilige Richtungund dann hätte ich jetzt gerne noch dass er wasaufheben soll und dass er wasablegen sollin der Formund führt sie natürlich wiederdies unsägliche Zeit der ?? verteidigtedie Nummer BeistrichBereichso stell ich mir das vor?? jetzt habe ichintern eigentlich Codenummern vergebenfür diesesechs Operationenkennen die hier jetzt ?? offizielle mein Programm links rechts oben und untenetwas aufund ehrlich was ab??aber intern weiß der Rechner lässt S null zweites eins abbauengab es zweidauerndesdrei Fett vierBuddhist fünfrechnet intern mit Zahlenhabe ich keine C dieses schönen Symboleverwenden die symbolischen Namen soll ich sagen Verwender Zweitakterdie schießen sicher gegenseitig aus der irgendwas mit Trakt höchst seltsamBestellnummerhabenund die Anzahl im WarenkorbGleichzeichen Bestellnummer und die Anzahlhier Left Right und so weiter an sie niemals gleichzeitig dessen verschiedene Werte nach ?? derselben Variablen eine Variable sagt was Operation ist und die Operation ist entweder Left oder Right oder ab oder Daun oder Fettoder Prozessor schreit das nach ähmeiner InformationeinerAufzählunginjetzt bin ich noch das ganze bisschenhübscher machennämlich ich würde gerne sofort sagen gehen drei Schritte nach links gehen vier Schritte nach obenhebefünf Sachen aufliege Siebensachenab das heißt ich möchte diese Operationjeweilsnoch eine Zahl mitgebenbei den ersten vieren wird die Zahl der Schritteund bei den beiden Händen lässt die Zahl der Objektewie baue ich das NCdas ich zu einer Operation noch eine Zahl mitgebenin der Tat aber auch jetzt den Verbund ich möchte diese Operationhaben und dazunichtstattdessen sondern dazu noch eine Zahl deshalbeines Traktalso als praktische StadtragtimmerSemikolondie nämlich malErbrechen ist schon vergeben deshalb nettes Esszimmer Komma Land Komma nurdass sie ganz ansprechend Komma sofort dahinter schreiben es ist nicht Teil derStadt Komma Land Komma HandKomma ups da nichtmahntso was schreibe ich jetzt in Stade Kommaeine Hintertür für die Anzahl?? Accountanund ich hätte gerne ein ich davor noch was mit den in der ?? müsse auch noch gerade mal redenist das sinnvoll mit Ihnen oder kann ich dann bisschen spezifischer seinder Insel würde ja auch negative erlaubeneine negative Anzahl an Objekten aufheben und so weiter das wäre ziemlich übel deshalb hier allein schon aus SicherheitsgründenHans Saint ines ist nicht nur sicherer ich gewinne ja auch nach obenLuftkanndas Ding geht mit vierzig bis hundert sechzig tausend auf dieser Maschinenicht mehr nur bis zwei ?? dreißig tausend irgendwassound jetzt möchte ich nochmöchte ich mir noch merken welche Operationdenn welche Operationwie häufig hier ausgeführt werden soll lassen sich davor schreiben schreiben sinnvollerweise davor bei mit Operation wichtiger ist als die Anzahldeshalb wird das in der Reihenfolge schreiben einfach derevolutionshalbererst das wichtige dann das unwichtigedie Operation ist wichtiger als die Anzahl was muss ich in die Zeile darüber schreibegestickteimmer Typ und Name das ist der Typan sein Kindhier steht der Name des Member des Elementsund analog muss das jetzt hier oben passierenhier habe ich ein Typda habe ich den Namen jetzt brauche ichfür meine Operationden Typdes sich in der greifen Operationsmethodenan selbst gebaute Typ namens Unterwäschenichts anderes sage ich hier definiere ein Typnämlich mache ihn amVerbrechenzu erbrechen ist ein eigener selbst gebaute Typ wie nachher dann auch ?? dieses Komma dein eigener Typ ist wo sie in schreiben können oder charschreiben können oder Poolkönnen Sie dann auchKomma Anschreiben oder welchen schreiben das ist ein selbst gebaute Typ kann mitgeliefertersein selbst gebauterVerbrechen ist der Name des Typs und jetzt brauche ichEinnahmen für das Elementwie spreche ich das an unter welchem Namenähmich bin folgendes aber obErbrechenlinks rechts Abbrechen ist ja nichts anderes als dieseer diese Aufzählung hier links rechts und so weiter die Abbrechen Saft links rechtsund der ?? der Kauen Sach nach ?? wie viele Schrittebei solch einem Hauptprogramm schreiben was ich nun tun kannkann nun hier in Maine C sagenbaue mir mal ein KommandoKomma Hans groß C sinnvollerweiseund das initialisieren?? ichwas könnte da jetzt reinschreibenin die Schweifklammerdies tragt muss jetzt in der richtigen Reihenfolgemit den Werten initialisiertwerden und hier stehtdas erstes eine auffrischenund das zweite sein an ZeitintervallMenschen ist aber eine aus diesensechstedas heißt hier muss als erster sowas stehen wiereitkorrektesEnglisch breitund als zweiter muss ein an sein Team stehenvon mir sowas wie zwoundvierzigdas wird jetzt das Kommando sein zwei ?? für die Schritte nach rechtses aber gerade einmal Mac machenirgendwogesehen habeist dann sieht das gut ausin habe jetzt eine Möglichkeit meine Kommandos zu schreiben ich kann sagen zwei für die Schritte nach rechtsdas es einfach so in einemin einer Einheit in einem Verbundzusammengefasstund ich kann das dann durch die Gegend schieben in einer einzigen Variableauch in Scheinvariablenzu sagen rechts und eine Variablen zu sagen zweit wird sichdiese beiden sindals Member als Elemente in diesem Zehe versteckt und ich ganze Szenen durch die Gegend schiebenzudem hierKommaindem OrtNorbert habe ich jetzt also ein operationdefiniertesKommando definiertüberall wo ich nachher den dem Roboterbefehlegeben werdewelche dieses Roboterinkludierendass alle Leute diesenwird der Veit und so weiter verwenden können dass alle Leuteskomandverwenden könnenich hatte schon mal in Cloud Gats vorgeführthier kommt jetzt die Stelle an der man in Stuttgart auch das ehrlich brauchtwenn ich hier mehrere Sachen inkludierenwir noch irgendeine andere Dateiklarund noch ?? andere Datei bloggterdann passiert es ja gernedas in diesen anderen Dateiennoch mal Roboter inkludiert wird das kann ich nicht ausschließenkann ganz raffiniertdran gehen und versuchen das ausschließenaber es ist sehr schwierigtypischerweisewird dieselbe Header-Datei nochmals in anderen Header Dateien wieder inkludiert werden das heißt im Endeffekthabe ich folgendesdas dader Compiler folgendes sieht dass diese Roboterdateimehrfach inkludiert wirdverborgenin anderen Header Dateien aber nichtsdestotrotzwird im Endeffekt dann mehrfach inkludiertundsind das gibt Ärgerder Amis oder die Binde klärtdas gibt Ärger mit zehnan sobald sie ihn unsuns Chucks drin habenbrauchen sie den Cloud geizt ja sicher schon mal vorgeführtdie sorgen dafür dass diese Datei nur ein einziges MaltatsächlicheingebetteteVierte beim nächsten Mal überlesen wird diesesFN DevdevNorte Feind irgend ein Symbol jetzt was eindeutiges für diese Datei sinnvollerweiseerobertUnterstrich Hwenn dieses Symbol noch nicht definiert ist definiere das SymbolRomerobert Unterstrich H definiere das Symbol lese den ganzen Krempel ja einund hier ist dannentelfEnt oft sehr schön entwirftund wenn er das hier beim zweiten Mal noch mal sehen sollteist Rauber definiertund er springt und sofort zum Ende von der damit diese Datei übersprungendas ist der übliche Trickda schon gesagt es gibt bei den meisten Compilern aber nicht im Standard diese Möglichkeit stattdessen zu schreiben ?? MagmawahnsKomma was entweder Prag mal Fonds Komma bei den meisten Compilern schreiben Sie etwas übersichtlicher als diesesals diese drei Zahlen FN dürfte fein und enterstamlässt sich nicht anders machen sobald manGefahr läuftdie hätte eine Header-Dateimit ihn uns uns Chucks zweimal drin zu habenKomma dass sie noch malmelkensichert nur noch die Warnung sie variabel sie deklariert aber niedas ehrlich benutzt habedas ich jetzt also keine Aktion mehr wenn Roboterin mehreren Headerinkludiert wird dafür dieseZeilen hier am Anfang und die Zeile am EndePunktbis dahin sind dieja neun Datentypendie ich gerne hättejetzt geht's drumnatürlich den Roboter tatsächlich was tun zu lassen bisher habe ich nur die Grundlagedafür geschaffen mit dem Roboter zu reden ?? sozusagen Vokabeln definiertgehedreizehn nach rechts hebe siebenObjekte aufeinemVokabeln definiert aber ich hab jetzt noch kein Funktionsaufrufmit dem der Roboter das tatsächlich tun könntewie sollte den Funktionsaufrufstehendes Muster vorne stehenKomma Fragezeichen es muss ja vorne stehenamwas zurückgegebenwird aus der Funktiondann brauchen wirden Funktionsnamendenen ich es aber mal existiert ausführenBeistrich so schlimm an aber versammeln ausführen??ich nicht den Hund ausführen sondern einer Aktion ausführendannso und in anderen müsste stehen was sichdem Roboter hiermit geben wir das Ganze in der Header-Dateideshalb Semikolon dahinter hier soll die Deklarationstehen in einer Dateiund nachher in die Zieldatei schreibe ich was die Funktion tatsächlich tun sollwiesollte das AussehenExitus soll den Roboter steuernwas möchte ich übergebenund was möchte ich zurücksie können tatsächlichehinten einfach nur Komma ein Schreiben an den deutschen Typähm Mann schreibt typischerweisedann aber auchsoforteine Variabledahinter den Namen einer Variablen dahinter denn in der sächsischen Funktion möchte ich auf dieses Ziel zugreifen möchte wissen was wir Kommando angekommen ist?? typischerweise nicht nur dasser den Namen des Typs hinschreibenich den Typen schreiben soll sagensomit sofort sagen in welche Variablen esin welcher Variante das geliefert werden sollwas von außen ankommt Komma C und in C ist dann trennen wasmir der Aufruferals Kommando ?? geliefert hatwas es mit demRückgabewertgibt es irgendwas sinnvolleszum zurückgebenund dass der Roboter zurück meldet vor jetzt hingegangen istwäre total hilfreichwarenwürde jetzt meine Didaktik vor unswaren einerseits und zum anderen wenn man es real Komma da der es irgendwoauf dem Spielfeld und weiß wahrscheinlich selbst gar nicht genau wo er ?? ist auf dem Spielfeld sondern sehr mein Job dann als Anwendungsprogrammiererzu wissen wo es auf dem Spielfelddeshalb würde ich ganz dreist sagen gibt mir nicht zurück vor istsondern dass oder andere Forscher gibt ?? ein bool zurücksteht?? ja nur der Typkein Name für die Variable sein Monopolseines kommt ein guter Wert zurück?? ändern müssen sie sagen welche Variable denndas abgelegt werden soll in welcher Variante das abgelegt werden soll was in der Funktion übergeben Hausen von Liverpool und zu sagen es kommt ein guter Wert zurückander Sache einfach hat's funktioniert oder nicht das wäredas übliche und damit der wohl funktioniertnämlich hier nochin Clouderst dann der Pooleinen C plus plus dann nicht mehr wahrDoppelpunkt sowieso nicht soso sehr das aus und der Rückgabewert wie gesagt soll Tagen hat funktioniert oder nicht?? das wäre die Deklarationspeicherte mal alles?? und den Robert C würde ich mich jetzt drum kümmerndas Ding mit Leben zu füllenschreibekeinSemikolonsondern schreibe Schweifklammerdas ist jetzt die Definitiondas eben war die Deklarationwie sieht meine Funktion in der Anwendung auswie heißt sie was nimmt siewas gibt siedas auch der Compilerum diese Funktionnutzen zu können und in Oberceerzählt dem Compiler sogarwie die Funktioninnen drin aussiehtwie sie definiert istin dieserOber Zieldateiwird ihr sofort etwas fehlen sehen Sie was hier ganz dringendfehltalso korrekt erkennt wohl nicht und erkennt Komma nicht noch viel schlimmer hier Komma die Kinder nichtder Compiler kompiliert jede zähe Datei einzelnund dazu sagemir gerade auf diese Zieldatei wird noch gar nicht kompiliert Punkter kombiniert jede Zieldatei einzelnund ich muss mir also irgendwie mitteilen was cooles und was Komma das aber vorhersollte das Wörter für das diese Datei kombiniert wirdalso Erderobert siedas hier ist eine Liste der kompilierten Dateiendie Aufforderungan die Entwicklungsumgebungbitte sag den Compiler Mercedes zu kombinieren Robertson zu kompilierensichert aber noch mal die Header Dateien stehen nicht in dieser Liste erobert Cholt sich die Header-Dateimein C bot sich die Header-Dateischreibt an dasentwicklungssystemischeNetz darunter das aufklärt welcheHeaderdateien jeweils geholt werdenPunkt und hier brauche ich Hubert HBlutinAnführungszeichennatürlich war das meine eigeneDatei ist nicht zum System gehörtund jetzt könnte man sagen okay wenn erobert H einliesterobert H einliestdann wird er ja auch Standard wohl einlesenich würde aus Sicherheitsgründentatsächliche TrotzdemStandard Bull H noch dazu schreibenseiner guten Haar wird hier dann sehen?? ich bin schon mal eingelesen worden und wird in das Überspringen der Medien in Stuttgartabersicherheitshalberwill ich trotzdem reinschreiben wer weiß ob nachher irgendwann mal in Rothaardieses bool rausfliegtaus welchen Gründen auch immer?? und damit persönlicher funktionierendersich wissentlich dazu schreiben seiner Buntheit aber das wohl ganz sicherbekannt für den Compiler und das Komma das ganz sicher bekannt für den Compilerund was sie zum Kompilieren noch fehlt natürlich ein Return wenn ich sageliefert ein Boot zurück muss ich auch tatsächlich am Poolzurück liefernwirst dumal Maczu gucken ob noch alles vom Mail formal in Ordnung istokay ist ein Witz nochordentlich aus?? die eigentliche Arbeitbis dahin ist das ?? das Vokabular gewesen was heißtwies die wo was sind die Vokabeln für links rechts oben unten und so weiterund nungeht's darum tatsächlichdie Simulationzu machen der Roboter sitzt auf einem Feldund soll jetztauf diesem Feld irgendwiearbeitenamich werde als erstes weites Feldmodellieren müssenwie modellierte ichmich ja wie moderiere ich dieses Feldhat auf jeden Fall ein zweidimensionaleserrät er sich auch direkt mit X und Y zugreifenkannund das Reh braucht einen Typzum Beispiel beim Text hatte ich jaScharoder bei Zeichenketten soll ich sagen sowas hier gleich und so weiterindiesem Array stehen Buchstabensag ich jadamit das reha ist Text und da drin stehen Buchstabenund hier sollten jetzt Zahlen drin stehendas ist der Typ denn diesem Bereich stecktmansinnvollerweiseZahlen ohne Vorzeichenich möchte nicht minus drei Objekte da rumliegen habenalso wieder an ZeitKomma natürlichen bisschen Ängsten mit dem Speicherplatz würde ich nicht sagen ?? an sein Team sondern anscheinend an sein schadedass er nur ein Byte hatpro Speicherstellepro Zelleinsgesamt nur die Hälfte anSpeicherverprelltdas viel?? sehr einfallsreicham?? sollte jetztdie Größeangegeben seinund ich soll es vielleicht sogar initialisierenkönnen bisschen initialisierenwas etwas aufwendig zu schreiben ist inzwischen zwei dimensionales Feldmöchte jetzt ungernewirklich das komplette Feld initialisierenoder mach ich das dochgerade in mich gehenKomma dochamtlichen Schachbrett rausdas heißt ich hätte jetzt hier acht mal achtzu fördernundhier nicht furchtbar waszweiCopsKomma das jetzt hier?? nulldas wäre die erste Zeileweitertreiben?? langweilig wenn alle Zahlen gleich aussehenmögenund es ist achtund die langweiligen Jahre gleich aussehenAbwechslung trennendas wäre einer alles machen kannhabe ich aus und fällt aus acht mal achtan SaintCharakterssowasund das ganze sofortmit irgendwas netteminitialisiertdas wäre mein Spielfeldgerade sowieso was machen ?? ich gerade ganzbeachtetwir sind nicht einer ganz modernen Sprache sondern ?? sind den etwas antiken Spracheich mussalle Dimensionenbis auf die erstemuss ich angeben da muss noch die acht stehenKomma zeigenProjekt Macin das haut hin wenn sie hierkeine Dimension angebengibt's was auf die Fingerder Compilerder C-Compiler braucht allen Größen alle Dimensionenbis auf die erste des acht stehen selbst wenn es eigentliche Ausgabeist bisschenantikaber der Vorschlagdas jetzt mit Zufallszahlenzu füttern dass der gefällt mir schon sehr gut muss ich sagen machen muss doch gleich lieber so das heißtichschreibeerst mal gar nichts reinsowas zum Beispieldas heißt ja wenn sie's nicht initialisieren?? steht erst mal Blödsinn trennen was auch gerade im Speicher stehtbleibt stehen in sieweiß nicht mehr so denn sie schafft es auch nicht mehr sowenn sie und C plus plusbleibt bitte das so hinschreiben das im Speicher was da gerade steht ein Prozentaber schreibe ich einfach Zufallszahlenreines auch ganz nettanbevor ich das tuewas mich etwas stört ist dass sie diese acht und die acht fest eingebautsindich hätte lieberandiese acht und diese acht in irgendwelchen Symbolen denn dieser diese beiden Zahlen auch danach ?? durch das ganze Programm durch gucken der Roboter nicht über den Rand läuft und sie mit acht vergleichenam Ende möchte ich über Nacht schreibenund ich hätte gerne über ein Symbol das ich nachher zentral schreiben kannsoll Yacht sein sondern neun neun seinwas manin denneueren Sprachen schreiben könnte der SC mit den komischen C++ für das fusionierte in in C plus plus können Sie schreiben Const Incher wirdist gleich achtund dann hierweit überlegen das ist die Höhe das ist die breiteDavids reinschreibenamwenn sie das inC machen statt in C plus plussagte indes nicht konstant was mit dem blödsinnig Weiler noch konstant ist sie hatten etwas schräge Art Konstanten zu bauendannbesser geht das leider so schön ich an dieser Stelle muss man leider ganz in diealte Kiste greifenist eine von vier Möglichkeiten?? und hier die feinenWurz acht hinschreibenwas man so ist nicht so schick aberwas man soalso überall wo der Compilerwitzließ Twitter acht Einsätzen überall vorherdiesvielleicht zum Testen mal gut aber nochmals sieben reinzuschreibendass sie nicht gleich groß sinddenn merklich wenn ich zufällig die beiden vertauscht habesokönnte man das veranstaltendes Busses der Compiler auch fressendieses die feinunschöne Geschichte aber lässt sich hierbei Cdass es sich vermeiden indem man an einem rechenschräganwendet das will ich aber gar nicht erst anfangen also lesen Sie das hier sogewaltig ist es auch soüberall wo der Witz fließt mit acht Einsätzen über Wahrheit liest bitte sieben einsetzen das macht der Präprozessorhatte derselbeTeildes Compilers der hier oben diese beiden Dateien einließ Doppelkreuz steht im Prozess und das hast ?? lieber Präprozessorüberall wo die ab Jetztzeit ließesieben ein Gesetze die sieben ein und ich weiß was dasbedeuten soll die meisten Leute würden hierGroßbuchstabenverwendenhaben in Vorbereitung fürs nächste Semester nämlich mal ganz was Kleinbuchstabenmacht man diese Unterscheidung nicht mehr was Konstanten sind und was nicht vollstesSystem anderen sowiesomehr oder minder schön anzeigtso das soll das Spielfeld seinichfühle mich verpflichtet noch eine Sache dazu zuschreibenmüssen sie nicht tun wenn sie das zu finde das total irritiert scheint es nicht dazuähm der Form halber schreibe sie dazu staticpassiert sich irgendwer noch dran erinnern was tätig in diesem Zusammenhang bedeuten sollextern wärees ist aus allen andern sichtbar wenn ich willdannständig sagt es ist nur in dieser Datei sichtbardas ?? das ganze etwas schöner ich möchte nicht dass jemand im Hauptprogrammdirekt in diesem Bereich abfragtist bisschen Überkandidatwenn sie das nicht verstehen dürfe es auch gerne gerade vergessen an dieser Stelleder formhalber bin ich aber schönerdieses Gerät ist dann in dieser Datei verborgenÄsthetikhier in einer Funktion habendann heißt dasdie jeweilige Variable bleibt stehenüber die ganze Laufzeit des Programmsund wenn ich jedes Mal wieder neu initialisiertoderdas andere zwischen zeitlich überschriebenund ist etliche außer von Funktion haben heißt dasdass sie es unsichtbarin anderen Dateienselber saubererdas kommt dann nächstes Semester etwas deutlicher weiter weg und deren Programmierung das man ganz strikt hinterher das alles was man verbergen kann auch unbedingt verborgen istGeister nicht mehr ständig an der Stelle sondern?? wirddas Mainfeldamwenn das natürlich jetzt zu Beginn mit Zufallszahlengefüllt werden soll?? heißt das ich brauche eine Funktion die das tutmanes lässt sich nicht anders machen als dass ich hier noch nächster Funktion habeich zum Beispiel initial Eis nennenalssosowasdanndie sollte dann sinnvollerweiseam Anfang des Programms sofort aufgerufenwerdenund die sollte jetzt Zufallszahlenda rein schreibe sind jetzt in der Zieldateiin der Zieldatei schreibe ich?? gucken ob es richtig gemachtzu ?? ist ?? ?? C++in C müssen sie hier Beute reinschreibenfreut Initialeis wolltin Zensusfunktionkriegt nichts und sie gibt nichts?? moderner Sprachen Komma den das Wort weglassenentwickelt es auch weglassen man sie dann plötzlich überraschende Effektehören so das es jetzt die Definitionprovozierthier möchte ich jetzt sagenwie denn dieses Feld mit Zufallszahlengefüllt werden soll das ist doch schon meine nette Übungwie füllen Sie dieses Feld mit Zufallszahldas Muster ganz außen erstmals steheninder Tat eine for-Schleife und in der for-Schleife noch eine for-Schleife ich gehe durch alle Zellen durchin die Einrichtung und in die andere Richtungund für dieses Teilich gehe durch die Zelleneine Nacht auchlöschen ?? ich gehe durch die Zellen durcham?? in diese Richtung und in diese Richtung Scanner quasiüber das Gerät rüberund das ist am einfachstenmorgens mit einem Fass einer for-Schleife machen aber am einfachsten ist es hier mit zwei for-Schleifein sie ist gleichzum Ringgleich mal gerade in welcher Reihenfolgeman es sinnvollerweisemachtdas ist die äußere for-Schleifedann kommt die innere for-SchleifeinsJgleichund so weiterso und hier innen drin müsste ich haben Vielchenfehltvon irgendwasist gleichZufalldas was ist das es was ich haben willnachherzwei for-Schleife miteinanderundinnerhalb der for-Schleife soll jeweilsdie Zelleauf der ich gerade bin mit Zufallswerten gefüllt werden das ist meinGedankeund nunist der Compiler leider noch nicht so klug dass er das jetzt direkt verstehen würdeansondern ich muss in das bisschen ausbuchstabierenerste Frage wäre die Reihenfolgehiermit die undJ was I und Jbedeutendas hatte ich eben schon mal ganz dreistoben was schon verwendet worden aber Komma dass ?? mal anguckenwenn sie habenvier ??vonIund Jwas versteht Zeder drunterdie sind irgendwie andersrum genau das aber soll sie ?? bewilligen die sind irgendwie andersrumähm ?? des Nummer acht ?? Initialisierunggemacht??einer sich Wasserstand mit der Initialisierunghabe ich noch die ich mir als sie noch die Initialisierungdastanden habe ich aufgeschrieben die erste Zeiledie erste ZeileKomma ist die unsägliche Schweifklammerdie erste Zeile artig geschriebenen hatte ich geschrieben die zweite Zeile und so weiter und einanderähm in dieser Reihenfolge geht Zeder durchdas erste Element der ersten Zeile das erste bundesweite Element der ersten Zeile drittemacht Elemente ersten Zeile und dann kommt im Speicherdas erste Element der zweitenZeile so weiter geht also die Spaltenein zwei drei vier so weiter geht die Spalten schneller durch als er die Zeilen durchgehtdas ist totalirritierendergeht dieSpaltendurch und dann wieder mit der Zeile ein zweiter die erste Zeile einfangen und weiter ?? und die zweite Zeile und so weiter und so weiterdie dritte Zeile und so weiter und so weiterund Kirche hintendas ist anders als in der Mathematikdas hier ist dasdort dann demzufolgedieser Index ?? hinten der ist schneller und das ist der langsamereI und J in der Reihenfolgeanders als in der Mathematik als es ist nicht X Y nicht irritieren lassen sondern genauabsurderweise andersrumdas X läuft schneller durchwas aber Schreiben des Schriftstellern durch das ist diese Richtungsopositiv nachdenkenwar ich immer wieder wegalso wie wenn ich hier schreibeI und Jdas tatsächlichist das JmeinX und das I ist meinYanders als in der Mathematik so besser wieder in die was hier hinschreiben kann das I ist mein Y das läuft also bis zur HöheI gleich null?? die klein Ahaltdie plus plus das ist das Y und sie zu irritieren und dasitze dass Xdas läuft also von null bis zur Breite minus einsJeinmalkurzJ plus plusuffdas wäre die for-Schleifeüber das gesamte dingskommendenZufallsfunktiondie es eingebautdann renntund steckt in seiner Liebhabersie nimmt nichtsgibt ein Kind zurückzu einem positiven Entdeklarationinkludierenin Cloudspitze Klammern zum SystemStandardLibrary StandardbibliothekStanhadann habe ich Werte die von null bis sehr groß reichender Trick istModulozum Beispieldir zu nehmenirgend eine Zahl ab null aufwärts Mutlu vier gibt den Vierer Rest Außenzahl von null bis dreidas sie werden Zufallszahlenvon null bis drei werden das kann man sich anguckennachdem Initialreishier ist das fehltbei der Ticsdass sie das komisch aus Wasser drin sind zwar unsere sieben?? sechs hundert sieben Zeilen und jeweilsacht Spalten null sieben groß R Waffenstillstand krumm zu sein ?? an den Symbolen Nummer dahinter erkennt man schon null drei nullsteht das richtige drin es wird gerade nur alsBuchstabeangezeigtweiles wäre jamal dieses RE als char angelegtesglattes EntwicklungssystemMuster sinnvollerweiseals Buchstaben sein zu müssenaber nach dem jetzt umgeschaltet habe auf Zahlendas vernünftig ist die Nummer wieder Buchstabenverstehender Zahlen drei drei eins eins zwei dreiZufallszahlenvon null bis drei glaube ich das gerne hättePunkt soweitdie Initialisierungund für nächstes Semester noch bisschen sauberwenden ist ein indischerModul vier bleibt ein indischer das viel hat aber an sein Charakterin den neueren Sprachen muss deshalb ihr dann auch anSchar davor stehendamit dem Compiler sagen kann ja ich weiß was ich tue ?? hinten habe ich zwar auf diesen Systemensechzehn Bitshabe ich nur acht Bits irgendwas geht verloren aber ich weiß was ich tueCarstensenan seinCharakterC braucht es eigentlich nicht C plus plus auch nicht aberkomme ich mal dran gewöhnen müssen vorsichtiger das ganze inzwischenich hab jetzt dieses Feldauf dem steht ??draufjetzt möchte diese Funktion bauen diese Roboter laufen lässt oder Sachen greiftund wieder fallen lässtgibt's irgendwas an Zutatenirgendwannwas ich wissen musswo sich gerade befindet ist das eine unter muss sie nur versüßenwenn sich die Befehle anguckensoll ja greifen und wieder ablegenund ich möchte das er mirBescheid gibt wenn ich versuche mehr abzulegenals ich im Speicher habewenn das Ding fünfRucksack hatsich wirklich seine sechs wieder ablegedas sollte auch melden sinnvollerweisealso muss ich mir merken wie viel ich im Rucksack habeich kennenundie Ausgangspositiondie weiß wie viel das Ding im Rucksack hatwas machte nun wenn der ein Kommando kriecht wie Gitter vorje nach Art des Kommandosdie hier ankommtist daszwei Schritte nach links oder das fünf Schritte nach oben oder ist das drei greifen oder ist das vier ablegenje nach Art des Kommandos wieder an das dann kommtdurch die verschieden reagierendenSonderkommando anguckendas hier istdas Kommando je nach Art des Kommandos möchte ich verschieden reagierenwiebaue ich das sehendas es schreit nach Switch Case keine Verzweigung mit elf sondern mit Switch Case ich gucke mir dieOperationin diesem Kommando anund dannteile ich Ihnen diesesechs Fälleeinalso ein Switchabsatzwirddann von der von dem Kommando die Operationaus diesem Verbund C Wiki die Operationrausder Formund jetztunterscheiden die verschiedenen Fälle ich habe einmal das links gehen sollirgendwas tun danach musste sinnvollerweise mein Weg stehenes einem anders guten Grund kein Weg ?? das Schreibendannwenn das Kommando nach rechts war zu irgendwasEnde des SwitchspendersKommandoab warzu irgendwasUppsalafähig wenn das Kommandohierdas Kommandonach unten warzu irgendwaswegwenn das Kommandowas aufheben warund letzter wenn das Kommandofortfahrenso sieht das aus das könnte man mit Gift machenist siePunkt obgleich gleich schläftdann Tour dieses Els elfderselbe Kram gleich breit dazu jenesaber so sehr viel übersichtlichersobald meine Information hat aber typischerweiseseit Switch auch irgendwoje nachdem was denn da gerade steht ist die Ampel rotist das Buch lieferbaroder nicht oder kann es bestellen ist die Ampel grün je nachdemwas passiert alle Fälle durch die klingen das schreit typischerweise nach einem Switchals wenn sie an einem Rechen haben aber kein Switch ist das eher selten nennt siedie gehen meist Hand in Handsollte hier ein noch dazu schreiben die vor Ortwenn es keiner von denen wardie bisher vorgekommensindsoll der was tundas natürlichen Fehler nicht wenn diese Operationnicht Left nicht weiß nicht ab ?? nicht Daunen nicht welche nicht Punkt es ist das definitiven Fehlerwas sollte er tun wenn er an dieser Stelle einen Fehler hat?? soll ihr mit dem wohl sagen dass das wohl faul warund deshalb ihr dann beim Default Returnfordshervores solltedanneinfach die Funktion zurückgebenvorsichtig ist was schief gegangensollte nicht passierensobald Mini ganz streng gesund in dieser Operation wirklich immer nur mit Left und so weiter reinschreibtsollte niemals eine anderer Wert vorkommendie können ganz dreistals Operationdreizehn eintragenund dann müsste hinten hier mit dem mittleren Ford rausgehenso das ?? jetzt durch die Clean ihrenMannKomma vorsichtig vorne an mit dem Leftes ist die Operation Left angekommenich kannmit CPunkt um dieser SoundK undeines Kommando hat einmal die Operation und einmaldie Anzahljeweils übergeben wirdmit CK und kann ich sagen was die Anzahl war er soll jetzt alsoumCK undSchritte nach links gehenwas heißt dasX muss dann also verringert werden Ybleibt wie es war aber ich möchte mit der Exkoordinaterüber gehenX minus gleichCK undimWasserproblem kann ich dabei ?? kamder Ärger ist wenn in X fünf steht und sie gehen sieben Schritte nach linksdann sind sie über den Rand hinaus nach linksbei den ?? X negativinsofern habe ich hier obenauch extra nicht an Zeit genommendann könnte ich mich negativ werdenbin ich bisschen faul jetzt etliches einfacher Pix negativ geworden istdann weiß ich upsdas war wohl faulwenn X dabei negativ geworden istsollte ich sagenwas soll ich sagensollte sagen dass er schief gegangen ist in der Tat Returnfolgtähmdamit nicht ganz so hässlich ist für dich hier vorher allerdings noch sagen ist gleich null geht zumindest so weit wir gehen kanndass das ganze Ding in einem stabilen Zustand ist das auch so allgemeine Programmierregelversuchen Sie immerauf der sicheren Seite zu bleibenwer weiß was sie Nässe fusioniert mit dem negativen X machtsie gehen einfach bis zum Rand und eines gut wenn es negativ wird der Tisch auf nullwettern fortund die andern laufen jetzt analogzu mehr oder minder kopieren ?? ist es immer verdächtig Semikolon es macht heißt das eigentlich das muss irgendwie mit der Schleifeund alle Funktionen besser hätte machen können aber dasesnach rechtsdann muss sich also ?? Höhenwasden Vergleich mach ich hierden Vermittlerwitzvergleichen aber das gefährlicheses ist nicht größer wird der Vergleichin der Auftritt ist wenn der gleich Witz ist Ärger schon zu weitwenn das Ding achtacht breit istwenn die Breite acht ist Register von null bis sieben der letzt hat die Nummer siebendas heißt wenn sie beachtet sind mit der Koordinate es schon zu spät ich muss auf größer gleichvergleichen größer gleich wird unter der sich natürlich nicht gleich nullsein Erfurts minus einsin Britz gleich acht es ist sieben gerade noch erlaubt so sitzt er dann am Randund nach oben und unten passiert dasselbegerade kuckennach untenTurnnach unten heißt erhöhen nach oben heißt eine kleinere Zeiledas geht jetzt also YYYYwäre abeine Zeile mit einer kleineren Nummer Kommadie hübschen Aktes auch falsch Rumfeldeszur Mathematiknicht nach oben willmuss Y kleiner werdenund das abziehen von die?? und für den anderen kopiere ich den hiernach unten?? ganz stillschweigendhabe ich nämlich eine Gibson System eingeführtbei dem Y nach unten zeichnete die Schweiz vorhersagen sollennehmetatsächlich Y auch nach unten ich sage der Roboter sitzen links obenhätte man anders machen könnte man wollte so Y ist die Höheund ich muss hier mit der Höhe vergleichenauchdas man schon die ersten vier sind nun einmal dann die in den gängigenPfaden hat es das relativ einfachso bei Fetschmöchte ich jetzt ?? zu viel nehmendiesesSika und soll jetzt nicht mehrdie Zahl der Schritte seiin dem Befehl sonnig ist seine Schritte stehen seinem Befehl soll stehen wie viel genommen werden sollwas heißt das eigentlichjetztWirkung als erster wie viel da sinddanndie sind ja netterweisedirekt hierzuhabendenwas insKomma Zist gleich vierund jetzt wissen eben kritisch Y X in der anderen Reihenfolgeso ich guck erst mal nach wie viele da sindjetzt möchte ichso viele nehmenso viele nehmen wie gehtgerade kucken wenn ich das jetzt bildet Z minus gleichda die Anzahl die genommen werden sollwenn das positivistist die Welt in Ordnungwenn das null ist es auch okay dann istdas Feld eben leergeräumt ?? wenn es Negativesheißt das habe versucht zu viel zu nehmen und dann muss ichirgendwie eingreifenmuss ich das mit Gefangenschaft es war mit mir sicher das es noch nicht die geschicksteste Lösung aber ich probier das mal elf Z kleiner null muss ich eingreifenmuss irgendwas veranstaltenwenn Z kleiner null ist dann möchte ich natürlich dass der leergeräumtwird Z gleich nulldas ist das Z hat jetzt also in jedem Fall das was nachherschön NZ steht jetzt in jedem Fall das was nachher auf dem Feld liegen soll das heißt danach kann ich schreibenPunktdies istZandas muss ich aber noch dafür sorgen dass mein Inventardie Füllung meines Rucksackentsprechend angepasst wirdund wie viel hat sich jetzt der Rucksack verändertdas etwas vorher drauf gelegen hat Z ist das was nachher drauf liegt der Rucksacktheorieändert sich??ändert sich um die Differenznämlichdas war'sdraufgelegenhatdas was drauf gelegen hat minus das was jetzt drauf liegt sind das schreibe ich in die Zeile vor dem hierweil danach ja an anderer wird der neue Wert in dem Feld stehtdas muss ich dazwischen schreiben das Inventar ?? ändert sich um die Differenz was heißt das in zehngroß gleich Inventur Regen hat das hier hinten als Änderungwenn diese Differenz drei installieren Sie drei auf eventuell das was im Rucksackdas ist das nehmenja sogar einfacher sich das befürchtet habe was jetzt aber fehltistdas mir kein Fehler meldet in diesem Fall hiersoll er mir einen Fehler meldenPunktSinn wenn ich jetzt rein schreibe ReturnFoulsist das nicht so prickelnweildas sind ?? nicht ausgeführt wirddas ist nicht so schönanwas ich nun tun kann und dass es ganz finsterwas ich tun kann ist folgendes ich merke mir das dann Fehler aufgetretenistwohlamdass er einfach nur ist gleich Volksschuhund nachdem ich da alles ausgeführt habe sage ich ifwenn es denn einen Fehler gegeben hatmache ReturnfordsPunkt dass sie glaube ich ziemlich schlimm ausamhatte in dieser variablen merke ich mir diesen Fehler gegeben hat wennder neue Wert hätte negativ sein sollen merke ich mir ob Fehlermacht trotzdem eine Aufräumarbeitenund sage dann aber zum Schluss oder Seitenfehler gegeben deshalb welche sofort mit weiteren rausdas ist kompetenter Geschichte scheintes gibt noch zwei Sachen die man berücksichtigensolltewenn ich hier neue Variablen einführe in so einem Casedass es leider den modernen Sprachen auch so wenn ich die Einführung in einem Casekann ich jetzt hier demnächst nicht auch wieder mit Z weitermachenin DZ einmal eingeführt es ist etwas darum eingeführtes ist da unten bei dem nächsten sichtbarund dieses eher was darum eingeführtes ist hierbei dem nächsten sichtbar das ist ziemlicheklighaben Sie eine Idee wie sie Z und R verstecken könnenSichtbarkeit von Variablen war innerhalb der Schweifklammer mit Registern des Titels einfachSchweifklammer ohne weiteres davor also steht jetzt kein ?? oder sonst wie bei diesen Schweifklammernennt sich ein Block in zehnBock mit sie gar nicht an Block im Internet gelesen ?? mit CKin Häuserblock?? einfach Schweifklammernon ist ohne vor allem ohne irgendwaswas jetzt innerhalb der Schweifklammer eingeführt ist ist außerhalb dieser Schweifklammerunsichtbar an der Stelle brauch man das malkommt sonst eher selten vorKomma zumindest mein Mac um zu gucken ob ich keinen ganz groben Unfug veranstaltet habe glaubt sichdannLeertaste gucken musstest Punkt nächstes mal ankommt einTodo reinund ?? Komma es war tatsächlich angucken wie man jetzt mit diesen Befehlendas es jetzt Aqua seine eigene Programmierspracheimmer mit diesen Befehlentatsächlich dann den Roboter übers Feld bewegen kann es fehlt wahrscheinlich auch eine Funktionnächstes Mal