diff --git a/intro.ipynb b/intro.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..34f2b5c6f519b868d8e04454ebf49ec01d4e2997 --- /dev/null +++ b/intro.ipynb @@ -0,0 +1,253 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Höhere Programmiersprachen\n", + "- von Menschen lesbare Zahlen und Zeichenketten\n", + "- Container = automatische Zuweisung von Speicherplätzen zur Speicherung und Benennung von Daten\n", + "- Ausdrücke (Berechnungen basierend auf Operatoren, mit Vorrang, wie in der Mathematik)\n", + "- Konstrukte für wiederholte Ausführung\n", + "- Funktionen" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Einführung in Python" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Erstes Beispiel: Eine Formel\n", + "Vertikale Bewegung eines in die Luft geworfenen Balls:\n", + "\n", + "## $y(t)=v_0t - \\frac{1}{2} gt^2$\n", + " \n", + "v0: Anfangsgeschwindigkeit, g: Erdbeschleunigung, t: Zeit" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Operatoren\n", + "<table>\n", + " <tr><th>Operator</th><th>steht für</th><th>Präzedenz</th></tr>\n", + " <tr><td>+</td><td>Addition</td><td>0</td></tr>\n", + " <tr><td>-</td><td>Subtraktion</td><td>0</td></tr>\n", + " <tr><td>*</td><td>Multiplikation</td><td>1</td></tr>\n", + " <tr><td>/</td><td>Division</td><td>1</td></tr>\n", + " <tr><td>**</td><td>Potenz</td><td>2</td></tr>\n", + "</table>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Erstes Python Programm\n", + "\n", + "Berechne die Höhe eines Balls nach 0.6s mit v0=5m/s, g=9.81m/s2 mit Hilfe der Formel $y(t)=v_0t - \\frac{1}{2} gt^2$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.2342\n" + ] + } + ], + "source": [ + "print(5*0.6 - 0.5*9.81*0.6**2)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Variablen\n", + "\n", + "- Die Variable legt den Namen eines Objekts fest.\n", + "- Der Ausdruck auf der rechten Seite wird der Variable zugewiesen.\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "y = 3 \n", + "result = 3 + 4" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Programmieren mit Variablen\n", + "Die Verwendung von Variablen in unserem Ballproblem führt zu folgendem Code:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.2342\n" + ] + } + ], + "source": [ + "v0 = 5\n", + "g = 9.81\n", + "t = 0.6\n", + "y = v0*t - 0.5*g*t**2\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Kommentare\n", + "- Erklärungen in natürlicher Sprache bereitstellen.\n", + "- beginnen mit dem Zeichen #." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.2342\n" + ] + } + ], + "source": [ + "# computes the height of a ball in vertical motion. \n", + "v0 = 5 # initial velocity\n", + "g = 9.81 # acceleration of gravity\n", + "t = 0.6 # time\n", + "y = v0*t - 0.5*g*t**2 # vertical position\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "# Module\n", + "- manche Funktionen, die wir benutzen wollen, sind in extra Bibliotheken verfügbar, die wir laden müssen" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.3277387786416064\n" + ] + } + ], + "source": [ + "import random\n", + "x = random.random()\n", + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Übungen\n", + "1. Berechne die Höhe des Balls nach 1 Sekunde mit v0=5 m/s!\n", + "2. Berechne die Höhe des Balls nach 1 Sekunde mit v0=10m/s!\n", + "3. Berechne die Höhe des Balls nach 1 Sekunde mit einer zufälligen Anfangsgeschwindigkeit!\n", + "4. Berechne die Höhe des Balls nach 1 Sekunde mit v0=5 m/s auf dem Mond! Tipp: finde die Gravitationsbeschleuningung auf dem Mond raus und setze sie statt die Erdbeschleunigung ein." + ] + } + ], + "metadata": { + "celltoolbar": "Slideshow", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}