Direkte Berechnungen

Größe: px
Ab Seite anzeigen:

Download "Direkte Berechnungen"

Transkript

1 Einführung Dieses Skript gibt einen möglichen Aufbau für einen Informatik-Jahreskurs zum Programmieren mit Python. Mit möglichst wenig Grundstrukturen soll die Einführung so gestaltet werden, dass im ersten Semester kurze Programme mit soweit möglich praktischem Bezug geschrieben werden.

2 Direkte Berechnungen 1) Die Python-Programmierumgebung Wir lernen die algorithmischen Grundstrukturen in Python kennen. Öffne dazu die sogenannte IDLE (Python GUI), wobei GUI für "Graphic User Interface" steht. Diese Umgebung wird uns unter anderem dazu dienen, die selbst geschriebenen Programme laufen zu lassen und zu testen. 2) Beispiel Eine Gruppe von 5 Personen geht ins Kino. Der Eintritt kostet CHF pro Person. Wir schreiben dazu ein Programm. Dabei wollen wir die Anzahl Personen und den Preis pro Person eingeben können, und das Programm soll die Kosten berechnen. Öffne mit der IDLE ein neues, leeres Fenster. Tippe dann die folgenden Zeilen ein: # Kino name = input("bitte den Gruppennamen eingeben: ---> ") anzpers = int(input("wie viele Personen? ---> ")) propers = float(input("preis pro Person? ---> ")) kosten = anzpers * propers # Berechnung der Kosten print("der Kino-Besuch kostet für ",name," CHF ",kosten) Speichere dann die Datei, beispielsweise als "kino.py". Mit dem Befehl "Run Module" kannst du dein Programm laufen lassen. Wenn du keine Tippfehler gemacht hast, dann wird es laufen. Der Dialog erfolgt dann in der IDLE. 3) Grundbefehle des Programmierens 2

3 Direkte Berechnungen a) Der Befehl "input" verlangt vom Benutzer eine Eingabe. b) Mit "=" wird einer Variablen ein Wert zugewiesen. c) Der Befehl "int" macht aus der Eingabe eine ganze Zahl. Wenn das "int" nicht steht, dann ist der eingegebene Wert für die Anzahl Personen quasi ein Text, mit der der Computer nicht rechnen kann. Erst der Befehl "int" macht aus dem eingegebenen Text eine Zahl. "int" steht für Integer, was der englische Begriff für eine ganze Zahl ist. Solche Zahlen haben keine Nachkommastellen. (Das macht auch Sinn, denn eine Eingabe von 4.6 Personen ist wohl sinnlos.) d) Der Befehl "float" macht aus der Eingabe eine reelle Zahl. "float" funktioniert also genau gleich wie "int", die Zahl darf aber Nachkommastellen haben. e) Die Berechnung einer Variablen muss immer nach dem Schema gesuchtevariable = Berechnung erfolgen. Der Name für die Variablen besteht aus einem Wort. f) Mit "print" wird etwas ausgedruckt. Der "print"-befehl im obigen Programm besteht aus vier Teilen: zunächst kommt Text, dann die Variable für den Gruppennamen, dann wieder Text und schliesslich die Kosten. Die Teile innerhalb des "print"-befehls werden immer durch Kommas getrennt. g) Und schliesslich kann man mit dem #-Zeichen Kommentare einfügen. Alles, was innerhalb einer Zeile hinter dem # steht, gilt als Kommentar. Übungen 1) Bergbahn Eine Bergbahn berechnet pro Person Fr Eine Gruppe von 15 Personen will mit dieser Bahn fahren. Berechne den Tarif. Für das zugehörige Programm zu diesem Beispiel gilt: 3

4 Direkte Berechnungen Eingaben: der Preis pro Person sowie die Grösse der Gruppe. Ausgabe: der Tarif. 2) Zeit-Umrechnung Eingabe: 1 Stunde, 5 Minuten, 30 Sekunden Ausgabe: 3930 Sekunden Schreibe ein Programm zu dieser Beispiel-Aufgabe. 3) Werkstatt Eine Werkstatt verlangt für die Benützung einer Maschine eine Grundgebühr von 60. sowie 35. pro Stunde. Man überlege sich, welche Daten einzugeben und welche Daten zu berechnen sind und erstelle ein passendes Programm. 4) Transport Ein Kleinunternehmen stellt seinen Kunden für Transporte einen Lieferwagen und einen Lastwagen zur Verfügung. Für Transporte mit dem Lieferwagen werden Fr pro Kilometer verrechnet, für den Lastwagen beträgt der Tarif Fr pro Kilometer. Welche Gebühr hat ein Kunde zu bezahlen, wenn der Lieferwagen 85 km und der Lastwagen 120 km zurückgelegt hat? 5) Wein Ein Weinhändler verkauft Rotwein zu 18. pro Flasche, Roséwein zu 13. und Weisswein zu 12. pro Flasche. Ein Kunde bestellt (beispielsweise) 12 Flaschen Rotwein, 6 Flaschen Rosé und 24 Flaschen Weisswein. Die Eingabe beinhaltet also sechs Grössen. Ausgabe: Was kostet die Bestellung? 4

5 Verzweigungen 1) Programmierstrukturen Nebst den direkten Berechnungen, in welchen eine Reihe von Befehlen abgearbeitet wird, gibt es im Wesentlichen genau zwei Programmierstrukturen. Die erste ist die Verzweigung. 2) Beispiel Ein Velo-Billett kostet gleich viel wie ein Billett zum halben Preis. Wenn der Fahrpreis (mit Halbtax-Abonnement) jedoch über 12 Franken liegt, dann kauft man besser eine Velo-Tageskarte für 12 Franken. Das folgende Programm illustriert die Struktur: # Velo fahrpreis = float(input("preis mit Halbtax-Abo? ---> ")) if (fahrpreis < 12): else: print("lösen Sie ein Velo-Billett zum halben Preis.") print("lösen Sie eine Velo-Tageskarte für 12 Franken.") Speichere die Datei, beispielsweise als "velo.py" und lass das Programm laufen. 3) Bemerkungen a) Nach dem "if" kommt die Bedingung, welche getestet wird. Die Bedingung kann (aber muss nicht) in Klammern stehen. Bei komplizierteren Bedingungen können Klammern durchaus mehr Übersicht herstellen. Der Befehl wird immer mit einem Doppelpunkt abgeschlossen. b) Nach dem Doppelpunkt folgt die Einrückung automatisch. c) Wenn die Bedingung erfüllt ist, dann werden alle Befehle (der Reihe nach) ausgeführt, die eingerückt sind. Nach dem "if" sind also mehrere Befehle möglich. 5

