lehrkraefte:blc:informatik:glf20:programmieren:division

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf20:programmieren:division [2020/10/28 10:43]
mirco.triner
lehrkraefte:blc:informatik:glf20:programmieren:division [2020/10/30 13:27] (current)
mirco.triner
Line 4: Line 4:
 <WRAP info> <WRAP info>
 *  Die ganzzahlige Division ist eine Operation, welche ausgibt, wie oft eine Zahl in einer Anderen Platz hat. Beispielsweise hat vier in zehn zwei Mal Platz. *  Die ganzzahlige Division ist eine Operation, welche ausgibt, wie oft eine Zahl in einer Anderen Platz hat. Beispielsweise hat vier in zehn zwei Mal Platz.
 +<code>//</code>
 +
 *  Der Modulo-Operator bezeichnet hingegen den Rest, welcher bei einer ganzzahligen Division übrig bleibt. In unserem Beispiel wäre das zwei. *  Der Modulo-Operator bezeichnet hingegen den Rest, welcher bei einer ganzzahligen Division übrig bleibt. In unserem Beispiel wäre das zwei.
 +<code>%</code>
 +
 +*  Der Variablentyp des Resultats einer ganzzahligen Division, oder dem Rest, hängt vom Input ab. Sind beide Zahlen Integer, so ist auch das Resultat ein Integer. Ist eine der Inputvariablen Float, so ist auch das Resultat Float.
 </WRAP> </WRAP>
  
Line 20: Line 25:
  
 <WRAP info> <WRAP info>
-Bei einer While-Schleife kann es leicht passieren, dass die Schleife endlos weiterläuft. Im Gegensatz zu einer For-Schleife muss die Variable bei einer While-Schleife manuell verändert werden.+BREAK: Ein break in einer Schleife (Wiederholung) führt zu einem Abbruch der Schleife. Das heisst, dass die Schleife gleich zum nächsten Schritt weitergeht.
 </WRAP> </WRAP>
  
 +<WRAP info>
 +Negative Zahlen werden gleich wie positive Zahlen bei einer ganzzahligen Division behandelt.
  
-<WRAP todo> +*  Aus 10/3=3,3 wird bei der ganzzahligen Division 3. 3,3 wird in diesem Fall abgerundet. 
-Schreiben Sie ein Programm, bei welchem der Benutzer eine zufällige Zahl zwischen 1 und 100 erraten muss.+ 
 +*  Aus -10/3=-3,3 wird bei der ganzzahligen Division -4. -3,3 wird in diesem Fall ebenfalls gegen unten gerundet.
  
-Beispiel einer Ausgabe 
-<code text> 
-Neue Zahl: 15 
-Zahl zu gross 
-Neue Zahl: 
-</code> 
 </WRAP> </WRAP>
  
  
 <WRAP todo> <WRAP todo>
-Nun drehen wir den Spiess um. Schreiben Sie ein Programm, welches eine zufällige Zahl zu finden versucht. Versuchen Sie einen möglichst effizienten Algorithmus zu finden. 
-</WRAP> 
  
