Add new exercises and table of contents including numbered exercises.

This commit is contained in:
paulusja committed 2023-03-20 15:33:09 +01:00
1 parent 291f1eb219
commit 6e49fab55b
1 file changed
+1 -1
+1 -1
View File
@@ -1 +1 @@
{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Übungsaufgaben\n", "Dieses Jupyter-Notebook enthält verschiedene Aufgaben, um den Umgang mit Python sortiert nach Themenschwerpunkten zu üben. Insbesondere die Gruppe der gemischten Themenschwerpunkte eignet sich als Klausurvorbereitung.\n", "\n", "**Hinweis:** Bei den Aufgabenbeschreibungen sind häufig Beispielabläufe der geforderten Lösungen enthalten. Dabei markiert `>>` eine Eingabe. Der Text danach stellt den Text dar, der bei der Eingabe angezeigt werden soll. Die Beispieleingabe folgt in rekursiver Schreibweise. Soll also `Geben Sie bitte einen Text ein` als Text für die Eingabeaufforderung angezeigt werden und der Benutzer würde `bla` eingeben, sähe das dazugehörige Beispiel also so aus: `>> Geben Sie bitte einen Text ein:` *`bla`*"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Aufgabengruppe Built-In-Funktionen, Variablen und Datentypen "]}, {"attachments": {}, "cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Welche Ausgabe liefert folgendes Programm? Erst überlegen, dann ausführen!"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["a = 500\n", "b = bool(500 % 3) and a > 23\n", "c = a // 100 * (str(b) + ' ')\n", "d = ((323 * 2e2) % 23) ** 0.5\n", "\n", "print(f'a = {a}')\n", "print(f'b = {b}')\n", "print(f'c = {c}')\n", "print( 'd = {d}')"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Schreiben Sie ein Programm, das für eine Variable `zahl` prüft, ob deren Wert ganzzahlig ist und, falls ja, durch 3 teilbar.\n", "\n", "**Beispiele**\n", "\n", "Für `zahl = 22` soll `true` ausgegeben werden.\n", "\n", "Für `zahl = 23` soll `false` ausgegeben werden.\n", "\n", "Für `zahl = 22.2` soll `false` ausgegeben werden."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["zahl = 22\n", "\n", "# Fügen Sie hier Ihren Code ein.\n", "\n", "print('bla')"]}, {"attachments": {}, "cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Welche Ausgabe liefert folgendes Programm? Erst überlegen, dann ausführen!"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["a = 500\n", "print(type(a))\n", "a //= 5\n", "print(type(a))\n", "a /= 5\n", "print(type(a))\n", "a /= 3\n", "print(type(a))\n", "a = 333 % 3\n", "print(type(a))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Schreiben Sie ein Programm, das eine Zahl einliest, diese als 4-Bit-Binärzahl interpretiert (sie besteht also aus maximal 4 Ziffer und nur aus 0ern und 1ern) und deren Dezimalwert ermittelt.\n", "\n", "**Beispiel**\n", "\n", "`>> Geben Sie eine 4-Bit-Binärzahl ein:` *`1010`*\n", "\n", "`Die Dezimalzahl zu 1010 lautet 10.`"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Fügen Sie hier Ihren Code ein."]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Schreiben Sie ein Programm, das eine ganze Zahl vom Benutzer einliest und die Binärdarstellung der niederwertigsten 4 Bits ausgibt.\n", "\n", "**Beispiel**\n", "\n", "`>> Geben Sie eine positive, ganze Zahl ein:` *`5`*\n", "\n", "`Die Binärdarstellung zu 123 lautet 0101.`"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Fügen Sie hier Ihren Code ein."]}, {"attachments": {}, "cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Welche Ausgabe liefert folgendes Programm? Erst überlegen, dann ausführen!"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["eins = '1'\n", "zwei = '2'\n", "print(eins + zwei)\n", "zwei = int(zwei)\n", "print(eins * zwei)\n", "eins = int(eins)\n", "print(eins + zwei)\n", "print(eins * zwei)\n", "zwei = float(zwei)\n", "print(eins * zwei)"]}, {"attachments": {}, "cell_type": "markdown", "metadata": {}, "source": ["### Aufgabe\n", "Schreiben Sie ein Programm, das vom Benutzer die Größe und das Gewicht einliest und dem Benutzer danach den Body Mass Index (BMI) ausgibt. \n", "\n", "$BMI = \\frac{Gewicht\\, [kg]}{(Größe\\, [m])^2}$\n", "\n", "Zusätzlich soll noch ausgegeben werden, in welcher Gewichtskategorie der Benutzer sich laut BMI befindet.\n", "\n", "**Beispiel**\n", "\n", "`>> Wie viel wiegen Sie in kg?` *`80`* <br/>\n", "`>> Wie groß sind Sie in Metern?` *`1.80`*\n", "\n", "`Ihr BMI beträgt 24.691358024691358` <br/>\n", "`Untergewicht` &nbsp;&nbsp;&nbsp;`(< 18.5):`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`False` <br/>\n", "`Normalgewicht (18.5 - 25): True` <br/>\n", "`Übergewicht`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`(>= 25):`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`False` <br/>"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Fuegen Sie hier Ihren Code ein."]}, {"cell_type": "markdown", "metadata": {}, "source":Line truncated
{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Übungsaufgaben\n", "Dieses Jupyter-Notebook enthält verschiedene Aufgaben, um den Umgang mit Python sortiert nach Themenschwerpunkten zu üben. Insbesondere die Gruppe der gemischten Themenschwerpunkte eignet sich als Klausurvorbereitung.\n", "\n", "**Hinweis:** Bei den Aufgabenbeschreibungen sind häufig Beispielabläufe der geforderten Lösungen enthalten. Dabei markiert `>>` eine Eingabe. Der Text danach stellt den Text dar, der bei der Eingabe angezeigt werden soll. Die Beispieleingabe folgt in rekursiver Schreibweise. Soll also `Geben Sie bitte einen Text ein` als Text für die Eingabeaufforderung angezeigt werden und der Benutzer würde `bla` eingeben, sähe das dazugehörige Beispiel also so aus: `>> Geben Sie bitte einen Text ein:` *`bla`*"]}, {"cell_type": "markdown", "metadata": {}, "source": ["**Table of contents**<a id='toc0_'></a> \n", "- 1. [Aufgabengruppe Built-In-Funktionen, Variablen und Datentypen](#toc1_) \n", " - 1.1. [Aufgabe](#toc1_1_) \n", " - 1.2. [Aufgabe](#toc1_2_) \n", " - 1.3. [Aufgabe](#toc1_3_) \n", " - 1.4. [Aufgabe](#toc1_4_) \n", " - 1.5. [Aufgabe](#toc1_5_) \n", " - 1.6. [Aufgabe](#toc1_6_) \n", " - 1.7. [Aufgabe](#toc1_7_) \n", "- 2. [Aufgabengruppe Kontrollfluss](#toc2_) \n", " - 2.1. [Aufgabe](#toc2_1_) \n", " - 2.2. [Aufgabe](#toc2_2_) \n", " - 2.3. [Aufgabe](#toc2_3_) \n", " - 2.4. [Aufgabe](#toc2_4_) \n", " - 2.5. [Aufgabe](#toc2_5_) \n", " - 2.6. [Aufgabe](#toc2_6_) \n", "- 3. [Aufgabengruppe Listen](#toc3_) \n", " - 3.1. [Aufgabe](#toc3_1_) \n", " - 3.2. [Aufgabe](#toc3_2_) \n", " - 3.3. [Aufgabe](#toc3_3_) \n", " - 3.4. [Aufgabe](#toc3_4_) \n", " - 3.5. [Aufgabe](#toc3_5_) \n", " - 3.6. [Aufgabe](#toc3_6_) \n", "- 4. [Aufgabengruppe Zeichenketten](#toc4_) \n", " - 4.1. [Aufgabe](#toc4_1_) \n", " - 4.2. [Aufgabe](#toc4_2_) \n", " - 4.3. [Aufgabe](#toc4_3_) \n", " - 4.4. [Aufgabe](#toc4_4_) \n", " - 4.5. [Aufgabe](#toc4_5_) \n", "- 5. [Aufgabengruppe Funktionen](#toc5_) \n", " - 5.1. [Aufgabe](#toc5_1_) \n", " - 5.2. [Aufgabe](#toc5_2_) \n", " - 5.3. [Aufgabe](#toc5_3_) \n", "- 6. [Aufgabengruppe Dictionaries](#toc6_) \n", " - 6.1. [Aufgabe](#toc6_1_) \n", " - 6.2. [Aufgabe](#toc6_2_) \n", " - 6.3. [Aufgabe](#toc6_3_) \n", " - 6.4. [Aufgabe](#toc6_4_) \n", "- 7. [Aufgabengruppe Exceptions](#toc7_) \n", " - 7.1. [Aufgabe](#toc7_1_) \n", "- 8. [Aufgabengruppe Module](#toc8_) \n", " - 8.1. [Aufgabe](#toc8_1_) \n", "- 9. [Aufgabengruppe Objektorientierte Programmierung (OOP)](#toc9_) \n", " - 9.1. [Aufgabe](#toc9_1_) \n", " - 9.2. [Aufgabe](#toc9_2_) \n", " - 9.3. [Aufgabe](#toc9_3_) \n", "- 10. [Aufgabengruppe Entwurfsmuster](#toc10_) \n", "- 11. [Aufgabe](#toc11_) \n", " - 11.1. [Aufgabe](#toc11_1_) \n", " - 11.2. [Aufgabe](#toc11_2_) \n", "- 12. [Aufgabengruppe Input/Output (IO)](#toc12_) \n", " - 12.1. [Aufgabe](#toc12_1_) \n", " - 12.2. [Aufgabe](#toc12_2_) \n", "- 13. [Aufgabengruppe gemischt](#toc13_) \n", " - 13.1. [Aufgabe](#toc13_1_) \n", " - 13.2. [Aufgabe](#toc13_2_) \n", " - 13.3. [Aufgabe](#toc13_3_) \n", " - 13.4. [Aufgabe](#toc13_4_) \n", " - 13.5. [Aufgabe](#toc13_5_) \n", "\n", "<!-- vscode-jupyter-toc-config\n", "\tnumbering=true\n", "\tanchor=true\n", "\tflat=false\n", "\tminLevel=2\n", "\tmaxLevel=6\n", "\t/vscode-jupyter-toc-config -->\n", "<!-- THIS CELL WILL BE REPLACED ON TOC UPDATE. DO NOT WRITE YOUR TEXT IN THIS CELL -->"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## 1. <a id='toc1_'></a>[Aufgabengruppe Built-In-Funktionen, Variablen und Datentypen](#toc0_)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### 1.1. <a id='toc1_1_'></a>[Aufgabe](#toc0_)\n", "Welche Ausgabe liefert folgendes Programm? Erst überlegen, dann ausführen!"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["a = 500\n", "b = bool(500 % 3) and a > 23\n", "c = a // 100 * (str(b) + ' ')\n", "d = ((323 * 2e2) % 23) ** 0.5\n", "\n", "print(f'a = {a}')\n", "print(f'b = {b}')\n", "print(f'c = {c}')\n", "print( 'd = {d}')"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### 1.2. <a id='toc1_2_'></a>[Aufgabe](#toc0_)\n", "Schreiben Sie ein Programm, das für eine Variable `zahl` prüft, ob deren Wert ganzzahlig ist und, falls ja, durch 3 teilbar.\n", "\n", "**Beispiele**\n", "\n", "Für `zahl = 22` soll `true` ausgegeben werden.\n", "\n", "Für `zahl = 23` soll `false` ausgegeben werden.\n", "\n", "Für `zahl = 22.2` soll `false` ausgegeben werden."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["zahl = 22\n", "\n", "# Fügen Sie hier Ihren Code ein.\n", "\n", "print('bla')"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### 1.3. <a id='toc1_3_'></a>[Aufgabe](#toc0_Line truncated