6 d) Der "else"-befehl steht auf gleicher Höhe wie der "if"-befehl und wird ebenso mit einem Doppelpunkt abgeschlossen. Was anschliessend eingerückt ist, wird ausgeführt, wenn die unter dem "if"-befehl notierte Bedingung nicht erfüllt war. e) Der "else"-teil kann auch fehlen. Die folgende Version des obigen Programms zeigt das. 4) Velo zum Zweiten # Velo fahrpreis = float(input("preis mit Halbtax-Abo? ---> ")) velopreis = fahrpreis if (fahrpreis > 12): Verzweigungen velopreis = 12 # Der Velopreis wird neu berechnet. if (velopreis == 12): else: Beachte: print("lösen Sie eine Velo-Tageskarte für 12 Franken.") print("ihr Velo-Billett kostet ",velopreis," Franken.") a) Zuerst wird der Fahrpreis unter der Variablen Velopreis zwischengespeichert. Wenn der Fahrpreis mehr als 12 Franken beträgt, dann wird der Velopreis auf 12 Franken gesetzt. Hier ist kein "else" nötig. (Der deutsche Satz hat ja auch kein "und sonst...") b) Unterscheide genau: Ein "=" ist ein zuweisendes Gleichheitszeichen, womit ein Wert in einer Variablen gespeichert wird. Ein "==" ist ein vergleichendes Gleichheitszeichen, womit zwei Werte auf Gleichheit geprüft werden. Übungen 1) Bergbahn 6

7 Den Bestimmungen einer Bahn entnimmt man: Preis pro Person 7.50 Fr. Ab 20 Personen wird ein Gruppenrabatt von 5% gewährt. Erstelle ein Programm gemäss folgenden Angaben: Eingabe: Gruppengrösse, Einzelfahrpreis, Rabattsatz, ab wie viel Personen der Rabatt gewährt wird. Ausgabe: Tarif 2) Franchise Krankenkassen verlangen vom Patienten 10% der Arztrechnung als Selbstbehalt, jedoch mindestens 100. Fr. (Diesen Betrag nennt man Franchise) Krankenkassen bieten zudem an, die Franchise zu erhöhen (beispielsweise auf 150. pro Jahr) und senken dafür die Prämien. Erstelle ein Programm. Eingabe: Rechnungsbetrag, Franchise. Ausgabe: Selbstbehalt Zusatz Wenn die Rechnung kleiner ist als der Franchise-Betrag, kommt es günstiger, die Rechnung selber zu bezahlen. Erweitere die obige Aufgabe so, dass dieser Sonderfall auch berücksichtigt wird. 3) Portokosten Eine Möbelfirma verlangt 5% des Rechnungsbetrages als Portokosten. Wenn Ware für mindestens bestellt wurde, erfolgt die Lieferung portofrei. Überlege selber, welche Daten Eingabe- resp. Ausgabewerte sind und schreibe ein passendes Programm. 4) Rabatt Ein Geschäft gewährt Rabatt, und zwar so: Ab Einkaufspreis beträgt der Rabatt 5 %, ab sogar 12 %. Verzweigungen 7

8 Verzweigungen 5) Maximaler Wert Schreibe ein Programm, welches zu drei eingegebenen (verschieden grossen) Zahlen den grössten Wert bestimmt und diesen ausdruckt. Ein Dialog könnte etwa so aussehen: Eingabe der ersten Zahl: 45 Eingabe der zweiten Zahl: 42 Eingabe der dritten Zahl: 44 Die erste Zahl war die grösste und beträgt 45. Zusatz Verändere das Programm so, dass es auch dann korrekt läuft, wenn zwei (oder sogar alle drei) der eingegebenen Zahlen gleich gross sind. 8

9 Module 1) Bemerkung Viele Grundfunktionen sind in Python direkt vorhanden und abrufbar. Gewisse Funktionen befinden sich aber in externen Modulen und können erst verwendet werden, wenn dieses Modul aufgerufen wurde. 2) Quadratwurzel Berechne zu zwei eingegebenen Katheten eines rechtwinkligen Dreiecks die Hypotenuse. # Hypotenuse from math import * # oder: import math a = float(input("kathete a =? ---> ")) b = float(input("kathete b =? ---> ")) c = sqrt(a*a + b*b) # oder: c = math.sqrt(a*a + b*b) print("länge der Hypotenuse c = ",c) Beachte: Die Funktion sqrt(...) berechnet die Quadratwurzel einer Zahl. Diese Funktion ist im Modul math programmiert und kann erst verwendet werden, nachdem dieses Modul ins Programm importiert wurde. 3) Division mit und ohne Rest Eine Gruppe von 42 Personen macht einen Ausflug mit einer Bergbahn. Dabei kostet ein Einzelbillett 15 Franken und ein Abonnement für 12 Fahrten kostet 170 Franken. # Bergbahn gruppe = int(input("gruppengrösse? ---> ")) einzel = float(input("preis der Einzelfahrt? ---> ")) abopreis = float(input("preis für ein 12-er-Abo? ---> ")) anzabo = gruppe // 12 # Das gibt die Division ohne Rest 9

