{ "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'), 'UNGLEICH')\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(0)\", () => {\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 }