[Playlisten] [Impressum und Datenschutzerklärung]

02A.1 Programmablaufplan, Flussdiagramm, Activity Diagram, Maximum bestimmen


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

im Prinzip sind solche FlussdiagrammeeignerProgrammiersprachees gibt tatsächlichoffizielle Varianten in den man dann Kringel malt und Kästchen malt und zum Schlussdas ganze als Programm ausgeführt werden kann grafische Programmiersprachenaber meist in diese Kringelbei dem ProgrammablaufplanFlussdiagramm dazu da um sichvorhernoch nachher klarzumachenwas denn das Programm eigentlich tutman mal des übliche Flussdiagrammdann hier aufbauen werdenwas die Elemente sind manchmal aufFlussdiagrammoder auch Programmablaufplanes fängt an mit einemabgerundetenlinks und rechts abgerundetenRechteckwahrscheinlich dann noch beginnen oder Staat reinder Anfang meines Programms es endetmit einem solchenabgerundeten Rechteckuntersteht ein Endeoder Stopp was ähnlichesan die üblichen Programme die dann aber auf Macrotronlaufendiedas System was die Heizung zu Hause regeltoder das System was die Sonnenkollektorennach führtdie haben vielleicht gar kein Ende laufen Endlosschleifealso nicht wundern wenn sie mal Programm sehen ohne Endedurchaus Sinn wenn der Rechnerlaufen soll und laufen soll und laufen soll ?? das er jemals runtergefahren wirddann ergibt es Sinn das Programm kein Ende hat das kommerzielle sollte ein Staat haben das wäre bisschen komisch Beistrich Roman schaltedann sollte schon klar sein wo's losgeht es sollte nicht mittendrin andas sind die zwei Elemente die man typischerweise hat wie gesagt Ende muss ich vorkommenund dann gibt es darinBlöcke mitAnweisungenwenn sie so ein Rechteckmalensagen Sie darin in dem Rechteck ?? two dieses zu jenesAnweisungenganz üblichdass irgendwelche Variablenirgendwelchen Variablen was zugewiesen wird und wirdirgendein Ausruf werden da schreibt man gerne definiertgleichaus der Historie dieserFlussdiagrammein C und den MATLAB Schwanz in nacktes gleich zu sagen Zuweisungin den Flussdiagramm schreibt man gern aus historischen Gründen so definiert gleichaberwas immer sonst noch den Hammerverzweigungendas hatten wir auch schon inC geseheninMATLAB hatte ich auch zumindest gesagteine Verzweigung Sie schreiben rein was geprüft werden soll Fragezeichenist X größer alsneundas Bedingung dann rein ist der Strom ausgeschaltetund es X größer als neun Juli neunzehn ist X größer als neunhaben sie dann reines irgendwie weiter ja wenn das der Fall ist darauswenn das nicht der Fall ist NeinKomma wenn noch andere Sachen machen je nachdem was passiert ??ein und Ausgaben Beistrich die zum Schluss was ausgebenPunkt das wird dann ein Trapezin dieser Formwirdin der vom Trapezman kann noch Pfeile dran mal um klarzumachenwie denn nundie Richtung hier istsowashier sein Trapez der Masse ein und Ausgabe gibtdie Zahl N aus oder gibt die Zeichenketteich bin fertig Punktdas sind so die GrundelementeBlöcke mit AnweisungenVerzweigungenein Ausgabe unddie KnobelPommeszu beenden zu starten und zu beendenan das ist die klassische Form von Flussdiagrammenes kann sein das ihnen hin und wieder eine andere Formunterkommt die nennt sich UML Aktivitätsdiagrammhabe ich imletzten ja gar nicht erwähntKommakann sein dass die doch mal so allmählich spannender wird für die für mich so anUML Aktivitätsdiagrammdas es sozusagenwenn sie den Schraubenzierschraubenziehernennen dann nimmt es Flussdiagrammeden Schraubenzieher Schraubendreher nennen dann in das Aktivitätsdiagrammdas ist der neuere Standard schlicht und ergreifend jemand sich ein Gruppe von Leuten hat sich an euren Standard ausgedachtsie dann insgesamt bisschen anders ausKomma kleineSpielereien hier beim Staatmal ich nun Kringel beim Stoppmariechenkringelim kleinen Kreis drum herumdie Anweisungenmalig inabgerundeteRechteckediese Verzweigungender schreibe ich gar nichts rein in die Verzweigungensondern schreibe an die?? an die Pfeile in eckigen Klammern dran wenn X größer ist als neun dann hier und wenn X nicht größer ist als neun dann hier schreibt man an diePfeile drankann sogar ?? man Sonderanweisunghatdirekt aus der Anweisung rausgehenaufgrund des Rechtecken der Anweisung eine solche direkt aus der Anweisung rausgehenBedingung dran schreibenam Rande notiert falls sie das irgendwo sehen nicht irritieren lassenes gibt für allestausend Standarddas hier ist der klassische Standardinsbesondere ?? Datenblätterkuckt von irgendwelchen Mark Controllerund Peripheriegerätenist gerne in dieser Form dort beschriebenwie die internen Abläufe sind erst wie dieser Zähler auf soundsoviel gesetzt und so lange wie dieses Bild nicht auf eins ist mir dieses oder jenes gedacht das wenn sie typischerweise Datenblätter sehenund auch gern in einer Dokumentation verwenden auch wenn es einen neuen Standard gibtdas am Rande bemerkt das es diesenSommer uns malein Beispiel angucken im FlussdiagrammProgrammieren auf Papier wenn sie wollenund folglich hätte ich gern ich hätte gerne ein FlussdiagrammstaatStopppositionbin und starte gleich normalen Ortes programmierte man Flussdiagrammesauber machen kannoder Beginn Ende sie wollenan sich möchte ich hier zu Beginnmehrere Variablenaufirgendwelche Werte setzenoder auch vom Benutzer einlesen da stehen irgendwelche Werte drin und soll etwas passierenPunkt hier möchte ich was ausgebensollte Klammer zumöchte ich ausgeben??auszugebenKomma das Lesen ausgebenhier soll irgendwaspassieren und zwar so das du der maximaleWert von den dreien ist wo ist das MaximumvonX und Yund Zer sucht sichden maximalenWert raus wenn zum Beispiel haben sechs ist gleich zwölf und Y ist gleich fünf und Z ist gleich minus drei ?? sollten gleich zwölf seinwenn sie habenKomma Basketballer haben das X gleich drei ist und Y ist gleich drei und Z ist gleichzweidann soll das Maximum drei seinder größte Wert der vorkommtdas mal als siebte Übung für Flussdiagrammwas machen Sie hiermit Verzweigungenund anderen Befehlen um dafür zu sorgendass hier tatsächlich in das Maximum steht es gegen die üblichen RechenoperationenKomma ganz rechnen muss ?? es reicht hierirgendwas mitVerzweigungen zu bauenohne zu rechnensicher schiefgegangenpausieren Verzweigungenein sodass sie unten indas Maximum vonX Y Z stehtokayalso man braucht drei vergleiche interessanterweisevorsichtig schreibst du ausgebenAusgabe in sein Trapezeine echte Aktionen echte Kommandos in so einemRechteck trennen ich mach drei vergleicheich guck erst mal ob X größer ist alsYFragezeichenwenn X größer ist als Y dann weiß ich das Y chancenlosist wenn überhauptirgendjemand das Maximum ist ein X oder Zoder weiter guckenund das passiertvom Platz her also gucken uns das an wenn das der Fall ist wenn X größer ist als Ybesonders chancenlosdann guck ich ob dennX oder Z wer von den beidenGewinnen wertsind Komma sehenalso vergleiche ich jetzt X undZFragezeichenmirso wenn ich hier jetzt mit jahraus Komma da untenheißt das X ist größer als Y Jahr X ist größer als Z ja okaydann hat X gewonnenich schreibe das fix in der Sucheschaffende untenschreibe es X in das Buch einundhabe den Teil erledigte Papierwird definiert als XDetails abgehaktKlammer zu nachvollziehenich weiß ja nicht was in X Y Z drin steht die Firma typischerweise dann einlesenund kämpfen den Sensordannist X größer als Ywenn das der Fall ist und wenn X größer ist als selbst weiß der Fallesweise sieht der größte Wert ich merke mir Xin dieser Variablen UDoppelpunkt Gleich aus historischen Gründennicht schlichtes gleichsoder Teil erledigte gibt sie noch zweimal neinden ?? muss man noch ??wenn X nicht größer ist als Yich da raus oder genauer gesagt wenn X kleiner gleich Y ist das ?? sagen ?? Nix kleiner gleich Y ist gehe ich ihr rausdieseAbfrage hier gibt NeinX ist kleiner gleich YDas heißt Xist mir egal ich muss Y und Z vergleichenich vergleicheYgrößer Z Fragezeichenist Y großes ZX ist dann aus dem Spielwenn Y größer ist als Zdann hat Y gewonnenalso merk ich mirO ist gleichYdas nochYY wird ?? nur zugewiesen von rechts nach linksda nicht durcheinander kommen ich nehme Y schreibe das in U rein damit hier wo ausgegeben wirdjeweilsder Sieger was ist wenn nichtwennX nichtsgrößer ist als Yalso allenfalls Y oder Z gewinnen kann und hier stelle ich festdas Ynicht größer ist als Z der RZ geworden nicht hier setzt sich alsowird definiert als Z nehmen Z schreibe das duso was ?? jetzt hier nochX istgrößer als YY kann nicht gewinnenMaximumaber es ist nicht X größer alsselbst sondern Z größer gleich X wenn ich hieraus gehe also AZ gewonnenZund in jedem von diesen drei Fällenvon diesen drei Fällen muss ich dann ja hierunten weitermachenmit der Ausgabeso sehr das Flussdiagrammhausist nicht ganz so gelungen ich für ?? normale Software vor die dashübsch gestalten kannwennX gleich Y ist ist dieser Vergleichfalsch X ist nicht größer als Ywaseinwas ist wenn X gleich Y istdann schlecht dieser Vergleich hier vielliegt es nicht größer zu sein gleich Y nicht die hierausneinich prüfejetzt zwischen Yund Zund gucke wer von den beiden gewinntdas Haut hinweisenX war ja in dem Spiel nicht wenn ich von den dreien wissen welcher der größte ist und zwei leicht erreichen Y im Spieler Musik??das ?? Komma sagen bei den Maximum sie die drei Zahlen haben dreizehn dreizehn zweiundvierzigdann ist die Maximalseitezwei wird sich keine Fragewenn sie haben dreizehn dreizehn sieben ist die maximale Zahl dreizehninteressiert mich ob es X war und es Y ?? maximaldreizehn?? ausinsofern muss ich mir nichtdie Gedanken ?? machen was passiert wenn X gleich Y ist Hauptsache ich guck mir ein von beiden weiter anPunktso wird will ich dieses Flussdiagrammübersetzenechten Kotsie Kot oderwird jedoch matlap oder C plus plus oder Java was auch immer daraus Komma nur zum Schluss zum Flussdiagrammist der anschauliche Darstellungwas denn passiertund zu Fuß hier mit dem Bleistift durchgehen kann und feststellen kann was passiertdannum irgendwelche Abläufe im Datenblattvon irgendwelchen Chips darzustellenwie die intern funktionieren der Timer geht an wenn dieses Bit gesetzt ist und wenn das Mitgesetzesdas sehr häufig solche Flussdiagrammedas ist keineProgrammiersprachedie man üblicherweisetatsächlich dann ausführen kann von Ausnahmen abgesehen es gibt wie gesagt solche Systeme die das ?? ausführentypischerweisemuss ich das jetzt hier dieserelativabstrakte sich in ein echtes Programm verwandelndas groß S klein Can was passiert als ich starte mit drei Variablen die auf irgendwas stehendie Werte müssten dann später im wahren Lebenvon Sensoren kommen oder was ähnlichesdas ansie dass das dann in der wahren Programmiersprachenatürlich ganz anders aussiehtdas Flussdiagramm sagtwas ich meineund ich hab jetzt das übersetzenin einem Programmiersprache?? zum Schluss auch verstanden wirdamguckendas wären meine X Y Zjetzt kommt der erste Vergleichwas schreiben Sie in C hierfür was muss ich tippen in zehn?? hier schreiben bei FKlammer aufX größer Y Klammer zu und Schweifklammerdas wird alles etwaslänger und weniger anschaulichist Klammer aufXgrößerYKlammer zudamit Leerzeichen das Signet herauskünftiges Entwicklungsystem macht automatisch der Leerzeichen ein?? und den Schweifklammer steht was passiere zwar was passierenmussKomma wenn sodas istdiese Verzweigungwird spannend jetzt steht hier neinund noch eine Verzweigungwas heißt das in Cder gerade diese Verzweigung hier geschrieben F nein es kommt diese Verzweigung was heißt dasdieses nach ?? mussten ja im Els stehen ja ist das was hinter dem if in der Schweifklammer kommt das Containerschiffhinter der Schweifklammer das Nein ist was in Diselsrein mussalso wichtige zweiterhier muss es noch ein Els geben für das Fund Schweifklammerder Form?? muss übervorsichtig so dadurchin dem Els brauche jetzt anscheinend diesen Vergleichist Y größer als setzt das kann man jetzt schonschreiben Sie also rein in das elfEls ist das Ygrößer alsZKatowice soirgendwas passieren müssenda drinso ist Y größer Z das istdieser Teilund sie sind dieser innere Teil brauch auch ein Elshat hier sein direktes Kommando aber der Brauch auch wiederdas Gegenteilwenn Y nicht größer als RZ also auch noch Meinels um das hier obenabzuhandelnda kommtElsSchweifklammerangestrebt wirdund hier unten habe ich noch in Vergleichwenn das erste funktionierthat das erste Hilfegehe ich in das nächste if rein X größer Zund habe auch wieder ein Els mit dem Neinvon der Stelle verstehen Sie warum man hin und wieder gerne mal zum Flussdiagramm sieht dass man weiß was da passiert?? vergessenes der Vergleich warX größer Z der VergleichXgrößerXbisZdas braucht auch ein Els das bisher nur die äußere Struktur der Programme bisher keine Arbeitgeleistet?? ich wirklich irgendwelche Kommandos ausgeführt bisher habe ich nur dieseVergleichungensprechen dann die Verzweigungensowie das aus was mit Mühe auf einen Bildschirmhabenin dieser Form sonst ?? etwas besser verdaulich das schon einer der vielen Gründe weshalb man Flussdiagramm nimmt und sprachunabhängigsind ein paar konkreten Sprache aus und man hateine Idee was sind insgesamt passiertsoin allen Fällenweil sich der Variablenwas zuund gebe aus dieser Ausgabe Fehlermann ich drücke mich da jetzt rausund schreibe hiermehr Punkt Kommentarzwei Striche Kommentarausgiebig immer noch nicht weg und später dann wieder was ausgibt auf dieser kleinen Platine könnte sowieso nichts aus die Musiker die Leuchtdiode dreimal leuchten lassenam Wirken späterer Lautsprecher anschließen Display wird auch dort ankommen Komma tatsächlich auf der Kleinpartien was ausgeben ?? bisherhat sie keine Chance es auszugeben auf der kleinen Gattin des weichen Merkersoll irgendwie ausgegeben werdendaskommt späterPunktjetzt muss ich aber trotzdem hier malwas tun vor ich muss diesem Buch etwas zuweisenwas muss ich ganz zu Beginn machen wenn Sie Programm sehenBeistrich zum Schluss wo soll ausgegebenwerdeneine Sache für ganz zu Beginndass es anders hätte was ich ihm erzählt habe sie müssen das ich dieses rudern hier oben schoneingeführthabendenn was ich möchte ist ja dass ich das jedes U setzte hier möchte ich sagen ?? ist gleich irgendwas ?? guckenX großes YpsilonX größer Z du X groß R klein X größer Z ich möchte sagen wo ist gleichwenn falsch X groß selbst X größer Z ich möchte sagen ?? ist gleich Xderan ihr möchte ich sagen muss gleich X jetzt mit diesem einfachen Gleich weilC will nicht diese Sorte an ZuweisungC will einfach das gleiche auch mit Webdesign Vergleich haben Zuweisungdamit ich hier sagen kann und soll irgendwas seinmuss wo vorher eingeführt seinin MATLAB durch das aber so schreiben?? die Variable einrichtenSkriptsprachedieser sehr freundlichC ist A SchrägstrichC wir wissenwas schon typisch variabel istund die muss vorher da seinEnde kommt ja mal zeigen was passiert ich ichstarte das einfach maldie sie hier die Feier Jus an den Feindähmgenau an derStelle der Gips in ihm was auf die FingerPunkt daskönne nicht verstehen?? insofern führen wir vor noch das einungeschicktes Abbrechen wertet sich dasganze ?? bisschen vereinfachen vielleichtan Gesetzes ist darauf irgend ein Fantasie wird weil U-Boote sowieso überschrieben Beistrich wenn ich da oben auch sososo hinschreiben egal welchen Wert ?? hat bitte noch ein Zufallswert stehendas so macheegal welchen Wert hat ich werde in jedem Fallegal was passiert wirklich erkannt werden reinschreibensofern es mir egal welche Werte in ??zu Beginn ist so und jetzt kommen die andernBrücheX ist größer als Yaber istX ist nicht größer als Z Access größer als Y aber X ist nicht größer als der des größer als Yaber ist nicht größer als setzt alsoGewicht Zin U reinstehenU ist gleichZso jetzt kommt der Fall dass X nicht größer ist als Yund Y größer ist als ZX ist nicht größer ?? nicht größer als Ygrößer als setzt also sagen Yund in einer Sack setztsage ich Yist gleichYund hier sage ich?? ist gleichZerstes also einmal grafisch und einmal jetzt hiereine echte reale Programmiersprachenur vorsichtig angucken was passiertsetzte man weg PunktZeile hier klickensound kuck dem System mal zu meiner Arbeitund hoffe das zum Schluss in der Variablen U sechs tausend vier hundert fünfunddreißig stehtsind ?? nebenbei eine WarnungVariableeingerichtetich weiß der was zu ?? und das System ist so intelligentzu erkennen dass ich mit dem ?? aber nie was machedas sieht aus als ob sie richtig wäre warum sollte ich den mit dem Arbeiten dem was zuweisen aber den Wert von ?? niemals verwendeninsoferneine hilfreiche Warnung typischerweise habe ich was falsch gemacht wenn das der Fall ist aberhier sehr genau was ich haben will ich möchte das was reinschreibenundvergesse dann den Wert sowas grausig habeandieses Semikolon später an was mich interessiert sind dieVariablenfinden Sie hier unterBuckhornwahrscheinlich über die beim Interview mit der Interviewunter beauty local Singer kann nochElend Sachen anguckenPunkt die local sind erst mal spannender sind dir meine lokalenVariablenund ich lerne gerade ich muss dieOptimierung ausschaltendas auch wirklich was passiert es ?? schon mal erzählt also gehen wir noch malhin ob JonesCompilerüberseeischenneundann macht die Maschine wirklich das was ich hierAnsageund versucht mich aber etwas unter den Teppich zu kehren was man vielleicht nicht brauchtwas man sichichwünsche euch bei Contergan ichKomma gar nicht mehrso da stehen jetzt die Werte über sie haben ?? U steht auf einem Fantasiewertich habe keinen Wert zugewiesenInitialisierungnennt sich das so zu Beginn des leicht zuweisenund Initialisierungsteht auf ein Fantasiewertist im allgemeinen keine gute Idee aber dieser Stelle kann er sicher sein das du im Laufe des Programms ein Wert erhalten wirdoder nicht auf ein Fantasiewelt stehtder erste Vergleiches X Größe Y ist X größer als YNeinwird hier alsonicht in das F gehen wenn alles mit rechten Dingen zugehtdas alles überspringenin das Els gehen Komma dass angenau da geht dareinin das Els jetzt vergleicht ?? Y größer ist als Z ist Y größer als Zoffensichtlichewie das hier reingehen nicht in dasder ambossosklein Ypsilontendierte hier bei der Schweifklammer aus diesemim Vorauszu der Schweifklammer da unten und ist dannan dieser Stelle angekommenPunkt anstelle dieser Stelle Komma damit du das ich den größten Wert sechs tausendund dreißig das müsste man jetzt eigentlich streng genommen noch ein an einer KombinationausprobierenKommaselbst durch gucken das wäreeinmal ein ganz billiges Programmmit mehreren verschachteltenhilfsübersetztaus derForm des Flussdiagrammsin sein Ceprogrammkann das C Programm noch ein bisschen hübscher machennundas größer ziehenin der strengen Formwar das erste grundsätzlich in der strengen Form der strengen Form kommt nach dem if eine Schweifklammernach dem Els eine Schweifklammergibt auch diverse Firmenden in ihren eigenen Programmierrichtlinienentstehen habenwenn wir etwas entwickeln kommt da eine Schweifklammernach dem Els und nach dem if ohne wenn und aberindiesen Situationenhier könnte man es verkürzenweil es doch sehr klar ist was passiert wenn der nur ein einziges Kommando stehtziemlich innig damit es machen sondern mit CD haben es mal sehen was damit gemeint ist wenn er nur ein einziges Kommando ist dann dürfen sie die Schweifklammer weglassenso sieht das dann ausdas sehen Sie hin und wieder ??ist gefährlichbesser nichtden Besitz ?? die zweite Zeile zu schreibenmit Einrückung sehen Sie sofort das passiert jetzt nicht einrücken sind sienicht was passiert wenn sie vor sieben scheint mir neue Zeile dazudann wird plötzlich falsch war das Els im Raum hängtnicht zu dem if gehört die eine Zeile gehört zu dem if und die nächstenicht mehr dazu wenn sich jede Zeile dazuschreibennach dem ElsColon was bedeutet das eigentlich nach dem Els sie noch diese Zeile zu schreibenalso wenn dieser Vergleich weist machen wir ungleich X und dann geht das Ding dahinmalund das ist total irritierendähmwenn sie wenn sie Leute richtigins Boxhorn jagen wollen schreiben Sie das so und kein Mensch merkt diesen Fehlerdass er auch nach dem ich in diese Zeile da unten gehtdeshalblieber lieber mit Schweifklammerkönnte soweit hier diese Schweifklammer weglassenein nach dem if insgesamt SF kommtdann wird es aber haarsträubendamlieber nichtschreiben Sie lieber die Schweifklammer wie gesagt das erzähl ich nur weil sie indiversen Programmenin diversen Quellcodes sowas sehen wurde nur eine Zeile nach dem if steht dann sind streng genommen keine Schweifklammer nötigdas ist aber gefährlichdie meisten Leute schreiben trotzdem sichert aber Schweifklammerdamit?? das erste Programmier