10 Module anzeinz = gruppe % 12 # Das gibt den Rest tarif = anzabo*abopreis + anzein*einzel print("lösen Sie ",anzabo," Abos und ",anzeinz," Einzelfahrten.") print("die Reise kostet ",tarif," Franken.") Beachte: Für dieses Programm muss man kein Modul importieren. Die ganzzahlige Division mit und ohne Rest funktioniert aber nur für "int". a // b berechnet die Division ohne Rest, a % b berechnet den entstehenden Rest. 3) Zufallszahlen Der Computer "würfelt" einmal. Du versuchst, die gewürfelte Zahl zu erraten. # Wuerfeln from random import * gewuerfelt = randint(1,6) geraten = int(input("welche Zahl wurde gewürfelt? ---> ")) if (gewuerfelt == geraten): else: print("treffer! Richtig geraten.") print("leider knapp daneben.") Beachte: Mit randint(1,6) wird eine ganze Zahl zwischen 1 und 6 (Grenzen inklusive) zufällig generiert. Für diese Funktion muss man das Modul random importieren. Es empfiehlt sich, die benötigten Module immer am Anfang des Programms zu deklarieren. Übungen 10

11 Module 1) Quader Wenn man die drei Seitenlängen eines Quaders eingibt, dann kann man die drei Flächendiagonalen (Längen der Diagonalen in einer Seitenfläche des Quaders) sowie die Raumdiagonale berechnen. Schreibe dazu ein Programm. 2) Wurzel ziehen Dieses (rein technische) Programm soll eine Zahl einlesen. Wenn die eingegebene Zahl positiv (oder Null) ist, dann soll die Quadratwurzel gezogen werden. Wenn die eingegebene Zahl negativ ist, dann soll eine entsprechende Fehlermeldung erfolgen. Beispiele: Eingabe: 6.25 Ausgabe: 2.5 Eingabe: Ausgabe: Keine Quadratwurzel! 3) Bergbahn Auf einen Berg führen mehrere Bahnen Der Tarif von Bahn A beträgt pro Person 17 Fr. Der Tarif von Bahn B lautet: Einzelfahrt 18 Fr. Ab 10 Personen gibt es 10% Rabatt. Bahn C: Die Einzelfahrt kostet 19 Fr, ein Abonnement für 6 Fahrten kostet 100 Fr. Bahn D: Einzelfahrt 20 Fr. Jede 5. Person fährt gratis. Schreibe ein Programm, welches zur einzugebenden Gruppengrösse alle 4 Tarife berechnet und ausgibt. 4) Drei Würfel Drei Würfel werden miteinander geworfen. Schreibe ein Programm, welches drei Würfe simuliert und die Summe der geworfenen Zahlen ausdruckt. 5) Zufälliges Datum Für ein Spiel wollen wir ein zufälliges Datum generieren. 11

12 Erzeuge zwei Zufallszahlen. Die erste heisse T und soll zwischen 1 und 31 liegen, die zweite nennen wir M und sie liegt zwischen 1 und 12 (Grenzen überall inklusive). Das Programm soll dann testen, ob ein Datum mit Tag T und Monat M möglich ist. Beispiele: T = 28, M = 11 ergibt ein mögliches Datum (28. November). T = 31, M = 4 ergibt kein mögliches Datum (den 31. April gibt es nicht). Module 12

13 Wiederholungen 1) Schleifen Die zweite wichtige Programmierstruktur ist die Wiederholungsschleife. Dabei wird eine gewisse Folge von Befehlen ausgeführt, so lange eine Bedingung erfüllt ist. Man unterscheidet drei Arten von Wiederholungsschleifen, wobei eigentlich nur eine einzige Art nötig ist. (Die andern beiden Arten kann man als Spezialfälle dieser ersten Art betrachten.) 2) Beispiel Schreibe ein Programm, welches den Notendurchschnitt einiger einzugebender Zahlen berechnet. Dabei soll die Eingabe wiederholt werden, so lange man sinnvolle Werte eingibt. Die Wiederholung endet also, wenn man eine Zahl kleiner als 1 oder grösser als 6 eingegeben hat. Das folgende Programm illustriert die Struktur: # Noten summe = 0 # Zu Beginn ist die Summe der Noten = 0 anznoten = 0 eing = 2 # und man hat noch keine Note eingegeben. # eing muss definiert sein ("dummy"-wert) while (eing >= 1) and (eing <= 6): eing = float(input("nächste Note? ---> ")): summe = summe + eing anznoten = anznoten + 1 # Addiere die Eingabe zur Summe # Erhöhe die Anzahl der Noten schnitt = summe/anznoten print("der Durchschnitt beträgt ",schnitt,".") 3) Bemerkungen 13

14 a) Nach dem "while" kommt die Bedingung, welche getestet wird. Die Bedingung kann in Klammern stehen. Der Befehl wird immer mit einem Doppelpunkt abgeschlossen. b) Nach dem Doppelpunkt folgt die Einrückung automatisch. c) Wenn die Bedingung erfüllt ist, dann werden alle Befehle ausgeführt, die eingerückt wurden. d) Die Berechnung des Durchschnitts erfolgt, nachdem die Noten eingegeben wurden. 4) Dummy-Werte Die Zeile mit dem Befehl eing = 2 im obigen Programm ist nötig, damit man überhaupt einmal in die Schleife hinein kommt. Wenn dieser Befehl fehlt, dann ist das Überprüfen der Bedingung nicht möglich und es erfolgt eine Fehlermeldung. Damit das Programm also korrekt läuft, muss man den Wert von eing initialisieren. Der genaue Wert ist bedeutungslos, da er mit der ersten Eingabe ohnehin überschrieben wird. Diese Initialisierung kann man bei diesem Programm umgehen, indem man die erste Note vor der Wiederholungsschleife eingibt. Das ergibt etwa folgende Version. # Noten zum Zweiten eing = float(input("erste Note? ----> ")) Wiederholungen summe = eing anznoten = 1 # Die erste Eingabe zählt zur Summe # Nun hat man eine Note eingegeben while (eing >= 1) and (eing <= 6): eing = float(input("nächste Note? ---> ")): summe = summe + eing anznoten = anznoten + 1 # Addiere die Eingabe zur Summe # Erhöhe die Anzahl der Noten schnitt = summe/anznoten print("der Durchschnitt beträgt ",schnitt,".") 14

