[Playlisten] [Impressum und Datenschutzerklärung]

02B.2 Flussdiagramm, Struktogramm, Eingabe in Schleife


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

zum Barackenwie man Programme aufschreibenkann Komma die ganze Zeit schon was mit C gesehendas steht Ihnen Charles gleich SoundsovieleveSchweifklammer SchweifklammerWallund so weiterwichtiges Land Und-Zeichen wichtiges Programm in C in anderen Sprachen sieht's anders auses gibtzumindest drei Möglichkeitendeutlich mehr eigentlich aber drei ?? vorgestellt individuelldrei Möglichkeiten Programmesollte sagen unabhängig von der Sprache aufzuschreibensich von einer konkreten Sprache zu lösenso würde man das dann auch gern in Abschlussarbeitenund in wissenschaftlichen Arbeiten sie nicht in einer konkreten Sprachesondern abstrahiert von der konkreten Sprachewerdendie wahrscheinlich älteste Lösung ist Flussdiagrammund so weiterSpaghettiBeistrich die Enge manövrierthabenPunktdas sind sie sehr häufig in Datenblätternfür irgendwelcheMakrocontrollerhaben und alles was damit zusammenhängtirgendwelche Abläufedie diese Maschine aus automatisch macht sie prüft irgendwas ähnliche Eingaben Ausgabenandas hat sich aus der Historie immer noch erhalten es gibt modernere Form der dich auch vor geführte Sekte wird die da gernan und denke die meisten Leute sind immer noch bei dieser klassischen Formflussdiagrammdes Programmablaufplansdas sehen Sie sehr häufigin der Warenweltakademischsehen Sie gerne mal ein Struktogrammweil das so schön zeigt wie denn strukturierte Programmierung funktioniertdas wäre ein Struktogrammvor alle schön sauber geschlachteten Blöcke sickern kein Spaghetti veranstalten wir mit demFlussdiagramm wenn sie wunderschön Spaghetti veranstaltenamnach alter Art Programmieren sozusagen der Struktogramm zwingt sie dazuvor als Schleife ordentlich zu machen das ist ordentlich zu machen Struktur zu behaltenstrukturiert zu programmierenist er vom akademischen Interesse aber ist eine Art wie man sich mal klarmachen kann was denn ein Programm vernünftig tut Struktogrammdannbegann das ?? für die vierte Sache die man gerne hat Pseudocodesie schreiben nicht sehen sondern sie schreiben in einer Fantasiesprachedie sich irgendwie so anfühlt wie Pascal?? und weitere auf Deutschnicht mit ebenso verschiedenen Fanund kein Pfeil sondern ein so lange ?? und keine Schweifklammer sondern einfach Einrückunghat jeder seinen eigenen Stildas wäre die vierte Art Pseudocode eine selbst erfundene super billige Programmiersprachebei der man sofort sehen kann was sie tutKomma sie sind eine real existierendeProgrammiersprachelernenwas ich jetzt noch den Rest der Zeit heute mit ihnen machen wollte istein billiges Programm ein ziemlich blödes Programm einmal als Flussdiagrammund einmal ein Struktogrammauf zumal das manchmal gegeneinander stellen kannansich sollte noch mal sagen Beistrich wenn man FlussdiagrammProgrammablaufplankönnen Siewieder Spaghetti machensie können von überall in überallhin davon das Programm anRadermacher diese Befehle am heutigen Befehl Komma nach ob dieses oder jenes Geld und so weiter Sie können überall hin springen wenn sie wollenStruktogrammsind sie gebunden daran dass sie von oben nach unten arbeiten bis auf solche Böcke hier mit einer for-Schleifeund einer Warteschleife wo sie dann wiederrückwärtsdrauf springen könnenPunkt sie können aus diesem Blöcke nicht raus sie können jetzt nicht sagen ob ihr wenn das hier passiert?? möglich Komma da oben indas es dem Flussdiagramm überhaupt kein ProblemStruktogramm geht das einfach nicht ist nicht vorgesehendas Team Struktursind an diese Struktur gebunden das genau wie sie in Cgeschweifte Klammern habenund nicht aus Wassermann rauskommenweil ich ihn nicht verrate dass auch sie ein Autobefehl hatdannmüssen innerhalb der Schweifklammer fertig werden et cetera kommen Sie also mit dem was ich Ihnen erzähle nicht raus aus dem Schweifklammer das ist dann auchstrukturierte Programmierungdas heißt alles was ich als Flussdiagramm in mein Könnenist wahrscheinlich mehr als das was sie mit einem Filmprogramm können und als das was sie mit einem Struktogramm können sie erzwingt mehr Strukturgenauso ?? ?? Beistrich dass Struktogramm mehr Struktur als SohnSpaghetti Flussdiagrammeine Sache wollte nur sagen ich gerade vergessen ?? danndafür gibt's in bisschen mehrwas ist nicht eingebaut in das Flussdiagrammist das sie so sehen Sie können Befehle ausführen sie können verzweigenvergleiche machen verzweigenwas kann das Struktogrammwas ganz sehen mehr als schonDurchsagen an anKomfortfunktionalitätals es Flussdiagrammrichtig schleifen je machen Sie einfach zum Kasten und sagen dessen Schleifewenn sie das im Flussdiagrammhaben wollen postet sie das ?? Kästchenund vergleiche was auch immer sie haben keine fest vorgestellte Schleifegenau sind sie vor einem Vorhangauf das sozusagen vorgefertigtim Flussdiagrammkostet Sie dasKästchen?? es gibt einige VorteilevonC und von Struktogramm gegenüberFlussdiagrammMannes gezwungen diese Struktur zu bewahren man kann kein Spaghetti machenauch Nachteil sein kanndeshalb gibt's sind sie immer noch gottlobdoch Spaghetti machen kann wenn man willmanchmal ist es hilfreichund zweitens haben sieihre Komfortfunktionentäten sozusagen die Schleifen sind schon alle da im Flussdiagrammhaben sie nur das gifja oder neinund in C und im Struktogramm haben sie auch die ganzen Schleifen vor Unfallso das für die Vorbemerkung des großes N was an was ich gerne hättemanerst mal als FlussdiagrammderSitzauflagevöllig andersnunund zwar sollte mein Programm folgendes tun Programmsoll tunob sichfolgendestunwerdenes freizwanzig Zahlenvom Benutzer abzwanzig mal etwas Eintragzwanzig Zahlenvom Benutzer abund gibt dann die Summe aussolltenicht zu ein Drama seinalso ein totalunpraktischeremnie die viel machen können aber dass sie mal tatsächlich dann sollFlussdiagrammin Aktionauf mal müssendas auch gleich daneben stellen können wie sie den Struktogramm ausdreißig Zahlen ab Fragezeichenkommt zwanzigmal so Eingabe gibt eine Zahl ein?? dafür gab's ?? auch spezielle Symbole wie man das aufschreiben kann den Kästchenund zum Schluss soll die Summe bestimmt werden oder sogarTipp während dessen soll die Summe bestimmt werdenStelle fest in dem Video scheint etwas was ich vollkommen zu sein ein und Ausgabe ist zum Parallelogrammsieht eine Ausgabe aus Parallelogramm als sie am Start und Ende diese ovaleund sie haben wichtige Rechenoperationendas sind Rechteckeam vergleiche das ist die Rauteein und Ausgabe kommt zum Parallelogrammwasich vorhabeist das der Benutzerinfolge von Zahlen eingeben kann stellt sichfür den besten mal so vorals Kommandozeilenprogrammwärees Komma dass ein Programm wäre das der Benutzer sowas angemessenes wirklich funktioniert es ?? einfach eingeben kann zweiundvierziger sei das Beispielin dieser Form zwanzig ?? miteinander eingeben kann ohnedie Fehlermeldungnatürlich jetzt unser Schluss soll die Summe der Zahlen ausgegeben werdenalso zwanzig Malim Endeffektdieses Parallelogrammmit der Eingabe kommen natürlich man sich manchmal miteinander dass wir ganz schlimmes Musik in der Schleife aufgerufen werden und zum Schluss solches Parallelogramm mit der Ausgabe kommenals die ganz harte Lösung die mich aber nicht an die ganz harte Lösung ist sie mal zwanzigmalEingabeoder die Variable A wurde die Variable B zwanzig und so weiter dann den Zufluss aus A plus B plus C plus diesehr perverswardas Programm könnte nur zwanzig Eingaben verarbeitenund wenn ich es umstellen will auf ein zwanzig EingabenMusiker massiv ändern?? das in der Schleifesie haben Spaghetti die Spaghetti Spaghetti irgendwo ist die Eingabeeiner Zahlund sorgen Sie mit den Spaghetti dafür dass diese Eingabe zwanzigmal gemacht wirdbei dem ??und danachnach den zwanzig Mal kommt irgendwoeine Ausgabeder soll die Summe stehenerzählt also mit sie brauchen eine Variable in der sie mitzählenund solange wir diese Variabledieses Machernunter zwanzig ist oder kleiner gleich zwanzig ist beim siehe oben drinund wenn das immer der Falles gehen sie draußen geben Klammer aufdas ist der Gedankederzwei Bestandteileeinmal zwanzig Durchgängeund dann nebenbei noch was tun in den zwanzig DurchgängenKomma mit den zwanzig Durchgängen anirgendwo startet das ProgrammStartssojetzt solltewas tun zwanzig mal irgendwas tun das heißt ich muss mit zehnmal so ich muss mit Zähnen einer Variablendaraus erst eine Variable in der ich mitzählen kann ?? auch im Flussdiagrammhat man das dann gerne das Variablen eingeführt werden wie in Cdassdas System vorher weißwas den an Variablen auf es zukommtansonstenso endenwird auf null gesetzt Klammer zuim Flussdiagramm gerne mal was Konnotationund sie zu verwirrenmit dem Doppelpunkt leid für die Zuweisungins wenn sie verwirrt schreiben sie gleich null PCist das egalaber nicht wundern dagegen gerne was Programmiersprachendurcheinanderdas soll eine Zuweisung war die ganz harten Schreiben wahrscheinlich sogar dieses Jahreszuweisungauf diese Art null wird in dasen reingeschrieben in die Variable N das soll mein Zähler seinkönnte auch zeichnendas wahrscheinlich viel schöneren Besitz jetzt für Zählerich das echt programmieren würde in der Programmiersprachedurchaus sogar Zähler ausschreibenbei C übrigens keine Umlaute kann in C müssen Sie schreiben Zählerin Japan sie scharf dürfen sie schreiben Zähler oder auchsie wollen chinesischeBuchstabenamPC sind sie leideran dieStandard Buchstaben gebundendann?? Schützzählernennen wenn es echt programmieren würde ?? erstmals seit einem Jahr finde ich mitzählenwie häufig ich denndie Eingabe gemacht habe irgendwo hier muss die Eingabe kommen was möchte zwanzigmal machen diese Schleife möchte zwanzigmal durchlaufensechs null hundert zwanzig malandie meisten Handels angekommenalso zärtlich mit sich aber einZähler Z und den zähle ich jetzt mit C plus pluskönnen Sie schreiben inCund den Nachfolgesprachenhier ?? Flussdiagrammsondern so gerne klassisch undfassen sosind pascalartigrechne die nächsten aus der tus eins und schreibe das wieder Z drei mit dieser C plus plus schreiben ist für mich okayjetzt ein bisschen strikt an diesen Zähler nach dem ersten Durchgang um eins erhöhendas alles hin jetzt teste ich eben ob ich fertig bin diesem PlatzTest ob ich fertig bin Router ein Vergleichwenn ich nicht fertig binmache ich weiterObserverwenn ich fertig binkommt sonst was und das Ende des Programmsdass es schon wieder so von oben nach unten gedachtTalk Normprogrammierungich hab diese grobe Strukturim Hinterkopf was das Programm zu Schluss Bitumen mussdurch buchstabieren ich diese ganzen Details aus ?? spätervom großen zum kleinen arbeitenund dass sie es schon anfangen sich zu überlegenwie man den Nutzer einen Ausgabenwunderhübsch machen das ist die falsche Baustelle fand sie mit dem großen anerster der Gesamtplandamit doch alles zusammenpasstund dann arbeiten sie runter vom großen zum kleindannhier bei dem neinich möchte ja zwanzigmaldurchlaufenwo muss ich hinwo gehe ich wieder zurück was es Mainschleifewohin geht wieder zudermittlere jadie gehen nicht oben hin denn dann würden sie Erbsenzähler wieder auf Null setzen wenn die erste Schleife durchlaufenZ steht auf einsund das Essen EZ wieder auf Nullzu durchlaufen das hier setzen Cent auf eins der Umsetzen fiel es wieder auf null das ?? Endlosschleifeschlechte Ideedas Programm würde nicht ähm das soll's aber dochals ich oben nicht der es falschhier wenn ich da unten hin springen würde wenn ich ?? gar nicht das tun was ich die ganze Zeit machen wir den Schleifenkörpersozusagen will ich nicht ausführen ?? es muss hier seinnachder Initialisierungvon Znach dezentem ersten Wert gekriegt hat Zentrierunginitialnachdem ich den ersten Werte zugewiesen habe verzeihtihr muss das sein ??Dentalsokommt die spannende Frage was ist der Vergleichauf was was prüfe ich hierauf Ja oder Neinäheine Meinung ist ?? kleiner gleichzeitig muss es auch nicht überlegen das ist Stelle an der es garantiert schief geht ist selbst kleiner gleich zwanzigokay Meinung dazugenauso wie Sie es steht schon mal nicht im ersten Durchgangdie Stadt mit Z gleich Nullmachen wasZahl einlesenletzten Cent auf eins und dann prüfen Sie RZ kleiner gleich zwanzig ist ja ZS kleiner gleich zwanzig Jahredas Programm endet das gehtdaneben dann also muss der Vergleich andersrum sein oder sie tauschen ja und Nein aus das geht auch noch ?? machen den Vergleich andersrum Punkt mehrmals setzgrößer gleich zwanzigim ersten Durchgangandersrum nach dem ersten Durchgang kann ich mir das gut vorstellen nach dem ersten Durchgang ist gleich einsist nicht größer gleich zwanzig ich geh wieder zurück im zweiten Durchgangnach dem zweiten Durchgang SZvon eins auf zwei gesetztZS nicht größer ?? zwanzig machen weiter und so weiterder neunzehnte DurchgangZ wird auf zwanziggesetzteingar nicht mehrnach dem ersten Durchgang dezent auf eins gesetzt nach dem zweiten BZ auf zwei Gesetznach dem neunzehnten Durchgang BZ aufneunzehn gesetzt und das ist nicht größer gleich zwanzigalso mach man noch ein Durchgang den zwanzigsteneinundzwanzigstenstets auf zwanzig und dann ist es größer zwanzig ?? komm herausuffnach dem zwanzigsten Durchgang quittiert Z auf zwanzig Gesetz in der gleichen Stundegleich zwanzigwill ich nach dem zwanzigsten Durchgang hier ein Jahr kriegen und rausgehenmir es gibt einen höheren Grund warum ich nichtden Vergleich auf gleich mache warum ich ein großer gleichsetzees ist genau einfach aus Sicherheit also ob sie hier größer gleich schreiben oder gleichgleichenZedernvergleichauf gleicher machen macht keinen Unterschied für dieses Programmgewinnt jetzt anfangen irgendwas zu ändernist es sicherer wenn sie da größer gleich zwanzig haben wenn irgendwas schiefgeht stellt sich vor sie bauen irgendwie ein unsinnigerVersand so geändert dass es hier auf gleich prüftund sie ändern was in dem Programm und kommen hier zum Beispiel mit ZDF zweiundvierzigda anwürde lustig weitermachen ?? zwoundvierzig ist nicht das zwanzig ?? des Mathe dreiundvierzigYen vierzig fünfundvierzig Verluste weitermachenohne wenn und aber ist einfach sicherer mit dem größersichdefensive Programmierunganals es korrekt das Programm also ist es korrektauch korrekt wenn sie auf gleicher TestenwerdenKomma schief gehenwenn sie anfangen das Programm zu ändern ?? sichere ?? das größer gleich zu haben habe ich eine Chance weniger Endlosschleife vor mir zu habenso das ist die Schleife jetzt führte also diesen erstenerste Wolke hierzwanzigmal ausder zweite Wolkeeswar noch nicht alle so weit deshalb lass ich immer müssen weiter arbeiten an dieser Stelle füllen Sie die Wolken was muss jetzt in den Wolken passieren das ich zum Schlussdie Summeder zwanzig eingegebenen Zahlen hier ausgebenwenn sie so weit schon sind dass das alles fertig istalso Struktogramm ein wie sie dieses Dingals Vorprogramm auswas ich ?? Programm haben wie sie das als sehr gut ausbei dir was insgesamtin den verbleibenden achtzig Minuten hinkriegen das als C zu schreiben aberals Programme des ?? noch für alle wenn so weit sind Beistrichansonsten füllen sie hier mal die Wolken auswirklich auf dem Niveaudas ?? mit einzelnen Variablen arbeitet also nichts Hochtragensdrin?? richtig schöne Zuweisungenund Rechenoperationenso sieben Flussdiagramm??schon gemerkt dass meine Aufgabenstellungnicht ganz vollständig war mit diesen beiden Wolken kommen sie nicht hin und brauche die Summe auch nochganz leise um noch die Summe ein SchreibenalsmehrPlatz für die Initialisierungist Allgemeinzählerstartet bei nullmeine somit das groß Seine Summe startet bei null und dann wird auf summiertund zum Schluss gebe ich die Summe ausals ich es und Parallelogramman steter Ausgabeesdie Summe soll ausgegeben werden und dann endet das Programmso weit zu derWolke hierjetzt bleibt diese WolkeEingabeauf summierenzwanzigmaldiese Wolke hiergesagt wenn sie das schon habenSie weiter Struktogrammnach über das Programmsodiese obereFolge hier ?? ich möchte eine Zahleinlesenin das EingabeN von mir ausin eine neue Variableoder eine Zahl vom Benutzer schreibt ihn eine Variable namens inund was da eingegeben ist möchte ich jetzt auf dieses Fest drauf addierenalso jetztRechteck mit der Rechenoperationauf das esaddiere diese neue Zahldrauf in C würden sie schreiben es bloß gleichindas stünde in Cplötzlich so hinschreiben das es bisschen unprofessionell aus an der Flussdiagrammdann eben auf diese klassische Art eswird definiert als es groß N rechne die Summe aus aus der alten Summe und der neuen Zahlen schreibe das wieder in Summe reindas zwanzigmaldann ausgebenso sehen Flussdiagrammausganz weit runter brechenähm da steht nichts von mache zwanzigmal??oderso mir alle auf oder was ich alles da gesehen habe Services richtig runtergebrochenauf einzelne Variablen einzelne RechenoperationenSachen die danach auch in einer Zeilein C stehen können ??nicht irritieren lassen von der Variablen N aneine Variable ich Kohlean die nächste Zahl von Benutzern schreibe die in reinem ersten Mal natürlich zwei wird sich bei mir mit ihr die Zeit wird sich dirbeim nächsten Durchlaufoder eine Zahl vom Benutzer dreizehn natürlich bei mir Leerschritt die dreizehn in den ähm und hier wird also dreizehn addiert und so weiter das ist ähmjeden durchlaufen zwangsweise anderen Wertwenn sich danach eine lokale Variablegenau das es hat auch in dem durchlaufen das ähm SZ und SZ dass es die haben ja auch jeden durchlaufen anderen werdendannmit Cannabis in knapp Struktogramm oder Struktogramm ist lustigerweisetotal billigwarum mit der Struktogramm so billig was istwas mir hilftgenau beim Struktogramm ist die Schleife ja schon vor definiertich mahne die Schleife aufzwei schöne for-Schleifevorihrüber Zfortsetztwir starten hier machen das nachzumachen ?? Staatenmit Nullenund hören auf MärzneunzehnKomma zwanzig zu Schluss bei dieser leichte erster von eins bis zwanzig vermehrt davon als bis zwanzigStruktogrammund Cdie können direkt diese Schleifejetzt muss ich nur noch das machen was er in der Schleife machen wolltees nämlich die Datei hier?? ich muss mich nicht mehr um die Haushaltstätigkeitgibt Komma dass ich den Zweifel mit zehn und so weiter das kann das Ding von selbstmuss einfach noch die Eingabe habenBeistrich alsoN ist gleichEingabeso manches Mal aufden Freistil also nimmt es nicht über die Versicherer macheund die Summewird addiert und das ist meine Schleifejetzt muss ich nur noch dafür sorgendass ich meine Variablen vorher habeich braucheZ euch nicht sehr schöndas es ja mit der Schleife schon erledigt muss nur sagen dass diese Summemit am Anfang null sein soll und hier am Ende brauche ?? Ausgabevon dem esso sehr dass er Struktogramm aus deutlich einfacher war die Schleife im schon eingebaut ist ich kann kein Spieltänzchen mehr machendennich kenne zig vier von außen in die Schleife reinspringenoder aus der Schleife rausspringenkönnen Sie ICKomma einer könnte machen was sie wollen innerhalb der Schleife dass es jetzt verbotenaber ich ?? es eingebaut