Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Grundlagen der Informatik, Professor Froitzheim, Vorlesung 02, Teil I, 16.10.2012
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 465 Zeilen
- elas Weger zum zum zum Geburtstag geschenkt hat vor ein paar Jahren es war eine Runde und mit der will ich Ihnen heute auch
- noch ein bisschen was anderes zeigen mit der Kamera vom iPad dann auch noch so dass all sehen also das Ding und
- auf ein Papier da können wir alle schon addieren ich habe dann gesagt so in der in der Informatiker Manier jetzt reduzieren wir mal das
- subtrahieren auf das komplim Bilden einfach aus ein positiven Zahl eine negative Zahl also ist das B das wir vom a abziehen wollen machen wir ein
- negatives B und addieren das ist ja rechenregel die wir schon alle auch kennen und nachdem wir addieren können nachdem wir Komplimente bilden können
- ich gehe mal wieder hier bisschen ins Bild ähm nachdem wir Komplimente bilden können können wir auch subtrahieren das ist ja schon
- malwie ein ein Erfolgserlebnis das Erfolgserlebnis ist mal Informatik ist eben oft ähm was schwieriges auf was einfaches was wir
- können zurückzuführen die Computer machen eben auch das wer wir dann später in der
- Rechnerarchitektur sehen wesentlichen einfache Operation die wir dann als Programmierer als GZ rthmen Designer zusammensetzen müssen damit es
- komplexere Operationen werden so als nächstes müssen wir über die Multiplikation sprechen das ist wieder so eine Aufgabe wir können
- addieren jetzt mssen wir gucken dass wir das multiplizieren aufs adieren zurückführen und der erste und einfachste Algorithmus ist wir nehmen
- den multiplikanten als die eine von den beiden Zahlen multiplizieren wollen und addieren die auf irgend so
- einen einen Speicherplatz den wir haben auf Register so lange drauf bis wir die Addition Multiplikator häufig Mal durchgeführt haben und jetzt
- schreib ich Z ich das hier mal in in der Programmiersprache schreib eine Pseudos Schreibweise
- aufgeschrieben also wir wir haben hier so eine so einen Platz wo wir uns das Ergebnis aufbewahren am Anfang müssen
- wir diesen Platz natürlich auf auf Null setzen und dann addieren wir den multiplikanten einmal da rein
- danach zählen wir den Multiplikator um eins herunter und wir haben ja einmal reinadiert und falls der Multiplikator noch größer als Null ist dann machen wir
- weiter mit Schritt 2 zählen die multiplikanten wieder einmal dazu jetzt haben wir in unserem kleinen kopfbeispiel schon zweimal
- addiert mit Z multipliziert und dann z wir die Multiplikator wieder runter wenn er zwei war ist jetzt Null wir können Feierabend machen wenn er größer als
- Null ist müssen wir wieder bei zwei weitermachen und drittes Mal dazu addieren wenn ich das hier auf meiner auf meiner Maschine machen
- willch jetzt versue ich mal hier ah jetzt darf ich irgendjemand von ih bitten mal rauszukommen das Ding zu
- halten wer ich das hier zeige wer ist denn so freundlich und hilft mir Prim müssten das Ding halten und aus dafür sorgen dass der Stecker hier nicht
- rausrutscht ne denn der das macht er leider manchmal genauso so dagegenhalten
- sind mal gucken mus da sehen also ich hier ist dieses dieses Ziffernfeld hier da gebe ich meine Eingabe das ist noch ein bisschen alt jetzt stellt sich hier
- z.B 42 habe ich jetzt hier eingetippt die Tasten hier sind jetzt unten so und ich will mit 42 hier oben ist das Ergebnis
- ja die ergebniszeile Ergebnis Register und hier ist die Zeile in der man sieht wie oft ich dann addiert habe so jetzt will ich
- mit 42 oder 41 nehmen wir mal multiplizieren so drehe ich einmal jetzt kann man hier oben ein sehen und hier die
- 42 ja ein hier eine 42 okay so und jetzt kommt die Arbeit ne ich habe zweimal einmal addiert jetzt zweite Mal und ich schaue hier oben fleißig in das
- Display wenn ich jetzt mit 11 multiplizieren würde dann wäre ich schon fast fertig äh falsche Richtung glaube ich also noch mal Register löschen
- so ah jetzt habe ich große durcheinander gemacht mal Löschen wieder durcheinander will ich denn
- jetzt nee so ich glaub das ist besser so einmal zweimal dreimal viermal fünfm sechsmal
- jetzt habe ich 42 mit 6 multipliziert und man kann sogar das Ergebnis da oben angucken 252 schnelles Kopfrechnen ja könn
- schtim und wenn ich jetzt größere Zahlen habe dann muss ich hier fleißiger drehen und so weiter bis ich eben dann so
- er zeigt mir jetzt hier oben rot dass ich ein stellenüberlauf hatte beim Drehen eigentlich hatte ich gehofft dass er einfach in die nächsten Zeile üpringt
- habe ich mit 122 hat jetzt nicht so geklappt wie ich mir das
- dachte ich glaub ich habe mit ichiert vielleicht mit 18 oder so mit7 das hat nicht ganz geklappt stehe an dieser Maschine vielleicht habe
- ich was falsch eingestellt aber ich will gleich noch das multiplizieren mit dieser Maschine zeigen da muss ich noch ein Augenblick
- ausholen das hier ist der ja s primitiv multiplizieralgorithmus der uns natürlich bei größeren Zahlen viel zu viel Arbeit macht wir müssen
- viel zu lange da an der Maschine drehen deshalb gibt es da auch noch einen einen anderen Ansatz und der andere Ansatz den führe
- ich jetzt einfach hier mal so vor damit sie nicht ewig hier stehen müssen der beinhaltet eine jetzt eine zusätzliche Operation die wir an dieser
- Maschine ausführen können wir können nämlich hier diese Schlitten hier oben rüber befördern sehen Sie das hier ich kann ih rüber bewegen was ich also
- wirklich mache ist wenn ich jetzt hier einmal wir wollen jetzt mal mit sag wir mal mit 123 m en diese 42 da die sind immer noch hier eingestellt an der
- Tastatur und jetzt 123 habe ich gesagt einmal zweimal dreimal jetzt habe ich die Zahl mit 42 mit 3 multipliziert und da oben in unser Register eingesetzt
- jetzt drehe ich eins nach rechts wenn ich jetzt 42 addiere addiere ich das zu den den zehnerstellen
- dazu oder andersrum formuliert ich kann mir auch vorstellen dass ich den unteren Teil eins nach links geschoben habe ich würde jetzt also 420 dazu addieren wenn
- ich einmal drehe ich drehe zweimal WE mit 123 multiplizieren wollen jetzt zeigt das hier oben dass wir schon mit 23 multipliziert haben und das hier ist
- schon das Resultat jetzt drehen wir noch eins rüber jetzt würde ich die 40 schon in die 100ter stellen dazu addieren wir
- wollen mit 123 multiplizieren ich drehe also noch einmal und die 123 haben wir da die die 42 haben da noch mal hinein
- addiert allerdings jetzt eigentlich schon 4200 ne denn die Zahl 123 zerlegen dann müssen wir ja 100 x 42
- ins Ergebnis reinstecken und äh 2 x 20 und 3 x 42 so und das haben wir jetzt
- hier mit diesem mit dieser Operation des links und rechts Bewegens von diesem ähm Registern da oben erledigt innen
- drin laufen hier irgendwelche zahnreiler die andere Zahnräder nach vorne drehen ja jedes Mal wenn ich hier drehe jetzt haben wir
- äh mit 1123 haben wir jetzt schon multipliziert jedes Mal wenn ich hier eine zahnrinn drehe hier an diesem Hebel drehe hier
- rechts danke schön dann werden hier mit dem zahnradmechanismus da da zuu adert das adierwerk hier ist rein mechanisch das kann man schon so ein paar her Jahre
- lang diese paskalsche Rechenmaschine g schon diese Operation des hin und her Bewegens die nennt man auf äh Informatiker in Informatiker sprech
- das ist eigentlich ein englisches Wort shiften to shift aber das haben man in Deutschland schon auf auf shiften als shift h zum Werbung gemacht gell so
- jetzt danke ich Ihnen Vorlesung vielleicht braucht noch mal das W sehen so
- also hallo hallo Computer
- was jetzt fertig gebracht manchmal muss man doch
- kämpfen okay mit etwas Überredung das ist das da unten der das ist e nicht die Herleitung äh ich habe BL jetzt hier aus aus vorführtechnischen
- Gründen die die Vorführung vorgezogen die Herleitung von dessen was wir machen ist dass wir in diesen
- Stellenwertsystem jetzt stellt es sich wieder als praktisch heraus die stellenwertsysteme mit der Basis multiplizieren können
- Zahl mit der Basis vom Stellenwertsystem ze Dezimalsystem Z inystem multiplizieren können indem wir das
- Schiften Schiften das habe ich ja eben hier auf dieser Maschine mit diesem Hebel gemacht man kann übrigens auch hier mechanisch Schiften
- so also Hand direk ohne dass man das shiften bedeutet ich verschieb das eine Zahl und eine Stelle nach links oder nach rechts wenn ich wie
- hier die Zahl nach links verschiebe also den Achter in die Zelle stecke den Vierer in die hier den zweier in die den ein die und hier hinten eine Null
- nachziehe mit dem Stellenwert mit Zeh in unserem Fall multipliziert genau wie wir das hier gemacht haben hier habe ich dann immer die
- Eingabe Stellenwert multipliziert indem ich den den Schlitten da oben die Register ein nach rechts
- geschoben und das führt uns zu der Multiplikation die sie wahscheinlich alle schon in der Schule kennengelernt haben wir haben da so ein Zähler i nenne
- ich den mal den setz mal auf eins und dann nehmen wir den multiplikanten mal die Stelle des Multiplikators also hier unten im
- Beispiel ich habe jetzt einfach gemacht wir wollen 1200 und 12 1214 mit 211 multiplizieren der Strich ist hier an der falschen Stelle
- wie sie schon sehen dann nehme ich also einmal 1214 schreib die hier hin aderen von multiplikant mal der Stelle des Multiplikator
- dann verschiebe ich den multiplikanten um ein nach links dann ist er nicht mehr 1214 sondern 12140 und dann schaue ich mir die die
- zweite Stelle an das i habe ich hier gezählt und ich habe festgestellt dass i immer noch kleiner ist als die Anzahl stellen die der Multiplikator hat adere
- ich das dazu springe ich hier wieder hoch das i ist jetzt auch wieder eins hochgezäht steht jetzt schon
- auf dre dann nehme ich die dritte Stelle des Multiplikators die ist jetzt hier 2 multipliziere das geschiftete das jetzt schon
- 121400 ist mit Z das ist noch ein bisschen schwierige Operation wenn es auf dem Papier macht wenn dann eine 7 oder eine neun steht macht's einfach
- mehr Arbeit und dann adere ichem ich hier fertig bin ja das adere ich dazu dann steht hier unten Resultat diese z
- 256154 ich habe hier noch mal in meinem Ebook eine andere Rechenmaschine eine elektromechanische Rechenmaschine die auf demselben Prinzip funktioniert wie
- das mechanische Ding hier die sind ein meinem Büro die habe ich geschenkt gekriegt von meinem Vater als ich ich 14 oder so ähnlich
- Taschenrechner haben damals noch ein paar000 Mark gekostet 9000 oder so ähnlich das wollte sich nicht gönnen für seinen Sohn
- ähm und dann hat er mir diese Maschine hier äh überarbeiten lassen und und geschenkt von so ein dmaschinenmechanik die
- Mechanik in Ordnung bringen lassen ich war damals etwas enttäuscht ich hätte gerne lieber SAS elektronisches gehabt aber
- ähm heutzutage bin ich eigentlich ziemlich stolz auf dieses auf dieses mechanische Teil obwohl mir da die eine Taste irgendwann mal verloren gegangen
- ist beim beim Hausaufgaben machen so ist mit die zerbrochen nicht so besonders tragbar gewesen aber die wummert ganz vorzüglich
- W man mit arbeitet man kann hier in diesem eBook sich auch die einzelnen Register
- anschauen hier Pfeile dahin hier steht hier im Tastenfeld steht der multiplikant da oben der Multiplikator
- man muss nicht drehen sondern man kann hier auf die Tasten drücken weil das elektrisch ist das Ding äh man kann also eigentlich ein bisschen schneller
- arbeiten als nächstes möchte ich jetzt noch Ihnen zeigen dass diese diese Art wie wir hier wir Menschen das auf dem Papier machen dass
- die Computer sogar noch einfacher und noch bequemer zu erledigen geht wenn man binär rechnet aber davor noch einen kleinen
- Trick wir haben ja hier oben gesehen eine der Sachen die ein bisschen kompliziert waren zumindest so wie ich hier aufgeschrieben habe in diesem
- diesem Algorithmus hier mit den fünf Schritten dieses i hochzählen und dann die IT Stelle des Multiplikators rausfischen das braucht gar nicht so
- kompliziert können auch mit Trick das ist ein Trick den Multiplikator in jedem Schritt eine Stelle nach rechts schieben wenn wir
- eine Zahl Stelle nach rechts schieben dann fällt die hinterste Stelle weg die hinterste Stelle das ist die die wir gerade aufgebraucht haben wir schreiben
- also hier das verschieedbenes multiplikanten dem Stellenwert und statt dieser Geschichte mit dem i schreiben wir hierhin Multiplikator eins nach
- rechts schie und dann nehmen wir hier nicht die IT Stelle des Multiplikators sondern immer die hinterste noch ch übrig geblieben Stelle des
- Multiplikators im Schritt 2 die letzte Stelle verwenden und hier im Schritt 4 immer den Multiplikator den roten eins nach rechts schieben wenn wir das machen
- und im Binärsystem rechnen dann wird's ganz einfach habe ich jetzt hier oben hingeschrieben das links schieben ist
- die Multiplikation mit dem Stellenwert mit zwei nach links Schi und das zweite was noch einfacher wird ja wir wollen auch den in jedem Schritt
- den den Multiplikator also multiplikanten Schiften wir eins nach links und den Multiplikator schien wir eins nach rechts das sind zwei
- shiftoperationen und dann gucken wir die letzte Stelle an von unserem Multiplikator wenn da eine Null steht dann können wir Null addieren also
- gar nichts machen und wenn der ein steht dann müssen wir den multiplikanten zum Ergebnis dazu zählen n addieren da brauchen wir nicht
- ir Kopf zu multiplizieren zehersystem machen sondern wiren das einfach nur dazu oder auch nicht und das steht jetzt hier in diesem
- Verfahren und das Verfahren das ist schon recht flink und ziemlich einfach also ich erzähle jetzt mal hier ganz am Anfang setzen wir unser Ergebnis auf
- Null das entspricht hier meiner Operation meiner Löschoperation hier mit diesen beiden kleinen Hebeln mit die Register auf Null
- sit das ja i setze ich auch noch mal auf Null braucht eigentlich gar nicht überflüssig D Code sozusagen und hier das A da stecke ich den
- multiplikanten hinein und B den Multiplikator ich will es jetzt einfach ein bisschen kompakter schreiben jedes Mal Multiplikator Multiplikator
- schreiben also falls die letzte Stelle von B 1 ist zähle ich das a zum Ergebnis dazu also Bilde Ergebnis + A und
- schreibt es wieder ins Ergebnis hinein und dann schiebe ich das a eins nach links das B eins nach rechts wenn ich das B1 nach rechts schiebe fällt die
- hinterste Stelle raus und jetzt steht dann die äh 2 1 Stelle schon ganz falls das B noch größer als ull ist
- dieser Test ist jetzt auch schön einfach mache ich mit zwei weiter und das probieren wir jetzt hier unten im Beispiel wir haben 12 x 5 ich habe jetzt
- hier in das A 12 reingeschrieben 8 + 4 + 0 + 0 und in das B da steht die fün drin ein keine zwei und
- VI jetzt schaue ich mir die hinterste Stelle von B an wir sind jetzt hier ersten Schritt mit dem reinschreiben hab wir erledigt schau ich mir die hinterste
- Stelle von B an das ist das hier falls die letzte Stelle von B1 ist dann adere ich das a zum Ergebnis dazu also Ergebnis Plus+ a gibt neues Ergebnis s
- aber noch nicht fertig danach schite ich das a eins nach links sehen hier wird eine Null nachgezogen und hier beim Schift nach
- rechts von B da wird von links eine Null nachgezogen Mal wird ja eine Stelle frei und kann man der Maschine sagen was sie D nachziehen soll wir ziehen hier Null
- nach von rechts und jetzt schauen wir die recheste Stelle von unseremon unser Multi impikator an und stellen fest die ist
- null und dann brauchen wir angenehmerweise gar nichts zu machen Null addieren ist besonders einfach das haben wir hier gemacht so
- jetzt machen wir drittens wieder ein Schift nach links und vitens wieder Schift nach rechts jetzt steht hier hinten die ein drin und hier haben wir
- schon 12 4 drin stehen jetzt addieren wir noch schauen die letzte Stelle an diese da die ein
- die ist wieder größer Null also addieren wir das hier was hier links steht noch mal zum Ergebnis dazu haben wir jetzt hier erledigt jetzt
- gucken wir mal jetzt machen wir dies beiden shifts Schift noch eins nach links Schiften eins nach rechts und jetzt sind wir hier unten bei F und
- testen das B und das ist jetzt nicht mehr echt größer als 0 das ist ist gleich 0 also wir hier fertig jetzt können wir noch das Ergebnis hier
- anschauen da sehen wir dann hier steht 32 16 + 12 das sind 60 das Ergebnis was ein nicht haben
- wollten gut gewonnen jetzt können wir addieren subtrahieren und multiplizieren was bleibt doch übrig
- das dividieren und da können wir wieder hierher zurückgehen zu meiner zu meiner Maschine
- m das habe ich jetzt nicht hier auf den Folien drauf sie haben selber wahrscheinlich schon mal in der Schule auf dem Papier gemacht und subtrahieren
- das dividieren geht im Wesentlichen so dass wir schauen immer wieder schauen äh wie häufig geht denn der Visor in den Dividenden hinein
- da könnten wir so wie beim primitiven Ansatz ähm vom dividieren äh vom multiplizieren hier mit drehen am Rad immer wieder abziehen also den
- Divisor vom Dividenden abziehen und gucken wie häufig der da reingeht bei 10 und 5 ist das noch relativ überschaubar geht eben
- zweimal rein wir können bevor die Zahl negativ wird von dem Dividenden einmal die fünf abziehen und dann noch mal die fünf
- abziehen wenn dividend 11 ist könen wir auch zweimal abziehen wenn er 15 ist können wir schon dreimal abziehen man kann aber auch
- wieder wie wir das mit dem Schiften gemacht haben die Zahl also ganz nach ganz nach rechts das hier schieben
- dann hier eine Zahl eingeben äh den Dividenden was ja hier oben in dem Register steht dann löschen wir hier
- wieder die Eingabe dann tippen wir hier den Divisor ein und jetzt hilft uns diese Maschine
- netterweise noch ein bisschen wir subtrahieren mit dem Rad dann den Divisor wieder vom Dividenden und die Maschine hört automatisch auf blockiert
- wenn da was negativ wird und dann drehen wir einmal zurück und dann ist nur ähm die ja der Divisor ganz links vom
- Dividenden abgezogen und dann muss man wieder hier zurückfahren dasselbe wieder machen also maximal ähm neun mal drehen und dann passiert wieder dieser
- äh das Negativ werden das mit der Maschine hier rückgängig machen und dann drehen wir wieder und wieder und wieder und dann
- haben wir maximal Stellen Anzahl mal da gedreht das ja dauert schon eine
- ganze Weile bis wir das erledigt haben ähnlich wie die Multiplikation eben aus vielen Additionen besteht es dauert also im Prinzip schon ein bisschen aber
- maimal äh ist logarithmisch häufig was wir da machen W ich jetzt hier gesagt habe
- logarithmisch häufig dann dann deutet das schon drauf hin dass wir irgendwann mal feststellen unsere Algorithmen
- betrachten müssen wie häufig denn da welche Schritte ausgeführt werden bis wir
- Ergebnis aber dann die bei der primitiven Division bei der primitiven addition den Schritt paar hundert paar Taus mal ausführen müssen ist das nicht
- so schön wie wenn wir es nur 10 20 30 Mal äh äh logarithmisch häufig ausführen men aber bei solchen Betrachtung der der Häufigkeit des Ausführens der
- Komplexität von algorithme da kommen wir dann später vorbei ich habe jetzt ganz ich glaub letzte Woche ganz am Anfang habe
- ich mal gesagt dass die Computer Rechner auf Deutsch aber auf Englisch heißt es auch rechnen compute ähm heutzutage eigentlich nur selten benutzt
- werden um wirklich zu rechnen heutzutage werden die viel mehr benutzt meen das unten drunter eine ganze Menge Rechnung stattfindet ähm das steht auf dem
- anderen Blatt aber die Daten die wir heutzutage verarbeiten na ja das sind wesentlichen andere Informationen Texte Bilder Ton und so
- weiter und um diese anderen in Anführungszeichen äh Daten zu repräsentieren brauchen wir natürlich auch irgendeine Form ich habe
- hier zum Thema Datentypen nur ganz wenige einfache äh Daten die ich repräsentieren möchte Objekte unserer Verarbeitung die
- ich irgendwie repräsentieren muss wir haben dann noch mal ein Kapitel Medien später in der Vorlesung ich nehme mal an das Dezember oder Anfang Januar
- stattfindet dieser Teil Teil Medien wo wir noch mal über datenrepräsentation von Bildern und von Audio und so weiter hier möchte ich zunächst mal einfach
- anfangen zum Thema Datentypen und zu verprechen wie man Buchstaben speichert
- Buchstaben das ist schon ein abstraktes Konzept was wir Menschen über über hunderte von Jahren gebildet haben wir repräsentieren unsere
- Sprache wir Menschen mit Symbolen das sind hängt auch von der Sprache ab
- Land unterschiedlich komplexe Symbole sie haben alle schon chinesischen Zeichen gehen da stecken in einem Symbol sowas wie Silben drin dafür haben die
- auch viele viele tausend Schriftzeichen diese Schriftzeichen alle zu lernen das ist ein bisschen umständlich die in der Schule
- beschäftigen die sich jahrelang mit lernen und ein gebildeter Mensch kann da so 8000 Zeichen und wenige gebildete Menschen können nur 1usend oder so
- ähnlich bezeichen für unsere Sprachen haben sich mal diese lateinischen Schriften
- herusgebildet bei denen s wir mal laute stimmt nicht ganz aber mal vereinfachen sag wir laute ähm als einzelne Zeichen
- dargestellt also da haben wir das A und das B und das und das C und das D und das Z und so weiter ähm wobei wir
- das die die Konsonanten gar nicht ohne ein Vokal richtig sprechen können in der Schule fängt man ja auch dann an mit das da als als B zu gustabieren nicht als B
- aber bei den B sttick natürlich auch in wirktigkeit schon Lokal ein bisschen drin also wir [Musik]
- repräsentieren sehr kleine Einheiten unserer Sprache mit einzelnen Zeichen die Buchstaben und ich habe hier
- ein paar hingeschrieben die Großbuchstaben und die
- Kleinbuchstaben damit wir das Schreiben können haben wir Menschen auch noch und darüber werden wir auch noch mal sprechen im anderen
- Kapitel in unserer Sprache na ja solche Symbole uns ausgedacht glüfen für diese für diese Buchstaben für die einzelnen Buchstaben
- aus denen unsere Worte zusammengesetzt sind wir brauchen W schreiben wollen neben den Buchstaben noch ein paar
- weitere solche Zeichen die wir aufs Papier bringen können ein Punkt ein Komma Ausrufezeichen Fragezeichen ja und
- da gibt's noch ein paar mehr plus minus mal und und und und wir gucken einfach mal Tastatur an was so alles sich draufreibt und dann brauchen wir noch
- die Ziffern von 0 bis 9 entsprechend unserem Zahlsystem Dezimalsystem dafür haben wir jetzt auch nicht diese
- Ziffern wenn wir andere Zahlsysteme h hten wir wahrscheinlich als 16 System mit dem wir tlich rechnen würden hätten wir wahrscheinlich für diese weiteren
- von 10 bis 15 auch noch andere Zeichen entwickelt die wir jetzt wir nicht entwickelt haben so jetzt haben wir diese diese
- Glyphen entwickelt und die Buchdrucker vor über 500 Jahren haben Methoden gefunden äh Gutenberg äh wie man W man diese Laute die wir haben mit
- einzelnen mechanischen Teilen repräsentiert die man dit Farbe anschmieren kann und und Papier drauf legen kann Papier drauf pressen kann und
- so weiter für unsere Computer wenn wir diese Zeichen elektronisch darstellen wollen bilden wir Sie zunächst mal auf Zahlen
- ab und diese Zahlen die repräsentieren wir dann wie hier gezeigt im Binärsystem
- wenn wir also das große a darstellen wollen nicht auf dem Papier sondern elektronisch hier innen hier innen drin im
- Speicher die näh darstellen wollen nehmen wir den Code von dem großen a das ist 65 hexadezimal 41 65 bilden diese Zahl auf auf eine
- Binärzahl ab 0 1000 001 8 Bit und speichern das hier drin ab in
- so Speicherplatz der der genügend groß ist für 8 Bit einbeit die 66 wird dann das große B und die 97 ist das kleine a und wir
- brauchen noch ein besonderes Zeichen das ist die Leertaste der Zwischenraum zwischen zwei Worten der Zwischenraum zwischen zwei Worten das blank
- dies unsichtbare Zeichen space blank genannt oder wie jetzt hier eben Zwischenraum der hat auch so einen so einen Code so ein asky Code und das ist
- 32 hexdezimal ist das 20 all diese sonderzeichnung natürlich auch irgendwelche Werte
- und hat das Add das ist glaube ich 64 MSS do mal nachgucken ich glaube mich zu erinnern dass es 64
- ist für den Rest haben wir auch irgendwche Codes und dafür gibt's Tabellen die aski Tabelle und so weiter wo man das nachschauen kann was wir noch
- nicht verarztet haben sind die esös und üs da wollen wir uns dann zum anderen Zeitpunkt mal um dieses Durcheinander kümmern
- nämlich nicht nur so dass wir die es zuarzten müssen sondern kommommen dann die Dänen und haben spezielle Buchstaben und die Schweden und die Franzosen und
- und so weiter und so weiter bis dann all diese speziellen Buchstaben zusammengesammelt sind kommen auch irgendwie so in Europa in der
- Größenordnung von 350 Stück oder so ählich wenn man diese unsichtbaren Zeichen die hier alle
- zusammenzählt es gibt noch ein weiter unsichtbare Zeichen die uns im Laufe der Vorlesung gerade beim Programmieren im wieder begegnet werden das sind die
- Steuerzeichen für die Schreibmaschine z.B ein zeilenvorlauf haben wollen wer von ihn hat schon mal Schreibmaschine benutzt es gibt doch noch welche ich
- glaube wenn ich in 10 Jahren diese Frage in der Vorlesung stelle dann wird sich gar kein Finger mehr heben s sie werden nur fragen was
- Schreibmaschine auf der Schreibmaschine wenn man die benutzt da gibt ja auch auch wenn man das Papier vorwärts bringen will in die nächste Zeile
- schreiben will auf der elektrischen gibt's dann eine spezielle Taste ne und dann passiert irgendwie höllisch viel ne der dieser Schlitten da zack geht rüber
- und das Rad diese Walze wird ein bisschen weiter gedreht na ja auf der alten mechanischen da gibt's
- dann einen mechanischen Hebel D bewegt man so Ratsch und dann tut sichas ähnliches das ist dieses CR carriage return carriage ist das Ding
- was da beim Schreiben sich bewegt und das Papier an den Typen vorbeizieht die man da benutzt mit so hier in unserem Zusammenhang bei den Datentypen brauchen
- wir also eine Speicherzelle mit sagen wir mal 8 Bit so wie es hier gemacht ist würden s wir auch noch ausreichen aber s ist
- keine schöne informati a bit und die nennen wir jetzt auch in Zukunft ein Bit diese und da können wir so ein Buchstaben
- reinstecken und damit wir eine Bezeichnung für diesen Sachverhalt Buchstaben haben nennen wir das character das Ding c h A r das
- werden wir dann beim Programmieren beim Varianten vereinbachen vielle brauch ich schreibbe
- jetzt mal hier so hin character dieses diese vier buchstabenkbination die sagt ich sag mal die Fuß unserem Computer das was wir jetzt diese
- Datentyp den wir jetzt haben wollen das soll einen Platz für ein Buchstaben bieten das soll ein Buchstaben sein und wir
- denken uns noch irgendein Namen aus steht hier in spitzen Klammern damit klar wird dass wir der Namen dass wir irgendwas einsetzen können spit weg und
- das Name weg dann setzen wir un ein fitzipz oder oder ein Buchstabe oder sonst was Namen die es ausdenken K im Speicher rosa sozusagen ist es dann
- denen acht wir bereit gelegt da können wir Buchstaben dran agen wenn wir mehrere Buchstaben hintereinander haben wollen
- Zeichenketten die sind auch einzeln aus Buchstaben zusammengesetzt hier habe ich z.B Zeichen Kelte Auto Bergakademie den Klaus
- Dieter ich schreib hin ich will Daten Datentyp vom aus charactern haben ich leer Namen und ich sage wie viel Buchstaben denn maximal in dieser
- Zeichenkette Platz haben soll deshalb mit eckigen Klammern hier n das n muss ich auch irgendwie ersetzen da muss ich dann eine 5 oder eine 7 oder
- eine 32 eintragen wenn ich da zwischen den eckigen Klammern 32 eintrage dann habe ich eine Zeichenkette
- definiert die Platz für maximal 32 Buchstaben bildet das maximal ist übrigens eine ein wichtiges zusatzwort
- hier das maximal bedeutet dass ich in dieser Zeichenkette die ich hier vereinbart habe 1 2 3 4 5 6
- 7 8 9 10 11 12 13 14 14 habe ich hier angefordert an Speicherzellen weit für mein für mein String aber die habe ich nicht immer
- voll nur der Klaus Dieter sind ja nur 12 stellen das Spank hier in der Mitte zählt auch dafür brauchen wir auch bisschen
- Platz sind n 12 Stellen aber das Ding ist eigentlich 14 lang brauchen also noch eine weitere Regel wie wir das bearbeiten wollen wie
- wir uns merken wollen wie viele Buchstaben denn in soer Zeichenkette aktuell drin
- stehen wir wollen sag ein vorzeichenorzeit es Ende der Zeichenkette markieren wollen die Länge von so einer Zeichenkette die Länge von
- dem String ist die Anzahl der Buchstaben die da drin stehen also die Länge von Auto wä also vier die Länge vom klausdeter ist
- 12 die Länge von der bergimier müss jetzt mal zählen das NZT unschst mal konzeptuell rein praktisch
- wenn wir uns merken herauskriegen wollen wie lang ist dieses Ding hier das was da drin steht wir wissen wir haben 14 14 Beit maximal 14 Zeichen aber wir wissen
- nicht wie viele aktuell drin stehen da brauchen wir noch eine weitere Vereinbarung und diese Vereinbarung die ist kann z.B sein dass hinter dem
- letzten Zeichen noch ein weiteres weiteres Feld benutzt wird und da steht dann eine endemarkierung die endemarkierung muss
- natürlich ein Zeichen sein das sonst nicht in der Sprache vorkommt und da fällt einem wenn das A65 ist und das hier 97 ist und das hier 32
- ist da fällt einem z.B die Null ein als letztes ja als Buchstabe benutzt wird in der Sprache einfach dafür sorgen dass Nuller
- nicht benutzt wird dann schreiben wir hier in dieses Feld das erste freie schreiben wir eine Nuller rein und in Zukunft wenn wir das Ding bearbeiten
- merkt wir uns wenn wir hier durchgehen unds K sehen größer als Null denken uns das dring ist noch nicht zu Ende gehen wir hier durch das R ist auch größer als
- n dring ist noch nicht zu Ende und erst hier wenn der Null kommt ist das dring zu Ende wir könnten übrigens auch noch was anderes machen wir könnten hier
- vorne dran noch uns ein weiteres Zeichen hinzudenken da schreiben wir eine Zahl rein und die Zahl das das Längenfeld steht die Länge hier was da drin steht
- das können wir uns auch überlegen ich habe jetzt hier für diese für diese Bemerkung wie lange es uns dring ganze Menge Zeit
- investiert und sie werden dann bei der stringverarbeitung selber wenn man das später wenn Sie es wenn Sie es benutzen müssen ähm feststellen dass es leider
- Arbeit macht und dass die Sache mit der Länge von dem String etwas ist was das was das Programmieren nicht einfach Macht kommen wir dann
- immer mal wieder vorbei ich habe hier so viel Zeit investiert wen man es einfach braucht kzu machen dass das hier nur der
- maximale Platz ist Zeichen und der aktuell benutzte Platz jetzt muss ich das irgendwie anders merken
- ja ja es gibt doch es gibt do andere Codierung das appstick ist sowas eine andere Abbildung eine andere also die Frage
- war warum muss das an 55 sein und die Antwort ist es muss zunächst mal nicht wir hätten auch bei
- eins anfangen können solche Codes kann man sich überlegen a ein und dass das das B 2 ist
- muss ja auch nicht das große sein kann das kleine a die ein sein und und das große a irgendwie noch eine größere Zahl dann vielleicht 33 oder sowas hätten wir
- machen können es es gibt ein paar systematische Überlegungen zu diesem Thema wenn man sich den den asky
- Code aufzeichnet so eine Tabelle macht so ein Zeichen
- 8 Bit sit hier aus ja ein Zeichen aus A8 einzelnen Bits wenn ich jetzt diesen vorderen Teil
- hier als zeilenwert betrachte also es kann 0 sein das kann ein sein das kann bis 15 sein schreiben wir das mal hier hin 0 1 2 3
- 4 und hier unten 15 5 und se ich noch hin schreiben so entschuldigung das ja doch das hier
- ist die Spalte unserer Tabelle die Zeile unserer Tabelle chuldigung das hier werden die spaltener 0 1 2 3 4
- 5 und jetzt kann man anf fangen hier einzutragen diese ganzen Steuerzeichen die wollen wir zusammenfassen in die ersten beiden
- Zeilen und dann kann man so geschickte Sachen machen wie falls das Zeichen hier oben dre Nuller hat und nur
- hier hinten irgendwas steht was ungleich Null ist dann ist das ein Steuerzeichen dass man eh nicht sehen kann am Papier mit dem
- der Drucker was spezielles machen muss und dann sagen wir hier in diesen beiden ze also das hier ist
- Steuerzeichen und das von mir genannte carage return das steht hier bei 13 sagen wir hier das sind die
- Sonderzeichen das hier und das hier sein die Ziffern und jetzt kommen hier
- Buchstaben zwar hier das große a und das große B 4 x 16 gibt 64 + 1 gibt 65 das ist das große a und dann haben wir hier das
- kleine a dieser Stelle das ist das große A + 32 so ist es mal konstruiert
- worden unter anderem ist es deshalb so konstruiert worden hallo geschlafen unter anderem ist es deshalb konstruiert worden damit man relativ
- einfach testen kann das hier das oberste hier obersten 4 Bit wen die Zahl sag da kommt kleiner als 32 ist wissen wir dass wir irgendwie was an der Elektromechanik
- vom Drucker machen müssen und wenn die größer als 32 ist dann sind es irgendwie diese ja
- entweder Ziffern 30 ist die 0 31 ist die 1 3 5 ist die Ziffer
- 5 das ist schon halbwegs systematisch konstruiert und das hat hier elektrische und elektromechanische Gründe gehabt früer mal um Drucker zu
- bauen in denen muss man solche Zeichen schicken ähm die IBM hat für ihre Großrechner früher so diesen diesen anderen
- Zeichensatz benutzt diesen appstick Zeichensatz bei dem die Abbildung ein bisschen anders ist es hat sich so eingebürgert und
- wir halten deshalb noch dran fest es gibt Sonderfälle in denen man wirklich das a als eine einzus darstellt in PDF Dokumenten passiert
- SAS konz aktuell ist diese Abbildung natürlich völlig beliebig wir müssen uns bloß wenn wir jemanden Text geben müssen wir ihm sagen wir benutzen als
- abbildungsregel für unsere Buchstaben den ask Code oder den mein kleiner neuer toller Code Code den ich die natürlich geben
- muss das Stichwort Unicode kommt hier auch noch auch noch hinein wir hier dran halten wir als aus historischen
- Gründen zur Kompatibilität aber eigentlich wollen wir die Zeichen die wir die wir speichern können heutzutage sowieso nicht mehr in 8 Bit aufheben die
- Buchstaben sondern in 16 Bit damit man äh mit chinesischen und japanischen Zeichen und suahili und Sanskrit und das es gibt auch noch
- klarkt und das sind dann die abbildungsvorschriften noch viel komplizierter ähm na ja wenn man wenn man 32 000 oder
- Zeichen hat dann braucht man es halt kompliziert jetzt haben wir aber also wir haben jetzt zusammengesammelt
- Zahl floating point Zahl also kompliziert Zahl integer dann diese floats dann haben wir Buchstaben dann haben wir Zeichenketten und jetzt suchen
- wir uns noch für mal Spezialfälle noch weitere Datentypen manchmal wollen wir nur eine ja Nein
- Entscheidung repräsentieren können in der Datenbank von dem von dem Versandhändler wollen wir vielleicht aufheben können
- hat schon mal hier gekauft oder hat noch nicht gekauft ja nein hat er schon mal hier gekauft Antwort Ja oder Nein das nennt man ein buchen Datentypen ja ob
- den George wll zu Ehren nennt man es ein bullischen Datentypen und der kann zwei Werte haben true und false das könnte man theoretisch sogar in einem einzigen
- bit speichern und wenn wir jetzt schon mal bei so ja abstrakteren Typen sind W das
- Vorstellen immer schwieriger wird dann machen wir noch was weiteres da suchen wir uns aufzählungstypen selbstdefinierte aufzählungstypen heraus
- viele Sachverhalte kann man mit der Aufzählung von von Werten für eine gewisse Eigenschaft gut beschreiben z.B
- Farbe bei Farbe könnten wir ja nehmen wir mal an wir wir liefern Autos mit 17 verschiedenen fftpöen dann könnten wir die Datenbank
- zu in der die Farbtöne für unsere Fahrzeuge drin stehen die wir ausliefern da könnt man dann Feld nehmen in dem nur 17 unterschiedliche Werte ST können rot
- grün blau lila beige blassblau blassgrün schwarz gold silber na und noch ein paar andere um auf 17 zu kommen oder wir könnten
- den die Marke von in Klammer deutschen in diesen Fall Auto in aufzählungstypen reinstecken der Aufzählungstyp kann dann den Wert
- Mercedes oder den Wert BMW oder den Wort wert VW oder den Wert Ford oder den Wert Opel oder den Wert Audi oder den Wert
- Porsche kein ander wird so wie das hier vereinbart ist und die Vereinbarung für so aufzellungstypen die Bezeichner kann ich frei wählen die Vereinbarung für
- aufzellungstypen ist mit solchen klammern wir haben einen aufzellungstyp Enumeration und der kann die Wert rot haben die Wert grün haben und die Wert
- blau haben das klammere ich hier mitchweiften Klammern und hinten dran gebe ich den neuen Typ den ich gemacht habe noch ein Namen jetzt mal color
- könn jetzt nur drei Werte haben so wie ich das hier vereinbart habe intern wird das irgendwie auf Zahlen abgebildet das braucht uns gar nicht so sehr zu
- interessieren aber was wir hier gemacht haben ist die Abstraktion wir kümmern uns nicht mehr um beim Programmieren beim Eingeben beim
- Nachdenken um Zahl in der wir was codieren ein Sachverhalt codieren sondern wir schreiben hier den Sachverhalt hin
- und lassen uns die Programmiersprache die Maschine die soll uns dabei helfen dass wir uns um die Abbildung
- selber nicht mehr kümmern müssen sondern das für uns diese Abbildung durchgeführt wird und wir denken nur noch in diesen Einheiten wobi ich jetzt gerade
- nachdenke ist wenn ich in meiner Vorlesung hier diese Markennamen stehen hab äh werde ich dann und diese dieses Buch im bookstore drin iBook Store W ich
- jetzt da abgemalt wegen Copyrights von Namen oder so ähnlich na egal das lassen wir jetzt mal auf uns zukomen also
- aufzählungstypen die die helfen uns Eigenschaften die Objekte
- haben abstrakt darzustellen und die konkrete Darstellung die interessiert uns gar nicht
- mehr solche aufzählungstypen kann man übrigens auch vergleichen indem man dann so ein Ding nimmt hier eine Variable hier von variab vom Typ color nimmt und
- fragt ist es blau ist das Rot ist das Grün im Programm hier habe ich noch mal die zahlatentypen zusammengefasst
- ich habe ja drüber gesprochen wir haben gze Zahlen integers und wie wir die darstellen nun wir können sagen wir wollen maximal 16 Bit lange integers
- haben short geht also dann von -32768 bis plus 32767 anz short geht von 0 bis
- 65 535 ja 2 16-1
- integers in der Regel nennt man diese 16 Zahl schz integers das sind waren früher 16 heutzutage meist 32 Bit lang auch wieder
- von minus diesem Fall 2 hoch 31 bis plus 2 31-1 und die longs
- heutzutage meist 64 B und dann haben wir noch die Floats 32 Bit floats und 64 Bit floats wie schon gesprochen
- und so ein ein Double 64 Bit langes float das kann dann Zahlen von 2,22 x E hoch -308 bis
- 1,79 mal 10 hoch 308 darstellen also eigentlich ganz schöner Datenbereich jetzt was mal die einfachen Datentypen jetzt wollen wir es noch ein
- bisschen bisschen interessanter machen wir wollen Datentypen zusammensetzen also aus mehreren einfachen eine Einheit bilden und das
- erste was wir da machen bei diesen zusammengesetzten Datentypen mehrere elementare die elementaren sind wie von den beiden Seiten
- vorher mehrere elementare zusammensetzen zu komplexeren
- Daten da gibt's wieder zwei Fälle der eine Fall ist wir nehmen viele gleiche Datentypen viele gleiche elementare Datentypen viele integers
- viele floats oder viele Buchstaben und setzen die zusammen zu Vektoren einimensional viele integers oder viele
- floats 3 5 32 1000 so Vektor zusammensetzen hier habe ich mal ein Vektor mit dre Elementen oder zu Matrix
- zusammensetzen zweidimensional das ist eine 4 x 4 Matrix oder dreidimensional also
- drei Zeilen drei Spalten und dann noch räumlich drei hintereinander natürlich können wir auch das Ding nimensional
- haben also so ein FL allgemein hingeschrieben wir wollen als Basistyp die Floats haben also 32 Bit floating
- pointzahlen Basistyp floats wir nennen das was da rauskommt diese Matrix mal vielstufig in der ersten Stufe soll's nelemente haben in der zweiten Stufe
- m von diesen nelementen und dann so weiter bis der letzten Stufe K von diesen Elementen von diesen von diesem von
- diesem die Anzahl Zahlen die da drin steht die ist also n mal m mal mal K Vektoren haben wir hinter haben Sie wahrscheinlich ich auf
- jeden Fall in der analytischen Geometrie in der Schule benutzt war maatiker benutzen das fleißig aber natürlich auch Physiker und sonst was
- und Vektoren manipulieren solche Vektoren bzw vier elementeangee Vektoren und solche vierm vier Matritzen das machen nä
- Computerspiele die ganze Zeit die repräsentieren Objekte im dreidimensionalen Raum mit vierdimensionalen
- Vektoren und Operationen auf diesen auf diesen Vektoren sind eben multiplizieren mit einer Matrix und das irgendwohin abzubilden z.B dieses dreidimensionale
- Objekt die Spitze von dem Schwert von dem ähm äh von dem org ähm wird abgebildet auf einen auf einen Punkt auf Ihr
- Bildschirm und ja gerade Computergrafik da wird ständig mit mit solchen Matrizen und mit solchen Vektoren gearbeitet und Grafikkarten sind Maschinen die
- besonders gut solchen 3/4 dimensionalen Datentypen umgehen können die sind dafür optimiert also Vektoren und
- Matrizen um mathematische Sachverhalte auszudrücken oder Computergrafik zu machen die Zeichenketten das ist eigentlich ein Vektor von
- characters von Buchstaben das ich habe hier hingeschrieben geführter Sonderfall eine Sache ist wirklich
- besonders das ist die mit der Länge da drin unsere Vektoren hier und die Matrizen die betrachten wir immer als komplett angefüllt aufgefüllt da gibt's
- nicht sowas wie halb voll bei den Zeichenketten das hier waren zusammengesetzte Datentypen und wir
- hatten aus gleichen Grundelementen aus gleichen elementaren Datentypen die zusammengesetzt jetzt wollen wir diese Einschränkung das es gleiche sein müssen
- auch noch fallen lassen und wir setzen Datenobjekte zusammen aus unterschiedlichen
- elementar ich habe das versucht hier in dieser ung klar zu machen da haben wir z.B hier einen 64 Bit float hier haben wir einen String mit acht Buchstaben und
- na hier haben noch irgendwelche anderen hier haben wir vielleicht ein Integer und hier noch ein Datentyp also ganz
- unterschiedliche Datentypen die wir zusammensetzen wozu mögen wir sowas haben nun Objekte des des täglichen Lebens der
- Anschauung die haben ja ganz verschiedene Attribute nehmen wir uns einen Artikel der der bei
- dem Vers von dem Versandhändler verschickt wird oder die Artikel eines Versandhändlers da gibt's so einen Artikel der hat für den
- Versandhändler die Eigenschaften Beschreibung Name
- Artikelnummer Preis Anzahl auf dem Lager Einkaufspreis Verkaufspreis z.B auch Gewicht damit die Versandkosten
- berechnen kann äußere Maße Maße sind z.B ein Vektor Länge Breite Höhe und das ist ein zusammengesetztes Feld was S hier reinsteckt Länge Breite
- Höhe und das Gewicht ist noch ein extra Feld daraus kann die Versandkosten berechnen die Bezeichnung die SK Nummer hier drin und so weiter und so weiter
- der Versandhändler der möchte in seiner Datenverarbeitung in seinem Computer den Datensatz die Beschreibung von so einem
- Artikel als ein Element alle Eigenschaften zusammengefasst als ein Element behandeln können und manchmal will er auch hineinschauen können in
- diesen Artikel z.B wenn gucken will ob er wenn sie wenn sie was bestellen wollen und sagen sie wollen drei von diesem Artikel haben
- da muss er gucken ob die drei noch in der Datenbank drin sind und danach muss er gucken was es dann zusammen kostet wenn sie auf den warnkop angucken wollen
- und wenn sie den Checkout machen dann muss er die Software nachgucken wie hoch die Versandkosten sein von diesen
- Artikel früher hat man sowas auf Papier aufgeschrieben oder auf mehreren Blättern und die dann in denen Aktenordner reingetan gehabt Aktenmappe
- reingetan und dieses Zusammenfassen von mehrer Eigenschaften zu einer Einheit das dazu sind datenstukturen da die nennt man auch na ja zusammengesetzte
- Daten äh die n auch gerne Records und Datenbanken drin gibt's auch sowas wie Records ne über Datenbanken da können wir dann noch im Januar sprechen
- ich habe hier jetzt mal äh na ja weil ich irgendein Beispiel gebraucht habe äh in der für die Vorlesung ähm Eisenbahnfahrzeuge
- äh genommen da haben wir die Struktur wagenbeschreibung und die besteht erstens mal aus dem String in dem bis zu
- 32 Zeichen vorkommen können diese endemarkierung braucht auch ein Zeichen eigentlich passen nur 31 rein also ein
- den Name den A und D beschreiben wir mit solchen Datentypen beschreiben wir
- jetzt Objekte die verarbeiten wollen Gegenstände eben bei Eisenbahn die Fahrzeuge die es da gibt
- äh in der Datenbank der Studenten der Universität stehen Ihre Stammdaten drin und so weiter also alles was wir an Objekten des des wichtigen Lebens aber
- vielleicht auch Konzepten die mehrere Eigenschaften haben alles was wir Computern darstellen wollen komplexeren
- Sachverhalten bekommt eine Datenstruktur und sie werden dann sehen dass beim modernen programmieren Datenstrukturen die die
- Grundlage der Abstraktion wenn wir im mal wieder vorbeikommen anfangen werden mit einfacheren Beispielen aber dann später
- ähm s alle unsere Programme so datenstrukturi und zwar solche komplexe so das
- war basiskapitel auch ein bisschen warm zu lauen was wir jetzt gemacht hatten äh in den vergangenen ja
- 90 plus 60 Minuten also und ich habe ihnen noch so eine Idee vom dividieren
- gegeben wenn man das macht dann betr nicht stellt sich auch raus dass die Computer ganz ganz selten nur dividieren dass man sich mal dividieren
- ist eine kostspielige Operation dass man guckt dass man das so gut es geht auf Division durch 2 oder sowas oder durch vier reduzieren kann und man versucht
- sich möglich viel um diese Division zu drücken und auch bei den Multiplikationen die braucht man auch wieder gar nicht so häufig außer für
- spezielle algorith so also wir haben ein wenig über rechnen gesprochen ein wenig mehr über Datenstrukturen
- gesprochen so viel gerade wie wir jetzt brauchen um um Programm schreiben zu können und das möchte ich jetzt dann mit
- Ihnen diese und nächste Woche noch fleißig betreiben vom Problem zum Programm ich hat schon mal den den Don knus genannt und the art of computer
- programming die Kunst man könnte auch sagen die Handwerkskunst ein kreativer Vorgang und das
- das wichtigste dabei ist dass wir das systematisch veranstalten verschiedene
- Schritte zerlegen wieder der Informatiker Gedanke ne in in Teilschritte zerlegen die einfacher
- sind dieser Vorgang zerlegenen Teilschritte da gibt's zunächst mal ich habe hier so eine Zeichnung von klassischen Vorgehen
- bei der äh beim beim Programmieren da müssen wir zunächst mal in in diesem Schritt hier eine Analyse durchführen eine Analyse
- des Problemes das bedeutet dass man irgendwie in den sich den Vorgang der zu erledigen ist die Aufgabe so wie sie jetzt zerlegt
- äh wie sie jetzt erledigt wird dass man sich das anschaut die klassische Vorgehensweise studiert und dann nachdem man das
- analysiert hat mal aufschreibt wie man das gedenkt zu lösen das ist bei einer bei einem kleinen kurzen Programm so eine Übungsprogramm ist das eine Sache
- von 5 Minuten wen man ein ja die wahren Wirtschaft von der Industriefirma ähm
- programmieren will dann dauert das Wochen und da muss man diese Firma herum laufen zuschauen wie die wie die Mitarbeiter
- davorgehen wie die das im lagerstapeln jetzt wie die das in Kisten verpacken und so weiter muss man lernen wie das bisher
- funktioniert falls es denn schon funktioniert wenn wir was Neues haben was modellieren wollen Modell rechnen wollen für wissenschaftlichen
- Sachverhalt D müssen wir uns auch erstmal hier in diesem Teil Analyse die ja das nötige Verständnis des Problemes
- verschaffen überlegen wie könnte man es denn machen welchen äh welches Modell ist geeignet was muss ich dafür rechnen um dieses Modell durchzurechnen und dann
- wollen wir das mal aufschreiben in der systemspezifikation in diesem sogenannten Wasserfallmodell es schon länger gibt
- für Software erstellen da wird dann in diesem Schritt mal ein Prototyp angefertigt Prototyp die Software zu bedienen ist
- das ist in der Regel relativ hilfreich dass man einfach nur so ein User Interface proty sieht man dann auf Bildschirm welche welche Menüs man hat d
- man anklicken kann und so weit damit kann man schon mal zum kundenen erstens freut es den Kunden dass ich was tut m der Kunde kann jetzt entweder die
- Industriefirma sein oder der der Professor oder der Abteilungsleiter für den man was machen muss und dann zeigt man den diesen User Interface Prototyp
- und in der Regel sagt er ah da brauche ich aber auch noch die Funktion und da brauche ich noch jene Funktion und die da ach könn nicht vorstellen z braucht h
- man den Knopf einfach wieder raus und hat gar nicht vielfür bearbeitet weiter KNF aber es ist ein Schritt indem man was lernt an diesem User Interface
- Prototypen und sie sehen hier diesen kleinen Pfeil da geht's auch teilweise pris herum das ist ein iterativer Prozess wenn man soweit ist dass man
- die systemspezifikation fertig hat und dies US Interface Prototypen fertig hat dann kann man sich überlegen welche Algorithmen braucht man
- denn das zu berechnen und die Algorithmen dann auch schon mal von diesen Komponenten die es dann da geben
- wird von diesen algorithmischen Komponenten Prototypen machen z.B ja den kernschritt des
- Modelles implementieren und gucken wie lange der eigentlich braucht um das auszurechnen um so eine Simulation auszurechnen in der Regel muss ja bei
- tion dann was paar Millionen mal durchgerechnet werden und dann schreiben wir mal den algorithmischen Kern und Rechnen den paar Millionen mal gucken ob
- das schnell genug geht und so weiter Prototyp von den Komponenten das muss noch nicht mal unbedingt in der richtigen
- Programmiersprache erfolgen wie wir das ganze lösen wollen das kan vielleicht auch matl machen in so Simulationsumgebung nur mal Gefühl zu
- kriegen ob der Algorithmus es wirklich tut und ob es auch innerhalb vernünftiger Zeit tut dass er das ist dann vielleicht noch zehn Mal so schnell
- W mus durch durch Tuning durch einifes herumschrauben in diesem gelben Schritt
- hier das ist das sch noch okay solange wir uns solange wir uns im Klaren sind dass wir es noch irgendwie schneller machen also hier sehen wir ob unser
- Ansatz funktionieren könnte und dann kommt der nächste Schritt der die Implementierung und der Komponententest kann man dann auch gerne
- parallel erledigen mit mehreren Mitarbeitern die an der Software arbeiten danach muss das Ganze zusammengefasst werden zu
- einem System und getestet werden auch hier gibt es wieder diese Schleife und hier bei diesem Integrationstest
- da muss man eventuell aber auch wieder zurück auch hier muss man eventuell wieder zurück sich ein anderen Algorithmus aussuchen und
- verändern diese Vorgehensweise die sollte systematisch sein die sollte planbar sein planbar auch Bezug auf die Ressourcen die hier dann eingesetzt
- werden müssen Geräte aber vor allem auch Mitarbeiter Ingenieure programmere die sollte reproduzierbar sein und und ja wenn man es macht sollten man sich
- aufschreiben was man da ma unsere kleinen Beispiele hier die wir die volesung machen das muss ja irgendwie ein zwei Stunden immer erledigt sein s
- wir noch was anderes vor als eine Übung für die Informatik zu machen äh da geht man in der Regel nicht so formal vor aber sobald man größeres
- Projekt hat muss man da schon formal vorgehen äh manche von ihnen werden dann auch die Vorlesung software engineering vom Kollegen Steinbach besuchen und
- spätestens da wird dann systematisch vorgegangen bei beim Softwareprojekt oder auch wenn sie da mal eine Bachelorarbeit oder Masterarbeit
- schreiben und viele von ihnen werden schon irgendwie wahrscheinlich fast alle im Rahmen von der Bachelorarbeit od der
- Masterarbeit ja irgendwas auf dem Computer rechnen simulieren und so weiter es gibt eine ganze Menge Werkzeuge die einem helfen beim Software
- entwickeln computered software engineering Case die die schöne Abkürzung schöne Akronym ist nichts was man wirklich auswendig lernen muss ich
- will es noch mal sagen da steht das ist ein Programm viele Programme die das leisten Computerprogramme die ein beim
- Programmieren helfen sollen da gibt's dann grafische Hilfsmittel den man z.B Beziehungen zwischen Datentypen visualisieren
- kann bei man Autos baut dann baut man die aus Komponenten zusammen hat man also objektarmaturenbrett was da reinkommt
- vier Objekte Räder die DR geschraubt werden ein Objekt mor ein objektgetriebe und solche Beziehung zwischen Objekten
- für manufacturing also für für Geräte herstellen oder auch Beziehungen zwischen Menschen die kann man ganz gut so
- grafisch visualisieren das werden wir am der vollesung gartenben betreiben auch mal machen so grafisch visualisieren die Beziehung in diesen computer
- software engineer Umgebung gibt's dann auch formale Spezifikationen für ja solche Abläufe denen man die Objekte die man da halt
- unterwirft und insbesondere ganz wichtig die Versionen der Software werden verwaltet die man die man erstellt also die die Version 1.0 1.1 1.1.3 und so
- weiter in solchen Projekten zu größeren Softwareprojekten gibt es auch Aufgaben Rollen die die Mitarbeiter haben da gibt's den Projektleiter aber
- da gibt's auch unten drunter dann Analytiker die sich insbesondere mit dieser ersten Phase der der Abstraktion beäftigen dann gibt's die Programmierer
- und dann gibt es das was ich hier noch verschnieden hatte da unten Betrieb Wartung testen und so weiter ähmt häufig auch noch Leute die
- unabhängig diese spezielle Rolle des Testens ausführen das sind die Überbringer der schlechten Nachricht das Ding stürzt die ganze Zeit ab ähm je
- mehr die quäeln desto besser wird das Produkt ähm bei bei der Mapping Software ähm von dem
- letzten iPhone vom iOS 6 haben die Tester offensichtlich nicht genügend geklingelt deshalb kamen dann diese komischen
- Bilder da raus die manche von ihen vielleicht im Internet gesehen haben die eine Brücke die da so komisch in in Südfrankreich ist äh die
- man da auf einem von den Bildern sehen konnte von der Mapping Applikation die hatte ich mirwie zwei Wochen vorher in Natura angeschaut und die sieht
- tatsächlich nicht so komisch aus der Karte ja die Tester die müssen unabhängig sein die sollen Fehler aufdecken indem Sie die Software mal
- benutzen ähm vor dem Kunden und [Musik] ich habe mal in so ein Industrieumgebung gearbeitet und da gab es also für diese
- ungefähr 30 Software engineure die gearbeitet haben in diesen Rollen hier gab's ich glaub vier oder fünf solche Tester und eigentlich schon relativ
- wenig und die waren trotzdem noch unangenehm genug äh weil sie ständig mit irgendwelchen Fehlern ankam oder mit was was sie als Fehler
- empfangen damit muss sich auseinandersetzen ich habe schon über so ein Phasenmodell gesprochen eben hier in dieser Grafik und hier habe ich noch mal
- verbal diese einzelnen Elemente von diesem Phasenmodell aufgeschrieben also Anforderungen aufzuschreiben
- strukturierenen sie immer wieder dieses dieses untersuchen strukturieren abstrahieren ähm in dieser dieser Vorgehensweise und das eigentliche ja
- kodieren programmieren sein das Generieren von der Datenbank das ist nur ein so ein Anstrich hier und steht dann wieder
- Test Verwendung hier oben steht noch technisches Design auch wieder ein abstrakter Vorgang der nicht unbedingt ähm ja programmieren nicht
- dabei ist also sie sehen beim beim bei der industriellen Software hererstellung dass die Phase des des analysierens und abstrahieren relativ lang ähm oder
- relativ intensiv im Verhältnis zu dem kodieren aber natürlich W man das hier auch gut können das hier solide
- Basis in den letzten Jahren hat eine gewisse sagen mal deformalisierung des Programmierens gegeben das Problem an dieser
- Phasenmodell Vorgehensweise ist dass man für ein mittelkomplexes Softwaresystem wenn man so
- vorgeht paar Jahre braucht und mit ein paar Jahren meine ich nicht paar z sondern eher par wie F einige und das ist häufig zu lang
- he Tage fast im zu deshalb habe ich hier noch diesen Kasten da stehen man hat in den na ja
- sagen wir letzten 10 Jahren Modelle entwickelt wie man in Kleingruppen weniger systematisch aber dennoch effizient und erfolgreich
- vorgehen kann an beim soft bei der Softwareentwicklung natürlich braucht immer noch eine anständige
- Analyse die hier und da muss programmiert werden aber man kann das diesen Prozess integrieren und dieses agile software
- development da arbeiten die Leute in kleinen Gruppen da wird auch gar kein Chef oder sowas ernannt sondern man lässt das Pass
- eren ähm die die Alpha Programmierer die werden dann so in dieser Gruppe allmählich zum leit Hammeln ähm selbstanordnung ist da wichtig die
- Rollen ändern sich vielleicht auch die Zeit wenn andere Qualifikationen gebraucht werden dieser kleinen Gruppe und diese Leute die arbeiten ständig
- zusammen die sitzen also dann tatsächlich in kleinen Gruppen vor einem Computer zu zweit zu dritt vor einem Computer und arbeiten gemeinsam an der
- Software klassisch ist es so dass wir unser Projekt aufteilen in viele Einzel Aufgaben und dann sitzt einer vor se einer Einzelaufgabe und beistß sich da
- dran wochenlang fest und WE bei dem agile da muss man täglich seinen Kollegen die Software zeigen wie man
- geschrieben hat wie die Seite Code vorführen und dann wird live über diese über den Code diskutiert in der Gruppe es hat sich als ziemlich erfolgreich
- herausgestellt und ein ehemaliger doktorant von
- mir der praktiziert das in der in der Wirtschaft in seiner in seiner Leiter Leiter Leitung Software
- Entwicklung setztte dieses agile software development ein in diesem Kleingruppen dieser Satz hier der ist wichtig intensive
- Reviews die Arbeiten in der Gruppe zusammen und rechtfertigen ist der falsche Ausdruck aber erklären ihren Kollegen ständig was sie da in der
- Software machen da arbeitet man also zwei Stunden alleine vor vorm Rechner oder drei oder auch vier und dann redet mal mit den Kollegen zwei Stunden lang
- die Software die man geschrieben hat warum steht das nie da war warum steht das if an dieser Stelle und die laufschleife warum hört die da schon auf
- man erklärt sich Reg die Software das ist dieses der Grundgedanke von diesem software development und das eXtreme Programming das gehört da noch
- dazu wie das so ist bei uns Programmierer ich vereinfache das jetzt natürlich stark wie das so häufig so ist bei
- Programmierern passiert er wochenlang nichts und dann wenn der Abgabe ist dann bricht die Hektik aus ähm und da ist diese Hektik Hektik
- ausbrechen eingebaut in den Prozess da gibt es sogenannte Sprints und in diesen Sprints da wird das Team große Stücke der Software erledigen
- äh und dazu werden da arbeiten die auch mal einfach paar Tage lang wirklich viele Stunden pro Tag und dann auch mal wieder ein
- paar Tage lang nichts zu machen und an Baggersee zu gehen ähm und in diesen Sprints da wird erstaunlich viel erstaunlich gute
- Software produziert in der Zusammenarbeit mit den Kollegen dass man wirklich gemeinsam vor der Maschine sitzt so
- ähm ich will nachher heute Nachmittag um um 16 Uhr dann noch weitermachen mit diesem mit diesem warmlufen fürs Programmieren mit den
- Präliminarien s dass wir dann nächste Woche wirklich programmieren können dank mich für Aufmerksamkeit und um 16 Uhr geht's weiter
Zum Nachlesen
Integer (Datentyp)Als grundlegender arithmetischer Datentyp werden Ganzzahlen von der Hardware fast aller Rechenanlagen nativ unterstützt und sind in nahezu jeder …
AddierwerkDas Addierwerk (auch Addiernetz) ist die Hauptkomponente des Rechenwerks einer CPU. Das Addiernetz bildet aus den Summanden a 3..0 und b 3..0 die Summe s …