IMPLogo

Das sind die Themen und wichtige Sachen:

  • Print
    • Befehl für Text: print("Hello World")
    • Befehl für Rechnung: print(7+34)
    • Mehrfachbefehl: print("Hello World" + liste + "ist wichtig")

  • Input
    • Befehl für Eingabe von Benutzer
    • int(input()) bewirkt, dass die Eingabe eine Zahl ist und sein muss
    • str(input()) bewirkt, dass die Eingabe wie ein Buchstabe behandelt wird, auch wenn es eine Zahl ist.
    • eingabe = input("Wie alt sind Sie? ")
    • stadt = list(input("Liste? ")); damit wird als Liste eingegeben, aber es sieht nicht gut aus
      Damit es besser aussieht: stadt = eval(input("Liste? "))

  • Weitere Befehle für eine Liste:
    • s.append(x) hängt x am Ende der Liste an
    • s.pop(i) Gibt das i-te Element an und entfernt dieses aus der Liste
    • s.pop() dabei wird das letzte Element genommen

  • Zufallszahl:
    1. import random
    2. y = random.random() = float Zahl zwischen 1 und 0; es können keine Parameter angegeben werden.
    3. random.randint(1,6) = Zuffälige ganze Zahl zwischen 1 und 6, beide mit eingeschlossen.
    4. random.uniform(3,7) = Zufällige float Zahl zwischen 3 und 7.

  • if else:
    • if 1 == 1:
    • print("true")
    • elif 1 == 2:
    • print("1 ist 2")
    • else:
    • print("Das Leben ist eine Lüge.")

    • if age < 0:
    • print("geht nicht")
    • elif age > 0 and age <100
    • print("Super")
    • if age < 100
    • print("Ob das wohl stimmt?")

  • if else:
    • for i in range(1, 11):1
    • print("Das druckt 10 Mal, da man von dem letzten immer 1 abzieht.")

  • Syntax
    • Regelsystem zur Kombination elementarer Zeichen in Zeichensystemen
    • Syntax steht der Interpretation Semantik gegenüber

  • Semantik
    • Bedeutung von Zeichen
    • Beliebige Symbole, besonders:
      • Sätze
      • Satzteile
      • Wörter
      • Wortteile

  • Also sind die Fehler:
    • Syntaxfehler:
      • Kombinationsfehler (str(ing) und int(eger))
    • Semantikfehler:
      • Benutzen etwas in falscher Bedeutung

  • Primitive Datentypen
    • Compiler = Software
      • Diese übersetzt den für uns lesbaren Code in Maschinensprache
    • Char:
      • Repräsentiert Zeichen
      • Speicherbereich, z.B. 8-Bit
      • Buchstaben, Ziffern, ...
      • Ein Bit kann entweder 1 ode 0 sein
      • In 8-Bit: 128 verschiedene Elemente
      • Was zu was gehört hat ASC II festgelegt
      • Dazu gehört:
        • Druckbare und nicht-Druckbare Zeichen
        • Lat. Alphabet GROß und klein
        • Sonderzeichen
        • ...
      • Zeichenvorrat entspreichht weitestgehend der Tastatur
    • Int:
      • Ganzzahlige Werte
      • In fast allen Rechenanlagen vorhanden
      • Mehrere integer Arten
      • 8, 16, 32, 64, 128 Bits
      • Python: 3, 4 Bytes
    • Float:
      • Gleitkommazahl
      • Genauer Zahlenwert
    • Liste:
      • Array + Liste
      • Von Länge 0 bis -1 durchnummeriert
      • s.append(x) hängt x am Ende der Liste an
      • s.pop(i) Gibt das i-te Element an und entfernt dieses aus der Liste
      • s.pop() dabei wird das letzte Element genommen

  • Umwandlung Binär
    • 29:2 = 14 Rest: 1
    • 14:2 = 7 Rest 0
    • 7:2 = 3 Rest 1
    • 3:2 = 1 Rest 1
    • 1:2 = 0 Rest 1
    • Von unten abgelesen: 00011101 ist 29 in Binär

  • Einerkomplement
    • Darstellung von Negativen Zahlen durch das tauschen von 10 zu 0 und 0 zu 1
    • Statt 00011101 = 29 wird -29 zu 11100010
    • Das erkennt man ander vordersten Stelle 1
    • Ein Problem liegt an der 0, es gibt einmal +0 und -0.
    • Das andere Problem liegt beim Rechnen. wenn man im plus bereich rechnet, alles super.
      Wenn man auch im minus Bereich beim rechnen bleibt ist auch alles gut.
      Das Problem ist, wenn man vom minus Bereich den plus Bereich überschreitet, dann muss man den Übertrag, also dann 1, noch dazu rechnen.

  • Zweierkomplement
    • Darstellung von Negativen Zahlen durch das tauschen von 1 zu 0 und 0 zu 1 und dannach 1 dazurechnen
    • Statt 00011101 = 29 wird -29 zu 11100010 und +1 ist dann 11100011
    • Das erkennt man ander vordersten Stelle 1
    • Beide Probleme sind damit behoben! :-)

  • Hexadezimal
    • 0010 | 1101
    • _2______D__
    • 0-9; A = 10; B = 11; C = 12; D = 13; E = 14; F = 15
    • So kann man Hexadezimal in Binär umrechnen

  • IEEE 754/IEEE 745
    1. Vorzechen Bit (0 = +; 1 = -)
    2. Umrechnen der ganzen Zahl in Binär
    3. Umrechnen der Nachkommastellen in Binär mit 2-¹ (0,5); 2-² (0,25); 2-³ (0,125);...
    4. Beide Zahlen zusammenhängen und mit Komma trennen, bsp. 101101,101
    5. Daraufhin potennzieren. In unserem Beispile wäre das 1,01101101 x2⁵
    6. Die Potenz mit dem BIAS 127 addieren. In unserem Besipiel 127 + 5 = 132, in Binär 10000100.
    7. Das ist dann der Exponent, die Bisherige Zahl: 0|10000100|...
    8. Anstelle des ... kommt die Zahl, die wir Potenziert haben, aber nur die Nachkommstellen:
      0|10000100|01101101000000000000000
    9. Beim Umrechnen weiß man aber, dass die erste Zahl eine 1 ist, in der Mantisse. Also muss man als erste Zahl noch die 1 extra schreiben.