15 Wiederholungen Übungen 1) Immobilie Der Wert einer Immobilie steigt jedes Jahr um p % an. Schreibe ein Programm, welche den Zeitwert dieser Immobilie so lange berechnet, bis der Zeitwert (mehr als) doppelt so gross ist wie der heutige Anfangswert. 2) Degressive Abschreibung Ein Gegenstand hat den Wert k (dieser Wert ist Eingabe). Erstelle ein Programm, welche für die nächsten Jahre (die Anzahl Jahre ist Eingabewert) den Zeitwert dieses Gegenstands berechnet, wenn jedes Jahr p % des Werts abgeschrieben werden. (Der Abschreibungssatz p ist auch einzugeben.) Diese Art Abschreibung heisst degressive Abschreibung. 3) Lineare Abschreibung Eine Firma kauft eine Maschine (der Einkaufspreis ist einzugeben), welche innert einiger Jahre (die Anzahl Jahre ist einzugeben) linear abgeschrieben wird. Beispiel: Eingabe: (Fr. Einkaufspreis), 5 (Jahre) Ausgabe: Jahr 1: Jahr 2: Jahr 3: Jahr 4: Jahr 5: 0. 4) Zins und Zinseszins Herr Spar legt sich jedes Jahr einen festen Betrag (z.b ) auf sein Konto, welches (beispielsweise) 2.5% Zins trägt. Er tut dies so lange, bis er einen bestimmten Betrag überschreitet. Dieser Betrag ist auch einzugeben, z.b Schreibe dazu ein Programm. 5) Warten auf die erste Sechs 15

16 Wie lange muss man einen Würfel werfen, bis (zum ersten Mal) eine 6 erscheint? Schreibe ein Programm, welches so lange würfelt, bis eine 6 erschienen ist. Eingabe: keine Ausgabe: alle geworfenen Zahlen und die Anzahl Würfe. 6) Würfeln Ein Würfel wird so lange geworfen, bis die Summe der erhaltenen Zahlen 100 erreicht (oder überschreitet). Bestimme mit einem Programm, wie viele Würfe dazu nötig sind. 7) Zahlen raten Der Computer "würfelt" eine Zufallszahl zwischen 1 und 6 (Grenzen inklusive). Der Spieler versucht nun, die gewürfelte Zahl zu erraten. Bestimme mit einem Programm, wie viele Versuche dazu nötig sind. 8) Fibonacci Die Folge der Fibonacci-Zahlen beginnt mit 1, 1, 2, 3, 5, 8, 13, 21,... Erstelle ein Programm, welches die ersten 25 Fibonacci-Zahlen berechnet. Wiederholungen 16

17 Alle Grundstrukturen 1) Bemerkung Mit den in den vorherigen vier Kapiteln gelernten Grundstrukturen kann man theoretisch jede Aufgabe lösen, die ein Programm verlangt. Selbstverständlich gibt es Verbesserungen und Möglichkeiten zur Optimierung, aber rein theoretisch sind die bis hier bekannten Grundstrukturen ausreichend. Mit dem folgenden Spiel soll gezeigt werden, wie die Grundstrukturen zusammenspielen. 2) "Black Jack" Der Computer generiert Zufallszahlen zwischen 1 und 10. Zunächst zeigt der Computer zwei Zufallszahlen und berechnet die Summe. Der Spieler darf wählen, ob der Computer noch eine Zahl generieren soll. Je näher man mit der Summe aller generierten Zufallszahlen an die Zahl 21 herankommt, ohne sie zu überschreiten, desto besser. Für dieses Spiel gelten (abweichend vom üblichen "Black Jack") folgende Regeln: Wenn man mit Summe 15 oder weniger aufhört mit "Ziehen", erhält man keinen Punkt. Wenn man mit Summe 16, 17 oder 18 aufhört, dann gibt es einen Punkt. Wenn man mit Summe 19 oder 20 aufhört, dann gibt es zwei Punkte. Wenn man mit Summe 21 aufhört, dann gibt es drei Punkte. Wenn die Summe 21 überschritten wird, dann gibt es zwei Strafpunkte (Minuspunkte). Das Ziel ist, in 5 Runden möglichst viele Punkte zu machen. # BlackJack from random import * punkte = 0 runde = 1 while runde <= 5: 17

18 Alle Grundstrukturen print("runde ",runde) zahl1 = randint(1,10) zahl2 = randint(1,10) summe = zahl1 + zahl2 print("die erste Zahl war ",zahl1,", die zweite ",zahl2) print("somit ist die Summe ",summe) noch = int(input("nochmal (1 = ja, 0 = nein)? ---> ")) while (noch == 1) and (summe < 22): zahl = randint(1,10) summe = summe + zahl print("neue Zahl: ",zahl,", neue Summe: ",summe) if summe <= 21: noch = int(input("nochmal (1 = ja, 0 = nein)? ---> ")) if summe <= 15: pneu = 0 if (summe > 15) and (summe <= 18): pneu = 1 if (summe == 19) or (summe == 20): pneu = 2 if summe == 21: pneu = 3 if summe > 21: 18

19 Alle Grundstrukturen pneu = 2-4 print("du holst in dieser Runde ",pneu," Punkte") punkte = punkte + pneu print("neuer Punktestand: ",punkte," Punkte") runde = runde + 1 print("spielende") print("du hast total ",punkte," Punkte geholt. (!)") Übungen 1) Spareinlagen Herr Spar legt sich ein Kapital an, indem er stets (jährlich) am 1. Januar auf ein Konto überweist. Der Zinsfuss ist einzugeben (z.b. 1.75%). Berechne das Kapital bis zum Ende des 10. Jahres (d.h. gerade vor der 11. Einzahlung). Schreibe dazu ein Programm. 2) Quadratische Gleichung Erstelle ein Programm, welches die quadratische Gleichung a x2 + b x + c = 0 löst. Eingabe: a, b, c. Ausgabe: Die Lösungszahlen (sofern sie existieren), andernfalls eine Meldung, dass die Gleichung keine reelle Lösung hat. 3) Pythagoras Schreibe ein Programm, welches die Hypotenuse und eine Kathete eines rechtwinkligen Dreiecks einliest und die andere Kathete berechnet. Beispielsweise wie folgt: Eingabe: Ausgabe: Hypotenuse: 13 Kathete: 12 andere Kathete: 5 19

