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'), '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
|
|
}
|