[Playlisten] [Impressum und Datenschutzerklärung]

03B.1 Funktionen in C, Deklaration, Definition; while, do, for


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

damitich mich mal vergewissern kann ob das mit Funktion so halbwegs klappt schreiben Sie mal so eine Funktionam Rechner oder auf Papierähmeine Funktion die als Eingabezwei ganze Zahlen erwartetPunktzweiganzeZahlenundals Ausgabeliefertfolgendeseine ganze Zahl nämlich die Summe davon ziemlich dumm aber das ich gerade mal gucken kann ob sie dieSyntax verstanden habenwie sie das in C aus so eine FunktioninC ist das etwas aufwendigerals das jetzt eine gerade versucht haben sie können nicht sofort sagen was die Funktion machen soll Punkt das ist geboren drumherumandas indirekt schon hieran der Mailfunktiondie Hauptfunktiondass es die Funktion die nach als erste aufgerufen wird das Programm Startemenge?? unabhängig innerlich meinBestes eingebaut in die ProgrammierspracheC es gibt eine Funktion mailenoder hat eine Konsument zu gebenund das ist die die zu Beginn aufgerufen wird oder gesichert schmecken was sie erwartetam ??so wie sie geschrieben ist nimmt die Mailfunktionnicht entgegen keine Eingabe freut leerund liefert eine ganze Zeit zurückdann steht in Schweifklammerwas denn die Funktion machtes ist lustigerweiserein äußerlich wieder sowas wie das beim Eve und beimweil gesehen haben ?? verhindern ??runde Klammer aufmit der Bedingungschweift Klammernmit dem was passieren soll wenn das ist erfülltesmit dem freuerunde Klammer zumit der Bedingungschweift Klammernsage ich was den in der Schleife passieren sollhierrein äußerlich vorgemerkt rein äußerlich das genauso aus bei der Funktionmit runden Klammern jetzt aber keine Bedingung zu den runden Klammern steht was ich übergebeund den in Schweifklammer entstehtwas die Funktion tut und es gibt etwas mehr was es woanders ist dich Hermes kommt hier noch wasdavorwelcher Typ zurückkommtjetztmöchte ich eine Funktion die zwei Zahlen nimmtund eine Zahl zurückgibt es ja auch schon wieder so ungefähr seinansich angucken was sie alles brauchenbrauchen es nur einen Namen dafürschon?? schöne Frage bin ?? nicht die Funktion dient die Summe zweier Zahlen bestimmt wie sollte die sinnvollerweiseheißendas?? Funktionen heißen gerne in Befehlsformsummierenbis auf mähenoder weisen einheitliche Befehlsformaber alle anderen Funktionen heißen gern in Befehls vom Imperativzum ihre DruckesendeverschiebelöschePunkt ich will sie ungern Summen nennendie Funktion ist ja nicht die Summe sondern die Funktiontut wasdasist der Nameder Funktionals jede Funktionin C kriegt einen Namenin anderen Sprachen ist das nicht unbedingt zu Orients ist das so sie brauchen einen Namen??es muss ich sagen was rein geht der steht lustigerweiseauf der rechten Seite den Satz Gleichzeichen der stets auch falsch ?? ins A Gleichzeichen vierzig der Gips auch falsch ruman was rechts stehtwird dem links stehenden zugewiesennicht andersrum genauso hierbei den Funktionsrechtssteht geht reinwas links steht ist der Typ von demDing was rauskommtzahlst oder irgendwas anderesin sinnvoller Weise fang ich damit anwas rein geht was schreiben Siein die runden Klammern reingenaudie sagen jene runter man noch nicht was die Funktion tutdas kommt in die Schweifklammer und sie sagen in runden Klammern was sie entgegennimmtTyp und NamedannIsabella Z einsfür die erste Zahl Z zweitenszwei für die zweite nenntC zwei für die zweite Zahlübernahm jeweils insGanzzahl ich und es soll heißen undfortlaufendenZ einskommt noch eineEingabesoll auch wieder vom Typ in sein und die sollinnerhalb der Schweifklammerzwei heißenvon solcher was zurückkommen soll vom Typ her Beistrich keinen Namen was zurückkommtes kommt einfach irgendwas zurückin diesem Fall kommt eine ganze Zahl zurück so sehr das ausmir wäre der Namezwei Sachen werden übergebenbeide vom Typ dientdie ersten ?? nicht Z einsdie zweite Nichte zweiin meinemFusionskörperhier zwischen den Schweifklammerdafür gelten diese Z eins Z zweiMörderam Donnerstag gesehen beim Formbei der for-Schleifegetauften ähnlichen Effektganz grob nichtrichtig seien ?? vor alleminfolgedessenähnliche Effekte die das Schreiben in Si gleich Nullabzuleitensie gleich nullklein AzweiundvierzigC plus plusund dann tun sieirgendwasandieses I bleibt ja auch zumindest im aktuellen ziemlichen Artikel sieht die Systemplatteauch in der for-Schleifeverborgenzu ähnlich sei sie mit den Z eins und seit zwei ?? bleiben innerhalb?? Funktionskörperverborgendie sieht sonst keinerdannund ich brauchen Name damit ich sagen kannwas ist denn jetzt ansprechen willkann jetzt ja Versagen bildet die Summe soll Gesang bilde die Summe wovon was ist zu rechnen dafür diese Namen hierdie Summe wäre Z eins plusZ zweimussich jetzt noch sagenmirwas sich jetzt einer sagen so richtig die Summe ausaber sie ist dumm das reicht noch nicht ganzinteressante Idee kann das Ergebnis irgendwie speichern sie können sagen um ?? neue Variable zu drei und speichern das Ergebnis des entwickelt Semikolonso rechnete tatsächlich die Summe aus und schreibt in eine Variable Z dreidie aberfür alle ?? Leute verborgen sein wird die bleibt innerhalb dieser Schweifklammer verborgen das heißt niemand wird von diesem Ergebnis der drei erfahrenähmist aber eine andere Art sichirgendwas das andere es gibt überhaupt nur eine Art sich in C sagen kann das bitte alle anderen Leute oder ich alleine neunzehndass derjenige der diese Fusion aufgerufen hat von diesem Ergebnis erfährtja das war das sie legen keine neue Variable anGesang Returnjede zurück??Liebe zurück diese Summespricht kein Namen dann an der Stelle des kann in anderen Sprachen anders sein ??ist auch in einigen Sprachen anders aber so sieht das Linsender C Familie aus ?? am ?? mit Return sagt was er zurückkommen soll aus der Funktionund sobald ?? Zeile gefunden wird hier in den Schweifklammer mit Ritter ist die Funktion auch beendet Ritter zum Doppel Bedeutungsagt einmalwas das Ergebnis der Funktion ist zum anderenbeendet es die Funktionsofortohne wenn und aber??Nation anguckenkann ich sowas tun insHaar ist gleichsamihrezweiundvierzigkreativ?? Nova Einstellung machenwassodas Programm in Einzelschrittenpassiert als nächstes passiertist es diese Funktionunsere neu gebaute Funktionnahm zum ihreaufgerufenwirddannletztendlichmit dem hier rein und raus StepphoworkerDistrict sagen alles in einem Schritt ausführen diese gesamte Zeilein einem Schritt ausführendas ist ja nicht so spannend ich möchte wirklich mal reingucken?? diese Funktionist Leerzeichen ein Stepp in twodamit gehen sie in die Funktion reinen können Schritt für Schrittuntersuchen was denn jetzt die Funktion tut der erste in tunalso keine besonderen Einstellung dafür ?? ihm Optimierung ausgeschaltet dass hierkeine unsinnsunsinnigenSachen passierenich bin tatsächlich in der Funktion summieren drinnenZ eins es mit dreizehn billigstezweiten zweiundvierzigbelegtist das das Maschinchennimmt wirklich die dreizehn und die zweiundvierzigund speichert das in meine Variable Z eins und Z zweiund jetzt kann ich mit Z eins und zwei agierender sind die Werte drinnengroß erstellen wirso sind die Werte drinnen die übergeben worden sind hier die dreizehnte zwoundvierzigwerden gespeichert in die Variableneiner Funktionkann ich damit rechnendie Summe ausrechnenund mit Return sage ich wie gesagt was zurückkommt?? zurückgehtKommawelcher Wert zurückgegeben werden sollwenn jetzt also einen Schritt weitergehenups an sich schon erledigt und als fünfundfünfzigtausend zu einer ZeileFunktionsaufrufvon irgendwasspringen sie ausdem aktuellenProgramm wenn Sie wollen aus aktuellen Funktionen männlicher Funktionaus aktuellen Funktionen raus in die nächste Funktion reinmit dem Return geht's dann weiter an einer Stelle an der sie gestartet sindPunkt so sieht das aus wenn sie mit Funktionder Vorteil von Funktionen ist das man Sachenjetzt auslagernkann wenn ich dasselbezum ?? sind schwachsinnigKomma wenn ich dasselbe noch mal brauche ?? sich vor die Funktionsverwertungkraftwerkrunter und schickt eine E-Mail das ist es ?? beendet hat oder was auch immer bissiger wie sie zur Funktionkannman das an diversen Stellen brauchenin ihrem Programmdann schreiben Sie die Funktion ein einziges Malprüfen diean dieser einstelleund ich an tausend Stellen ob sie auch das richtige tut und rufen diese Funktionen X an und stellen auf das wesentlich effizienterals ständigdenselben Programmcode reinzuschreibendassichert jetzt das Quartett das ich ja quasi Formel rausgeholthabe das vergessen und muss Beistrich sie könne auch hier weiter rechnen könne auch hier sagen siebenundsechzigplus um ihresowas können sie auf veranstaltensie können da rechnen wo sie wollenan das soll dir zum Beispiel seine sich irgendwasaußerhalb dieser Menschen zu machen typischerweiseetwas kompliziertes macheneinen sehr ?? zu irgendeiner Position fahrendann irgendwas aufoffen Display schreiben oder was ähnlicheswie die Summe der ich auch in meiner ?? schreiben können?? noch nichts kompliziertes was mir zickig auslagernkönnte daskommt gleich Komma dass Aufgaben etwas kompetenter Funktion die man auslagern kannsich das normal sagen der Gedanke ist in irgendwas kompliziertes mehrfach vorkommtdann programmierte ich das nicht mehrfach aussondern mache das an einer Stelleals Funktionund diese Funktion ruf ich mehrfach auf das ist deutlich effizienter deutlich sicherer als es mehrfach zu schreibendass eine der?? an die großen Fehlerquellenist ?? Programmcode mehrfach zu schreibenim selben Programmman versucht es immer zusammenzufassenalles noch einmal zu schreibenund dann als Funktion auszulagerndas wasdiverse Stellen aufrufen kanndas im Ziffer Nummer vorführenkönnen jetzt alles wirkliche Gerechtigkeit weiteren Variablen davor bauen undCschon zu vielsowaskann das wild durcheinander würfeln jetzt dicht reicht das normale Nationalsdie Variable C wird auf hundert drei zwanzig gesetztund machte folgendeserrechnet dreizehntesvierunddreißigausdas wir gleich den eins werden rechnet zweiundvierzigmal hundert zwounddreißigaus hundert und zwanzig ausdas wird seit zwei werdendas ander Jesse Bentosind einzig die siebenundvierzig?? jetzt ausgerechnet?? und C zweiist anscheinend sowas wie dreiundvierzig ?? hundert dreiundzwanzigSie können in ihrer FunktionauchAusdrücke einsetzen ?? dann ausgerechnetwerdensie können das Ergebnis was zurückkommtauch weiter verarzten summieren lieferte ganze Zahl zurück ?? ganze Zahl können Sie verwendenwo immer sie ganze Zahlen verwenden könnenwas dazu addieren und dannweiter arbeiten damitgespanntalso das wird jetzt irgendwasfünf tausend zwei hundert noch wasnoch die sieben sechzig dazusind offensichtlich bei fünf tausend zwei hundert und achtzigdie sind sie noch ein zweiten Funktionsaufrufdie Funktion eben einmal aufgerufen es kommt noch ein zweiter Funktionsaufrufmit anderen werdenes Z eins vierunddreißigund C zwei vier hundert zweiundfünfzigdas Ergebnis schreibe ich in Bgenauso ?? Funktion immer später zu der Bibliothek zusammenfassengenauso was passiert hier überhauptdie Bibliothek schonähm mit Funktionenfür diesen speziellen Chipdie stecken dann hier in gewisser Weise trennende Zeit später genau das macht Komma baut über die ?? schon das man nicht ständig denselben Kram wieder programmierenmuss sonderndirekt eine Funktion hat die sagen kann schreibe mal diese dreiBuchstaben aufs Display oder eine Funktion hat die sagen kann deshalb mal die Sauce für die Leuchtdiodeund so weiterdas sieht man jedes Mal neu programmierenzu ?? Bibliothek ablegendas istdieser Zeit Spareffekt von Funktionenja dieses unsägliche Ticket Thema Deklarationund Definitionin Cund auch in C plus plusdie beiden Sprachen sind etwas antikdie ?? Sprachensind das lockere ?? ähmderCompiler der Übersetzerdas Übersetzungsprogrammwas dieses Jahr in richtig ausführbarenLaufserschien Programm machtdas Übersetzungsprogrammdies die Datei von oben nach untenwenn sie das jetzt hier in der Reihenfolge umkehrenwenn sie oben das rausnehmenFunktionenüber Gala gebaut haben und auch unten hinsetzenund ihm sagenund ihm sagen er möge das doch mal übersetzenProject Bildschmecktdannsind sie lustigerweise hier nur eine einzige Warningfand schon summieren die klärtempty Citydas wirkt sehr kryptischsiehe sagte Ihnen an dieser Stelledas erste Mal zu Miele erwähnenselbst oben weggenommensteht unten drunterselbst vonvor Mail hinter Menke setzthier an der Stelle wohl summieren das erste Mal vorkommt sag den jetzt der Compilerfand schon zum Zoom ihreBegleitinteressierteamdie Funktion ist implizit deklariertC und C plus plus sind an solchen Stellen wirklich haarsträubendsie sogar noch haarsträubendersieht hier oben hätten gerne Sonderfunktiondann denkt er sich irgendeineran und das garantiert nicht funktionierenwas sie jetzt veranstaltenanweil er von oben nach unten durchliest das ist das Problem Alice von oben nach unten durchstößt hier draufFunktionsaufrufder Funktion summierendann erfindet er sich halt irgendwasan der später findet er das da untendas es nicht richtig bröckeltdie Abhilfein C und C plus plusist eine Deklarationnicht sage ich Beistrich ich hätte gernebekommen Beistrich ich möchteirgendwo bitte eine Funktionso Mira haben und die soll so aussehenhaarsträubenderSong historischeshistorisches Unding was ich Ihnen leider antun muss an der Stellealso wenn sie eine Funktion erst späterdefinierenwollen das Ion wird eine Funktionsdefinitiondie sagen wichtig wie die Funktion innen drin aussieht mit Schweifklammerwenn sie von Zone später definieren wollen oderin einer Datei sogar definieren wolleneine Bibliothek definieren wollen später mehr dazumüssen Sie vorhereine DeklarationhabenDarsteller keine Schweifklammer sondern einfach nur an Semikolonkann einfach die erste Zeile ja nehmenwas ich als erstes dann schreibe sicher nicht ganz klar was die erste Zeit ist also hierRückgabetypName und dann die runden Klammern das nehmen sieund schreiben ein Semikolon dahinterund dann weiß der Compiler Airgendwogeht mich immer noch Sonderfunktiongeben die zwei ganze Zahlen nimmt eine ganze Zahl zurückliefert?? an Punkt also so richtig kennen würde und dann macht er kein Ärger wenn Sie jetzt sagen ProjectMacan sie nur heraus und null vorne linksaneigentlich wollte Sims erstellen gar nicht gesagt haben weil es ist noch ?? Nummer heftiger als das was ich gerade erzählt habe wenn sieganz dreist erst mal alle Funktionen bauenbevor sie die Funktion verwendenhaben sie den Ärger nichtzu weiteren Bibliotheken baut in C hat man diesen Ärgerichbrauch dann wirklich beideswenn ich meineFunktion erst später oder anderswodefinierenwill wenn ich erst spät oder anderswo sagen wir was die Funktion tut das für die Definition dann auch tatsächlich beidesdie Deklarationund Definitionkann ich eins von beiden wegnehmen ?? ich brauch die Definitionder sonst was der Rechner nicht was in die Funktion wirklich tutund auch die Deklarationwar ebenso dumm ist und diese Datei von oben nach unten liestund an dieser Stelle verwirrt sein würdeauch beidesdann weil ich das machedie alternative ist ich besitze die Definitionder Funktionso in die Programmdateidass sie erst definiert wird und dann später verwendet wird diese sie wieder nach oben nehmen dann bei der die Welt in Ordnungichmuss im Unterschied ?? wenn sie gerade total verwirrt sind ich weiß ein ganz an dieser Stelle erzählt haben Komma dass schon ?? Deklarationder steht nicht drin was die Funktion tut bei der Definitionsteht drin was die Funktion tut die Deklaration endet mit dem Semikolon Feierabendversteht das Rennenirgendwo gibt'szum schwarzen Kasten nochmals zwei ganze Zahlenreihen wurden für ganze Zahl rausund bei der Definition steht was der schwarze Kasten auch wirklich tutertat wenn sie oben schon sagen was zu tun soll das verspanntdass das den ?? der Compiler dazu wenn sie das doppelt morgen zweimal definierendie sagen hier einmal was die Funktion tun solldann sagen sie mir nochmals die Funktion tun solldas oben sitzeich Medinanicht mehr die reine Deklarationsondern eine Definitionbald drin steht wie die Funktion funktioniertProject Macgibt ein Fehlerweil was sagt erzu mir es oder die Binde vereintdass wir eine doppelte Definitionda gibt's Ärger mit dem Compilereiner der natürlich auch ?? davon ausgeht dass diese beiden Definitionen nicht konsistent sind und sie können hier jetzt aus ??Komma dass manan den sie die Funktion summieren zweimal aber sie würdewas verschiedenes machenjeweilsdas wäre nichtdas es sich erlaubtKlammer zu definiert die Funktionanich denke bleiben es also bei dem Ding hier ohne Deklarationdie Funktion definierenund dann verwendenlässt sich nicht durchhalteninsbesondere man Bibliotheken schreibtKomitee der Bibliotheken hat man eigentlichverloren gibt's dann noch später für die blutige noch andere Gründe Funktionenmit Deklarationzu versehensind ?? alle späteran nimmt es erst mal so?? Definition einführen und dann verwendenwir in Sprache mit Java und sie Schadenhat man den Ärger nicht mehrdie Compiler sind raffinierte aber C und C plus plussindebenso antikdas sie nur einmal durch die Programmdatei gehen von oben nach untenund alles erst mal mundgerecht serviert haben wollen in diesem ein Durchlaufin der Tat gute Frage ?? bitte doppelt sichern Komma eigentlich werde doch jetzt Semikolon hübsch überfordertdas es einfach in Anlehnung an die mathematische Notationich möchte sehr gerne wieder Funktionen mehrerer Variablen aufrufen wenn sichzwei Semester Mathe erinnern eine Funktion mehrerer Variablenschreibt man dann ja mit Kommentarengenauso soll CC eben auch sind Ausländer mit Kommatasieht denScheinschüssevon keine Sprache sich in allen Programmiersprachenverzichten so aus mit dem Kommaum die Variablen zu trennennächster Jobbisschen kompliziert eine Funktion die sich auchlohnt zu schreiben eine Funktion die prüf doch eine Zahleine Primzahlistichübergebeeine Zahlund diese Funktion soll prüfen ob die übergebeneZahl eine PrimzahlversuchenSie das jetzt mal irgendwie aus zu buchstabierenerste Geschichte mit ?? aufgefallen ist ähmbei der Funktionsdefinitionwenn sie sagen was die Funktion tut steht da oben kein SemikolonVorsichtSemikolonsteht wenn sie nicht sagen was die Funktion tut dass es die Deklarationdann steht Semikolonwenn sie sagen was die Funktion tut dann steht kein Semikoloneins von beiden entweder Semikolon oder Schweifklammer aber nicht beides gleichzeitigdannund dannvon außen nach innen arbeitensich immer das glaube ich denender beste Ratschlag beim Programmieren von außen nach innen von oben nach untenvon der Anschauung zu den Details?? und hier von außen nach innen wäre ich sage erst mal wieder die Funktionenprinzipsich von außen anführen soll wie sie deklariert würdedannwas geht rein was geht raus wie soll sie heißen und die Details was sie tut Komma späterwie sie heißen solldieser natürlichen Befehlsformheißensie sich jetzt auf Deutsch eher komisch fanden sie am Anfang Sachen auf Englisch zu bezeichnenprüfe ob Primzahlmüsse das ja heißenübrigens kann sie keine Umlautees ist dem es da meine Sprache diese Umlaute kann sondern auch chinesische und kyrillische Zeichen aber C ist der leider bisscheneingeschränktalso prüfeob Primzahlso würdig die Funktionenrechtmäßiger ?? Funktionendem für den Rechner können Sie die Funktion auchso nennen Hauptsache es wirklich mit der Zahldarf nicht so heißendas gäbe Ärger wenn sie mit der Ziffer anfängtwenn die Funktion so heißt der Rechner wär's egal wenn kein Mensch verstehen aber rechtmäßigerHinweis gibt überhaupt Softwarewie genau das tut die Programm durchgeht und alle Namenin irgend einenbewussteverwandelt damit man sich mehr lesen kannaus Sicherheitsgründendass es tatsächlich sogar eine echte Funktionder Demos lesen können ?? Prüfer PrimzahlenSansibarKlammern was rein gehtund sie sagendavor was rausgehtund sie sagen Schweifklammer manwas die Funktiontun sollwas rein geht denke ichmir die meisten ?? gesehen analog zu dem summieren es gibt nur eine Zahl reinsetztInselbegonnen oderABC zwoundvierzigoder wie auch immer ich sag es einfach Zandieser Name ist ja nur von Bedeutungwenn ich jetzt in den Schweifklammerwas mit der Zahl an StellenSie müssen sie jetzt einfach in den Schweifklammer die ganze Zeitsegmentmit diese Zahl haben wollenwenn sie anders genannt haben Punkt Egon der ganze Zeitebenenin den Schweifklammerso der Typ daraus geht eine Gatten int geschrieben das wäre die klassische Art wie man es in C machen würdeman die vierte null zurück oder eins zurück es geht ja um ja nein Information ist es mit Primzahl oder nichtbei der Summe die Viecher die solch eine Zahl zurück wirklichund hier will ich nur ja nein zurück liefernam?? könnte null eins liefernes heute nicht mehr ganz okay könnte man null einsdirekt so zurück liefert als Zahl anGitter für einfachen passenden Typ boolwahr und falsch zu und folgt damit das auch nicht funktioniertan der stelle sie dann wieder bisschen antik brauchen wir noch so einen Cloudhabennämlich Standard bool Uppsala Standardpoolhaarin C plus plus ist das eingebaut das wohlMittons Volks und inRC ist es leider nicht eingebaut?? stammt aus einer Bibliothekund das was ihn schon mal erwähnt hattendann auf diese Weiseerhalten Sie Zugriffauf Bibliotheksfunktionenverstecken Deklarationendrin insbesondereimmer später genaudas ist jetzt nur nur dumme Zeile damit sie auchihr bool und gleich auch tun vorheizen sowas kannwahr und falsch kann Variablen die nur wahr und falsch speicherndas wäre mein erster Schrittich würde hinschreiben wie die Funktion von außen aussieht wie heiß siees nimmt siees gibt sie vom Typ?? und erst dann würde ich mir Gedanken drüber machendie Funktion innen drin denn nun arbeitetjadie Strategiekorrekt wäre folgendesTeile Zdurchdie Zahlen ab zwei aufwärtsbisendlich können bis Z habe Komma einfachsten Terminus Z minus einsTeile durch die Zahlen zwei drei vier und so weiter bis Z minuseinsundprüfeimmer ein Rest bleibtwenn immer ein Rest bleibt weiß iches ist eine Primzahl ist nicht durch die Zahlen von zwei bis Z minus eins teilbar das wäre die Strategieversuchen sie das Maus zu formulierendieseshier Teile durch zwei drei vier und so weiter schreit ja nach Verschleißdannvon den drei Schleifentypendies gibt in sie für dich jetzt zu der for-Schleifeneigenals das zum ersten Mal hatten mit der Primzahlwerdenkeine for-Schleifezum for-Schleife ?? ich finde die for-Schleifeschon amattraktivstenmal das noch mal aufund Englisch Live ist die for-Schleifein runden Klammern sagen sieob denn der Schleifenkörperbetreten werden soll beziehungsweise ob er noch malbetreten werden sollwiedas ist dieSchleife für den Alltaggibt es die eher Seltenendufor-Schleifezwodie Bedingungam Schluss geprüft wirddies extrem seltenunddie nächste Schleife für den Alltag war die for-Schleifeeine Initialisierungdann typischerweise in T ist gleich nullSemikolondein Semikolon kann Kommaweil Funktion ebendann steht dein Vergleichihr kleinerSohn zu vielwie lange solche Schleife ausgeführt werdenund steht am Endeein Fortschreitentypischerweise I plus pluszu sagen was denn nach jedem Schleifendurchlaufpassieren soll es weitergehen solldannich denke hier wäre eigentlich die for-Schleife angesagtwenn ich innummeriertenSchritten durchgeheund ich weiß vorher sogar schon wie viele Schritte es werden dann ist eigentlich die for-Schleifedas üblichealso probiert sich in einer for-Schleife zu arbeiten?? was ja nichtsbisherso sehr die for-Schleife aus vom Prinzip?? gesehen wie hier von außen nach innen arbeiteich aber außen angefangen mit wie heißt die Funktion was nimmt sie was gibt siejetzt kommt die nächste Schichtals ob manmit Siebe von außen schält?? stellte gut ?? Ziel von ihnen steckt eine Zwiebel schälenunderscore die nächste Schichteine for-Schleifewas wird hierdurch gezählt von wo bis wound was passiert innerhalb der for-Schleifeichmöchte in der for-Schleifeeine Zahl generierenzwei drei vierund so weiterbis zuder übergebene Zahlminus einsnoch die Hälfte nehmen oder die Wurzeln nehmenalso auf die ganz ineffiziente Art bis zu der übergebenen Zahl minus einsihr vorne stehtdie Initialisierungmeine Variable dieses abzählen machen soll die heißt in neunundneunzig Prozent der Fälledienicht ihr heißtdass alle Leute eher irritierendkonkret einenTeileroderSchrittsin irgendwelchen anderen Geschichtendas alleinereicht noch nichtdas führt nur diese neue Variable namens I einKomma die steht dann auf irgendwas was rein zufällig im Speicher stehtC und C plus plus sind so blöd an der Stelleoder so effizientKomma Scheine sagen eine Stelle wenn irgendwas da weiter steht ein steter Regenwasserspeicherdas ist nicht gerade geschicktmöchten auch mit Null anfangen möcht mit zwei anfangen so sollte das Verstehenin der Schleife hätte ich gerne eine Variable für ganze Zahlen ?? heißt die defekte zwei andas ihr vor dem ersten Semikolon wird ein einziges Mal ausgeführtzu Beginn der Schleife sozusagenvor Beginn der Schleifeunddann steht hier als nächsteseineine Abfrageder muss ja oder nein rauskommenoder Volksund solange du rauskommt wird die Schleife weitergemachtsie nicht möchte müsst ihr bis Z minus eins eine freundliche Ikleiner Z das ist der Vergleichso lange wie dieses Ikleiner ist als das setztdie Frageaufgabender Z kennen wir Z wird hier oben ja gefüllt?? schon gesehen bei der Summediese Funktion aufgerufenwird?? Z eins und C zwei mit Werten gefülltdie Werte die da gerade beim Aufruf standen genauso dieses Z hier dieses Fett lebtinnerhalb der Schweifklammerund es ist vollautomatischmit einem Wert gefüllt dem übergebenen Zahlenwertalso Z hat einen Bedeutung ?? und ich prüfe jetzt ob dieser Index kleines R Z so lange wie dieser Index kleiner ist als Zgehe ich weiter in die Schleife reinich fange an mit zweibei dem Ikleines I kleines L Z mache ich weiterund jedes drittein den runden Klammern bei der for-Schleife ist es weiterschreibendas wäre ?? I plus plusStelle das Ian zweitermit zwei anprüfe ob du kleiner bist als Zgerade was ich hier brauche Z minus Einzelsitzgemacht werdenund in jedem SchrittG um ein zweiterichüberlege gerade ob ich das schon mal?? zeigeBeistrich dass sowas schon mal das Programm findet ja noch alles andere als fertig ?? könne schon mal guckenwas ich hier so tutwie wird diese Funktion aufrufen ?? sagen boolmir abends in dieist gleichPrüfer Primzahlzu großes S??Punktso ergibt also die Zahl fünf an meine Funktionwandern sie normal weiter dann müsste ich jetzt diese durch Stoffe schon sehen könnenhier noch nicht?? müssen mit ?? Statementsehr schönähmich sage jamal wiederSun ja meine Funktionlieferteine Jana Informationenwünschen wir zurücksehen dass du darüber nichtund insofern gibt mir der Compiler was auf die Finger ??waren und sachtda Komma noch mal nachhörendu sagst es kommt mutiger zurück aber es kommt kein guter Wert zurückkönne zwar ganz dreist einfach hier mal Returnvollziehen schreiben damit wirklichen Butter dazu kommteben hatten wir hieroben ?? Nomaden Returndie Summeda kommt eine Endzeit zurückich schreib jetzt hier einfach mal pro forma wettern Fords reindie ganze Zeiten ein Zurück gibt sowas zurück und der Compiler sollte glücklich sein ?? immer sehen Sie die Toleranz und C-Compiler ist es eine Warnungeine Funktion sagt sie gibt einegute Größe zurück ja neintut es aber nicht der CompilerBeistrich nur dass es kein Fehler war nicht nurdie neueren Sprachen sind da deutlich strikter?? jetzt ist es keine Warnung vergebeneinnormal an unsinnigenwollte das Kinder alle schon so Prüfer Primzahlab fünf eine Primzahl istich gehe rein in die Funktionder BentoLanderihr sofort in der for-SchleifeDMZ ist fünfdie Funktion des mit dem ?? fünf aufgerufenin der Variable Z kommt die fünf andann in der for-Schleifejetzt noch das erstes Initialisierungein einziges Mal hierden?? ist gleich zweibevor eine Schleife rein geprüfter Shop I immer noch kleiner ist als setz meine Bedingungjahrist esdann wird ihr erhöht und so weiter so weitermachen ?? durch es noch nicht in der Schleifeerkannten schnellanund innerliche Schleife durchso weit so gutzur ?? in der Schleife auch ?? was passierenwarum ist das fünfzehntes Deich fünf weil ich diese Funktion mit der Zahl fünf Aufrufewas auch immer hier stets auf der fünf steht oder drei plus zwei steht oder ob hier noch irgendwas berechnet wird mit mit anderen Variablenwas hier in den Klammern steht wird ausgerechnetwird eine Zahl werdenund wird dannin diese Variable rein kopiert werdendamit kritischdas Zdannüber das sie mit Leben für nichtabgezogenen Schmerzes durch Zählen von zwei bis sechs minus eins und jetzt muss ich prüfen ob mein Rest bleibtdannSciroccomit dem Fist eseben in zehn typische Konstruktionund klammern Schweifklammer an das Amt sie bei den Funktionen der Sansibar Reformrunde Klammer zuSchweifklammerbei dem if auchman kann die Schweifklammer in gewissen Situationen weglassen tun sie das nicht gleich es auch gar nicht erstdas ist gefährlichso wird es mit dem wir spazieren müssen muss prüfen ob immer ein Rest bleibt also Kongress erst mal ob ein Rest bleibtdannsetz Modulodie das ist ja der RestBeispielelfelfModulo dreiwären zweiTeile elf durch dreiund sage was der Rest isteinmal drei sind neun zwei der Rest elf Modul drei wird zwei werdendas ist der Rest ich prüfe?? gucken was sinnvoll ist prüfe ob immer Restwenn der Rest null istwenn die Division also auf geht's das heißt das ja wenn der Rest null zwo Gleichzeichenich nur gleich keine Zuweisungsondern gleich gleichen Vergleichwenn der Rest null ist was weiß ich dannwenn der Rest null ist weiß ich keine Dienstzeitenich kann durch irgendwas teilen kann durch Ita in der Rest ist Null also ist Z keine Primzahlder Musik gar nicht weiter nachdenkenan dieser Stelle istklar wenn ich in das Eve rein Kommaes ist keine Primzahlwas ist jetzt der kürzeste Weg umdas mitzuteilenin der Tat an der Stelle kann ich die Funktion sofort beendennun sicher nicht weiter zu machen ich weiß wenn ich hier binist eine PrimzahlGewicht Nein zurückich probiere ja alle durchund soweit ich die erste findedurch die geteilt werden kannist es keine Primzahldas ZDevices muss falsch ?? also gebe ich auch sofort falsch zurückernstesund mir das Return falsch ??natürlich falschseine Turncrewsein wenn ich durch Kommawenn ich durch die Schleife durchkommeund es hatimmer funktioniertes hat immer ein Rest gegeben ?? in das gif reingekommenbin ich durch die Schleife durch Komma dann war es eine Primzahlsein Literaturwas egal welches aus der Schleife rausgehe?? ich hab immer gut WertKondition zwei finnische Tanzwand wird sich sinnvollerweiseC wird nehmen aber sie sollten es nicht zu haben?? sollte immer gut verwehrt seinder zurück ?? egal wie sie rausgehendann?? lassen sich einer sagen weil einige an das probiert deshalb das Aufgabe das geht eben nichtbei dem Els hierkönnen Sie nicht sagenwenn der Rest null ist wenn ich teilen kann durch irgend eine dieser Zahlendann was auf jeden Fall ein Z ist keine Primzahlsie nicht teilen könnenmüssen sie nichtswissen erst dann etwas wenn sie durch keine der Zahlenhaben teilen können als in Els hier oben drin ergibt keinen Sinn sie können hier jetzt nicht in Elsrittern Truhen setzeneinigen gesehen das würde nicht funktionierenwird in den ersten Durchgang reingehen I gleich zweidann zum Beispiel feststellen dass ihre Zahl nicht durch zwei teilbar istund dann sofort sagen es ist ?? Primzahlso bisschen schwach nach diversen anderen Zahlen gar nicht aus Punkthier wird die Schleife nur einen einzigen Durchgang benötigenund dann aus diesem einen Durchgang Teil durch zweisagensie dabei durch zwei oder nicht aber das reicht natürlich nicht um die Primzahl zu prüfen ?? das SLC ergibt keinen Sinnich kann es ganz zum Schluss sagenwenn es nie geklappt hatund immer Nest geblieben ist dann war es eine PrimzahldieBibliothek für das bool heißt StandardpoolSDD Pool Punkt Haar gesagt Komma nur in siemich in C plus plus und es rechtlich in den modernen Sprachendann?? ich für das Personal geradevorOrt warKomma dass wirklich so hinhautsodie Prüfer Primzahlsichnetterweiseich schreibe wohlaber weiß natürlich das es insgeheim doch als null und eins speichert als die Einstieg jetzt hierfürtrugenfünf istnach unserem nach unserer Funktion gemäß unserer Funktion einePrimzahleins steht dafür tunüber die zweiundvierzigwas keine Primzahl ist?? ist gleich nullfür Foulsund elf die dreiundvierzigdenke ich ist wieder eineSacheist eine Primzahl so kann man es jetzt benutzen Sie meine bisher kompliziertere Funktionich muss nichtX mal hier diese for-SchleifeschreibenProvider meine Funktion auf und er hat die Funktion auch noch in sinnvollen Namen nicht weiß was das Ding tutwenn sie die for-Schleife habenes auf Anhieb nicht klar was sie tut im Harz auf diese Weise fast den Kommentar eingebautwas ich hier macheKomma ??Kommentar dran schreiben ist eigentlich auchzu sagenwas es in professionellerWeiseversuchen würde sein zu lassenbei der Funktion hierwird man gleich noch dran schreiben einerseits der Name ist doch schon so klardass ich mir diesen Kommentar hier oben sparen kanndannder Kommentar ist eigentlich für den eingeweihten dann auch schon wieder überflüssig ?? darüber steht es ist eine Primzahlprüfe ob das eine Primzahl ist weiß ich was stattfinden mussund man würdeprofessioneller Weise Versuch mit möglichst wenig Kommentaren zu arbeitenund stattdessen sehrtreffenden Namen zu habenbenennt die Funktionso das Gleis was die Funktion tun?? Variablen sind jedoch blöd benannt über die Variable sollte mich aber CD öffnen sondern sind von denanihr dieses dieKammer noch durchgehen lassen mag unser Teiler oder Nenner nennensind hier will ich auch noch durchgehen lassenKommaalso finden Sie sprechenden Namen können Sie dieKommentareweglassenletzte Bemerkung für heutedieses Return hier mitten in einer Schleife drinnenist bei komplizierten Schleifenübel übelvor diese Schleife würde sich über mehrereBildschirmseitenerstreckenund irgendwo wäre hinterrücks und Return versteckt das Werk total gemeinan das ist keine strukturierte Programmierungdas Return mitten drin zu habenähmwenn sie als Struktogrammder herrlichen Schleife im Struktogrammund irgendwo stünde mein ??im Struktogrammda kommen sie aus dem Brief nicht rauses ist nicht vorgesehen dass es nicht strukturiert programmiertdiese ganzen Tricks die sind zehn gibt's es gibt dasichdonnerstags auch schon erzählt es gibt das bereitsmit dem sie die Schleifen beenden können das macht das Breakanes gibt den Befehlcontinuemit dem siebeim nächsten Schleifendurchgangweitermachenaktuellen Schleifendurchgangabbrechen und am nächsten weitermachenund dann gibt es eben Dritter anwenn sie in einer Funktion sind immer einer Funktion in C und sagen Returnspringen sie egal wo sie sind nicht nur aus der Schleife raussondern aus der Funktion rausdas ist kein keine strukturierte Programmierung insofern bisschen gefährlichwerdenaber bei so kleinen Funktion macht man das einfach so jedoch nicht als Variable einzurichtensehr völlig über Kandidat aus als wenn man so wenigProgrammzeilen hat macht man's dann eben auch mal unstrukturiertund setzt damit den Anbietern