[Playlisten] [Impressum und Datenschutzerklärung]

S02B nächste Zweierpotenz, Schleifen, while, do, for


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

ichhätte gern ein Problemchendas die nächst kleinere zweier Potenz zu einer Zahl bestimmt alsowenn ich anfangemit der Zahlzweiundvierzigzum Beispiel dann soll das Programm denn sagen zweiunddreißigdass es in die Nester einerZweierpotenzwenn ich sagefünfundsechzigals Eingabe soll das Programm denn sagen vierundsechzigan?? sage hundert achtundzwanzigsteseine Zweierpotenzdann soll auch ?? hundert achtundzwanzig rauskommen also nicht um ?? des kleineren zwei Potenz sondern die Zweierpotenzendie kleiner ist oder gleich jetztgenauer gesagt die Größe zweier Potenzen kleiner oder gleich ist dann wenn ich mit drei reingehe sollzwei rauskommenwenn ich mit eins eingehe soll eins rauskommensein möchte ihn schreibenum Bereiche zu reservieren hätte man gerne zweier Potenzender Verbraucher zum Beispiel Sonderfunktiondannich stelle mir folgendes vor ich hab eine Variable in der dann irgendwie drin steht was die Zahl istwas mal Eingabemit der ich Statesein vierzig fast so schönes Sieges möchte ich irgendwas tundie Automatik dann noch heftig ich möchte irgendwas tunund dann soll zum Schlussin einer Variablen stehenwaszu der Zahl gehört in diesem Fall ersten zwei ?? dreißig ?? nicht fest an zwei ?? dreißig eintragen ?? sie werden irgendwas was daraus kommtdann ?? sollte zwei ?? dreißig Trennstrichbei jetzt die passenden Zahlen zwischen Download heute Morgen gehenmit einer Zahl Staatenvon der ich nicht weiß was sie ist die vorgegeben wird von außenirgendwasmehr oder minder klugesvon der Produktion dieses ?? kennen ihr freie Form was auch immerund zum Schluss soll dann in irgendeiner Variabledas Ergebnis stehen zweiunddreißigdiezweier Potenzdie nächstliegende zweier Potenz darunter oder gleich der Zahlzu der Zeit wird sich die zwei dreißig Ziffer sechzig vierundsechzigzu achtundzwanzig dieersten zwanzig weiter schone zweier Potenz ist und so weiterwas mich sich hier tunwas könnte ich tunwas alsoin der Schleife erzeugen sie aufsteigende zweier Potenzen das ist der Gedanke ich gucke einfach was die Zweierpotenzensind eins zweivier acht sechzehn und so weiter die Erzeugnisse in der Schleife die Zweierpotenzenund gucke einfachob die Welt noch in Ordnung ist ?? bei der zweiundvierzigwelche bis zurzweiunddreißiggehen wollen aber nicht weitergehen wollen nicht zu vierundsechziggehen wollenan bei der fünfundsechzigich bis zu fünfundsechzig gehen wollen aber nicht bis zu hundert achtundzwanzig gehen wollenKommaman könnte so umarbeitenüberlege gerade ob das sinnvoll ist ?? noch mal andersrum aber das erscheint das naheliegendsteich arbeite aufsteigendich gucke aufsteigend alle zwei Potenzen durchund gucke welche gewinntProbieren Sie das malwie kriegen Sie das hintenrechtmäßig und gut ausgestattetPunkt bauen Sie das mal zusammendiese Variable hierschon hinter die drei Punkte geschrieben was natürlich blödsinnig ist eigentlichso schreibenkönnte tatsächlich auch nach ?? mitWerten für ?? aus lieber so Punkt also muss es aus sehen die zwanzig meine Eingabe die Ausgabe ist so ?? gucken was da passiert?? ander ?? oder irgend eine SchleifedieSchleifen diese Auswahl haben in C Sie haben einmal die for-each-Schleifeweil irgend eine Bedingung ?? solange diese Bedingungerfüllt ist gehe in den Schleifenkörperreinund am Ende springt nach oben Punkt die Bedingung anden immer noch erfüllt ist gehe in diein den Schleifenkörper rein und so weiter und so weiter das ist die for-each-Schleifees gibt noch zwei andere inC und sein Nachfolger sprachenin Nachfolgefragezwei Ziffer noch mehr schleifen aberzumindest diese drei welchem anderen beim Hammer nochesgibt eine Art WollschleifemitTest hinten dran das ist dumaldie kommt eher selten vortuewas in den Schleifenkörper stetsund am Ende prüfeob ?? Sommer machen sollstsolange die Bedingung der hinten wahr ist macht das noch mal macht es mindestens ein maligen einmal durch auf jeden Fallprüft dann ob die Bedingungenokay ist und wenn die okay es macht das noch maldas ist Dubaigenauso wie der Schleifenkörper mindestens einmaldurchlaufen bei der while-Schleife kann es sein das ich gar nicht ein einziges Mal reingehesofort überspringen wenn schon beim ersten Mal die Bedingung falsch war?? sofort über das ganze Ding drüberanund kann sie trösten diese Duwallschleifekeine Ahnung eine von hundert Schleifen sind oval Schleife dies nicht sowahnsinnig häufigund ?? wird und dass es vielleicht sogar die wichtigste war sie bequem Sis ist die for-SchleifeFormdann stehen dadrei Sachen mit Semikolongetrennt in der runden Klammer also deutlich anders als bei den anderenetwas sauberersoFormrunde Klammer zuein Ding Semikolon noch ein Ding Semikolon noch ein Link und der Schleifenkörperdann?? und diese drei Sachen in der runden Klammer haben dann eine eigene Bedeutung jeweils der erste ist die Initialisierung??schmeckt es jetzt noch hin das ist die InitialisierungKomma nur Init Punktan der wird man irgend eine Laufvariablemit dem anderen durchzähltoder was ähnliches wird man daeinführenund auf null setzen typischerweisegerne dient die gleich Null vorin die gleich null sind ?? als erstes Semikolonbeim nächstensteht der Testanalog zur Waldschleifewasprüfe ich die Bedingung die ich prüfe um zu sagen ob ich noch meinen Schleifenkörperreingehendas istpraktisch dasselbe was über dem Wald entstehen würdewelche Bedingungen erfüllt sein damit ich in diese Schleife reingehenund dass er hinten istwirklich keinen Platz mehr das Fortschreitensowas in C plus plussteht er gerne in der Praxisdie for-Schleife sind in der Praxis typischerweiseaus vorForminsI heißt es dann auch gerne die Variable in die gleich Null für die Initialisierung?? möchte ich zu Beginn der Schleife machen der Test ist dann gerne sowas wie kleiner zweiundvierziger die Zahl diegezählt wird ist die immer noch kleiner zwoundvierzig so lange macht die Schleifeund das Fortschreiten ist dann gerne sowas wie C plus plusdiese Zeit dieaufzählendas muss nicht so aussehenaberich glaube jede zweite for-Schleife sieht in der Tat genauso ausdas sind die drei Schleifendiebe habenin zehnManneignet sich irgend eine dieser Schleifen besonders gut für dasProjekt jetztstandardmäßigefor-Schleife dieistgernedas Mittel der Wahlwenn man weiß von wo bis wo irgend eine Variable läuft wenn ich zweiundvierzigDurchgänge braucheund ich weiß vor Essen zwei für dich durchging und ich kann zumindest Variablen ausdrücken ?? Durchgänge sind einschreitet?? for-Schleifean der alles komplett ist ?? nicht das einer while-Schleife machen willmacht mit zwanzig durchlaufen sie ganz wie zu Fuß bauendafür ist die for-Schleife raffinierterwenn ich vorher nicht ganz genau weiß was passiertdann ist im allgemeinen die while-Schleifenetterinsbesondere wenn ich nicht konkret durchziehensondernso lange wie der Benutzer irgendwas eingeht zum Beispieldann zwei Schleifen netter darf ichdann im allgemeinen keine Variable mit der ich durch Zählen bis irgendwas fertig istdas wäre so nach Kriterium mit dem man sagen könnte also wenn irgendwas durchgezählt wird und ich weiß vorher was das Ende istdann auf jeden Fall ?? for-Schleife wenn nicht dann neige ich eher zur FallschleifeIsaac Duvall istexotischVergleich zur Nachdenken denkeaninsofernhat sich gar nicht bis zu Ende zählen will bei uns jetzt vor dem Problem für dich zur Vorhalt schleifen eigenes geht mit allen drei SchleifenGewichtszunahme?? eigeneirgend einer mehr oder minder raffinierten Bedingungund irgend einemSchleifenkörperso das Problem jetzt mal was kann ich da reinschreibenum die Zweierpotenzendurchzugehenund die nächste zweier Potenz zu findenwiezweier Potenzen einfach mal mitzählentragenfolgender GedankeinsFAZ zweier Potenz wie auch immereine Variable in der ?? war die Zweierpotenzenerzeugenein solches vermehren gesehen eine Möglichkeit wäre das so zu machen ?? in jedem Schleifendurchlaufdiese Variable mal zwei zu nehmen oder wenn sie das ?? ganz fürchterlich finden Z ist gleich Zmal zwei soPunktich starte in der Variable mit dem Wert einsim ersten Schleifendurchlaufwird es zwei werden einmal zweiwieder in die Variable reindann habe ich den Wert zwei drin im nächsten Durchlauf steht zwei in der Variablen Zzwei mal zwei wird vier werden die nächsten Durchlauf ?? zweites acht werden und so weiterso erzeuge ich zweier Potenzen zum Beispielsoanund einer sehen ob das sinnvoll ist auf diese Weise aber so will ich auf jeden Fall zweier Potenzen erzeugendas mal zwei Komma der später inC effizienter schreiben Komma dass mündliche Zensurstelle nicht machen wollendannübrigens auf jeden Fall kürzer schreiben auchmal gleich zwei das sich schon bisher an diesen Notationsgefühlenden Inhalt von Z nehmen mal zwei nehmen und wieder in Z reinschreibenwas soll das heißenso will ich zweier Potenzen erzeugenes muss sich nur irgendwann einfach aufhörenBedingung für das mal was schreiben Sie dann als Bedingung für das Fall der Rheinna ich gucke ob dieses Gesetzzweier Potenzimmer noch kleiner gleichder Eingabe ist dies jetzt Festes auf ein fertig gestelltegegen siestellt sich vor die zwanzig Gremien die vom Benutzer oder sie mir werden Messwert sonderlich schwer dran kommt oder sie nicht festbetoniert?? wird die Stimme sein da steht irgendwas in der Eingabe ?? ich prüfe alsoKonzept kleiner gleichdie Eingabeistund solange das der Fall ist gehe ich tatsächlich zur nächstenzweier Potenznunjetzt war derdie Aufgabe des Programmsdie zweier Potenz zu findensein die letzte zweier Potenz zu finden die kleiner gleich meiner Zahl istdie letzte zwei Potenz kleiner gleich meiner Zeit was wird hier passierenwas wird nach NZ stehendafür nämlich lustigerweise und vierundsechzigwerdendie Eingabe zweiundvierzigdie letzte zweier Potenzen oder nämlich zuletzt eine Zweierpotenz immer zweiunddreißigbei zwounddreißigkleiner gleich zwoundvierzig hat's noch hin geht in die Schleife reinin ZDNet vierundsechzigund dann wieder den nächsten Durchlauf versucht vierundsechzigkleiner gleich zweiundvierzigdas ist falschdann hat er mit der Schleife aufzum Schluss den vierundsechzigin der Z Variablen drin noch nicht zweiunddreißigdas ist noch nicht was ich haben will muss es der Träger Normalanwaltsjaschon etwas überraschend wardannziemlich komplett eingestelltoder SimulatorJahrhatten wir keine Optimierung mit dersoist es sämtlich nichtspäter mehr dazu?? Onkels willigund wenn ich das laufen lasseist er in der der vierundsechzigsind?? auch das Ausgabe noch gar nicht benutzt sichert eine variable Ausgabe eingebaut aber gar nicht benutzt ?? auch bisschen Geschickkann ich das rettende solle nicht hinsichtlich rauskommen sondern ich hätte gerne für mein Programm des Wein dreißig rauskommtalso VorschlagAusgabeist gleichZ durch zweiobSand funktioniert aber lustigerweise Komma wenn ich ein hundert achtundzwanzigich mir zwei Potenzreihengehees und spannender Fall wird das dann auch noch hinkriegen ?? müsse mit hundert zwanzig rauskommen wenn alles so funktioniert wie ich haben willinder Tat funktioniert also auch damitso kniffliger Grenzfallaberdann soll es auch insgesamt funktionieren wäre eine MöglichkeitanMetzger malganz was finsteres Programm probierenso weit wird es jetzt erst mal funktionierenfür die üblichen Zahlen?? ?? normale Fälle bevor was finsteres machendreizehn es auch ?? schöne Zahlfür dreizehn Ausgabe achtokayansich als aber die ganzen Randfälle wenn dann endlich wieder eins reingehe einschließlich zweier Potenznull hätte ich natürlich auch gerneeins wieder rausda Ausgabeausgabeeins okay soweit so gutwarenes Komma auf was finstereswenn die Eingabe istausbaue ichüberlegenzwei neunzig tausendMal an der oberen Kante was probierensie sehenähdas Programm läuftund läuftläuftdas immer zu Fuß stoppenwir sind anscheinend in Endlosschleife gefangendas hatte ich fusioniert mit den zwei ?? dreißig tausendjadas kriegen wir nichtin dieser Variablen gespeichert erscheint was zwischendurch passiert irgendwas mit Zwischenergebnissenmuss schief gehen die Eingabe okay zwei ?? dreißig tausend das geht klardie Ausgabewird ja auch klar gehen weil sie höchstens Wein dreißig tausend noch was ist sollte sechzehn tausend noch was sein wenn das alles locker weg läuftaber auf dem Weg zwischendurchgeht irgendwas fürchterlichschiefPunkt was meinen Einzelschritten anganzoffen dazu wegnetterweisegeht das mit Zweierpotenzenrelativ zügig durch das ist wirklich einzeln zeigen ganzen ersten Schritt ist unser Zeinsgucken ist das kleiner gleich der Eingabeschöndann immer das doppelte Z wird zwei im nächsten Schrittnebenbeisolche schmal sei und dass gerade sie in den Variablen nicht initialisierenin C und C plus plusin den Sprachen danach ist das anders haben sie in C und C plus plus eine Variable nicht initialisieren?? nicht schreiben Ausgabe ist gleichsoundsovielversteht ein Vermögeneinesblieb der Art wie man unsägliche Fehler erzeugen kann Variablen nicht initialisiereneinmal macht das Programm das eine aber das Programm das andere je nachdem was für Müll da drin stehtdie oben bei der Eingabe kein Problem ?? ist initialisiertschreibt vor zwei dreißig tausend Reinthemaist erledigtAusgabe der steht nicht ist gleich so zu viel solangenicht wirklich jetzt ein Wert zugewiesen wird in Ausgabeden Blödsinn in Ausgabe nicht NullsondernBlödsinnwas der Rechnergrades im Speicher findeter Randbemerkung schon so spannend dabeizweite Durchlaufdas Fonds wird alles noch vier acht sechzehn Sie sehen dasalles noch in Ordnung findenKomma welchen die spannendeZone hier sechzehn tausend drei hundert vierundachtzig ist eine Zweierpotenzüber der ausgerechnet haben die Prüfenist sechzehn tausend hundert vierundachtzig kleiner als unser zwei ?? dreißig tausend in Ordnungist es Wiki noch meine Schleife reinjetzt kommt der spannende Punktist ?? das doppelte von sechzehn tausend drei hundert vierundachtzig?? minus zwei ?? dreißig tausend sieben hundert achtundsechzigdas ist ziemlich blödsinnigAuflösung stelle wo einenC und C plus plus uns dann auch die NachfolgesprachenlernenÜberraschungenbescherenergibt sechs Wochen bisschen mehr dazu?? das negative ?? insoweit aber auf jeden Fall das sollte jetzt schon wissenes passen nicht beliebig große Zahlenin diese Variablen reinirgendwann ist Feierabendund wenn Feierabend ist passiert Blödsinnstützt mich das Programm ?? oderirgendwas Schlimmeresja was ist wenn wir das sogar besser das Programmabstürzenwürde es jetzt eben nichtanes wird einfach Blödsinn gerechnet hier steht jetzt natürlich Blödsinn drin Z wird negativund wenn es negativ ist an sich garantiert kleiner als bei zwei tausendunddas geht anscheinendnicht wieder wegdas ganze was da so passiert im nächsten Schritt wird es null undKopfstellen null ist Gandhi kleiner gleich die Eingabe ?? ich bin hier in dieser Schleife gefangenes wird Zdurch diesen Unsinn null werdendas es garantiert kleiner als meine zweiunddreißig tausend ?? vernichtet mit zwei modifizierenbleibt es weiterhin null ??im nächsten Durchgang mach ich das selber eine Endlosschleifedas was man typischerweisevermeiden will beim Programmich möchte natürlich das Mannprogramm auch damitkorrektumgehen kannmanjetzt kann ich ihn auch verraten warum ich das so haben willdas mein Programmnicht die nächst größere Zahl nimmt sondern die nächst kleinere nimmt es kann nämlich sein dass die nächst größere Zahl gar nicht mehr gehtwenn ich hier mit zwei dreißig tausend reingehekann sein das die nächst größere Zahl gar nicht mehr machbar ist die nächst kleinere Zahloder gleichist machbarist deshalb ist das das was ich vom Programm fordereeine Zahl die gleich oder kleiner ist die nächstliegende zwei Potenzgleich oder kleinermeine Ordinalzahlweil ich vielleicht gar nicht größer werden kannvom Platz her hierwie könnte man das jetzt beheben das auch der Fall funktioniertsondern ganz anders angehengenaueine Möglichkeit ist ich nehme die einfache Variante die mir kanndannin sind auf dieser Maschinesechzehn Bit ?? Zahlen bis zwei dreißig tausend noch waslang sind auf dieser MaschinezweiunddreißigBit also Zahl biszwei Milliarden noch waswenn ich das nehme für meine Variable Zdurch das auf die harte Art gelöstinden Weg Punkt und noch drinokay dann wird es funktionieren Ausgabe sechzehn tausend hundert vierundachtzig das ist ja zur Lösunganich investiere einfach zwei ?? dreißig Bit dann habe ich hier bei den zweier Potenzen keinen Ärgerin zwei ?? dreißig Bit passen größere Zahlenreihen als in sechzehn Bit das wäre eine Lösungam?? ich würde aber versuchen wollen lieber die Logik des Programms zu ändernstatt mit größeren Zahlenbereich zu arbeiten?? sich vor sie bräuchten diese Funktion hierauch für Zahlen vom?? von der größeren Sorte für Zahlen mit zweiunddreißigBits der missliche Gästezahlen mit ihren sechzig Bit bauen diesen aberin Sachen zwar gar nicht mehr vorgesehenirgendwann stößt man an die kannteich von dir dass er nicht an meine Lösung habendie nur mit ihm funktioniertohne diese größeren Zahlen nur mit Kind zahlenals irgendwas muss ich an der Logik ändernich fange an die Zweierpotenzenvon unten aufzubaueneins zwei vier acht sechzehnzweiunddreißigvierundsechzigund natürlich auf wenn ich eine Zweierpotenzgefunden habe die zu großehaben sie gesehen ist es gefährlichwenn ich Zahlen immer größer macheirgendwann?? ich was auf die Fingerwar die Maschine nicht mehr das rechnet was sie rechnen sollMieter die stattdessen dran gehenin der Tat eine Sache nicht ganz gedacht habe sie könnten mit der größten Potenz anfangendie Fang mit der größten Potenz an etwas aus ?? nicht mehr sechzehn tausend Blabla Blablaähm die Größe zwei Potenz die Werra haben sie Fang mit der an und arbeiten rückwärts acht tausend irgendwasvier tausend sechsundneunziger zwei tausend achtundvierzigtausend vierundzwanzigund so weiter Sie fang mit der größten zwei Potenz an und arbeiten rückwärtsist eine Möglichkeitamwas mich daran etwas nervt ist das ich mir jetzt überlegen müsste was in die Größe zweier Potenz ist die in meinem Formatdarstellbaristich könnte mir folgende Lösung vorstellendass sich die zweiundvierzigdurch zwei Teile zweiundvierzigeinundzwanzigund das durch zwei sind dann ja zehn und das durch zwei sind fünf und das durch zwei sindzweiimmer ganzzahligendas durch zwei sind eins dass sich die zweiundvierzigdurch zwei Teileparallel anfangeeine Zweierpotenzaufzubauenin der selben Größenordnungsich Teile laufend durch zwei die Zahl ich habe teils laufend durch zweiundparallel dazu fange ich jetzt an die Zahl eins mit zwei zu multiplizierenwas feuchten bisschen durchgeknalltdiese Lösungaber dann muss ich mir nicht überlegen was die größtezweier Potenz in meinem Format istBeistrich steht einfach automatisch die richtige zweier Potenzdass wir jetzt meine Ideeich nehme die Eingabezahlteile sie fortlaufenddurch zweibis ichbei eins ein Kommaund in jedem Schrittgehe ich einfach mitmeiner entstehenden zweier Potenzum eine Potenz weiter von eins zu zwei von zwei zu vier und so weiterich baue parallel dazu meine zwei Potenz aufdas wir mein Gedankedann soll ich keinen Ärger mehr mit zum Überlauf habenundanders als bei ihrer Lösung sie vorgeschlagen habe ?? ich wusste auch nicht überlegen was den Weg die Größe zweier Potenz ist anerster ?? Sie das einmal nachrechnen es ist nicht so die groß Aktionsmarken des schnellen hexadezimalhinschreibenaber zweitens wenn ich auf anderes Format umstellen von Ihnen auf long zum Beispiel mystische Zahl ändern?? nicht so richtig schönzu ?? sich in zehn anderen Sprachen Komma sendet Schreiber witzig Komma sich somit schreibensublime dass sie lieber die die zwei Potenz aufzubauenwährend ich meine Ordinalzahlquasi abbauealso den Prozesshinzu schreibenin der Schleifealses müssen in der Fallschleifezwei Sachen passieren ich muss eine Zahl halbierenund das Z was ich eben schon hatte mal zwei nehmendie Ausgabe werde natürlichdas jetzt sein erster Gedanke ich möchte nicht zu Weitzellen mit den Z sondernangenau richtig zählenalso dieses hier auf der rechten Seite das wird mein Z werdenoder das war schon immer mein Zich werde die Zweierpotenzenüber die Bedingung wird jetzt raffinierter die Bedingung entsteht dadurchdas ich meine Ordinalzahlfortlaufend halbierenund guck ob das Ergebnisimmer nochgrößer gleich eins ist oder größer als null ist wenn sie noch mal halbieren eins noch mal halbieren in ganzen Zahlen klingt ja nur rauswas ich kann prüfenob ihr das Ergebnis links größer gleich eins istoder das Ergebnis größer als null ist das ist dasselbekönntjetzt direkt hier die Zahleingabenehmen wir Eingabehalbierendasfinde ich nicht schönenbesitzen diese verwirrend außer sie können sowas schreiben wir Eingabejedes Mal halbierendurch gleich zweiAdern verändert sich der Wert von Eingabe und die variable Eingabeist nicht mehr die Originaleingabedas finde ich komisch deshalb ?? ich liebereine Extravariablein den USAvariabel die eine mal gerade ebenso irgendwie benötigt wird kurzfristig die davon Mala heißensodas jetzt also die linke Spalte aus meiner Zeichnungpassiert wäre die Variable Adiesem Anfang zwoundvierzigSie wird fortlaufend halbiertder letzte Wertsoll eins sein und dann möchte ich aufhörennunsind wir formulierenschonguckenwas es geht um den Wert von A?? überlegen was der letzte Schleifendurchlaufist das ist ?? kritische Geschichte dass man nicht eins zu weit geht oder ein zu wenig Machtim letzten Schleifendurchlaufsoll Azu eins werdenproDollar zu eins werdenund Z für das letzte Mal mit zwei multipliziertmal überlegen ob ich das richtig denkedass sie es vor dem ersten Schleifendurchlaufich gehe mit zweiundvierzigWeinin meiner variablen A das war die Eingabe und Z ist gleich eins jetzt kommt der erste Durchlaufnach dem ersten Durchlaufmuss A einundzwanzigsein und Z zwei sein und dann kommt der zweiteDurchlaufund so weiterund so weiterund jetzt müsse hier dann passend abbrechen wenn A gleicheins geworden istund setzt bei unserer Wahlgleich zweiunddreißigist dann muss ich aufhörenwenn A gleich eins geworden ist muss ich aufhören hier darf jetzt kein weiterer Durchlauf Komma nachdem A gleicheins istdas wäre das Kriteriumalso ich hierdann ob Agrößer istals einsim letzten Durchlaufnagleich einsich prüfe dann ob Agrößer ist als eins und höre aufund jedes ?? in Aktion sehendas es zu leichtfalsch zu macheninunserer zweiunddreißigtausendsoweitist noch alles in Ordnungfür Stadtmitte zwei dreißig tausend in der Eingabein der AusgabestehtZufallswertdrin die mit der wessen Schluss sie gesetzt Ausgabenaus der Realitätandieser Stelle zweier Potenz ist auf einsund ich habe den Wert von Eingaben zu Variable A kopiertweil ich nicht Eingabe ändern möchte Eingabe soll wenn die Bayern so heiß auch gefälligstimmer den Wert der Eingabe haben dass es uns irritierendwenn die Variable A heißt dannfür dich mich weiter mitzumachenwas ich machen will so rar ist größer als eins definitiv denn ich fange mit zwei dreißig tausend anich halbierte Aeinverstandenund ich musste sie Rezept mit zwei Z jetzt die nächste Potenz und so weiter und so weiterA wird abgebautZ wird aufgebautsoweitglaube ich das alles?? in die spannende Zone manövrieren hiernurnocheines nähern unsdem Ende AS inzwischen zu drei abgebautZ bis zu vier tausend sechs neunzig aufgebautheißt immer noch größer als einzig nach immer noch weiterin dreijetzt durch zwei geteilt es wird eins draus Z immer noch mit zwei multiplizierenund jetzt ist FeierabendA ist gleich einsich prüfe ob ?? größer ist als einsist nicht eins ist nicht größer als eins also ist das es Ende der while-Schleifeich gehe nicht noch mal in die Warteschleife Reinbedingungnicht erfülltsondern setzt setze die Ausgabe auf diese Zahl Z sechzehn tausendofalso mein Sohn schreibtgeht tatsächlich aber das natürlichdrei Hirnwindungen mehrals bei der aller ersten Lösung Komma gerade mal noch ob die Rand Fell auch wirklich hiermit funktionierenZahl eins ist ?? spannende Geschichte fusioniert die auch hiermitnicht das ?? Blödsinn eingebaut habendie Ausgabe ist eins für die Zahl einsbezahlt zwischendurchfünfundsechzigAusgabevierundsechzigsoweit sie das gut aus ??ankommen auf Anhieb nicht drauf das es jetzt ?? Lösung die dann offensichtlichauch für die Randfälle funktioniertsicherlich alles ausprobiertaber es sieht schon sehr plausibel aus das das funktioniertnun nebenbei sind die Norm war von den Seespezialitätenaktionensind ziemlich normal gleichdie Variable nehmen und mit zwei modifizieren und wieder zurück in die Variabledann auch durch gleich den Wert herausholen aus der Variablendurch zwei teilenund wieder zurückan das Kabel praktisch allen RechenoperationenNC machen nach auch mit logischen Operationensind der wildeste geschichtlicher Markt leicht und leicht durch Ausgleich undMinus gleich sondernauch sowas wie logisch und gleich unlogisch oder gleichnächste Wocheund was immer noch in Aktion und uns jetzt aber noch mal jedesganzzahligenTeilenanganz eilig teilen ist tatsächlich immerwieder ein ganzzahligesgibt wieder ein ganzzahliges Ergebnisein zwanzig durch zwei ist zehnund fünf durch zwei ist zwei und eins durch zweiist nulldamuss man vorsichtig sein ?? rechnet dann brutalen ganzen Zahlen ganze Zahl durch ganze Zahl gibt wie deine ganze Zahlauch in den Nachfolgesprachenvon zehndanngerade auf die Uhrschön es gemäß eine schöne Übung dazu machen ?? wie kann ich das hier jetzt mal minder for-Schleifeschreibendasselbe Ding hierkommen noch for-Schleifesicherheitshalbernoch malwie das voraus sieht vores fängt an mit der Initialisierungdann kommt der Vergleich??und dann kommt das Fortschreitenvon es sieht aus wie Fortsetzung ?? Komma Fortschreitenandas mal so umformulieren es gibt diverse Arten ?? man das als Form formulieren kannman den zu hoffe ich Arsenal stoßenjetzt steht er jadas sich gerade stetiger Dakota gleich zweimal drin das wir natürlich der Compiler nicht haben wenn sie das hier zweimal drin habenjetzt natürlich vom Compiler was auf die FingerCompiler siehtEingabehalseingabehat man doch schon Ausgabe ?? auch schon was das gibt natürlich Fehleran den sie einfach den oberen Teil hier markieren den Markt und sagen EdithBlock kommendauf diese Artauswählen?? Edition denn hier kommenddanndamit das zum Kommentarder Global ignoriert dasKomma ?? und Nummer richtig arbeitenFortschreitennatürlich immer noch mit einem esdannsoweit Hammers dann ja in der for-Schleifepassiertjetzt nicht mehr oder soll ich sagen im Körper der Vorschrift was sie nicht mehr alles was vorher passiert istdanndieser Weiher die eigentliche Aktion in der for-Schleife ich modifiziertemeine Potenzen der Zusammenarbeitzweier Potenzendass das sicher weiter im Körper stehenanfür die meisten war klar was der Vergleich dann sein muss in der for-Schleifeich gucke weiterhin auf dieses Art größer ist als einses war den ich auch klar was die Fortschreitensein muss ich Teile durch zwei das ist das Fortschreitendieses Art jetzt Junge für die Rolledieses ?? des I was man sonst hat Telefonvonnull bis einundvierzig zum Beispiel mit dem I das SU diewurde typische for-Schleifefür eine Variable I einsetzt Diamant auf nullgucke vor jedem Durchlaufob I kleiner ist als zweiundvierzigundwenn du fertig bist mit dem Durchlauf erhöhe dienur bei uns ist jetzt bisschen komplizierteranich gucke ob dieses Agrößer ist als einsich teile es durch zwei fortlaufendund Initialisierungsollte dann sinnvollerweiseseinwie ich Azu Beginn mit einem Wert für das an sie können auch ganz dreist das Weglassendas gibt's auchdas Komma mit allen machen sie können hier bei allen Aussagen auf dem ?? gar nicht ?? das wäre auch ?? erlaubte for-Schleifeist bisschenüberraschend vielleichtauch für den Leser überraschend muss nicht seinPunkt man kann es so machen dass jemand deswegen gar nicht initialisiertaber das schreit für mich eigentlich darnach dass ich die hierdavon reinschreibenjetzt hat das Aganz deutlich diese Rolledie eben das I hattein der üblichen for-Schleifeau eine Variable ihn starrte mit nullgucke ob die zu keiner Zeit vierzig istund erhöhe sie um eins in jedem Schrittund jetzt habe ich hier eine Variable Aist am Anfanggleich dem Wert von Eingabeich guckeob sie größer ist als eins während ich die for-Schleife ausführenund in jedem Schritt halbjährlich die Variable das es erlaubt ?? sie müssen schon etwas raufzählenund auf kleiner Vergleichensie können machen was sie wollen hier sogar mehrere Sachen miteinander machen aber zusätzlichübertreibendas wäre denke ich jetzt das analogeErden sinnvoll umgesetzt in einer for-Schleifedieses A dann die Rolle der Zählvariablenauf wenn sie gar nicht gezählt wird sondern fortlaufend halbiert wirdeine mal gucken ob auch kein Blödsinn passiertweiterso erste Durchlauf derfor-Schleifeinitialisiertdiese Variable Aaufdie Eingabefünfundsechzig war das so AS fünfundsechzigan das sollte ?? mal sagendass hier das erstein der ?? in dem runden ?? Komma von dem vor das erste passiert ein einziges Mal diese Initialisierungdie beiden anderen passieren pro Durchganghier der Vergleich und das Fortschreitenaber das hier passiert ein einziges Mal da vorneist Variable A ist dann in der for-Schleife auch verborgennicht in allen Sprachen mich in Javascriptaber in üblichen Zielsprachenist diese Variante Adern in der Vorstadt verborgen sie können außerhalb der Schleifenicht mit der Variablen A anfangenund fang an mit hundert sechziger prüfte sie in das der nächste Schritt prüft jetzt zu Beginn sofort schon mal diese Bedingungist das größer als eins was ich da habe ja offensichtlich größer als einsdannführen wir die Schleife ausund dann kommt das Fortschreitendas jetzt nicht um eins erhöhenanders als bei der typischen for-Schleife sondern durch zwei Zeilen A durch zweite einer Sauce fünfundsechzig wirdin zweiunddreißigTeil den ganzen Zahlen und prüfte wiederbevor wieder rein geht in die Schleife prüft der wieder ist das Ergebnis größer als eins ?? istdann führen wir den Schleifenkörperausund beziehen Z mit zweiKids und vierundschreiten vorwärts die zweiunddreißigwird jetzt zur sechzehn werdennächste Prüfung ist das immer noch größer als eins Jahrund so weiter und so weiter und so weiterlangweiligansokommen an das Ende der Schleife istzwei immer noch größer als eins Jahr ist esdann führen wir den SchleifenkörperausFett wird mit zwei multipliziertalso vierundsechzigfortschreitennicht aber um eins erhöhen sondern A durch zwei teilen arbeitet also eins werdenund bevor jetzt noch mal versucht in die Schleife rein zu guckenprüft er die Bedingungdie Bedingung nicht mehr erfüllt eins ist nicht größer als eins gleich einsalso wieder nicht mehr in die Schleife reindas war das Ende der Schleife dass sie es jetzt das letzte was er gemacht hat mit der Schleife diese Bedingung prüfendie Bedingung wird Falschbeginnnicht eine stahlvereintenSchleifenkörper rein sondern landen hinter der Schleifeund die Ausgabe wird jetztgen sechzig werden wie sich das gehört so sieht das dann mit der for-Schleife ausam ?? die for-Schleife ist auch einesehr flexible Angelegenheitdie sehen sie in der Praxis immer soin dieser Form nicht immerin?? von zehn Fällen sehen Sie dem Praxis in der Praxis in dieser Formheißt die Variable hoffentlich I oder J oder Kaber die for-Schleife kann wesentlich mehrkönnen wir wirklichvorneirgendwas hinschreiben was einmal zu Beginn passieren sollund hier schreiben sieirgendeinenVergleichender wahr oder falsch liefertund hier schreiben sie irgendwas hinwas voranschreitetwas auch immer das sein mag das kann auch Funktion sein nachher die die nächste E-Mail oder was ähnlichesähm so flexibel ist die for-Schleifewiegesagt die Variable A ist innen drin verborgendanndie spannende Frage ist wieder Compiler reagiertoder was sie eigentlich doch das hängt zum bisschen von den Sprachen abdann das zu ganz feinsinnigen UnterschiedeKommawas sie alles machen dürfen ich führe mal die Variable A auch außerhalb einSee denke ich wird das nehmensollte man nicht tun sobald man anfängt über sowas nachzudenkenweiß man schlecht Beistrich sollte man nicht sehen das aber kommentarlos übersetzt allerdingsangemerkt?? wahrscheinlich nur weil ich einig benutzeBildbildgenau ?? gemeckert er nur mit dem Ausrufezeichenda das ich gar nicht benutzen ?? Acoustic Leerzeichen Referenzandas Frist anscheinendohne Probleme sie sind jetzt in ABau eine Variable namens A Dis Komma Lindarbaueiner variablen Anzahldannpacken sie sich grandios Fehler einfangen ?? Ressourcen veranstaltenund glauben dass dieses A außen dasselbe A ist wie das einKomma guckennicht das laufen lassennun was dann passiertin mir habe ich eine variable Art mit dem er dreizehnund eine andere Variable die gerade nichterhältlich ist eine Welle willsie können zwei Variablen parallel haben mit dem selben Namendas sorgt für gehörigen Ärger an dieser Stelle das das verborgenesin anderenNetze weitermachenin sie okaydie eine Variable A das ist die Äußeres auf dreizehn und die innere Sitz auf achtso kann man grandiosen Unsinn bauenan tun sie das nicht einmal gesehen ich muss auch selbst nachdenkenansich hab es zum Beispiel pingelig aber solchen GeschichtenC ist offensichtlich großzügiger bei solchen Geschichten das ist echt gefährlich eine Variable dem selben Namen noch außerhalbdieses A innen drinist aber wie Sie seheneine Variable die für sich lebtbeim Deckel noch mal gerade prüfen ob die wirklich verborgen istwenn er sowas veranstaltendannkann man sagen?? mich immer ?? Blödsinn plusplus zweimal anmeine plus zwei mal anes rechnerisch jetzt Unsinn aber ich kann immer gucken ob A noch zu haben isthier gibt sie Variable APunkt Komma nach der Schleife ob A noch zu haben ist das der Compiler dazu sagtokay das wage dann definitivnichtüber ihrbitte die Feierei ist an die Vereinssieht keinenVariante des Namens Ahinter dieser SchleifeSA was ich hier eingeführt habe am Anfang von MV ist wirklich in der Schleife verborgen und hier nicht mehr sichtbarso gehört sich dasdann kann ich auch kein Unsinn damit anstellen wie sie sehen sie können eine Variable haben die A heißtdass wir dann schon bisschen schwierig zu verstehen wie man das macht sollte manvermeidengroß wieder lebendig hoffentlichich starte das Programm für die ganze Zeit dannbesser ist folgendesnehmen sie hier ProjectMacprotectMacübersetzte das Programmwird es aber nicht ausKomma nur nach Fehlern gucken willund noch eine Geschichte soll ich sagenwo ich das gesehen habe wenn sich was zusammentippen ?? es ist ja so hübschwenn das alles so ordentlich eingerückt istmit den Schweifklammerdann ein Tabulator nach rechts nach jeder Ebene Schweifklammerähm wählen Sie alles ausSteuerung Adann haben sie unter EdithsAuto in dentautomatischesEinrücken und die Welt wieder in Ordnungdas nicht zu Fuß machenja als wenn sie ?? zweite for-Schleife hätten die auch ein A benutztdass er jetzt auch wieder von der Logik des Programms nicht korrekt können ?? übersetzen lassen Project Macsehen das macht ihm kein Ärger dieses A hier obenist variabel für sich dieses arge unten ist ?? Variable für sich die beiden wissen nichts voneinanderhabenkein Problem damitdasist übrigens wenn sie Anti PC Programme sehen das weiter zu sagen ?? die GC Programme sind das andere Geschichtedas hat sich erst im Laufe der Zeit geändertandas gilt nicht für ein PC Programm und es wirklich für JavascriptVorsichtes gilt für diemeisten heute üblichen Sprachendannkurz vor noch zwei Sachen erwähnt habenes gibt zwei Spezialbefehlefür diese Schleifendie Antwort auf die Worte normal hinweisenBreakund continuenachwenn Sie so eine Weitschleife haben oder genau eine Duschleifeoder einer for-Schleifesie irgend eine Schleife habenundinnerhalb der Schleife kommt irgendwoder Befehlcontinuewasheißt dascontinue ist an vielen Stellen hilfreich wenn ich sehe dass ich den Schleifendurchlaufgar nicht weitermachen muss ich feststellen ?? passiert ein Blödsinndie Zahl nicht ausgeliehen habe brauche ich gar nicht mach sofort die nächste Schleifendurchlaufcontinue springtzum Ende des Schleifenkörpersund mach sofort mit dem nächsten weiter wenn es ein nächstes gibtfortsetzenden aktuellen Durchlaufabbrechenund mit dem nächsten weitermachen wenn es einen gibt?? sehr hilfreichist einzig kein strukturelle Programmierung ?? und Struktogramm denkender Waldschleife hier die Waldschleifeauchimmer schlimmer??continue ist eigentlich ein Verkauf des Codes springt ansEnde des aktuellen Durchlaufsdas macht continueunddann gibt es nochals ähnlichen Trickprojektirgendwas passiert in der Schleife und dann sagen sie Drakeund Blake springtaus der Schleife rausdass es im Sinne der strukturierten Programmierungnoch schwieriger hier oder noch schlimmerirgendwo sagen sie beträgt dann springen sie darausdass es auch naht von Gott zueinem diese Art von Lotusund den John Break hat sich aber halten weil sie einfach zu hilfreich sind im praktischen Lebenam ?? müssen vorsichtig sein Beistrich die Messungenam Beispiel ?? zu machen ich wollte das jetzt ?? eigentlich eingebaut haben ?? das Programmnicht geschafftdas im Hinterkopf behalten Beck und konnte mir sind sehr hilfreiche Befehle meinen Schleifen allen drei Schleifenpfeilund du und vorum aus dem Schleifen rauszukommenregtoderum beim nächsten Schleifendurchgangweiterzumachensofortcontinue