20 Alle Grundstrukturen Hypotenuse: 10 Kathete: 10 andere Kathete: 0 (entartetes Dreieck) Hypotenuse: 10 Kathete: 12 zu diesen Daten gibt es kein Dreieck 4) Schuldabzahlung Jemand nimmt eine Schuld (Kleinkredit) von beispielsweise 10'000. auf. Jedes Jahr soll ein bestimmter Betrag (die so genannte Rate, z.b ) zurückgezahlt werden. Die Rückzahlung beginnt am Ende des ersten zu berechnenden Jahres. Der Schuldzins soll für die ganze Zeit gleich bleiben (beispielsweise 9.75%). Schreibe dazu ein Programm. Verfeinerungen Die letzte Rate ist kleiner, wenn der Schuldbetrag kleiner wird als die Rate. Diese letzte Rate soll auch berechnet werden. Wenn die Rate zu klein ist, dann kann man die Schuld nie abzahlen. Ändere das Programm so ab, dass in diesem Fall das Programm abbricht und eine entsprechende Fehlermeldung ausgibt. 5) Datenprüfung Schreibe ein Programm, welches zu drei eingegebenen Zahlen den Durchschnitt bestimmt und diesen ausdruckt. Dabei soll jeder Eingabewert geprüft werden, d.h. es werden nur Zahlen zwischen 1.0 und 6.0 (natürlich inkl. diese beiden Werte) akzeptiert. Erweiterungen Am Anfang des Programms soll man zuerst eingeben, wie viele Noten man hat, von denen man den Durchschnitt rechnen will. Sehr schwierig wird das Programm, wenn man die einzelnen Noten noch gewichtet (analog zur Situation, dass eine Prüfung stärker zählt als eine andere). 20

21 Datentypen 1) Zeichenketten (Strings) Nebst ganzen Zahlen (Integers) und reellen Zahlen kann man auch Texte verarbeiten. Technisch gesehen nennt man dies eine Zeichenkette. Beispiele dafür sind "ja" und "nein", aber auch irgendwelche Spielernamen. 2) Teilnehmer Man soll Vornamen und Namen eines Teilnehmers einlesen. Dabei soll es möglich sein, dass man zwei Vornamen eingeben kann. (Es geht hier nur um die Eingabe.) # Teilnehmer name = input("wie lautet Ihr Name? ---> ") i = 1 vorname1 = input("wie lautet Ihr "+str(i)+". Vorname? ---> ") i = 2 frage = input("haben Sie einen "+str(i)+". Vornamen? ---> ") if (frage == "ja"): else: vorname2 = input("wie lautet Ihr "+str(i)+". Vorname? ---> ") ` vorname2 = " "``` Beachte: input kann (im Gegensatz zu print) nur einen Text annehmen. Deshalb muss man mehrere Texte zusammenfügen (das geschieht mit dem "+") und aus der Zahl muss man eine Zeichenkette generieren (und das geschieht mit dem Befehl "str"). 3) Listen Häufig ist es in der Informatik und beispielsweise in der Statistik nötig, mehrere gleichartige Daten in einer Liste zusammenzufassen. Eine Liste hat folgende Struktur: 21

22 liste = [14.5, 7.6, 3.8, 4, 0, 1.5, 0.4] und steht beispielsweise für Wetterdaten (Niederschlagsmengen, gemessen während einer Woche). Eine Liste funktioniert im Wesentlichen genau gleich wie ein Vektor. Beachte: a) Listen muss man normalerweise initialisieren. liste = [0,0,0,0,0,0,0] b) Jedes Element einer Liste hat einen Index. Das erste Element einer Liste hat den Index Null. c) Einen Wert speichert man mit liste[2] = 3.8. d) Einen Listenwert kann man abfragen mit liste[1] abfragen. Das Ergebnis ist dann die oben gespeicherte 7.6. e) Wenn man am Schluss der Liste noch ein Element hinzufügen will, dann geschieht dies mit liste = liste + [0.4] 4) Beispiel Speichere 10 gewürfelte Zahlen in einer Liste und drucke die Liste am Schluss aus. # Liste from random import * Datentypen liste = [] # Erstellt eine leere Liste i = 1 while i <= 10: wurf = randint(1,6) liste = liste + [wurf] i = i + 1 print(liste) 22

23 Datentypen Übungen 1) Zeichenketten Man will von 5 (diese Zahl soll man eingeben können) Werten die grösste Zahl berechnen. Dabei soll bei der Eingabe jedes Mal aufgeführt werden, welchen Wert man eingibt. Beispiel: Eingabe der 1. Zahl: 14.5 Eingabe der 2. Zahl: usw. 2) Unbestimmte Anzahl Werte Schreibe ein Programm, welches Zahlen einliest, bis man mit einer entsprechenden Eingabe signalisiert, dass man mit dem Einlesen der Werte fertig ist. Am Schluss soll der Durchschnitt der eingegebenen Werte berechnet werden. Ein Dialog könnte also etwa so aussehen: Gib die 1. Zahl ein: Gibt es noch mehr Zahlen? ja Gib die 2. Zahl ein: Gibt es noch mehr Zahlen? ja Gib die 3. Zahl ein: Gibt es noch mehr Zahlen? nein Du hast 3 Zahlen eingegeben. Der Durchschnitt beträgt ) Listen Speichere 5 einzugebende Werte in eine Liste und drucke diese Liste aus. Berechne anschliessend den grössten und den kleinsten Wert dieser Liste. 4) Skalarprodukt 23

24 Schreibe ein Programm, welches 2 Vektoren einliest und berechne das Skalarprodukt der beiden Vektoren. 5) Fibonacci Berechne die ersten 15 Fibonacci-Zahlen, indem du diese in einer Liste speicherst. 6) Würfeln zu ersten Ein Würfel wird (beispielsweise) 150 Mal geworfen. Zähle, wie viele "1", wie viele "2",... und wie viele "6" gewürfelt wurden und drucke am Schluss diese Werte aus. 7) Würfeln zum zweiten Schreibe ein Programm, welches so lange würfelt, bis (irgend) eine Zahl 50 Mal vorgekommen ist. Drucke am Schluss aus, welche Zahl wie oft gewürfelt wurde. 8) Zahlenlotto Schreibe ein Programm, welches 6 Zahlen aus 49 zufällig wählt. Es versteht sich von selbst, dass keine Zahl doppelt vorkommt. Datentypen 24

