260 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			260 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
| {
 | |
|  "cells": [
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "86976bb8-a009-4ccf-8df3-69ac302459e9",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "import { assertEquals } from \"jsr:@std/assert\"\n",
 | |
|     "import \"https://git.amgdhg.de/kg/tslib/raw/branch/main/logger.ts\""
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "0e2e4f01-d929-4182-9237-886ba70551f0",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Aufgabe 01.04.1\n",
 | |
|     "\n",
 | |
|     "Programmiere eine Methode `quadratzahlen` (ohne Parameter) und lasse darin mithilfe einer Schleife die Quadratzahlen von 1 bis 20 ausgeben. Das Ergebnis soll so aussehen:\n",
 | |
|     "\n",
 | |
|     "```\n",
 | |
|     "Die Quadratzahl von 1 ist 1\n",
 | |
|     "Die Quadratzahl von 2 ist 4\n",
 | |
|     "...\n",
 | |
|     "Die Quadratzahl von 20 ist 400\n",
 | |
|     "```\n",
 | |
|     "\n",
 | |
|     "#### Hinweis:\n",
 | |
|     "du kannst bei den kommenden Aufgaben auch die Funktion zum Testen in deiner Programmierung selbst aufrufen!"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "4f755769-2d3c-443b-bcb8-8609914d0921",
 | |
|    "metadata": {
 | |
|     "editable": true,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "function quadratzahlen() {\n",
 | |
|     "    \n",
 | |
|     "}\n",
 | |
|     "quadratzahlen()"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "e25e4a01-1c3f-4e8b-bd94-bcfe0ac04594",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "jupyter": {
 | |
|      "source_hidden": true
 | |
|     },
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "Deno.test(\"01.04.1: function\", () => {\n",
 | |
|     "    assertEquals(typeof quadratzahlen, 'function')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.1: Parameter\", () => {\n",
 | |
|     "    assertEquals(quadratzahlen.length, 0)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.1: Ausgabe\", () => {\n",
 | |
|     "    console.start(true)\n",
 | |
|     "    quadratzahlen()\n",
 | |
|     "    assertEquals(console.end(), 'Die Quadratzahl von 1 ist 1\\nDie Quadratzahl von 2 ist 4\\nDie Quadratzahl von 3 ist 9\\nDie Quadratzahl von 4 ist 16\\nDie Quadratzahl von 5 ist 25\\nDie Quadratzahl von 6 ist 36\\nDie Quadratzahl von 7 ist 49\\nDie Quadratzahl von 8 ist 64\\nDie Quadratzahl von 9 ist 81\\nDie Quadratzahl von 10 ist 100\\nDie Quadratzahl von 11 ist 121\\nDie Quadratzahl von 12 ist 144\\nDie Quadratzahl von 13 ist 169\\nDie Quadratzahl von 14 ist 196\\nDie Quadratzahl von 15 ist 225\\nDie Quadratzahl von 16 ist 256\\nDie Quadratzahl von 17 ist 289\\nDie Quadratzahl von 18 ist 324\\nDie Quadratzahl von 19 ist 361\\nDie Quadratzahl von 20 ist 400')\n",
 | |
|     "})"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "df8eae72-81d5-4f28-a608-e203b429cab6",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Aufgabe 01.04.2\n",
 | |
|     "\n",
 | |
|     "Schreibe eine Funktion `addiereBis`, die eine Zahl als Parameter entgegennimmt und die alle natürlichen Zahlen kleiner gleich dem Paramter aufaddiert. Das Ergebnis der Addition soll zurückgegeben werden.\n",
 | |
|     "\n",
 | |
|     "Beispiel: `addiereBis(3)` soll `1+2+3 = 6` ergeben."
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "361cd6dd-883f-4668-b469-84502ca9ec8a",
 | |
|    "metadata": {
 | |
|     "editable": true,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": []
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "1cf5880f-25cc-43d2-aee1-697d29c7a773",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "jupyter": {
 | |
|      "source_hidden": true
 | |
|     },
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "Deno.test(\"01.04.2: function\", () => {\n",
 | |
|     "    assertEquals(typeof addiereBis, 'function')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.2: Parameter\", () => {\n",
 | |
|     "    assertEquals(addiereBis.length, 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.2: addiereBis(0)\", () => {\n",
 | |
|     "    assertEquals(addiereBis(0), 0)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.2: addiereBis(1)\", () => {\n",
 | |
|     "    assertEquals(addiereBis(1), 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.2: addiereBis(2)\", () => {\n",
 | |
|     "    assertEquals(addiereBis(2), 3)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.2: addiereBis(3)\", () => {\n",
 | |
|     "    assertEquals(addiereBis(3), 6)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.2: addiereBis(9)\", () => {\n",
 | |
|     "    assertEquals(addiereBis(9), 45)\n",
 | |
|     "})"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "596dbf4f-51cf-4f2b-abea-5e9b919c5113",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Aufgabe 01.04.3\n",
 | |
|     "Die `for`-Schleife soll nochmal anhand der in der Mathematik verwendeten Fakultät geübt werden. Die Fakultät einer natürlichen Zahl `n` ist das Produkt aller natürlichen Zahlen (ohne Null) kleiner oder gleich `n`. Sie wird durch ein nachgestelltes Ausrufezeichen abgekürzt: `3! = 1*2*3 = 6`. Per Definition gilt `0! = 1`.\n",
 | |
|     "\n",
 | |
|     "Schreibe eine Funktion `fakultaet`, die die Fakultät einer natürlichen Zahl berechnet und zurückgibt.\n",
 | |
|     "\n",
 | |
|     "Beispiel: `fakultaet(3)` sollte `1*2*3 = 6` ergeben."
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "341d72f8-6076-4c8f-9f0a-28e0afb0dfbb",
 | |
|    "metadata": {
 | |
|     "editable": true,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": []
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "8635d86d-2a2d-4228-82ed-eab5f39348ce",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "jupyter": {
 | |
|      "source_hidden": true
 | |
|     },
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "Deno.test(\"01.04.3: function\", () => {\n",
 | |
|     "    assertEquals(typeof addiereBis, 'function')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: Parameter\", () => {\n",
 | |
|     "    assertEquals(fakultaet.length, 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: fakultaet(0)\", () => {\n",
 | |
|     "    assertEquals(fakultaet(0), 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: fakultaet(1)\", () => {\n",
 | |
|     "    assertEquals(fakultaet(1), 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: fakultaet(2)\", () => {\n",
 | |
|     "    assertEquals(fakultaet(2), 2)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: fakultaet(3)\", () => {\n",
 | |
|     "    assertEquals(fakultaet(3), 6)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: fakultaet(4)\", () => {\n",
 | |
|     "    assertEquals(fakultaet(4), 24)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.04.3: fakultaet(9)\", () => {\n",
 | |
|     "    assertEquals(fakultaet(9), 362880)\n",
 | |
|     "})"
 | |
|    ]
 | |
|   }
 | |
|  ],
 | |
|  "metadata": {
 | |
|   "kernelspec": {
 | |
|    "display_name": "Deno",
 | |
|    "language": "typescript",
 | |
|    "name": "deno"
 | |
|   },
 | |
|   "language_info": {
 | |
|    "codemirror_mode": "typescript",
 | |
|    "file_extension": ".ts",
 | |
|    "mimetype": "text/x.typescript",
 | |
|    "name": "typescript",
 | |
|    "nbconvert_exporter": "script",
 | |
|    "pygments_lexer": "typescript",
 | |
|    "version": "5.8.3"
 | |
|   }
 | |
|  },
 | |
|  "nbformat": 4,
 | |
|  "nbformat_minor": 5
 | |
| }
 |