[Playlisten] [Impressum und Datenschutzerklärung]

02B.1 Operatoren, Präzedenz, Short-Circuit-Auswertung


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

eine Aufgabe die aus einer alten Klausur standdas eigentlichziemlich blöde und sofort mit Formelsammlung zu lösen ?? mit der Aufgabe bin ich alle Leute dazu zwingen dass sie mich mal nachdenkenwie sie innen drin funktioniertwie Ceher an längere Operationenauswertetund die andern Sprachen machen es genausoPunkt Rechnung vor Strichrechnungkönnte schon aus der Mathematik und bei Programmiersprachenist das richtigweit ausgeklügelteswas jetztzuerst gemacht werden jetzt was später gemacht wird nicht Punkt Rechnung vor Strichrechnung nur sondernüber Dutzend Stufen typischerweisevermeint ein Ausdruck hin hier A plus A mal drei äh Modulovier größerwar durchViecherundnichtwieoderaber gleich gleich ein Mensch vorlesen Beistrich wenn ich gerade mit eine schon die Aufgabe fast gelöstder Job für Anfängerinnen und Anfänger ist erst mal diesesfürchterlichkryptische Zeug dazu entschlüsselnA plus A Sternchen drei Prozent vier größer A Schrägstrich vier Kaufmannsund KaufmannsundAusrufezeichenBOrdens Ausrufezeichen?? AusrufezeichenBSchrägstrich A gleich gleich einähmwenn sie noch nie was von See gehört haben oder sein Nachfolger sprachen sie das ja so aus als obnun über die Tastatur gelaufen istdannund ich möchte das bisschen in den Kriegen was das bedeutet alles Operationenaber ebennicht Operation man sie so aus der Mathematik kenntAdditionsmodifikationsind auch die logischen Operationen dazwischen gestrickt und auch Rechenoperationendie in der Mathematik eher selten vorkommendoch für sich jetzt gucken sich das hier mal anund setzen Sie klammern das war eine Klausuraufgabensetzen sie Klammern sowie C diesen Ausdruck liest?? zum Beispiel Punkt Rechnung vor Strichrechnungwenn ich sowas hätte drei plusvier malfünf plussiebenin der normalen Mathematik dann würde ich so Klammern erst kommt diePunktrechnungund dann käme da vorne drei plus diese zwanzig die daraus kommen und dann kommtWasser Komma dreiundzwanzig unter hinten noch die sieben dazu so wird normale Mathematik Klammer aufwas wir zuerst ausgerechnetdie erste Klammer auf und die äußerste Klammer ist das was zuletzt ausgerechnet wirdkeine Klammern setzen in der Mathematikwie NC und allen anderen Programmiersprachenpassiert automatisch etwashier wird in der Mathematik nicht gerechnet drei plus vier mal fünfsondern es wird die Punktrechnung zuerst gemachtund analog dazupassiert was deutlich kommt et cetera sind C und allen anderen Sprachenalso setzen sich immer Klammern um klarzumachenwas die Standardreihenfolgeist etwas anders haben wollen als ich deine Reihenfolgedann können sie Klammern setzen im See und in der Mathematikdas wäre nicht die Standardreihenfolgejeweils in Klammern ausdrücklich hinschreibenpassiert was anderes wenn sie keine Klammern hinschreiben basieren sozusagen die automatischenklammernund die möchte ich gerne wissen ?? Stelle was in die automatischen Klammerichbin begeistert wie gut das geht dannaber sie kann tatsächlich so einen monströsen Ausdruck in das gif reinschreiben?? natürlich alle Leute das Programm lesen einschließlichsie selbst nach zwei Wochen total irritiert was das mal gewesen sein mag?? bitte nicht echt so programmierendass es zum Beispiel das CS wirklich fressen würde und einer schwachen Wildnis auch fressendannnur sieben sind Sache zwar nicht mehr verstehen aber es haben sie alle schon Klammern gesetzt und wüssten dann auch tatsächlichwas gemeint istamfang ich mal an am einfachsten ?? ganz oben in der Liste anzufangen die jetzt nicht dabei habe sehr klug was es alles ganz oben in der Liste was wird alles zuerst gemachthaben sobald wir die Punktrechnung laden die klassischen mathematischen Grundrechenartendie kommen sehr frühdas malund diese neue Rechner das Modul Lohnder Restweiter noch mal mit sowas haben die zehnModulovier was kommt darausGreg zwei?? das heißt zehn durch vier teilenschlechtes Beispiel ?? du dadurch ?? weiß auch weitaus kannman solche Beispiele folgenin der Rest es aber zwei Medizin durch vier teilen ist der Restzweigsollte Komma was anders machenwarenzehn Modulo fünf ist jetzt nicht mehr zwei sondernkorrekt sind nur fünf ist nullTeile zehn durch fünf der Rest ist nullaus der Moduloperatorgibt immer den Rest zurückschwieriger wird mit negativen Zahlenignorieren Komma was ist der Rest wenn ich negative Zahlen nehmesie so wichtig in der Praxisdannalso das sind beides Grundrechenartensozusagen die stehen auf derselben Stufeund die übliche Lösung ist fürOperation auf derselben Stufe das man von links anfängtund wieder Rechtsvorarbeiterdas kennen Sie aus der normalen Mathematikdrei plus vier minus fünfAbsatzdrei plus vier minus fünf plus sechsan aber sie von links nach rechtsdrei plus vier hundert ziehen sie die fünf ab und zum Schluss addieren sich die sechs dazuein wenn sie solcheFolge haben von Rechner Portionen auf derselben Stufe als Strichrechnungan dann rechnen sie nichtsKomma hier malfünf plus sechs und sieben das von der vier oder sodas wäre sehr überraschendaus Berechnungrationauf der gleichen Stufe typischerweise von links nach rechtsin C gibt'snur eine einzige Ausnahme davon unddies auch ihr esoterischman ganz anders Faustregel merkengleiche Stufe von links nach rechtsdas Ambiente gleiche Stufe von X nach rechts sowas passieren die Arm mal drei und dann nehmen wir Module ?? es ist nicht drei Modulo vier zuerstsondern ist Arm maldrei zuerstwarumwird das Plus jetzt gerade gar nicht an das geniale Spiel kommtrichtig das Plus ist ein Vorzeichen oder was sondern eine ganz normale StrichrechnungA plus irgendwasda halten sich alle Programmier sprachen an die Mathematik Punkt Rechnung vor Strichrechnung dieses Plus hier A plus irgendwas kommt definitiv später zum erstmals Amal drei und einige weitereungewöhnliche Punkt Rechenarterkannt Punkt indem im Symbol hat die kommt als nächsteandere Farbeübersichtlich bleibt soaber den Tempel schon maldas könnte man jetzt aber tatsächlich ausrechnenA soll eins sein also einmal drei der hierist drei Komma drei jetzt nämlich drei Modulo vierwas ist drei Modul vierimmerich nurZahlen Sohn sowie Modulo soundsoviel vor das erste soundso viel größer warals das wohl Nachricht Modulobilderdannwenn sie teilen drei durch viergibt das null Rest drei genau das kommt heraus der Rest drei?? sicher vorne dreiJahren nur schon die Anmerkung eigentlichmach ich das doch in der falschen Reihenfolge genau wenn sie anders als ich die Tabelle dabei haben sich vor Formelsammlungmit einer Übersicht der Bilder bei Hamm stellt sie Festid soll sie mit dem ?? anfangenmit den Operation die ganz ganz oben in der Tabelle stehenVorzeichenund die Saison als logisches Vorzeichenwas macht das Ausrufezeichendas Ausrufezeichensind Sie ?? die Nachfolgesprachensowie das sowas wie das logische Minusnicht genug Symbol auf der Tastaturdie Programmiersprachenandie haben komplett an das billigste Tastatur Ostern total lustige Symposien für all das gibt aber C kommt mit den StandardsTastaturmit der Standard Tastaturbelegungaus und irgendwo muss Sternsymbol er Besseres Ausrufezeichenfür logisch nichtB sollfalsch sein wenn es logisch nichtalso zuwas können wir ausrechnenmitdemdannweitere BaustellenA durch vier in der Tat das wird auch er ausgerechnetdas größer und das und ist schwächer als dasgeteilt also rechnen wir auf durch vier oder Rechner rechnen dadurch vier zuerst auseins durch vier ist immer eine große Überraschung einzig wir es dir zu rechnenals lange den ganzen Zahlen arbeiten das ist ständig ein Ärgernis auch für Profiprogrammierersolange den ganzen Zahlen arbeitenwir den ganzen Zahlen gerechnet eins durch vier ist nicht ein Viertel sondern eine ganze Zahlung deshalb nullVorsichtvor sich Vorsicht anbei den Gleitkomma Zahlen sagt Komma bisschen was die einfachste Lösung ist hier zu schreiben durch vier Punkt null eine dieser Zahlenzu einer Gleitkomma Zahl zu machenmehr dazu später aber sobald sie nurganze Zahlen haben ist sie striktdas Ergebnis wird auch wieder eine ganze Zahl seinmitdem überraschenden Ergebnis null dann eben einst durch vier gibt null?? wohl richtig gucken was er nochWarzen könnenaber wie gesagt wenn sie das streng nach Rezept machen nehmen Sie sich die Listeder ?? Präzedenz Listewelche Operation sind zuerst dran welches er später dran und gehen dann von oben nach unten durchich mach das jetzt sehr hemdsärmelighier weil ich die Liste nicht dabei haben und die auch nicht auswendig weißgenau das erst mal das Plus dieses größer Zeichen bindet schwächer als das Plus als mit garantiertes Plus erst ausgeführtwarenkann ich deine Klammer setzen hier wirddas zuerst ausgeführtsie eng allmählichich habe ?? zu rechnen ?? einsplus drei das macht vier Atollso sehen Sie in den nächsten Ausdruck die man jetzt ausrechnen kanndieses größerWingert stärker als das und das weiß man irgendwann auswendigam Unfall setzt man dann klammerte man sich nicht sicher istdiese Vergleichesindstärker als die diese logischen und und oder hast dannalso kann ich jetzt erst ?? dasgrößer machen zusammen jährlichdrei hundertso habe ich das größer vier größer null was kommt als aus der grünen Klammer rausin der Tat zu der Wahrheitswertwarvier ist größer als nullersehen Sie wie sie diese normalen Rechenoperationenmal plusdas sich ganze normaleRest hier Modulewie die durcheinandergehenmit logischen Operationen die steheneinfach so nebeneinanderund wir rechnen und rechnen rechneneine Zahl größer eine andere Zahlwird nicht eine Zahl wieder sondern wahr oder Falschunterzeichnermit dem wahr oder falsch weiterman in der Logik in der Mathematik erste Semester eben mit logischen Operationen gerechnet hatund dass es hierauf derselben auf dieselbe Art gemacht werden hopsen und Rechenoperationsind klassisch archäologischeOperationist der Maschineziemlich Sturz der rechnet mit den Zahlen vier und drei genauso wir einfach mit diesem ein Bildwahr oder falsch rechnet ?? eine Bit wird üblicherweise nicht als ein Bild gespeichert sondern verbraucht viel mehr Speicherplatz aberanschaulich das ein einziges Bit diese Branche variabel süß war und das ist Falschgesindelzur Variable ist nicht nur ein einziges Bit dawas wie mir ein informationsreinauf dieser Maschine eben sechzehn Bit auf einer Maschinen zwei dreißigdervordere Teilder Kenntnis noch bisschen was an Baustellendieser vergleiche noch richtigähmFarbendievergleichestehen in der Hierarchie oberhalbvon diesen logischen OperationenA gleich gleich eins und auch das S und C Phänomenwie dieses teilen zweier ganzer Zahlen durcheinanderdas muss man sich einmal ganz dick vielleicht auf die Formelsammlung schreiben Vorsicht da nicht zwei ganze Zahlen durcheinanderes passiert fürchterlichesund diese Geschichte ja auchgleich gleich ist der Vergleichdas schlichte Gleich ist die Zuweisungnehme das was rechts steht und schreibe das in diesem ?? wäre ein nehme die Zahl eins dar und schreibt ihn die Variable A Reiners das einfache Gleichund das gleich gleichist unterscheiden der Vergleichist aber gleich eins was ich in der Mathematik gerne immer geschrieben habe als A Fragezeichengleich eindie beiden auseinanderhaltenkomplett verschiedene Bedeutungwenn sie hier A gleich eins schreibender hintenheißt daswenn das da stünde A gleich einswürde das heißen nehme diesen Wert einstschreibenden in die VariableA reinund Perverserweisehat das was da rauskommtden Wert einsman würde jetzt ein logischesoder mit dem Wert eins machen dass sie tatsächlich alles durch Compiler wird sie warnen aber der wird das locker übersetzen obwohl es Blödsinn ist Vorsicht an der Stelle wenn sie Vergleich meinenschreiben sie auch in Vergleich und den sie ist das eben leichtist nicht in allen Sprachen soes gibt auch Sprachen wurden wir diese Zuweisungals Doppelpunkt Gleich zum Beispiel steht A Doppelpunkt gleich ein ?? definiert in der Mathematikhabe ich das Gleichheitszeichendass ein Vergleich Leerzeichen frei für diesen Vergleichwobei ich mich dann aber wenn andere Sprachen wie das mit dem Prozentund ?? Kaufmannsund es aucheinigen Spracherfinderzu kurz gewesenSie sehen stattdessen ?? desProzent gesagt ?? des Ausrufezeichenstudies Ausrufezeichen sie einsparen dass er die ausdrücklich an ?? not NO NT und stattdieses Doppel Kaufmannsund und Doppelsternstrikt sind die tatsächlich in anderen Sprachenenzund auch ausgeschriebene Buchstabensowie Zement sie aus müsse kryptischsowas ohnehin schon arg gleich gleich ein seitig Prüfer A gleich eins ist ja ?? ist gleich eins also ist das eher hinten Thrunwarund jetzt kommt das was ich im ersten Semester auch immer gepredigt habe logischund logisch oder wie sind die Klammer zu setzenkorrekt erst das und das logische ?? und ist sowas wie die Punktrechnungbei der Logikdas logische oder sowas wie die Strichrechnungbei der Logikerst kommt das logische undin der Formund dann kommt das logische oder ganz zum Schluss muss einiger keine Klammern setzen was er schon direkt in den wave Trinkwasserin Biesenthalin den Zentralschuhund zuzweimal warmit einem und zusammen ?? natürlich wieder zu?? oder zu macht nichts mehr kaputtder gesamte Ausdruckbleibtzu das heißt es ist ?? tatsächlichausgeführt der Körper von dem F wird tatsächlich ausgeführtals Jammer normal diese Mischung ausZahlen Operationeneinmal drei Modul vier blablablaund ganz harmlos in derselben Zeile als ob nichts wäre logischer Operationenund oderauch mit den selben RegelwerkPunkt Rechnung vor Strichrechnungdaslogische und ??ist diePunktrechnungund das logische Oder ist die Strichrechnungund dieses ?? Ausrufezeichendas logische nicht wie sowas in Verzeichnissesganz ganz wichtig Vorzeichenkommt zu aller erstansuche ich das sie auf gemalt habe ist das noch nicht hundertprozentigdas was der Rechner tutwas hätte das schon Beistrich dann es gibt so ein Kniff den habe ich inin den altenVorlesungen erwähnt?? wenn ich und undoder oder schreibe mit diesen doppelten Symbolen gibt es einen Kniff der hier noch greift es kommt zum Schluss trug raus aber es wirdnicht ganz so gemacht wie Sezier aufgeschrieben habegenaudas oder weiß das schon wieder dieser blaue Ausdruck hier auf der linken Seite zu es von der blaue Ausdruck war es dann ist das oder automatisch war das muss sicherlich noch angucken was rechts es?? sich short Circuit was also passiert wenn sie diesesSchrägstrich Schreiben ist das dass er gar nicht ausgerechnetwird auf der rechten Seite der guckt sich die niemals andie short Circuit Kurzschlussbeidieser Sorte Anrechnung ist es egal kommt das raus was sie mathematisch erwarten ??es wird ein spannender Sender späterwenn irgendwelche Funktionen aufgerufen werden?? Test ob du genug Speicher hassten den Unterschied auf deiner Seite ?? dazu auch noch was mit dem Speicher wenn du genug Speicher hast dessen persisch fantastischerZirkelspersischer Zirkelauswertungmacht die es nicht so dramatischist dann einfach nur schneller sie kriegen dasselbe Ergebnis schneller der Rechner guckt nicht nach ob A gleich eins ist eine weiße schon die linke Seite zwardann ist das oder auf jeden Fall warSinn der stecken so ganz fürchterlich Kniffe drindas ist gemeint mit ?? und und oder oder Schatz zur Auswertung?? es kann sein das von demoder oder hier zwei Striche nur die linke Seite ausgewertet wird und es rechnen mir die rechte Seite an Punkt wenn die linke Seite schon war ist mir Dany die rechte Seite anguckenist das bei dem und uns schon sorgen für das logische und was muss was ist eine Abkürzunggenau bei dem und unsdenlogischen und mit Shawzirkelsguckte ob der erste falsch ist voll Selbst wenn der erste falsch ist anders Punkt niemals wahr werden falsch undirgendwasfalsch und war falsch und falsch keine Chance ?? erste falsches ist und niemals war also der sich bei diesem ?? ?? Kaufmannsund dem verdoppelten und nur den linken an erst mal und stellt fest ob der falsches wenn der falschesignorierte den Rechten unserer sofort ist insgesamt falschwenn der linke war istdas der blöde muss man mehr machen in der Liste war es und irgendwas dann ganz falsch werden oder wahr werden abhängig von dem was rechts steht an der sich beide an der linken wardanndas er sodann die alltäglichen Freudender Programmiererinund des Programmierersdass diese Sache sich nicht ganz so verhalten wie in der Mathematik man gewöhnt sich allmählich dran aber es kostet eben dann doch bisschen Zeithatte das im Hinterkopf behalten zwei Punkte zum dran gewöhnen oder drei Punkte zum dran gewöhnenGanzzahl durch Ganzzahlwird eine ganz Zahlder Vergleichauf Gleichheit ist gleich gleich nicht GleichzeichenC ist die Zuweisung gleich gleichist der Vergleich auf Gleichheitgedacht vier sachenverbindliches?? zusammenja bergauf ?? Kaufmannsundist das und mit KurzschlussPunkt erst mal ob die linke Seite falsch istund der Strichstrichwar das oder mitKurzschlusszirkelskommt erst auf die linke Seite waralso vier Sachen zu merkenStellen an denen sie sich nicht so ganz so verhält wie dieMathematikes nahe legen würdenKomma zu dem Shawzeug bei dem oderwenn das erste falsche Sommer und wenn das erste falschesFeuerholzoder oderin die erste Falls es kommt auf den zweiten Anwender zweitewar ist es insgesamtwahr werdenwenn der zweite falsch istwird es insgesamt Fouls werdenoder ist es so das angucke muss ob der ersteWahl ist in erste weiß das wohl erledigt ernstes oder warme Wände erste falsches wurde zweiten ?? gucken und genau das was an zweiter Stelle stehtnetterweise auch ausoder mit short CircuitanbitweiseOperation kriegen wir auch noch bei den bitweisen Operation hat man dann hier nur ein und und ein oder stehenda kommen die vorund insbesondere in den Nachfolgesprachensowas wie da waren sie Sharp stehen diesen einfachen Striche auch dafürdass man ihm kein short Circuit macht dass man auf jeden Fall beide Seiten an Punktwas Ineffizient es aber für wenige Überraschungen sorgt amdenn wir sehen dieses Semester bei logischen Ausdrücken nur dieaus sobald sie wirklich wahr und falsch habensollten Sie eigentlich auch nur diese beiden hier haben das doppelte Kaufmannsund und den doppelten Strichkeine andernin C werden die einfachennur das Kaufmannsundund nur der Strich dann für bitweise Ration benutzt typischerweisesind es später