-<WRAP todo> +<quizlib id="quiz" rightanswers="[['a0']['a1']['a1']['a0'], ['a0'], ['a0']]" submit="Check Answers"> 
-Schreibe ein Programmwelches eine Liste bestehend aus ganzen Zahlen aufsteigend sortiert. Der Benutzer soll per Eingabe entscheidenwelche Elemente in die Liste kommen und er soll so viele Elementen eingeben könnenwie er willWenn er mit der Eingabe fertig ist, soll er mit einem Befehl (zum Beispiel qdie Eingabe beenden.+    <question title="&lt;pre&gt;1//2" type="radio">0|1|2</question> 
 +    <question title="&lt;pre&gt;23%7" type="radio">1|2|3</question> 
 +    <question title="&lt;pre&gt;2.3//1" type="radio">2|2.0</question> 
 +    <question title="&lt;pre&gt;-5//2" type="radio">-3|0|2</question> 
 +    <question title="&lt;pre&gt;5%2" type="radio">1|2|3</question> 
 +    <question title="Wie ist die Ausgabe nach dem Ausführen des Codes?&lt;pre&gt;for num in range(1014):&lt;br&gt;  for i in range(2, num):&lt;br&gt;    if num%i == 1:&lt;br&gt;      print(num)&lt;br&gt;      break" type="radio">10 11 12 13|11 13</question> 
 +</quizlib>
 </WRAP> </WRAP>
  
  
-<WRAP todo> 
-**FIZZ BUZZ!** Programmieren Sie ein Programm, das alle Zahlen von 1 bis 100 ausgibt, aber alle jene, die durch 3 teilbar sind durch ''fizz'' ersetzt, jene, die durch 5 teilbar sind durch ''buzz'' ersetzt und jene, die sowohl durch 3 als auch durch 5 teilbar sind durch ''fizz buzz'' ersetzt. 
-<hidden Verlangte Ausgabe bis 30> 
-<code text> 
-1 
-2 
-fizz 
-4 
-buzz 
-fizz 
-7 
-8 
-fizz 
-buzz 
-11 
-fizz 
-13 
-14 
-fizz buzz 
-16 
-17 
-fizz 
-19 
-buzz 
-fizz 
-22 
-23 
-fizz 
-buzz 
-26 
-fizz 
-28 
-29 
-fizz buzz 
-</code> 
-</hidden> 
-</WRAP> 
  
-===== Optionale, weitere Aufgaben ===== 
-  * Schreibe ein anderes Programm, welches eine Liste aus Zeichenketten alphabetisch sortiert. 
-  * Geben Sie alle Teiler einer Zahl aus. 
-  * Geben Sie die Primfaktorzerlegung einer Zahl aus. 
-  * Bestimmen Sie, ob eine gegebene Zahl eine Primazahl ist oder nicht. 
-  * Geben Sie die Primzahlen der Reihe nach aufsteigend aus. 
  
-===== Lösungsvorschläge ===== 
-<hidden Lösungvorschläge> 
-<code python> 
-for i in range(1,101): 
-    if i % 3 == 0  and  i % 5 == 0: 
-        print("fizz buzz") 
-    elif i % 3 == 0: 
-        print("fizz") 
-    elif i % 5 == 0: 
-        print("buzz") 
-    else: 
-        print(i) 
-</code> 
  
-<code python> 
-t = inputInt("Temperatur in Grad Celsius") 
-text  =  "%d°C ist " % t 
-if (t<15):     
-    text += "kalt"   # eine Abkürzung für text = text + "kalt" 
-elif t<25: 
-    text += "warm" 
-else: 
-    text += "heiss" 
  
-print(text+".") 
-</code> 
  
-<code python> 
-# Definition der Koeffizienten 
-a,b,c = 0,0,0 
-print("Gleichung %.2fx^2%+.2fx%+.2f = 0" % (a,b,c)) 
  
-if a==0:  # Lineare Gleichung + 
-    if b==0:  # Gleichung ohne x + 
-        if c==0: +
-            print("Wahre Aussage, L=R, jedes x ist Lösung"+
-        else: +
-            print("Falsche Aussage, keine Lösung"+
-    else: +
-        print("Lineare Gleichung, eine Lösung: x=%f" % (-c/b)) +
-else: # Quadratische Gleichung +
-    d = b*b-4*a*c  # Diskriminante +
-    if (d<0): +
-        print("Keine reelle Lösung"+
-    elif d==0: +
-        print("Genau eine Lösung x=%f" % (-b/(2*a))) +
-    else: +
-        d = d**0.5 # Wurzel aus der Diskriminante +
-        x1 = (-b-d)/(2*a) +
-        x2 = (-b+d)/(2*a) +
-        print("Zwei Lösungen x1=%f und x2=%f" % (x1, x2)) +
-</code> +
-</hidden>+
  • lehrkraefte/blc/informatik/glf20/programmieren/division.1603878232.txt.gz
  • Last modified: 2020/10/28 10:43
  • by mirco.triner