{"id":40208,"date":"2020-02-01T06:04:35","date_gmt":"2020-02-01T03:04:35","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly"},"modified":"2020-02-01T06:04:35","modified_gmt":"2020-02-01T03:04:35","slug":"kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly","title":{"rendered":"Wie man lernt, Schwierigkeiten zu \u00fcberwinden und gleichzeitig Schleifen zu schreiben","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Obwohl es sich um ein grundlegendes Thema handelt, richtet sich dieser Artikel an erfahrene Fachleute. Das Ziel ist es, die verbreiteten Missverst\u00e4ndnisse zu zeigen, mit denen Anf\u00e4nger in der Programmierung konfrontiert sind. F\u00fcr praktizierende Entwickler sind diese Probleme l\u00e4ngst gel\u00f6st, vergessen oder werden \u00fcberhaupt nicht mehr beachtet. Der Artikel kann n\u00fctzlich sein, falls Sie jemandem bei diesem Thema helfen m\u00fcssen. Es werden Parallelen zu Materialien aus verschiedenen Programmierb\u00fcchern von Autoren wie Schildt, Stroustrup und Okulov gezogen.<\/p>\n<p>Das Thema \u00fcber Schleifen wurde gew\u00e4hlt, weil viele Menschen an diesem Punkt aussteigen, wenn sie die Programmierung erlernen.<\/p>\n<p>Diese Methode richtet sich an schw\u00e4chere Studierende. In der Regel bleiben st\u00e4rkere hier nicht h\u00e4ngen, und es ist keine spezielle Methode f\u00fcr sie erforderlich. Ein zweites Ziel des Artikels ist es, diese Methode von der Kategorie \"funktioniert bei allen Studierenden, aber nur bei einem Lehrer\" in die Kategorie \"funktioniert bei allen Studierenden und allen Lehrern\" zu verschieben. Ich beanspruche keine absolute Originalit\u00e4t. Wenn Sie bereits eine \u00e4hnliche Methode zum Lehren dieses Themas anwenden, lassen Sie mich bitte wissen, wie sich Ihre Variante unterscheidet. Wenn Sie sich entscheiden, sie anzuwenden, berichten Sie bitte im Anschluss, wie alles gelaufen ist. Wenn eine \u00e4hnliche Methode in einem Buch beschrieben ist, teilen Sie mir bitte den Titel mit.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDiese Methode habe ich \u00fcber 4 Jahre entwickelt, indem ich individuell mit Studierenden unterschiedlicher Leistungsniveaus gearbeitet habe. Insgesamt etwa f\u00fcnfzig Studierende und zweitausend Stunden Unterricht. Zu Beginn hingen die Studierenden oft bei diesem Thema fest und gaben auf. Nach jedem Studierenden wurden die Methode und die Materialien angepasst. Im letzten Jahr bleiben die Studierenden bereits nicht mehr an diesem Thema h\u00e4ngen, weshalb ich meine Erfahrungen teilen m\u00f6chte.<\/p>\n<h4>Warum so viele Buchstaben? Schleifen sind doch ganz einfach!<\/h4>\n<p>\nWie ich bereits erw\u00e4hnt habe, kann die Komplexit\u00e4t des Konzepts von Schleifen von praktizierenden Entwicklern und starken Studenten oft untersch\u00e4tzt werden. Man kann eine lange Vorlesung halten, viele zustimmende K\u00f6pfe und aufmerksame Augen sehen. Doch wenn es darum geht, eine Aufgabe zu l\u00f6sen, kommt es zu Verwirrung und unerkl\u00e4rlichen Problemen. Nach der Vorlesung bleibt den Studenten meist nur ein teilweises Verst\u00e4ndnis zur\u00fcck.<br \/>\nEines Tages wurde mir klar, dass die Studenten meine Beispiele wie Hieroglyphen wahrnahmen. Das bedeutet, sie betrachteten sie als unteilbare Textst\u00fccke, bei denen sie irgendeinen 'magischen' Buchstaben erg\u00e4nzen mussten, damit es funktioniert.<br \/>\nManchmal fiel mir auf, dass die Studenten dachten, f\u00fcr die L\u00f6sung einer bestimmten Aufgabe sei eine <i>weitere<\/i> Konstruktion n\u00f6tig, die ich einfach noch nicht erkl\u00e4rt hatte. Dabei h\u00e4tte es lediglich einer kleinen Modifikation des Beispiels bedurft.<\/p>\n<p>Deshalb bin ich zu der Erkenntnis gekommen, dass der Fokus nicht auf der Syntax von Ausdr\u00fccken liegen sollte, sondern auf der Idee, wiederholten Code mithilfe von Schleifen zu refaktorisieren. Sobald die Sch\u00fcler dieses Konzept beherrschen, wird jede Syntax durch kleine \u00dcbungen erlernt.<\/p>\n<h4>Wem und warum ich unterrichte<\/h4>\n<p>\nDa es keine Aufnahmepr\u00fcfungen gibt, k\u00f6nnen in meinen Kursen sowohl starke als auch sehr schwache Studenten sein. Weitere Informationen \u00fcber meine Studenten finden Sie im Artikel <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/350360\/\">Portr\u00e4t der Teilnehmer der Abendkurse<\/a><\/noindex><br \/>\nIch habe angestrebt, dass das Programmieren von allen erlernt werden kann, die dies m\u00f6chten.<br \/>\nMeine Kurse finden individuell statt und der Student bezahlt sein Geld f\u00fcr jede Stunde. Auf den ersten Blick k\u00f6nnte man denken, die Studierenden w\u00fcrden ihre Ausgaben optimieren und Minimales verlangen. Doch die Menschen besuchen Pr\u00e4senzkurse mit einem echten Lehrer nicht nur wegen des Wissens, sondern auch wegen des Vertrauens, dass sie es geschafft haben, wegen des Gef\u00fchls des Fortschritts und der Best\u00e4tigung durch einen Experten (Lehrer). Wenn die Studierenden keinen Fortschritt in ihrem Lernen sp\u00fcren, werden sie aufh\u00f6ren. Im Gro\u00dfen und Ganzen kann man die Kurse so gestalten, dass die Studierenden Fortschritte im Verst\u00e4ndnis von mehr und mehr bekannten Konstruktionen wahrnehmen. Zuerst lernen wir ausf\u00fchrlich die while-Schleife, dann die for-Schleife und dann die do-while-Schleife, und schon haben wir einen Kurs f\u00fcr zweitausend und eine Nacht, in dem zwei Monate lang nur Schleifen behandelt werden, und am Ende haben wir einen Studenten, der die Standardbibliothek aus dem Ged\u00e4chtnis niedergeschrieben hat. Doch um praktische Aufgaben zu l\u00f6sen, ben\u00f6tigt man nicht nur Wissen \u00fcber den Stoff, sondern auch Selbstst\u00e4ndigkeit in der Anwendung und in der Recherche neuer Informationen. Daher halte ich es f\u00fcr richtig, in Pr\u00e4senzkursen das Minimum zu lehren und die selbstst\u00e4ndige Erforschung von Nuancen und verwandten Themen zu f\u00f6rdern. In Bezug auf Schleifen betrachte ich das Minimum als die while-Konstruktion. Damit kann man das Prinzip verstehen. Mit dem Wissen um das Prinzip kann man auch for und do-while selbstst\u00e4ndig erlernen.<\/p>\n<p>Um schw\u00e4cheren Studierenden das Material verst\u00e4ndlich zu machen, reicht es nicht aus, die Syntax zu beschreiben. Man sollte mehr einfache, aber vielf\u00e4ltige Aufgaben geben und die Beispiele ausf\u00fchrlicher darstellen. Letztendlich wird die Geschwindigkeit des Lernens durch die F\u00e4higkeit des Studierenden, Ausdr\u00fccke zu transformieren und Muster zu erkennen, eingeschr\u00e4nkt. F\u00fcr cleverere Studierende werden die meisten Aufgaben langweilig sein. Wenn man mit ihnen arbeitet, muss man nicht darauf bestehen, 100 % der Aufgaben zu l\u00f6sen. Mein Material kann auf <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/AKryukov92\/programming-basics\">meinem GitHub-Account<\/a><\/noindex>eingesehen werden. Allerdings sieht das Repository mehr aus wie das Grimoire eines Dunkelmagiers \u2014 niemand versteht au\u00dfer mir, wo was ist, und wenn man die Kontrolle \u00fcber das Material verpasst, kann man verr\u00fcckt werden.<\/p>\n<h4>Die Methodik ist auf die Praxis ausgerichtet.<\/h4>\n<p>\nDie Theorie wird anhand der L\u00f6sung von Aufgaben erkl\u00e4rt. In den Grundlagenkursen zum Programmieren, wo Zweige und Schleifen behandelt werden, ist es einfach nicht m\u00f6glich, eine n\u00fctzliche Vorlesung zu einem einzigen Thema \u00fcber eine ganze Stunde zu halten. 15 bis 20 Minuten reichen aus, um das Konzept zu erkl\u00e4ren. Die gr\u00f6\u00dften Schwierigkeiten treten bei der Durchf\u00fchrung praktischer Aufgaben auf.<br \/>\nNeue Lehrkr\u00e4fte k\u00f6nnen Operatoren, Verzweigungen, Schleifen und Arrays in nur einer Vorlesung behandeln. Dabei stehen die Studierenden jedoch vor der Herausforderung, diese Informationen zu verarbeiten.<br \/>\nEs ist nicht nur wichtig, den Stoff zu vermitteln, sondern auch sicherzustellen, dass die Zuh\u00f6rer ihn verstanden haben.<\/p>\n<p>Der Lernfortschritt eines Themas zeigt sich darin, wie gut der Studierende selbstst\u00e4ndig arbeitet. <br \/>\nWenn es dem Studierenden gelingt, eine Aufgabe zum Thema ohne Hilfe des Lehrers zu l\u00f6sen, ist das Thema verstanden. Um eine Selbstkontrolle zu erm\u00f6glichen, wird f\u00fcr jede Aufgabe eine Tabelle mit Test-Szenarien bereitgestellt. Die Aufgaben haben eine klare Reihenfolge. Das \u00dcberspringen von Aufgaben wird nicht empfohlen. Ist die aktuelle Aufgabe zu schwierig, ist der n\u00e4chste Schritt sinnlos. Diese ist noch schwieriger. Damit der Studierende die aktuelle komplexe Aufgabe bew\u00e4ltigen kann, werden ihm anhand der ersten Aufgabe mehrere Techniken erkl\u00e4rt. Letztendlich dreht sich der gesamte Inhalt des Themas um Strategien zur \u00dcberwindung von Schwierigkeiten. Schleifen sind eher ein Nebeneffekt.<\/p>\n<p>Die erste Aufgabe ist immer ein Beispiel. Die zweite weicht nur geringf\u00fcgig ab und wird \"selbstst\u00e4ndig\" unmittelbar nach der ersten unter Anleitung des Lehrers durchgef\u00fchrt. Alle nachfolgenden Aufgaben zielen darauf ab, auf verschiedene Kleinigkeiten aufmerksam zu machen, die Missverst\u00e4ndnisse hervorrufen k\u00f6nnen.<\/p>\n<p>Die Erkl\u00e4rung des Beispiels besteht aus einem Dialog, in dem der Student Backpropagation und Kreuzvalidierung anfordern muss, um sicherzustellen, dass er den Stoff verinnerlicht hat.<\/p>\n<p>Ich werde banal sein und behaupten, dass das erste Beispiel zum Thema sehr wichtig ist. Wenn es Materialien f\u00fcr umfassende selbstst\u00e4ndige Arbeiten gibt, k\u00f6nnen Vers\u00e4umnisse beim ersten Beispiel nachgeholt werden. Wenn es au\u00dfer dem Beispiel nichts gibt, wird der Student das Thema wahrscheinlich nicht beherrschen.<\/p>\n<h4>While oder for?<\/h4>\n<p>\nEine der umstrittenen Fragen ist die Wahl der Schleife f\u00fcr das Beispiel: while oder for. Einmal hat mich ein Bekannter, ein praktikierender Entwickler ohne Lehrerfahrung, eine ganze Stunde davon \u00fcberzeugt, dass die for-Schleife die einfachste zu verstehen sei. Seine Argumente beschr\u00e4nkten sich darauf, dass \"alles klar und an seinem Platz\" sei. Doch die eigentliche Ursache der Schwierigkeiten f\u00fcr echte Anf\u00e4nger liegt in der Idee der Schleife selbst, nicht in ihrem Schreiben. Wenn jemand diese Idee nicht versteht, wird er Schwierigkeiten mit der Syntax haben. Sobald die Idee begriffen ist, verschwinden die Probleme mit der Code-Formatierung von selbst.<\/p>\n<p>In meinen Materialien folgt das Thema Schleifen dem Thema Verzweigungen. Die \u00e4u\u00dfere \u00c4hnlichkeit von if und while erlaubt eine direkte Analogie: \"Wenn die Bedingung im Kopf wahr ist, dann wird der Block ausgef\u00fchrt.\" Der Unterschied bei der Schleife besteht lediglich darin, dass der Block mehrfach ausgef\u00fchrt wird.<\/p>\n<p>Mein zweites Argument ist, dass while weniger Formatierung ben\u00f6tigt als for. Weniger Formatierung bedeutet weniger dumme Fehler durch vergessene Kommata und Klammern. Anf\u00e4nger haben oft noch nicht das Ma\u00df an Aufmerksamkeit und Sorgfalt entwickelt, um syntaktische Fehler automatisch zu vermeiden.<br \/>\nDas dritte Argument ist, dass in vielen guten B\u00fcchern while zuerst erkl\u00e4rt wird.<\/p>\n<p>Wenn es einem Studenten gelingt, Ausdr\u00fccke problemlos umzuformen, kann man nebenbei \u00fcber for sprechen. Der Student kann dann selbst w\u00e4hlen, was ihm besser gef\u00e4llt. Wenn die Umformungen jedoch Schwierigkeiten bereiten, ist es besser, die Aufmerksamkeit nicht zu zerstreuen. Lassen Sie den Studenten zun\u00e4chst alles mit while l\u00f6sen. Nachdem das Thema Schleifen beherrscht ist, k\u00f6nnen die L\u00f6sungen umgeschrieben werden, um das Umformen von while in for zu \u00fcben.<br \/>\nSchleifen mit einer Nachbedingung sind eine eher seltene Spezies. Darauf verwende ich gar keine Zeit. Wenn der Student die Konzepte zur Erkennung von Mustern und zur Umformung von Ausdr\u00fccken verstanden hat, wird er ohne meine Hilfe zurechtkommen.<\/p>\n<p>Bei der Demonstration des ersten Beispiels an leistungsstarken Studierenden weise ich darauf hin, dass es im ersten Beispiel wichtig ist, nicht nur die L\u00f6sung festzuhalten, sondern auch die gesamte Kette der Schritte, die zu dem Ergebnis f\u00fchren. Faule Studierende neigen dazu, das Schreiben zu ignorieren und sich nur den endg\u00fcltigen Algorithmus zu merken. Sie m\u00fcssen \u00fcberzeugt werden, dass einmal auch f\u00fcr sie eine komplexe Aufgabe anstehen k\u00f6nnte. Um diese zu l\u00f6sen, ist es notwendig, Schritt f\u00fcr Schritt vorzugehen, wie in diesem Beispiel. Deshalb ist es wichtig, alle Phasen festzuhalten. In den n\u00e4chsten Aufgaben kann dann nur die finale L\u00f6sung pr\u00e4sentiert werden.<\/p>\n<p>Die Hauptidee der Automatisierung besteht darin, dass wir dem Computer die Routinearbeit abgeben. Eine der grundlegendsten Methoden ist das Schreiben von Schleifen. Diese wird angewendet, wenn im Programm mehrere identische, sich wiederholende Aktionen hintereinander ausgef\u00fchrt werden.<\/p>\n<h4>Eindeutig ist besser als mehrdeutig<\/h4>\n<p>\nEs k\u00f6nnte eine gute Idee erscheinen, in der ersten Aufgabe zu Schleifen denselben Satz mehrfach auf dem Bildschirm auszugeben. Zum Beispiel:<\/p>\n<blockquote><p>Hurra, es funktioniert!<br \/>\nHurra, es funktioniert!<br \/>\nHurra, es funktioniert!<br \/>\nHurra, es funktioniert!<br \/>\nHurra, es funktioniert!<br \/>\nHurra, es funktioniert!<br \/>\nHurra, es funktioniert!<br \/>\nHurra, es funktioniert!\n<\/p><\/blockquote>\n<p>\nDiese Option ist problematisch, da der Wert des Z\u00e4hlers nicht angezeigt wird. Dies kann f\u00fcr Anf\u00e4nger eine Herausforderung darstellen, die nicht untersch\u00e4tzt werden sollte. Urspr\u00fcnglich war diese Aufgabe die erste, w\u00e4hrend die Aufgabe zum Ausgeben einer Reihe von Zahlen in aufsteigender Reihenfolge die zweite war. Hier mussten zus\u00e4tzliche Begriffe wie \"Schleife N Mal\" und \"Schleife von A bis B\" eingef\u00fchrt werden, die im Grunde dasselbe bedeuten. Um \u00fcberfl\u00fcssige Elemente zu vermeiden, beschloss ich, nur das Beispiel mit der Ausgabe einer Zahlreihe zu zeigen. Es gelingt nur wenigen ohne Vorbereitung, sich einen Z\u00e4hler vorzustellen und das Verhalten eines Programms im Kopf zu simulieren. Einige Studierende begegnen dem Konzept des \"mentalen Modellierens\" zum ersten Mal genau bei dem Thema Schleifen.<br \/>\nNach etwas \u00dcbung gebe ich die Aufgabe zur Wiederholung des gleichen Textes zur eigenst\u00e4ndigen Bearbeitung. Wenn man zun\u00e4chst einen sichtbaren Z\u00e4hler und dann einen unsichtbaren bereitstellt, treten bei den Studierenden weniger Probleme auf. Manchmal reicht der Hinweis \"Schreibe den Z\u00e4hler nicht auf den Bildschirm\" aus.<\/p>\n<h4>Wie wird das von anderen erkl\u00e4rt?<\/h4>\n<p>\nIn den meisten Online-Lernmaterialien wird die Syntax von Schleifen im Rahmen von \u00abVorlesungen\u00bb vermittelt. Zum Beispiel auf developer.mozilla.org (zum aktuellen Zeitpunkt) werden neben der while-Schleife auch mehrere andere Konstruktionen beschrieben. Dabei werden ausschlie\u00dflich die Konstruktionen in Form von Vorlagen presented. Die Ergebnisse ihrer Ausf\u00fchrung werden in Worten beschrieben, und Illustrationen fehlen. Meiner Meinung nach mindert diese Pr\u00e4sentationsweise den Nutzen solcher Materialien erheblich. Ein Sch\u00fcler kann den Code abschreiben und selbst ausf\u00fchren, aber ein Referenzbeispiel zum Vergleich ist immer noch notwendig. Wie soll man verstehen, ob das Beispiel richtig abgeschrieben wurde, wenn man kein Ergebnis hat, mit dem man vergleichen kann?<br \/>\nWenn nur die Vorlage ohne Beispiel gegeben wird, wird es f\u00fcr den Studenten noch schwieriger. Wie kann man sicher sein, dass die Codefragmente in der Vorlage richtig platziert sind? Man kann versuchen, irgendetwas zu schreiben <i>irgendwie<\/i>, und dann ausf\u00fchren. Aber wenn es kein Referenzbeispiel f\u00fcr den Vergleich des Ergebnisses gibt, wird auch die Ausf\u00fchrung nicht helfen.<\/p>\n<p>\u0412 \u043a\u0443\u0440\u0441\u0435 \u043f\u043e C++ \u043d\u0430 \u0438\u043d\u0442\u0443\u0438\u0442\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0446\u0438\u043a\u043b\u0430 \u0437\u0430\u043a\u043e\u043f\u0430\u043d \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043b\u0435\u043a\u0446\u0438\u0438 4 \u043f\u043e \u0442\u0435\u043c\u0435 \u00ab\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b\u00bb. \u041f\u0440\u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u0446\u0438\u043a\u043b\u043e\u0432 \u0434\u0435\u043b\u0430\u044e\u0442 \u043e\u0441\u043e\u0431\u044b\u0439 \u0443\u043f\u043e\u0440 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d \u00ab\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u00bb. \u0422\u0435\u0440\u043c\u0438\u043d \u043f\u043e\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0444\u0430\u043a\u0442\u043e\u0432 \u0432\u0440\u043e\u0434\u0435 \u00ab\u0441\u0438\u043c\u0432\u043e\u043b; \u044d\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u00bb, &quot;{} \u044d\u0442\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440&quot;, \u00ab\u0442\u0435\u043b\u043e \u0446\u0438\u043a\u043b\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c\u00bb. \u041c\u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u043a\u0430\u043a \u0431\u044b \u043f\u0440\u044f\u0447\u0435\u0442 \u0432\u0430\u0436\u043d\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438 \u0437\u0430 \u043e\u0434\u043d\u0438\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043c. \u0420\u0430\u0437\u0431\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u0442\u0435\u0440\u043c\u044b \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430, \u043d\u043e \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438. \u041d\u043e\u0432\u0438\u0447\u043a\u0438 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u0434\u043a\u043e \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0434\u043e\u0442\u043e\u0448\u043d\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u043a \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043c. \u0420\u0435\u0434\u043a\u0438\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u0440\u043c\u0438\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0443\u0437\u043d\u0430\u043b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043a\u0443\u0447\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u0440\u043e\u0434\u0435 \u00ab\u043d\u0430\u043f\u0438\u0441\u0430\u043b while(a&lt;7);{, \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u00bb.<br \/>\nMeiner Meinung nach ist es besser, zu Beginn die Syntax der Konstruktion sofort mit Klammern zu pr\u00e4sentieren. Die Variante ohne Klammern sollte nur erkl\u00e4rt werden, wenn der Sch\u00fcler eine konkrete Frage stellt: \u201eWarum funktioniert es hier ohne Klammern?\u201c<\/p>\n<p>In dem Buch von Okulov \u201eGrundlagen der Programmierung\u201c aus dem Jahr 2012 beginnt die Einf\u00fchrung in Schleifen mit der Vorlage for, dann folgen Empfehlungen zu seiner Nutzung, und anschlie\u00dfend kommt sofort der praktische Teil des Unterrichts. Ich verstehe, dass das Buch f\u00fcr das kleine, sehr talentierte Sch\u00fclerkorps geschrieben wurde, das selten zu meinem Unterricht kommt.<\/p>\n<p>In beliebten B\u00fcchern wird immer das Ergebnis von Codefragmenten angegeben. Zum Beispiel bei Schildt \u201eJava 8. Das umfassende Handbuch\u201c aus dem Jahr 2015. Zuerst wird die Vorlage vorgestellt, dann ein Programmbeispiel, und direkt danach das Ergebnis der Ausf\u00fchrung.<\/p>\n<blockquote><p>Als Beispiel betrachten wir eine while-Schleife, in der ein Countdown von 10 durchgef\u00fchrt wird und genau 10 Zeilen \u201eTakte\u201c ausgegeben werden:<br \/>\nNachdem diese Programme gestartet werden, gibt es zehn \u201eTakte\u201cfolgenderma\u00dfen aus: <\/p>\n<pre><code class=\"java\">\/\/\u041f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0446\u0438\u043a\u043b\u0430 while\nclass While {\n    public static void main(String args []) {\n        int n = 10;\n        while (n &gt; 0) {\n            System.out.println(&quot;\u0442\u0430\u043a\u0442 &quot; + n);\n            n--;\n        }\n    }\n}<\/code><\/pre>\n<p>\nNach dem Start gibt dieses Programm zehn \u201eTakte\u201c wie folgt aus:<br \/>\n<code>Takt 10<br \/>\nTakt 9<br \/>\nTakt 8<br \/>\nTakt 7<br \/>\nTakt 6<br \/>\nTakt 5<br \/>\nTakt 4<br \/>\nTakt 3<br \/>\nTakt 2<br \/>\nTakt 1<\/code><\/p><\/blockquote>\n<p>\nDer Ansatz mit der Beschreibung der Vorlage, dem Beispielprogramm und dem Ergebnis dieser Programmierung wird auch im Buch \u201eJavaScript f\u00fcr Kinder\u201c und im JS-Kurs auf w3schools.com verwendet. Das Format der Webseite erm\u00f6glicht es sogar, dieses Beispiel interaktiv zu gestalten.<\/p>\n<p>In dem Buch von Stroustrup \u201ePrinzipien und Praxis mit C++\u201c aus dem Jahr 2016 geht der Autor noch einen Schritt weiter. Zuerst wird erkl\u00e4rt, welches Ergebnis erzielt werden sollte, und erst danach wird der Programmtext pr\u00e4sentiert. Dabei wird nicht einfach irgendein zuf\u00e4lliges Programm gew\u00e4hlt, sondern es wird ein geschichtlicher \u00dcberblick gegeben. Das hilft, die Aufmerksamkeit darauf zu lenken: \u201eSieh mal, das ist kein nutzloser Text. Du siehst etwas Bedeutendes.\u201c<\/p>\n<blockquote><p>Als Beispiel f\u00fcr eine Iteration betrachten wir das erste Programm, das auf einer Maschine mit gespeichertem Programm (EDSAC) ausgef\u00fchrt wurde. Es wurde von David Wheeler in dem Computerlabor der Universit\u00e4t Cambridge (Cambridge University, England) am 6. Mai 1949 geschrieben. Dieses Programm berechnet und druckt eine einfache Liste von Quadraten aus.<br \/>\n<code>0 0<br \/>\n1 1<br \/>\n2 4<br \/>\n3 9<br \/>\n4 16<br \/>\n...<br \/>\n98 9604<br \/>\n99 9801<\/code><br \/>\n\u0417\u0434\u0435\u0441\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0437\u043d\u0430\u043a \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u0438 (&#8216;t&#8217;) \u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442 \u044d\u0442\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430. \u0412\u0435\u0440\u0441\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">\/\/\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0438 \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043e\u0432 \u0447\u0438\u0441\u0435\u043b 0-99\nint main()\n{\n    int i = 0; \/\/ \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441 \u043d\u0443\u043b\u044f\n    while(i &lt; 100){\n        cout &lt;&lt; i &lt;&lt; 't' &lt;&lt; square(i) &lt;&lt; 'n';\n        ++i;\n    }\n}<\/code><\/pre>\n<\/blockquote>\n<p>\nEs ist bemerkenswert, dass das Syntaxmuster in diesem Buch nicht beschrieben wird. Stroustrup betont in seinem Handbuch f\u00fcr Instruktoren (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/349342\/\">\u00dcbersetzung<\/a><\/noindex>) die Bedeutung des Respekts f\u00fcr die Intelligenz seiner Studenten. Die F\u00e4higkeit, ein Muster in mehreren Beispielen zu erkennen, wird m\u00f6glicherweise als Ausdruck dieser Intelligenz betrachtet.<\/p>\n<h4>Wie ich es selbst erkl\u00e4re<\/h4>\n<p>\nStroustrups Ansatz: Zuerst die Beschreibung des Ergebnisses, dann die L\u00f6sung des Problems und anschlie\u00dfend die eigenst\u00e4ndige Analyse durch den Studenten \u2014 scheint mir der durchdachteste zu sein. Daher habe ich beschlossen, genau diese Vorgehensweise zu w\u00e4hlen, aber sie an einem weniger historischen Beispiel zu erl\u00e4utern \u2014 einer Aufgabe zur Erstellung eines 'Inhaltsverzeichnisses'. Dieses Beispiel schafft einen wiedererkennbaren Anker, sodass ich sp\u00e4ter sagen kann: 'Erinnere dich an die Aufgabe zum Inhaltsverzeichnis', und die Studenten sich genau daran erinnern. In meinem Beispiel habe ich versucht, zwei der h\u00e4ufigsten Missverst\u00e4ndnisse vorwegzunehmen. Dar\u00fcber werde ich im Folgenden n\u00e4her berichten.<\/p>\n<blockquote><p>Bei dieser Aufgabe lernen wir Techniken zur L\u00f6sung komplexer Probleme kennen. Die anf\u00e4ngliche L\u00f6sung sollte einfach und primitiv sein. Danach kann man dar\u00fcber nachdenken, wie man diese L\u00f6sung verbessern kann.<br \/>\n<code>Einf\u00fchrung<br \/>\nKapitel 1<br \/>\nKapitel 2<br \/>\nKapitel 3<br \/>\nKapitel 4<br \/>\nKapitel 5<br \/>\nKapitel 6<br \/>\nKapitel 7<br \/>\nFazit<\/code><\/p><\/blockquote>\n<p>\n\u041f\u043e \u043c\u043e\u0438\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u043c, \u043f\u043e\u0434\u0445\u043e\u0434 \u00ab\u0448\u0430\u0431\u043b\u043e\u043d-\u043f\u0440\u0438\u043c\u0435\u0440-\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u00bb \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u0445 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u044b \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0446\u0438\u043a\u043b \u043a\u0430\u043a \u0438\u0435\u0440\u043e\u0433\u043b\u0438\u0444. \u042d\u0442\u043e \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u043b\u043e\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0438 \u0437\u0430\u0447\u0435\u043c \u0442\u0430\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u043a\u0430\u043a \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u0443 i++ \u0438 i&#8212; \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0432\u0435\u0449\u0438. \u0414\u043b\u044f \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0439, \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0443 \u043e \u0446\u0438\u043a\u043b\u0430\u0445 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u2014 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u0438\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0446\u0438\u043a\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u00ab\u0432 \u043b\u043e\u0431\u00bb. \u041f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u0440\u043e \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cs\">Console.WriteLine(&quot;\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 1&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 2&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 3&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 4&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 5&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 6&quot;);\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 7&quot;);\nConsole.WriteLine(&quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot;);\n<\/code><\/pre>\n<p>\nWie l\u00e4sst sich das verbessern?<br \/>\nErsetze die repetitiven Aktionen durch einen Zyklus.<br \/>\nWelche Aktionen werden hier nacheinander ohne \u00c4nderungen wiederholt?<br \/>\nIn diesem Ausschnitt gibt es solche nicht. Allerdings sind die Ausgabebefehle f\u00fcr das Wort \"Kapitel\" mit der Nummer einander sehr \u00e4hnlich.<br \/>\nDer n\u00e4chste Schritt besteht daher darin, den Unterschied zwischen den Fragmenten zu suchen. In dieser Aufgabe ist alles offensichtlich, sp\u00e4ter werden nicht einzelne Befehle wiederholt, sondern Codebl\u00f6cke von 5 Zeilen und mehr. Die Suche muss nicht nur in der Liste der Befehle erfolgen, sondern auch in Verzweigungs- oder Schleifenstrukturen.<br \/>\nIm Beispiel liegt der Unterschied zwischen den Befehlen in der Zahl nach dem Wort 'Kapitel'.<br \/>\nSobald der Unterschied gefunden ist, muss das Muster der Ver\u00e4nderung verstanden werden. Ist das unterschiedliche Fragment eine Zahl? Steigt oder f\u00e4llt es konstant? Wie ver\u00e4ndert sich der Wert der Zahl zwischen zwei benachbarten Befehlen?<br \/>\nIm Beispiel steigt die Zahl nach dem Wort 'Kapitel' in Schritten von 1. Der Unterschied ist gefunden, das Muster ist ermittelt. Jetzt kann das unterschiedliche Fragment durch eine Variable ersetzt werden.<br \/>\nEine solche Variable sollte vor dem ersten der sich wiederholenden Fragmente deklariert werden. Diese Variable wird normalerweise I oder j genannt, oder etwas ausf\u00fchrlicher. Ihr Anfangswert sollte gleich dem ersten auf dem Bildschirm ausgegebenen Wert sein. Im Beispiel ist der erste Wert 1. <br \/>\nWelchen Anfangswert sollte man f\u00fcr die Ausgabe der Reihe von Zahlen '100, 101, 102, 103, 104, 105' w\u00e4hlen?<br \/>\nIn dieser Reihe ist die erste Zahl 100.<br \/>\nNach jedem Ausgabe-Befehl muss der Wert dieser Variablen um 1 erh\u00f6ht werden. Diese Einheit ist der Schritt der Ver\u00e4nderung.<br \/>\nWelcher Schritt folgt in der Zahlenreihe \u201e100, 102, 104, 106\u201c?<br \/>\nIn dieser Reihe betr\u00e4gt der Schritt 2.<br \/>\nNach dem Ersetzen des variierenden Teils durch die Variable sieht der Code folgenderma\u00dfen aus:<\/p>\n<pre><code class=\"cs\">Console.WriteLine(&quot;\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435&quot;);\nint i;\ni = 0;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\ni = i + 1;\nConsole.WriteLine(&quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot;);\n<\/code><\/pre>\n<p>\nNach der Anwendung der Technik \u201eMuster durch eine Variable ausdr\u00fccken\u201c ergeben sich im Code mehrere Gruppen von identischen Aktionen, die nacheinander ablaufen. Wiederholende Aktionen k\u00f6nnen jetzt durch eine Schleife ersetzt werden.<\/p>\n<p>Die Schritte zur L\u00f6sung des Problems, bei dem Schleifen verwendet werden m\u00fcssen, bestehen aus den folgenden Phasen:<\/p>\n<ol>\n<li>\u201eStur\u201c mit vielen einzelnen Kommandos l\u00f6sen<\/li>\n<li>Ein Muster finden<\/li>\n<li>Das Muster durch eine Variable ausdr\u00fccken<\/li>\n<li>In Form einer Schleife gestalten<\/li>\n<\/ol>\n<p>Dann werden neue Begriffe eingef\u00fchrt, damit der Student nicht in der Situation ist \u201eIch verstehe alles, kann es aber nicht sagen\u201c:<br \/>\n \u2014 Z\u00e4hler \u2014 immer eine Variable, die zur Verfolgung der Anzahl der Schleifeniterationen ben\u00f6tigt wird. In der Regel eine Ganzzahl, die mit einer Grenze verglichen wird.<br \/>\n \u2014 Z\u00e4hler-Schritt \u2014 Beschreibung der Regelm\u00e4\u00dfigkeit, mit der der Z\u00e4hler sich \u00e4ndert.<br \/>\n \u2014 Grenze \u2014 eine Zahl oder Variable, mit der der Z\u00e4hler verglichen wird, damit der Algorithmus endlich ist. Der Wert des Z\u00e4hlers wird so ver\u00e4ndert, dass er sich der Grenze n\u00e4hert.<br \/>\n \u2014 Schleifen-K\u00f6rper \u2014 eine Menge von Anweisungen, die wiederholt werden. Wenn gesagt wird \u201eAnweisung ist im Schleifen-K\u00f6rper geschrieben\u201c, ist genau dieser K\u00f6rper gemeint.<br \/>\n \u2014 Schleifen-Iteration \u2014 die einmalige Ausf\u00fchrung des Schleifen-K\u00f6rpers.<br \/>\n \u2014 Schleifen-Bedingung \u2014 ein logischer Ausdruck, von dem abh\u00e4ngt, ob eine weitere Iteration ausgef\u00fchrt wird. (Hier kann Verwirrung mit Verzweigungs-Konstruktionen auftreten)<br \/>\nMan muss darauf vorbereitet sein, dass die Studierenden anfangs die Begriffe nicht korrekt anwenden. Dies gilt sowohl f\u00fcr starke als auch f\u00fcr schwache. Einen gemeinsamen Wortschatz zu etablieren, ist eine Kunst f\u00fcr sich. Kurz gesagt, es ist wichtig, die Aufgabe \u201ehebe den Code-Fragment mit &lt;Termin&gt; hervor\u201c zu stellen und selbst diese Begriffe im Gespr\u00e4ch korrekt zu verwenden.<br \/>\nNach der Transformation mit der Schleife ergibt sich folgendes Fragment:<\/p>\n<pre><code class=\"cs\">Console.WriteLine(&quot;\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435&quot;);\nint i = 0;\nwhile (i &lt; 7) {\n    Console.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\n    i = i + 1;\n}\nConsole.WriteLine(&quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot;);<\/code><\/pre>\n<h4>Das Hauptmissverst\u00e4ndnis<\/h4>\n<p>\nEine verbreitete Fehlvorstellung von Studenten besteht darin, dass sie innerhalb der Schleifenstruktur Aktionen einf\u00fcgen, die nur einmal ausgef\u00fchrt werden m\u00fcssen. Zum Beispiel so:<\/p>\n<pre><code class=\"cs\">;\nint i = 0;\nwhile (i &lt; 7) {\n    Console.WriteLine(&quot;\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435&quot;)\n    Console.WriteLine(&quot;\u0413\u043b\u0430\u0432\u0430 &quot; + i);\n    i = i + 1;\n    Console.WriteLine(&quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot;);\n}\n<\/code><\/pre>\n<p>\nSch\u00fcler sto\u00dfen immer wieder auf dieses Problem, sowohl zu Beginn als auch bei komplizierteren Aufgaben.<br \/>\nDer entscheidende Hinweis in diesem Fall:<\/p>\n<blockquote><p>Wie oft muss der Befehl geschrieben werden: einmal oder mehrfach?\n<\/p><\/blockquote>\n<p>\nDie Ausgaben der Worte \u201eEinf\u00fchrung\u201c und \u201eFazit\u201c sowie die Deklaration und Initialisierung der Variablen i sind nicht mit anderen sich wiederholenden Aktionen vergleichbar. Sie werden nur einmal ausgef\u00fchrt, daher sollten sie au\u00dferhalb des Schleifen K\u00f6rpers geschrieben werden.<\/p>\n<p>Im Code sollten alle drei Phasen der L\u00f6sung erhalten bleiben, um sp\u00e4ter darauf verweisen zu k\u00f6nnen, falls Schwierigkeiten auftreten. Die ersten beiden Varianten k\u00f6nnen einfach auskommentiert werden, damit sie nicht st\u00f6ren.<br \/>\nDie Aufmerksamkeit des Sch\u00fclers sollte auf folgende Fakten gelenkt werden:<br \/>\n \u2014 In einer Schleifenbedingung wird normalerweise der Z\u00e4hler mit der Grenze verglichen. Der Z\u00e4hler kann sich im Schleifenbody \u00e4ndern, die Grenze jedoch nicht. Um diese Regel zu brechen, muss man triftige Gr\u00fcnde formulieren.<br \/>\n \u2014 Die Befehle zum Ausgeben der W\u00f6rter \u201eEinf\u00fchrung\u201c und \u201eSchlussfolgerung\u201c befinden sich au\u00dferhalb des Schleifenbodys. Wir m\u00fcssen sie einmal ausf\u00fchren. \u201eEinf\u00fchrung\u201c vor der Wiederholung der Aktionen, \u201eSchlussfolgerung\u201c danach.<br \/>\nIm Prozess der Vertiefung dieses Themas, dem Erlernen der n\u00e4chsten sowie der Kl\u00e4rung von Schwierigkeiten, ist es selbst f\u00fcr starke Studierende hilfreich, die Frage zu stellen: \u201eUnd wie oft muss diese Handlung durchgef\u00fchrt werden? Einmal oder oft?\u201c.<\/p>\n<h4>Entwicklung zus\u00e4tzlicher F\u00e4higkeiten<\/h4>\n<p>\nBeim Studium der Schleifen trainieren die Studierenden zudem ihre F\u00e4higkeiten zur Diagnose und Probleml\u00f6sung. Um eine Diagnose durchzuf\u00fchren, muss der Studierende das gew\u00fcnschte Ergebnis vorstellen und es mit dem tats\u00e4chlichen Ergebnis vergleichen. Die Ma\u00dfnahmen zur Behebung h\u00e4ngen von der Differenz zwischen beiden ab.<br \/>\nDa die Studierenden in dieser Phase noch kein klares Bild vom \"gew\u00fcnschten\" Ergebnis haben, k\u00f6nnen sie sich an den Testdaten orientieren. In der Regel versteht in dieser Phase niemand, was schiefgehen k\u00f6nnte und wie man damit umgeht. Deshalb gebe ich zur Aufzeichnung in einem Notizbuch eine Beschreibung typischer Probleme und einige L\u00f6sungen. Die Auswahl der am besten geeigneten L\u00f6sung ist die Aufgabe des Studierenden.<br \/>\nDie Aufzeichnung ist notwendig, um zu fragen: \"Hat es das erwartet Ergebnis erzielt?\", \"Welche dieser Situationen ist jetzt eingetreten?\", \"Hat die angewandte L\u00f6sung geholfen?\".<\/p>\n<ol>\n<li>Die Anzahl der Aktionen ist um 1 niedriger oder h\u00f6her als erwartet. L\u00f6sungen:<br \/>\n \u2014 Erh\u00f6he den Anfangswert des Z\u00e4hlers um 1.<br \/>\n \u2014 Ersetze den strikten Vergleichsoperator (&lt; oder &gt;) durch einen nicht strikten (&lt;= oder &gt;=).<br \/>\n \u2014 \u00c4ndere den Grenzwert um 1.<\/li>\n<li>Aktionen werden in einer Schleife ohne Unterbrechung, unendlich ausgef\u00fchrt. L\u00f6sungen:<br \/>\n \u2014 F\u00fcge einen Befehl zum \u00c4ndern des Z\u00e4hlers hinzu, falls er fehlt.<br \/>\n \u2014 Korrigiere den Befehl zum \u00c4ndern des Z\u00e4hlers, sodass sein Wert n\u00e4her an die Grenze r\u00fcckt.<br \/>\n \u2014 Entferne den Befehl zur \u00c4nderung der Grenze, falls er im Schleifenk\u00f6rper enthalten ist.<\/li>\n<li>Die Anzahl der Iterationen im Zyklus ist deutlich h\u00f6her oder niedriger als erwartet. Die Aktion im Zyklus wurde nicht ausgef\u00fchrt. Zuerst m\u00fcssen die tats\u00e4chlichen Werte der Variablen unmittelbar vor Beginn des Zyklus ermittelt werden. L\u00f6sungsm\u00f6glichkeiten:<br \/>\n \u2014 den Startwert der Grenze \u00e4ndern<br \/>\n \u2014 den Startwert des Z\u00e4hlers \u00e4ndern<\/li>\n<\/ol>\n<p>\nIn der Regel ist Problem 3 mit der Verwendung der falschen Variable oder dem Nicht-Nullsetzen des Z\u00e4hlers verbunden.<\/p>\n<p>Nach dieser Erkl\u00e4rung k\u00f6nnen beim Sch\u00fcler weiterhin verschiedene Missverst\u00e4ndnisse \u00fcber die Funktionsweise von Schleifen auftreten.<br \/>\nUm die h\u00e4ufigsten Missverst\u00e4ndnisse auszur\u00e4umen, gebe ich folgende Aufgaben:<\/p>\n<ol>\n<li>Bei der der Benutzer das Limit, den Startwert des Z\u00e4hlers oder den Schritt des Z\u00e4hlers eingibt.<\/li>\n<li>Bei der der Z\u00e4hler in einem arithmetischen Ausdruck verwendet werden muss. Idealerweise mit dem Z\u00e4hler im Wurzelausdruck oder im Nenner, damit die Differenz nicht linear ist.<\/li>\n<li>Bei der der Z\u00e4hler w\u00e4hrend der Ausf\u00fchrung des Zyklus nicht auf dem Bildschirm angezeigt wird. Zum Beispiel das ben\u00f6tigte Anzahl identischer Texteinheiten oder das Zeichnen einer Figur mit Schildkr\u00f6tengrafik.<\/li>\n<li>Zuerst m\u00fcssen einige sich wiederholende Aufgaben erledigt werden, gefolgt von anderen.<\/li>\n<li>In der Reihenfolge m\u00fcssen andere Aufgaben vor und nach den sich wiederholenden Aufgaben erledigt werden.<\/li>\n<\/ol>\n<p>\nF\u00fcr jede Aufgabe sind Testdaten und das erwartete Ergebnis anzugeben.<\/p>\n<p>Um zu verstehen, wie schnell man vorankommen kann, sollte man den Bedingungen dieser Aufgaben aufmerksam folgen und fragen: \u201eWie unterscheiden sie sich vom Beispiel?\u201c, \u201eWas muss im Beispiel ge\u00e4ndert werden, um sie zu l\u00f6sen?\u201c. Wenn der Sch\u00fcler sinnvoll antwortet, kann er mindestens eine w\u00e4hrend des Unterrichts l\u00f6sen, w\u00e4hrend die \u00fcbrigen zu Hause selbstst\u00e4ndig bearbeitet werden. Wenn die L\u00f6sung erfolgreich ist, kann die Erkl\u00e4rung zu den Bedingungen innerhalb von Schleifen beginnen.<br \/>\nWenn es Schwierigkeiten mit der eigenst\u00e4ndigen L\u00f6sung gibt, sollten alle Aufgaben im Unterricht behandelt werden. Damit das L\u00f6sen der Aufgabe nicht wie das Zeichnen einer Eule wirkt, empfehle ich, die Aufgabe zun\u00e4chst nicht universell zu l\u00f6sen. Das hei\u00dft, so, dass die L\u00f6sung den ersten Test besteht und keine Schleifenstruktur verwendet. Erst danach k\u00f6nnen Transformationen angewandt werden, um Universalisierung der L\u00f6sung zu erreichen.<\/p>\n<h4>Schleifen und Verzweigungen<\/h4>\n<p>\nMeiner Meinung nach ist es sinnvoll, das Thema \u201eSchleifen innerhalb von Verzweigungen\u201c separat zu behandeln. So wird sp\u00e4ter der Unterschied zwischen mehrfacher und einmaliger Bedingungspr\u00fcfung deutlich.<br \/>\nDie \u00dcbungsaufgaben beziehen sich auf die Ausgabe von Zahlen von A bis B, die vom Benutzer eingegeben werden:<br \/>\n \u2014 immer in aufsteigender Reihenfolge.<br \/>\n \u2014 je nach den Werten von A und B in aufsteigender oder absteigender Reihenfolge.<\/p>\n<p>\u041a \u0442\u0435\u043c\u0435 \u00ab\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0446\u0438\u043a\u043b\u043e\u0432\u00bb \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u0442\u0443\u0434\u0435\u043d\u0442 \u043e\u0441\u0432\u043e\u0438\u043b \u043f\u0440\u0438\u0435\u043c\u044b: \u00ab\u0437\u0430\u043c\u0435\u043d\u0430 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e\u00bb \u0438 &quot; \u0437\u0430\u043c\u0435\u043d\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043d\u0430 \u0446\u0438\u043a\u043b&quot;.<br \/>\nDer Hauptgrund f\u00fcr den Einsatz von Verzweigungen innerhalb von Schleifen sind Anomalien im Muster. In der Mitte wird es je nach Eingabedaten unterbrochen.<br \/>\nWenn die Studenten in der Lage sind, L\u00f6sungen durch Kombination einfacher Techniken zu finden, reicht es, zu sagen, dass \u201eVerzweigungen innerhalb von Schleifen geschrieben werden k\u00f6nnen\u201c und eine Aufgabe \u201ezum Beispiel\u201c vollst\u00e4ndig zur selbstst\u00e4ndigen L\u00f6sung zu geben.<br \/>\nBeispielaufgabe:<\/p>\n<blockquote><p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0447\u0438\u0441\u043b\u043e \u0425. \u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0432 \u0441\u0442\u043e\u043b\u0431\u0438\u043a \u0447\u0438\u0441\u043b\u0430 \u043e\u0442 0 \u0434\u043e 9 \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u043a &#8216;+&#8217; \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0440\u0430\u0432\u043d\u043e \u0425.<\/p><\/blockquote>\n<p>\n<b class=\"spoiler_title\">Wenn 0 eingegeben wurde<\/b>0+<br \/>\n1<br \/>\n2<br \/>\n3<br \/>\n4<br \/>\n5<br \/>\n6<br \/>\n7<br \/>\n8<br \/>\n9<\/p>\n<p><b class=\"spoiler_title\">Wenn 6 eingegeben wurde<\/b>0<br \/>\n1<br \/>\n2<br \/>\n3<br \/>\n4<br \/>\n5<br \/>\n6+<br \/>\n7<br \/>\n8<br \/>\n9<\/p>\n<p><b class=\"spoiler_title\">Wenn 9 eingegeben wurde<\/b>0<br \/>\n1<br \/>\n2<br \/>\n3<br \/>\n4<br \/>\n5<br \/>\n6<br \/>\n7<br \/>\n8<br \/>\n9+<\/p>\n<p><b class=\"spoiler_title\">Wenn 777 eingegeben wurde<\/b>0<br \/>\n1<br \/>\n2<br \/>\n3<br \/>\n4<br \/>\n5<br \/>\n6<br \/>\n7<br \/>\n8<br \/>\n9<\/p>\n<p>Wenn eine kurze Erkl\u00e4rung nicht ausreicht, um mit einer Schleife zu arbeiten, sollte das Ziel sein, eine universelle L\u00f6sung f\u00fcr dasselbe Problem ohne Schleife zu finden.<br \/>\nEs gibt zwei m\u00f6gliche Varianten:<br \/>\n<b class=\"spoiler_title\">Gew\u00fcnscht<\/b><\/p>\n<pre><code class=\"cs\">string temp;\ntemp = Console.ReadLine();\nint x;\nx = int.Parse(temp);\nif (x==0) {\n    Console.WriteLine(0 + &quot;+&quot;);\n} else {\n    Console.WriteLine(0);\n}\nif (x==1) {\n    Console.WriteLine(1 + &quot;+&quot;);\n} else {\n    Console.WriteLine(1);\n}\nif (x==2) {\n    Console.WriteLine(2 + &quot;+&quot;);\n} else {\n    Console.WriteLine(2);\n}\nif (x==3) {\n    Console.WriteLine(3 + &quot;+&quot;);\n} else {\n    Console.WriteLine(3);\n}\nif (x==4) {\n    Console.WriteLine(4 + &quot;+&quot;);\n} else {\n    Console.WriteLine(4);\n}\nif (x==5) {\n    Console.WriteLine(5 + &quot;+&quot;);\n} else {\n    Console.WriteLine(5);\n}\nif (x==6) {\n    Console.WriteLine(6 + &quot;+&quot;);\n} else {\n    Console.WriteLine(6);\n}\nif (x==7) {\n    Console.WriteLine(7 + &quot;+&quot;);\n} else {\n    Console.WriteLine(7);\n}\nif (x==8) {\n    Console.WriteLine(8 + &quot;+&quot;);\n} else {\n    Console.WriteLine(8);\n}\nif (x==9) {\n    Console.WriteLine(9 + &quot;+&quot;);\n} else {\n    Console.WriteLine(9);\n}\n<\/code><\/pre>\n<p><b class=\"spoiler_title\">M\u00f6glich<\/b><\/p>\n<pre><code class=\"cs\">string temp;\ntemp = Console.ReadLine();\nint x;\nx = int.Parse(temp);\nif (x==0) {\n    Console.WriteLine(&quot;0+n1n2n3n4n5n6n7n8n9&quot;);\n}\nif (x==1) {\n    Console.WriteLine(&quot;0n1+n2n3n4n5n6n7n8n9&quot;);\n}\nif (x==2) {\n    Console.WriteLine(&quot;0n1n2+n3n4n5n6n7n8n9&quot;);\n}\nif (x==3) {\n    Console.WriteLine(&quot;0n1n2n3+n4n5n6n7n8n9&quot;);\n}\nif (x==4) {\n    Console.WriteLine(&quot;0n1n2n3n4+n5n6n7n8n9&quot;);\n}\nif (x==5) {\n    Console.WriteLine(&quot;0n1n2n3n4n5+n6n7n8n9&quot;);\n}\nif (x==6) {\n    Console.WriteLine(&quot;0n1n2n3n4n5n6+n7n8n9&quot;);\n}\nif (x==7) {\n    Console.WriteLine(&quot;0n1n2n3n4n5n6n7+n8n9&quot;);\n}\nif (x==8) {\n    Console.WriteLine(&quot;0n1n2n3n4n5n6n7n8+n9&quot;);\n}\nif (x==9) {\n    Console.WriteLine(&quot;0n1n2n3n4n5n6n7n8n9+&quot;);\n}\n<\/code><\/pre>\n<p>Eine \u00e4hnliche Aufgabe gebe ich im Voraus w\u00e4hrend des Themas \u00fcber Verzweigungen.<br \/>\nWenn der Student eine \u201em\u00f6gliche\u201c L\u00f6sung gefunden hat, sollte erkl\u00e4rt werden, dass es f\u00fcr dasselbe Problem viele L\u00f6sungen geben kann. Diese unterscheiden sich jedoch in ihrer Stabilit\u00e4t gegen\u00fcber \u00c4nderungen der Anforderungen. Stellen Sie die Frage: \u201eWie viele Stellen im Code m\u00fcssen ge\u00e4ndert werden, wenn eine weitere Zahl hinzugef\u00fcgt werden muss?\u201c In der \u201em\u00f6glichen\u201c Variante m\u00fcsste ein weiteres Verzweigung hinzugef\u00fcgt und an 10 anderen Stellen die neue Zahl geschrieben werden. In der \u201egew\u00fcnschten\u201c Variante reicht es aus, nur eine Verzweigung hinzuzuf\u00fcgen.<br \/>\nFormulieren Sie die Aufgabe, die \u201egew\u00fcnschte\u201c Variante zu reproduzieren, dann das Muster im Code zu finden, die Variable zu ersetzen und eine Schleife zu schreiben.<br \/>\nWenn Sie eine Idee haben, wie man diese Aufgabe ohne Schleife auf andere Weise l\u00f6sen kann, schreiben Sie bitte in die Kommentare.<\/p>\n<h4>Schleifen innerhalb von Schleifen<\/h4>\n<p>\nIn diesem Thema sollte man auf Folgendes achten:<br \/>\n \u2014 die Z\u00e4hler f\u00fcr die innere und \u00e4u\u00dfere Schleife sollten unterschiedliche Variablen sein.<br \/>\n \u2014 der Z\u00e4hler f\u00fcr die innere Schleife muss mehrfach zur\u00fcckgesetzt werden (d.h. im K\u00f6rper der \u00e4u\u00dferen Schleife).<br \/>\n In den Aufgaben zur Textausgabe d\u00fcrfen die Buchstaben nicht zuerst in mehreren Zeilen, dann die Buchstaben der n\u00e4chsten Zeile geschrieben werden. Zuerst m\u00fcssen alle Buchstaben der ersten Zeile ausgegeben werden, dann alle Buchstaben der zweiten Zeile und so weiter.<\/p>\n<p>Am besten beginnt man die Erkl\u00e4rung des Themas zu Schleifen in Schleifen mit der Wichtigkeit der R\u00fccksetzung des Z\u00e4hlers.<br \/>\nBeispielaufgabe:<\/p>\n<blockquote><p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430: R \u0438 T. \u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 &quot;#&quot;. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c R \u0448\u0442\u0443\u043a \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 T \u0448\u0442\u0443\u043a. \u0415\u0441\u043b\u0438 \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e \u0447\u0438\u0441\u043b\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435.<\/p><\/blockquote>\n<p>\n<b class=\"spoiler_title\">R=5, T=11<\/b>#####<br \/>\n###########<\/p>\n<p><b class=\"spoiler_title\">R=20, T=3<\/b>####################<br \/>\n###<\/p>\n<p><b class=\"spoiler_title\">R=-1, T=6<\/b>Der Wert von R muss nicht negativ sein.<\/p>\n<p><b class=\"spoiler_title\">R=6, T=-2<\/b>Der Wert von T muss nicht negativ sein.<\/p>\n<p>Offensichtlich gibt es mindestens zwei L\u00f6sungsm\u00f6glichkeiten f\u00fcr diese Aufgabe.<br \/>\n<b class=\"spoiler_title\">Gew\u00fcnscht<\/b><\/p>\n<pre><code class=\"cs\">string temp;\nint R;\nint T;\ntemp = Console.ReadLine();\nR = int.Parse(temp);\ntemp = Console.ReadLine();\nT = int.Parse(temp);\nint i = 0;\nwhile (i &lt; R)\n{\n    Console.Write(&quot;#&quot;);\n    i = i + 1;\n}\nConsole.WriteLine();\ni = 0;\nwhile (i &lt; T)\n{\n    Console.Write(&quot;#&quot;);\n    i = i + 1;\n}\n<\/code><\/pre>\n<p><b class=\"spoiler_title\">M\u00f6glichkeit Nr. 1<\/b><\/p>\n<pre><code class=\"cs\">string temp;\nint R;\nint T;\ntemp = Console.ReadLine();\nR = int.Parse(temp);\ntemp = Console.ReadLine();\nT = int.Parse(temp);\nint i = 0;\nwhile (i &lt; R)\n{\n    Console.Write(&quot;#&quot;);\n    i = i + 1;\n}\nConsole.WriteLine();\nint j = 0;\nj = 0;\nwhile (j &lt; T)\n{\n    Console.Write(&quot;#&quot;);\n    j = j + 1;\n}\n<\/code><\/pre>\n<p>Der Unterschied liegt darin, dass im \"m\u00f6glichen\" L\u00f6sungsansatz zur Ausgabe der zweiten Zeile die zweite Variable verwendet wurde. Es sollte darauf bestanden werden, dass f\u00fcr beide Schleifen dieselbe Variable verwendet wird. Dieses Beschr\u00e4nkung kann damit begr\u00fcndet werden, dass eine L\u00f6sung mit einem Z\u00e4hler f\u00fcr zwei Schleifen eine Illustration des Begriffs \"Z\u00e4hler-Reset\" ist. Dieses Verst\u00e4ndnis ist notwendig f\u00fcr die L\u00f6sung der n\u00e4chsten Aufgaben. Als Kompromiss k\u00f6nnen beide L\u00f6sungen der Aufgabe beibehalten werden.<\/p>\n<p>Ein typisches Problem bei der Verwendung einer Z\u00e4hler-Variable f\u00fcr zwei Schleifen zeigt sich so:<br \/>\n<b class=\"spoiler_title\">R=5, T=11<\/b>#####<br \/>\n######<\/p>\n<p>Die Anzahl der Zeichen in der zweiten Zeile stimmt nicht mit dem Wert T \u00fcberein. Wenn bei diesem Problem Hilfe ben\u00f6tigt wird, sollte man auf das Protokoll \u00fcber typische Schleifenprobleme hinweisen. Das ist Symptom Nr. 3. Es wird diagnostiziert, wenn man den Wert des Z\u00e4hlers direkt vor der zweiten Schleife ausgibt. Es wird behoben, indem der Z\u00e4hler zur\u00fcckgesetzt wird. Aber das sollte man besser nicht sofort erw\u00e4hnen. Der Student sollte versuchen, zumindest eine Hypothese zu formulieren.<\/p>\n<p>Es gibt nat\u00fcrlich auch diese L\u00f6sungsm\u00f6glichkeit. Aber ich habe sie bei den Studenten noch nie gesehen. In der Phase des Lernens von Schleifen w\u00fcrde der Hinweis darauf ablenken. Man kann sp\u00e4ter darauf zur\u00fcckkommen, wenn es um die Funktionen zur Arbeit mit Zeichenfolgen geht.<br \/>\n<b class=\"spoiler_title\">M\u00f6glichkeit Nr. 2<\/b><\/p>\n<pre><code class=\"cs\">string temp;\nint R;\nint T;\ntemp = Console.ReadLine();\nR = int.Parse(temp);\ntemp = Console.ReadLine();\nT = int.Parse(temp);\nConsole.WriteLine(new String('#', R));\nConsole.WriteLine(new String('#', T));\n<\/code><\/pre>\n<p>\nDie n\u00e4chste Pflichtaufgabe:<\/p>\n<blockquote><p>Geben Sie die Ziffern von 0 bis 9 aus. Jede Ziffer sollte in einer eigenen Zeile stehen. Die Anzahl der Ziffern in der Zeile (W) wird von der Tastatur eingegeben.<\/p><\/blockquote>\n<p>\n<b class=\"spoiler_title\">W=1<\/b>0<br \/>\n1<br \/>\n2<br \/>\n3<br \/>\n4<br \/>\n5<br \/>\n6<br \/>\n7<br \/>\n8<br \/>\n9<\/p>\n<p><b class=\"spoiler_title\">W=10<\/b><code>0000000000<br \/>\n1111111111<br \/>\n2222222222<br \/>\n3333333333<br \/>\n4444444444<br \/>\n5555555555<br \/>\n6666666666<br \/>\n7777777777<br \/>\n8888888888<br \/>\n9999999999<\/code><\/p>\n<p>Wenn der Student die Technik mit der Variablenersetzung beherrscht, wird er ziemlich schnell vorankommen. Ein m\u00f6gliches Problem k\u00f6nnte wieder im Zur\u00fccksetzen der Variablen liegen. Wenn er mit der Umwandlung nicht zurechtkommt, haben Sie sich geirrt und sollten einfachere Aufgaben l\u00f6sen.<\/p>\n<p>Vielen Dank f\u00fcr Ihre Aufmerksamkeit. Hinterlassen Sie ein Gef\u00e4llt mir, abonnieren Sie den Kanal.<\/p>\n<p>P.S. Wenn Sie Tippfehler oder Fehler im Text gefunden haben, lassen Sie es mich bitte wissen. Sie k\u00f6nnen dies tun, indem Sie einen Teil des Textes markieren und auf Mac \u201e\u2318 + Enter\u201c oder auf klassischen Tastaturen \u201eCtrl \/ Enter\u201c dr\u00fccken, oder \u00fcber pers\u00f6nliche Nachrichten. Wenn diese Optionen nicht verf\u00fcgbar sind, schreiben Sie die Fehler bitte in die Kommentare. Vielen Dank!<\/p>\n<p class=\"for_users_only_msg\">Nur registrierte Benutzer k\u00f6nnen an der Umfrage teilnehmen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Bitte melden Sie sich an.<\/a><\/noindex>Sind Sie an Contour interessiert?<\/p>\n<h2 class=\"default-block__polling-title\">Umfrage f\u00fcr Leser ohne Karma<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">20,0%<\/strong>Ich unterrichte professionell, +12<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">10,0%<\/strong>Ich unterrichte professionell, -11<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">70,0%<\/strong>Ich unterrichte nicht, +17<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>Ich unterrichte nicht, -10<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>Andere0<\/p>\n<\/li>\n<\/ul>\n<p>    10 Nutzer haben abgestimmt. 5 Nutzer haben sich enthalten.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/456500\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u0435\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432. \u0426\u0435\u043b\u044c \u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0431\u044b\u0432\u0430\u044e\u0442 \u0443 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044d\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u044b, \u043f\u043e\u0437\u0430\u0431\u044b\u0442\u044b \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u044b. \u0421\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u043e\u0439 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-40208","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u0435\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432. \u0426\u0435\u043b\u044c \u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0431\u044b\u0432\u0430\u044e\u0442 \u0443 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044d\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u044b, \u043f\u043e\u0437\u0430\u0431\u044b\u0442\u044b \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u044b. \u0421\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u043e\u0439 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0432\u0430\u0442\u044c \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438, \u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u0446\u0438\u043a\u043b\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u0435\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432. \u0426\u0435\u043b\u044c \u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0431\u044b\u0432\u0430\u044e\u0442 \u0443 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044d\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u044b, \u043f\u043e\u0437\u0430\u0431\u044b\u0442\u044b \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u044b. \u0421\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u043e\u0439 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-01T03:04:35+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-01T03:04:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wie man Schwierigkeiten \u00fcberwindet und gleichzeitig Schleifen schreibt | ProHoster","description":"Obwohl es sich um eines der Grundthemen handelt, ist dieser Artikel f\u00fcr erfahrene Fachleute geschrieben. Ziel ist es, typische Missverst\u00e4ndnisse bei Programmieranf\u00e4ngern aufzuzeigen. F\u00fcr praktikierende Entwickler sind diese Probleme l\u00e4ngst gel\u00f6st, vergessen oder \u00fcberhaupt nicht bemerkt. Der Artikel kann n\u00fctzlich sein, falls Sie jemandem zu diesem Thema helfen m\u00fcssen. Der Artikel behandelt","canonical_url":"https:\/\/prohoster.info\/de\/blog\/kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0432\u0430\u0442\u044c \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438, \u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u0446\u0438\u043a\u043b\u044b | ProHoster","og:description":"\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u0435\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432. \u0426\u0435\u043b\u044c \u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0431\u044b\u0432\u0430\u044e\u0442 \u0443 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044d\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u044b, \u043f\u043e\u0437\u0430\u0431\u044b\u0442\u044b \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u044b. \u0421\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u043e\u0439 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f","og:url":"https:\/\/prohoster.info\/de\/blog\/kak-nauchit-preodolevat-trudnosti-a-zaodno-i-pisat-czikly","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-01T03:04:35+00:00","article:modified_time":"2020-02-01T03:04:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"40208","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:43:24","updated":"2022-09-29 01:18:32"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/40208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=40208"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/40208\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=40208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=40208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=40208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}