Programmieraufgaben. 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt.

Programmieraufgaben. 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt. Programmieraufgaben 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt. 2. Summe: Schreibe ein Programm, bei dem der Nutzer zwei Zahlen eingibt. Das Programm berechnet

Mehr

Programmieraufgaben. 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt.

Programmieraufgaben. 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt. Programmieraufgaben 1. Hello World! Schreibe ein Programm, dass auf der Konsole den Text Hello World! ausgibt. 2. Netto-Brutto-Rechner: Schreibe ein Programm, bei dem der Nutzer einen Preis ohne Steuer

Mehr

Programmieren mit Python

Programmieren mit Python Programmieren mit Python Programmieren heisst: Dem Computer sagen, was er tun soll. Die Befehle muss man übrigens in einer Sprache geben, die der Computer versteht. Darum sind verschiedene Programmiersprachen

Mehr

1 Berechnung von Summen (ca = 10 Punkte)

1 Berechnung von Summen (ca = 10 Punkte) Einführung in die wissenschaftliche Programmierung Klausur 26.02.2013 Seite 1/8 Name, Vorname, Unterschrift: Matrikelnummer: 1 Berechnung von Summen (ca. 5 + 4 + 1 = 10 Punkte) Gegeben sind natürliche

Mehr

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Java Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Bremsweg-Berechnung 3 1.1 Einführung.................................. 3 1.2 Aufgabenstellung und Programmanforderungen..............

Mehr

Zahlen raten. Al Sweigart, Eigene Spiele programmieren Python lernen, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

Zahlen raten. Al Sweigart, Eigene Spiele programmieren Python lernen, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm D3kjd3Di38lk323nnm 33 3 Zahlen raten In diesem Kapitel schreiben Sie ein Zahlenratespiel (»Guess The Number«). Der Computer denkt sich eine Geheimzahl von 1 bis 20 aus und bittet den Benutzer, sie zu erraten.

Mehr

Übungszettel 2a - Python

Übungszettel 2a - Python Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert

Mehr

Kapitel. Platzhalter. Was sind Platzhalter?

Kapitel. Platzhalter. Was sind Platzhalter? Kapitel 3 Was sind? sind ganz wichtige Elemente bei der Programmierung. Alle Programme, die du schon kennst (wie beispielsweise die Textverarbeitung WORD oder ein Programm zum Verschicken von E-Mails),

Mehr

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code: 7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen

Mehr

Vorbemerkungen. Die Programmieroberfläche des ClassPad

Vorbemerkungen. Die Programmieroberfläche des ClassPad Vorbemerkungen Erfahrungen zeigen, dass die Programmiermöglichkeiten des ClassPad im Unterricht kaum genutzt werden. Dabei bieten aus unserer Sicht viele Situationen die Gelegenheit, die Programmieroberfläche

Mehr

Grundlagen der Theoretischen Informatik: Übung 10

Grundlagen der Theoretischen Informatik: Übung 10 Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Python Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Überblick 3 2 Teil A: Geldautomat 3 2.1 Einführung.................................. 3 2.2 Aufgabenstellung...............................

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Kontrollstrukturen und Logik

