381 lines
12 KiB
Plaintext
381 lines
12 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "86976bb8-a009-4ccf-8df3-69ac302459e9",
|
|
"metadata": {
|
|
"editable": true,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[Module: null prototype] { }"
|
|
]
|
|
},
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"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": 2,
|
|
"id": "4f755769-2d3c-443b-bcb8-8609914d0921",
|
|
"metadata": {
|
|
"editable": true,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Die Quadratzahl von 1 ist 1\n",
|
|
"Die Quadratzahl von 2 ist 4\n",
|
|
"Die Quadratzahl von 3 ist 9\n",
|
|
"Die Quadratzahl von 4 ist 16\n",
|
|
"Die Quadratzahl von 5 ist 25\n",
|
|
"Die Quadratzahl von 6 ist 36\n",
|
|
"Die Quadratzahl von 7 ist 49\n",
|
|
"Die Quadratzahl von 8 ist 64\n",
|
|
"Die Quadratzahl von 9 ist 81\n",
|
|
"Die Quadratzahl von 10 ist 100\n",
|
|
"Die Quadratzahl von 11 ist 121\n",
|
|
"Die Quadratzahl von 12 ist 144\n",
|
|
"Die Quadratzahl von 13 ist 169\n",
|
|
"Die Quadratzahl von 14 ist 196\n",
|
|
"Die Quadratzahl von 15 ist 225\n",
|
|
"Die Quadratzahl von 16 ist 256\n",
|
|
"Die Quadratzahl von 17 ist 289\n",
|
|
"Die Quadratzahl von 18 ist 324\n",
|
|
"Die Quadratzahl von 19 ist 361\n",
|
|
"Die Quadratzahl von 20 ist 400\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"function quadratzahlen() {\n",
|
|
" for (let i = 1; i <= 20; i++) {\n",
|
|
" console.log('Die Quadratzahl von ' + i + ' ist ' + (i*i))\n",
|
|
" }\n",
|
|
"}\n",
|
|
"quadratzahlen()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "e25e4a01-1c3f-4e8b-bd94-bcfe0ac04594",
|
|
"metadata": {
|
|
"editable": false,
|
|
"jupyter": {
|
|
"source_hidden": true
|
|
},
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"01.04.1: function ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.1: Parameter ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.1: Ausgabe ...Die Quadratzahl von 1 ist 1\n",
|
|
"Die Quadratzahl von 2 ist 4\n",
|
|
"Die Quadratzahl von 3 ist 9\n",
|
|
"Die Quadratzahl von 4 ist 16\n",
|
|
"Die Quadratzahl von 5 ist 25\n",
|
|
"Die Quadratzahl von 6 ist 36\n",
|
|
"Die Quadratzahl von 7 ist 49\n",
|
|
"Die Quadratzahl von 8 ist 64\n",
|
|
"Die Quadratzahl von 9 ist 81\n",
|
|
"Die Quadratzahl von 10 ist 100\n",
|
|
"Die Quadratzahl von 11 ist 121\n",
|
|
"Die Quadratzahl von 12 ist 144\n",
|
|
"Die Quadratzahl von 13 ist 169\n",
|
|
"Die Quadratzahl von 14 ist 196\n",
|
|
"Die Quadratzahl von 15 ist 225\n",
|
|
"Die Quadratzahl von 16 ist 256\n",
|
|
"Die Quadratzahl von 17 ist 289\n",
|
|
"Die Quadratzahl von 18 ist 324\n",
|
|
"Die Quadratzahl von 19 ist 361\n",
|
|
"Die Quadratzahl von 20 ist 400\n",
|
|
" \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(14ms)\u001b[0m\n",
|
|
"\n",
|
|
"\u001b[0m\u001b[32mok\u001b[0m | 3 passed | 0 failed \u001b[0m\u001b[38;5;245m(15ms)\u001b[0m\n"
|
|
]
|
|
}
|
|
],
|
|
"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": 4,
|
|
"id": "361cd6dd-883f-4668-b469-84502ca9ec8a",
|
|
"metadata": {
|
|
"editable": true,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"function addiereBis(n) {\n",
|
|
" let ergebnis = 0\n",
|
|
" for (let i = 1; i <= n; i++) {\n",
|
|
" ergebnis = ergebnis + i\n",
|
|
" }\n",
|
|
" return ergebnis\n",
|
|
"}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "1cf5880f-25cc-43d2-aee1-697d29c7a773",
|
|
"metadata": {
|
|
"editable": false,
|
|
"jupyter": {
|
|
"source_hidden": true
|
|
},
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"01.04.2: function ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.2: Parameter ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.2: addiereBis(0) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.2: addiereBis(1) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.2: addiereBis(2) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.2: addiereBis(3) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.2: addiereBis(9) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"\n",
|
|
"\u001b[0m\u001b[32mok\u001b[0m | 7 passed | 0 failed \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n"
|
|
]
|
|
}
|
|
],
|
|
"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": 6,
|
|
"id": "341d72f8-6076-4c8f-9f0a-28e0afb0dfbb",
|
|
"metadata": {
|
|
"editable": true,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"function fakultaet(n) {\n",
|
|
" let ergebnis = 1\n",
|
|
" for (let i = 1; i <= n; i++) {\n",
|
|
" ergebnis = ergebnis * i\n",
|
|
" }\n",
|
|
" return ergebnis\n",
|
|
"}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "8635d86d-2a2d-4228-82ed-eab5f39348ce",
|
|
"metadata": {
|
|
"editable": false,
|
|
"jupyter": {
|
|
"source_hidden": true
|
|
},
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"01.04.3: function ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: Parameter ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: fakultaet(0) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: fakultaet(1) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: fakultaet(2) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: fakultaet(3) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: fakultaet(4) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"01.04.3: fakultaet(9) ... \u001b[0m\u001b[32mok\u001b[0m \u001b[0m\u001b[38;5;245m(0ms)\u001b[0m\n",
|
|
"\n",
|
|
"\u001b[0m\u001b[32mok\u001b[0m | 8 passed | 0 failed \u001b[0m\u001b[38;5;245m(1ms)\u001b[0m\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"Deno.test(\"01.04.3: function\", () => {\n",
|
|
" assertEquals(typeof fakultaet, '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
|
|
}
|