{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "0a476912-ee13-42d8-b705-b711433d149a", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "import { assertEquals } from \"jsr:@std/assert\";" ] }, { "cell_type": "markdown", "id": "d31a7ba1-13af-40a1-bb9d-4733096cc531", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 01.03.1\n", "Schreibe eine Funktion `nand`, die zwei boolesche Werte als Parameter entgegennimmt. Die Rückgabe der Funktion soll `false` sein, wenn beide Paramter `true` sind. In den anderen Fällen soll die Rückgabe `true` sein.\n", "\n", "D.h.:\n", "* `nand(true, true)` soll `false` liefern\n", "* `nand(true, false)`, `nand(false, true)` und `nand(false, false)` sollen `true` zurückgeben." ] }, { "cell_type": "code", "execution_count": null, "id": "9a0582d4-9acb-4dd1-86c5-3b9d4d2bd4fb", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "b0deac5e-d859-47d0-a220-80d4cdcb98d4", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "Deno.test(\"01.03.1: function\", () => {\n", " assertEquals(typeof nand, 'function')\n", "})\n", "Deno.test(\"01.03.1: nand(1,1)\", () => {\n", " assertEquals(nand(true, true), false)\n", "})\n", "Deno.test(\"01.03.1: nand(1,0)\", () => {\n", " assertEquals(nand(true, false), true)\n", "})\n", "Deno.test(\"01.03.1: nand(0,1)\", () => {\n", " assertEquals(nand(false, true), true)\n", "})\n", "Deno.test(\"01.03.1: nand(0,0)\", () => {\n", " assertEquals(nand(false, false), true)\n", "})" ] }, { "cell_type": "markdown", "id": "57c3c062-b29e-40dc-add0-97b5c5a999c1", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 01.03.2\n", "Schreibe eine Funktion `nor`, die zwei boolesche Werte als Parameter entgegennimmt. Die Rückgabe der Funktion soll genau dann `true` sein, wenn beide Paramter `false` sind. In den anderen Fällen soll die Rückgabe `false` sein.\n", "\n", "D.h.:\n", "* `nor(false, false)` soll `true` liefern\n", "* `nor(false, true)`, `nor(true, false)` und `nor(true, true)` sollen `false` zurückgeben." ] }, { "cell_type": "code", "execution_count": null, "id": "7e1929b1-033a-4b9c-ba66-f67d2b0dab89", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "82ff9541-bb28-4520-9c93-57185f3ea9bf", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "Deno.test(\"01.03.2: function\", () => {\n", " assertEquals(typeof nor, 'function')\n", "})\n", "Deno.test(\"01.03.2: nor(1,1)\", () => {\n", " assertEquals(nor(true, true), false)\n", "})\n", "Deno.test(\"01.03.2: nor(1,0)\", () => {\n", " assertEquals(nor(true, false), false)\n", "})\n", "Deno.test(\"01.03.2: nor(0,1)\", () => {\n", " assertEquals(nor(false, true), false)\n", "})\n", "Deno.test(\"01.03.2: nor(0,0)\", () => {\n", " assertEquals(nor(false, false), true)\n", "})" ] }, { "cell_type": "markdown", "id": "340a44a5-5010-4b46-8c4c-2d7c459750eb", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 01.03.3\n", "Schreibe eine Funktion `xor`, die zwei boolesche Werte als Parameter entgegennimmt. Die Rückgabe der Funktion soll `true` sein, wenn beide Paramter verschieden sind. In den anderen Fällen soll die Rückgabe `false` sein.\n", "\n", "D.h.:\n", "* `xor(true, false)` und `xor(false, true)` sollen `true` liefern\n", "* `xor(true, true)` und `xor(false, false)` sollen `false` zurückgeben." ] }, { "cell_type": "code", "execution_count": null, "id": "c80d2fe9-4d8b-445a-8d1c-5803776b3d74", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "d76d78ff-6a02-42d4-93bc-eb9e19be39ce", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "Deno.test(\"01.03.3: function\", () => {\n", " assertEquals(typeof xor, 'function')\n", "})\n", "Deno.test(\"01.03.3: xor(1,1)\", () => {\n", " assertEquals(xor(true, true), false)\n", "})\n", "Deno.test(\"01.03.3: xor(1,0)\", () => {\n", " assertEquals(xor(true, false), true)\n", "})\n", "Deno.test(\"01.03.3: xor(0,1)\", () => {\n", " assertEquals(xor(false, true), true)\n", "})\n", "Deno.test(\"01.03.3: xor(0,0)\", () => {\n", " assertEquals(xor(false, false), false)\n", "})" ] }, { "cell_type": "markdown", "id": "e15e95e4-89e5-4cea-be8f-d95ea68eb9a7", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 01.03.4\n", "Schreibe eine Funktion `gleich`, die zwei Werte auf strikte Gleichheit überprüft.\n", "\n", "Beispiel: `gleich(1, 1)` soll `true` und `gleich(1, 2)` soll `false` ergeben.\n", "\n", "*Hinweis: sollen bei einem Parameter unterschiedliche Datentypen übergeben werden können, so kann als Datentyp `any` genutzt werden!*" ] }, { "cell_type": "code", "execution_count": null, "id": "a98dce86-57ee-41d7-bf1b-f8648430bee5", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "1af5c359-2df3-49af-82a2-0d6cc8324746", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "Deno.test(\"01.03.4: function\", () => {\n", " assertEquals(typeof gleich, 'function')\n", "})\n", "Deno.test(\"01.03.4: Parameter\", () => {\n", " assertEquals(gleich.length, 2)\n", "})\n", "Deno.test(\"01.03.4: gleich(1,1)\", () => {\n", " assertEquals(gleich(1, 1), true)\n", "})\n", "Deno.test(\"01.03.4: gleich(1,0)\", () => {\n", " assertEquals(gleich(1, 0), false)\n", "})\n", "Deno.test(\"01.03.4: gleich(1,'1')\", () => {\n", " assertEquals(gleich(1, '1'), false)\n", "})\n", "Deno.test(\"01.03.4: gleich(1,2)\", () => {\n", " assertEquals(gleich(1, 2), false)\n", "})\n", "Deno.test(\"01.03.4: gleich('klein','klein')\", () => {\n", " assertEquals(gleich('klein', 'klein'), true)\n", "})\n", "Deno.test(\"01.03.4: gleich('Links','Rechts')\", () => {\n", " assertEquals(gleich('Links', 'Rechts'), false)\n", "})\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 }