Kontrollstrukturen und Logik Programmieren mit Java Modul 2 Kontrollstrukturen und Logik Selbstständiger Teil Inhaltsverzeichnis 1 Notendurchschnitt 3 1.1 Aufgabenstellung............................... 3 1.2 Programmanforderungen...........................

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 27.02.2018 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main(void) { printf("c-programmierung

Mehr

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung.

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung. I. Programmierung ================================================================== Programmierung ist die Planung einer Abfolge von Schritten (Instruktionen), nach denen ein Computer handeln soll. Schritt

Mehr

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB Praktikum Ingenieurinformatik Termin 2a Schleifen und Verzweigungen in C und mit MATLAB 1 1. Fibonacci-Zahlen in C 2. Fibonacci-Zahlen mit MATLAB 3. Zahlendreieck in C 4. Zahlendreieck mit MATLAB 5. Klausuraufgabe

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

Programmieren mit dem TI-92

Programmieren mit dem TI-92 Sieglinde Fürst Programmieren mit dem TI-92 Programmieren Formeln für Flächeninhalte Inhalte Programm zur Addition zweier Zahlen Programm zur Flächenberechnung eines Dreiecks, Parallelogramms, Trapezes

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Informatik für Schüler, Foliensatz 3 Vorhandene Funktionen und Wiederholschleifen

Informatik für Schüler, Foliensatz 3 Vorhandene Funktionen und Wiederholschleifen Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. September 2009 1/17 Informatik für Schüler, Foliensatz 3 Vorhandene Funktionen und Wiederholschleifen Prof. G. Kemnitz Institut

Mehr

Gruber I Neumann. CASIO fx-82 / fx-85. gut erklärt. Ausführliche Beispiele und Übungsaufgaben

Gruber I Neumann. CASIO fx-82 / fx-85. gut erklärt. Ausführliche Beispiele und Übungsaufgaben Gruber I Neumann CASIO fx-82 / fx-85 gut erklärt Ausführliche Beispiele und Übungsaufgaben Inhaltsverzeichnis 3 Inhaltsverzeichnis 1 Der Taschenrechner 5 1.1 Erste Rechnungen...............................

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Übung 2 Laura Kallmeyer Sommersemester 204, Heinrich-Heine-Universität Düsseldorf Offizielle Python Seite, auf der man jede Menge Dokumentation findet: http://www.python.org/

Mehr

Tutoraufgabe 1 (Casting): Programmierung WS17/18 Übungsblatt 2 (Abgabe ) Allgemeine Hinweise:

Tutoraufgabe 1 (Casting): Programmierung WS17/18 Übungsblatt 2 (Abgabe ) Allgemeine Hinweise: Prof. aa Dr. J. Giesl Programmierung WS17/18 M. Hark, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Terme, Rechengesetze, Gleichungen

Terme, Rechengesetze, Gleichungen Terme, Rechengesetze, Gleichungen Ein Junge kauft sich eine CD zu 15 und eine DVD zu 23. Er bezahlt mit einem 50 - Schein. Wie viel erhält er zurück? Schüler notieren mögliche Rechenwege: (1) 15 + 23 =

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Aufgabe Total Punkte

Aufgabe Total Punkte Lösung der Informatikprüfung Klasse 4 Sa Kantonsschule XY 2007 Name :...Vorname :... Du hast 90 Minuten Zeit. Spicken ist nicht erlaubt (Die Prüfung wird sofort eingezoegen und Deine mögliche Bestnote

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Name: Aufgaben. Arbeitsanweisung

Name: Aufgaben. Arbeitsanweisung Name: Aufgaben Arbeitsanweisung a) Erstelle zunächst ein Struktogramm mit dem Struktogrammeditor. b) Füge das Struktogramm in diese Datei ein. (Datei Bild in Zwischenablage kopieren rechte Maustaste einfügen)

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom 31.5. bis zum 4.6.2010 (KW 22) Organisatorisches Diese Woche führen wir Methoden ein und behandeln

Mehr

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5. Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter

Mehr

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich

Mehr

Actionscript Kleine Programme Fragen & Aufgaben

Actionscript Kleine Programme Fragen & Aufgaben Verständnisfragen 1. Eine Variable des Typs Number mit Namen superzahl soll deklariert werden und den Wert 77 zugewiesen bekommen. Wie sieht der Code aus? 2. Wann braucht es ein einzelnes Gleichheitszeichen,

Mehr

Programmiergrundkurs

Programmiergrundkurs Programmiergrundkurs Aufgaben und Anleitung Lucas Mann 13.01.2016 1 Übersetzung in Python Als erstes machen wir uns damit vertraut, wie man in Python Algorithmen schreiben kann. Einen Algorithmus kannst

Mehr

Programmieren mit Jython Teil 4: Selektion und Zufallszahlen

Programmieren mit Jython Teil 4: Selektion und Zufallszahlen Programmieren mit Jython Teil 4: Selektion und Zufallszahlen Lernziele Verwendung der if Anweisung: gewisse Zeilen werden nur dann ausgeführt, wenn eine Bedingung erfüllt (oder nicht erfüllt) ist. Erzeugung

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

PYTHON. 04 Funktionen II, Module

PYTHON. 04 Funktionen II, Module PYTHON 04 Funktionen II, Module Funktionen Funktionen enthalten Programm-Teile können später im Programm aufgerufen werden können beliebig oft aufgerufen werden (und man muss nur die Funktion aufrufen,

Mehr

Ausgabe:

Ausgabe: Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

SFZ FN Sj. 12/13. Python 2 Grundlagen. W.Seyboldt. Python, SFZ FN, Sj 12/13

SFZ FN Sj. 12/13. Python 2 Grundlagen. W.Seyboldt. Python, SFZ FN, Sj 12/13 SFZ FN Sj. 12/13 Python 2 Grundlagen 1 Python, SFZ FN, Sj 12/13 Python mit der IDE Eclipse Oft ist es praktisch, mal kurz was ausrechnen zu können - Dann benutzen wir die Python shell PyShell Meist aber

Mehr

This image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17

This image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17 This image cannot currently be displayed. Java à Matlab bereitgestellt von Dr. Lukas Faessler 12/4/17 Allgemeine Programmierkonzepte kommen in verschiedenen Programmiersprachen vor sind langlebig Sprachen

Mehr

Übung zu Einführung in die Informatik # 11

Übung zu Einführung in die Informatik # 11 Übung zu Einführung in die Informatik # 11 Tobias Schill tschill@techfak.uni-bielefeld.de 22. Januar 2016 Aktualisiert am 22. Januar 2016 um 11:36 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* Aufgabe

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Einführung in die Programmiersprache Julia Vorlesung Computerphysik Sommersemester 2018 Ralf Bulla Universität zu Köln

Einführung in die Programmiersprache Julia Vorlesung Computerphysik Sommersemester 2018 Ralf Bulla Universität zu Köln Einführung in die Programmiersprache Julia Vorlesung Computerphysik Sommersemester 2018 Ralf Bulla Universität zu Köln 1 Einstieg Das erste Programm: a = 1 println(a) Ein Programm ist eine Abfolge von

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion

Mehr

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante

Mehr

1 Dreiecksfläche. Für das Dreieck A( 1, 0), B(0, 2), C(1, 0) berechnet das Programm zum Beispiel2 diefläche2.0:

1 Dreiecksfläche. Für das Dreieck A( 1, 0), B(0, 2), C(1, 0) berechnet das Programm zum Beispiel2 diefläche2.0: 2 1 Dreiecksfläche In dieser Aufgabe müssen mathematische Ausdrücke, wie man sie in einer Formelsammlung findet, in Java-Syntax»übersetzt«werden. Man sollte sich Bibliotheksmethoden zunutze machen, die

Mehr

Übungskomplex Reelle Zahlen. Rechnen mit Gleitkommazahlen

Übungskomplex Reelle Zahlen. Rechnen mit Gleitkommazahlen Übungskomplex Reelle Zahlen Rechnen mit Gleitkommazahlen Hinweise zur Übung Benötigter Vorlesungsstoff Einheiten 1-3 (C-Tutorial) Einheiten Reelle Zahlen 61 Aufgabe Kreisberechnung a) Schreiben Sie zwei

Mehr

Objektorientiertes Programmieren (Java)

Objektorientiertes Programmieren (Java) Grundlagen Objektorientiertes Programmieren (Java) Java folgt gewissen Rechtschreibregeln die Syntax. Diese besagt, dass hinter jeden Befehl ein Semikolon( ; ) stehen muss, damit der Computer weiß, dass

Mehr

1 Lineare Programme. Aufgaben: 1.1 Subtraktion. 1.2 Division. LF6 ANW LS6.3 C++-Programmierung

1 Lineare Programme. Aufgaben: 1.1 Subtraktion. 1.2 Division. LF6 ANW LS6.3 C++-Programmierung 1 Lineare Programme Einfaches Beispiel, in dem nacheinander zwei Zahlen eingegeben werden, die Summe berechnet und ausgegeben wird. # include < iostream > using namespace std ; int main () int izahl1,

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,

Mehr

Rückgabewerte von Methoden

Rückgabewerte von Methoden OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und 27.5.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung

Mehr

COBOL Grundlagen. Übungen zur Schulung

COBOL Grundlagen. Übungen zur Schulung COBOL Grundlagen Übungen zur Schulung 22. Oktober 2011 Eine Ausarbeitung von: cps4it Ralf Seidler Stromberger Straße 36A 55411 Bingen Fon: 06721-992611 Fax: 06721-992613 Mail: ralf.seidler@cps4it.de Internet

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Wirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python

Wirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python Python Programmiersprache: Syntax - legt die als Programm zulässigen Zeichenfolgen fest (Grammatik) Semantik - ist die Bedeutung der programmiersprachlichen Ausdrücke Algorithmus - genau formulierte Verarbeitungsvorschrift.

Mehr

Einführung in die Programmierung für Computerlinguisten

Einführung in die Programmierung für Computerlinguisten EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN Dr. Maximilian Hadersbeck Leonie Weißweiler LMU Geschwister-Scholl-Platz 1 80539 München Anrede Name Straße Lösung zur 3. Übung zur Vorlesung Ludwig-Maximilians-Universität

Mehr

Informatik für Schüler, Foliensatz 18 Rekursion

Informatik für Schüler, Foliensatz 18 Rekursion Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. März 2009 1/10 Informatik für Schüler, Foliensatz 18 Rekursion Prof. G. Kemnitz Institut für Informatik, Technische Universität

Mehr

SFZ FN Sj. 12/13. Python 4 Grundlagen. W.Seyboldt. Python, SFZ FN, Sj 12/13

SFZ FN Sj. 12/13. Python 4 Grundlagen. W.Seyboldt. Python, SFZ FN, Sj 12/13 SFZ FN Sj. 12/13 Python 4 Grundlagen 1 Python, SFZ FN, Sj 12/13 Python Methoden: def teilt(t, n): ''' Kommentar. ''' Berechnungen return var Statt der Variable var bei Return kann auch eine Methode oder

Mehr

Informatik Algorithmen und Programme

Informatik Algorithmen und Programme Informatik Algorithmen und Programme Seite 1 Grundlagen der Programmierung: Spezifikation Phasen der Software-Entwicklung Spezifikation Problem und seine Lösung beschreiben vollständig detailliert unzweideutig

Mehr

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13 Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

Mehr

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe. Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende

Mehr

Struktogramme. (6.) Ermitteln Sie den Wert von a und b aus dem Struktogramm: Struktogramme S. 1/3

Struktogramme. (6.) Ermitteln Sie den Wert von a und b aus dem Struktogramm: Struktogramme S. 1/3 Struktogramme (1.) Erstellen Sie das Struktogramm für folgende logische Anweisungen: Variable x = 2 Variable y = 6 Variable z = y x Variable y = 4 Variable z = z + y Ausgabe z Welcher Wert wird ausgegeben?

Mehr

Gruber I Neumann CASIO FX-87DE PLUS. gut erklärt. Mit ausführlichen Beispielen und Übungsaufgaben

Gruber I Neumann CASIO FX-87DE PLUS. gut erklärt. Mit ausführlichen Beispielen und Übungsaufgaben Gruber I Neumann CASIO FX-87DE PLUS gut erklärt Mit ausführlichen Beispielen und Übungsaufgaben Inhaltsverzeichnis 3 Inhaltsverzeichnis Vorwort 5 1 Der Taschenrechner 7 1.1 Erste Rechnungen................................

Mehr

Dokumentation IMI Faktura

Dokumentation IMI Faktura Dokumentation IMI Faktura 2 Inhalt Funktionsübersicht IMI Faktura... 3 Fixkosten generieren... 4 Fehlende Rufnummern generieren... 5 Kostenstellen Zusatzdaten verwalten... 5 Rechnungen erstellen... 5 Ablauf

Mehr

1. Umzug mit Hindernissen. Wurzeln, Satz des Pythagoras, quadratische Gleichungen, ähnliche Dreiecke, Excel

1. Umzug mit Hindernissen. Wurzeln, Satz des Pythagoras, quadratische Gleichungen, ähnliche Dreiecke, Excel Wurzeln, Satz des Pythagoras, quadratische Gleichungen, ähnliche Dreiecke, Ecel Es ist wie verhet! Die Müllers mussten umziehen und jetzt gibt es Probleme mit Petras großer Matratze. Diese ist 2,00 m mal

Mehr

Anwendung 1: Rabatt und Skonto

Anwendung 1: Rabatt und Skonto Anwendung 1: Rabatt und Skonto Herr Gerber kauft sich ein Mountainbike. Dieses kostet gemäss Katalogpreis 2400. Franken. Weil Herr Gerber Stammkunde ist, gewährt ihm der Velohändler 15% Rabatt. Somit muss

Mehr

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate COMA Eine Einführung Quellcode: Anweisung(en)1 Wiederhole: T.Bosse Anweisung(en) 2 Einfache Schleifen (z.b. for-loop) Wiederhole: Falls (Bedingung) wahr, tue: Anweisung(en) 2 sonst führe Verzweigungen

Mehr

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php

Mehr

Mathematische Funktionen

Mathematische Funktionen Mathematische Funktionen Viele Schüler können sich unter diesem Phänomen überhaupt nichts vorstellen, und da zusätzlich mit Buchstaben gerechnet wird, erzeugt es eher sogar Horror. Das ist jedoch gar nicht

Mehr

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis Vorwort 2 1 Der Taschenrechner 3 1.1 Erste Rechnungen.................................. 3 1.2 Bearbeiten und Löschen der Eingaben....................... 4 1.3 Mehrere

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

SFZPy Sj. 17/18. Python Jupyter / Spyder. SFZ 16/17 W.Seyboldt

SFZPy Sj. 17/18. Python Jupyter / Spyder. SFZ 16/17 W.Seyboldt SFZPy Sj. 17/18 Python Jupyter / Spyder 1 Python Python ist eine Skriptsprache, man muss den Pythoncode nicht zuerst kompilieren, sondern kann den Code sofort ausführen (falls er richtig ist!). Entweder

Mehr