{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "636d4527-50fc-4836-ae08-00c12844da8d", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "import { assertEquals } from \"jsr:@std/assert\"" ] }, { "cell_type": "markdown", "id": "d90b7734-c902-4300-80ef-d8bf55a64813", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 03.01.1\n", "Lege ein Objekt `p1` an mit den Attributen `x` und `y`. `x` soll dabei 5 sein, `y` -3." ] }, { "cell_type": "code", "execution_count": null, "id": "594735d3-e90e-443e-9eff-e4600c331bc2", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "245aec76-71a6-478e-9301-08ca4e14ff71", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [ "Test" ] }, "outputs": [], "source": [ "let _nr = \"03.01.1\"\n", "Deno.test(`${_nr}: object`, () => {\n", " assertEquals(typeof p1, 'object')\n", "})\n", "Deno.test(`${_nr}: x`, () => {\n", " assertEquals(p1.x, 5)\n", "})\n", "Deno.test(`${_nr}: y`, () => {\n", " assertEquals(p1.y, -3)\n", "})" ] }, { "cell_type": "markdown", "id": "9eb66210-476a-499e-8965-9c63da2de3e7", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 03.01.2\n", "Lege einen zweiten Punkt `p2` mit den Koordinaten $(2\\mid1)$ an." ] }, { "cell_type": "code", "execution_count": null, "id": "7daea9ea-3417-48d9-9416-3462cc38f8bc", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "4f710df6-8465-4da1-a997-4e34ea80d6ed", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [ "Test" ] }, "outputs": [], "source": [ "let _nr = \"03.01.2\"\n", "Deno.test(`${_nr}: object`, () => {\n", " assertEquals(typeof p2, 'object')\n", "})\n", "Deno.test(`${_nr}: x`, () => {\n", " assertEquals(p2.x, 2)\n", "})\n", "Deno.test(`${_nr}: y`, () => {\n", " assertEquals(p2.y, 1)\n", "})" ] }, { "cell_type": "markdown", "id": "d96b8c74-089f-4ded-85ad-72fca3c93bcd", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Aufgabe 03.01.3\n", "\n", "Programmiere eine Funktion `abstand`, die zwei Parameter `punkt1` und `punkt2` übergeben bekommt. Es soll angenommen werden, dass diese beiden Parameter Objekte sind mit jeweils den Attributen `x` und `y`.\n", "\n", "Zurückgegeben werden soll der Abstand der beiden angegebenen Punkte.\n", "\n", "#### Tipp:\n", "Der Abstand wird mit dem Pythagoras berechnet, die Wurzel kann man mit `Math.sqrt(...)` berechnen lassen.\n", "\n", "#### Beispiel:\n", "Wird `abstand(p1, p2)` - also mit den beiden Punkten der letzten beiden Aufgaben aufgerufen, so soll `5` zurückgegeben werden." ] }, { "cell_type": "code", "execution_count": null, "id": "cccdfe03-92f4-4d0f-b3cb-56332dc31b66", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "function abstand(punkt1, punkt2) {\n", "}" ] }, { "cell_type": "code", "execution_count": null, "id": "87a2ab19-819c-43d6-9fc3-11e53dff9be7", "metadata": { "editable": false, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "let _nr = \"03.01.3\"\n", "Deno.test(`${_nr}: function`, () => {\n", " assertEquals(typeof abstand, 'function')\n", "})\n", "Deno.test(`${_nr}: Parameter`, () => {\n", " assertEquals(abstand.length, 2)\n", "})\n", "Deno.test(`${_nr}: abstand(p1,p2)=5`, () => {\n", " assertEquals(abstand(p1,p2), 5)\n", "})\n", "Deno.test(`${_nr}: abstand()=0`, () => {\n", " assertEquals(abstand({x:0,y:0},{x:0,y:0}), 0)\n", "})\n", "Deno.test(`${_nr}: abstand()=0`, () => {\n", " assertEquals(abstand({x:1,y:1},{x:1,y:1}), 0)\n", "})\n", "Deno.test(`${_nr}: abstand()=2`, () => {\n", " assertEquals(abstand({x:5,y:0},{x:5,y:2}), 2)\n", "})\n", "Deno.test(`${_nr}: abstand()=13`, () => {\n", " assertEquals(abstand({x:3,y:8},{x:8,y:-4}), 13)\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 }