274 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			274 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
| {
 | |
|  "cells": [
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "a474ad60-bfa2-4e43-9d97-88c553bfdc53",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "import { assertEquals } from \"jsr:@std/assert\";"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "a36a9ffd-a123-434a-9148-b8c7c75c30d4",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Aufgabe 01.03.5\n",
 | |
|     "Schreibe eine Funktion `gleich`, die 2 Werte auf strikte Gleichheit überprüft. Sind die beiden Werte gleich, so soll der String `'GLEICH'` zurückgegeben werden. Sind sie ungleich, so soll man `'UNGLEICH'` erhalten."
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "f21bb2d9-d623-4083-a0ee-d4219678c93c",
 | |
|    "metadata": {
 | |
|     "editable": true,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": []
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "b6985fdb-5098-40f9-a1e8-48a6d763cfb5",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "jupyter": {
 | |
|      "source_hidden": true
 | |
|     },
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "Deno.test(\"01.03.5: function\", () => {\n",
 | |
|     "    assertEquals(typeof gleich, 'function')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: Parameter\", () => {\n",
 | |
|     "    assertEquals(gleich.length, 2)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: gleich(1,1)\", () => {\n",
 | |
|     "    assertEquals(gleich(1, 1), 'GLEICH')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: gleich(1,0)\", () => {\n",
 | |
|     "    assertEquals(gleich(1, 0), 'UNGLEICH')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: gleich(1,'1')\", () => {\n",
 | |
|     "    assertEquals(gleich(1, '1'), 'UNGLEICH')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: gleich(1,2)\", () => {\n",
 | |
|     "    assertEquals(gleich(1, 2), 'UNGLEICH')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: gleich('klein','klein')\", () => {\n",
 | |
|     "    assertEquals(gleich('klein', 'klein'), 'GLEICH')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.5: gleich('Links','Rechts')\", () => {\n",
 | |
|     "    assertEquals(gleich('Links', 'Rechts'), 'UNGLEICH')\n",
 | |
|     "})\n"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "dfe85401-6a4a-4da0-b9f9-bb0ea368698a",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Mathematischer Hintergrund: Modulo-Rechnung\n",
 | |
|     "Die Modulo-Rechnung kennt ihr bereits aus der Grundschule! Dort rechnet man die Division nur mit ganzen Zahlen, so gilt beispielsweise: **17 geteilt durch 5 ergibt 3 Rest 2**.\n",
 | |
|     "\n",
 | |
|     "Genau das ist in der Informatik die Modulo-Rechnung - sie ergibt genau den Rest einer ganzzahligen Division und wird mit einem `%` geschrieben. Somit gilt: `17 % 5 = 2`.\n",
 | |
|     "\n",
 | |
|     "Das kann man beispielweise nutzen, um Teilbarkeiten herauszufinden. So ist eine Zahl `z` genau dann durch `t` teilbar, wenn `z % t === 0` ergibt."
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "616cfd74-357f-457f-81a4-a94d7c71582b",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Aufgabe 01.03.6\n",
 | |
|     "Programmiere eine Funktion `teilbarDurch7`, die einen ganzzahligen Parameter übernimmt und als Ergebnis einen `boolean`-Wert zurückgibt, der `true` ist, wenn eine durch 7 teilbare Zahl übergeben wurde und andernfalls `false`."
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "de0fe960-c7e1-40b0-8ee8-f0cb91964889",
 | |
|    "metadata": {
 | |
|     "editable": true,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": []
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "4737d8de-51a5-4d5e-afc1-5d5a29700e00",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "jupyter": {
 | |
|      "source_hidden": true
 | |
|     },
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "Deno.test(\"01.03.6: function\", () => {\n",
 | |
|     "    assertEquals(typeof teilbarDurch7, 'function')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: Parameter\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7.length, 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: teilbarDurch7(0)\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7(0), true)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: teilbarDurch7(5)\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7(5), false)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: teilbarDurch7(7)\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7(7), true)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: teilbarDurch7(49)\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7(49), true)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: teilbarDurch7(71)\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7(71), false)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.6: teilbarDurch7(230580)\", () => {\n",
 | |
|     "    assertEquals(teilbarDurch7(230580), true)\n",
 | |
|     "})\n"
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "markdown",
 | |
|    "id": "340e8acf-97ee-4267-b92b-88d77ed15da0",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "source": [
 | |
|     "# Aufgabe 01.03.7\n",
 | |
|     "Programmiere eine Funktion `istSchaltjahr`, die eine Jahreszahl als Parameter übernimmt und zurückgibt, ob dieses angegebene Jahr ein Schaltjahr ist.\n",
 | |
|     "\n",
 | |
|     "## Hinweis\n",
 | |
|     "Ein Jahr ist genau dann ein Schaltjahr, wenn die Jahreszahl...\n",
 | |
|     "* durch 4 teilbar ist...\n",
 | |
|     "* *außer* wenn sie durch 100 teilbar ist...\n",
 | |
|     "* *außer wiederum* wenn sie durch 400 teilbar ist."
 | |
|    ]
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "3d5a41a2-5f48-4375-aaae-a466a625598c",
 | |
|    "metadata": {
 | |
|     "editable": true,
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": []
 | |
|   },
 | |
|   {
 | |
|    "cell_type": "code",
 | |
|    "execution_count": null,
 | |
|    "id": "f8335a26-0e7a-477a-9b68-804e8161bfc7",
 | |
|    "metadata": {
 | |
|     "editable": false,
 | |
|     "jupyter": {
 | |
|      "source_hidden": true
 | |
|     },
 | |
|     "slideshow": {
 | |
|      "slide_type": ""
 | |
|     },
 | |
|     "tags": []
 | |
|    },
 | |
|    "outputs": [],
 | |
|    "source": [
 | |
|     "Deno.test(\"01.03.7: function\", () => {\n",
 | |
|     "    assertEquals(typeof istSchaltjahr, 'function')\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.7: Parameter\", () => {\n",
 | |
|     "    assertEquals(istSchaltjahr.length, 1)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.7: istSchaltjahr(0)\", () => {\n",
 | |
|     "    assertEquals(istSchaltjahr(0), true)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.7: istSchaltjahr(2024)\", () => {\n",
 | |
|     "    assertEquals(istSchaltjahr(2024), true)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.7: istSchaltjahr(2025)\", () => {\n",
 | |
|     "    assertEquals(istSchaltjahr(2025), false)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.7: istSchaltjahr(1900)\", () => {\n",
 | |
|     "    assertEquals(istSchaltjahr(1900), false)\n",
 | |
|     "})\n",
 | |
|     "Deno.test(\"01.03.7: istSchaltjahr(2000)\", () => {\n",
 | |
|     "    assertEquals(istSchaltjahr(2000), true)\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
 | |
| }
 |