{ "cells": [ { "cell_type": "markdown", "id": "802a389f-359a-42c8-8602-317bd18d5c96", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "## `while`-Schleife\n", "\n", "Eine `while`-Schleife hat - anders als die `for`-Schleife - lediglich eine Bedingung und führt die Anweisungen in der Schleife so lange aus, so lange die Bedingung erfüllt ist." ] }, { "cell_type": "code", "execution_count": 6, "id": "5af36a9c-5be8-457d-863d-46d85918fcf9", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "17\n", "8.5\n", "4.25\n", "2.125\n", "1.0625\n", "Nach der Schleife ist x = 0.53125\n" ] } ], "source": [ "let x = 17\n", "\n", "while ( x > 1 ) {\n", " console.log(x)\n", " x = x / 2\n", "}\n", "\n", "console.log(\"Nach der Schleife ist x = \" + x)" ] }, { "cell_type": "markdown", "id": "19d1ca71-6286-4ed6-bedd-c953c2b67906", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "Am Beispiel sehen wir, dass die Schleife läuft, solange die Bedingung `x > 1` erfüllt ist. Sobald `x` kleiner ist als 1 bricht die Schleife ab." ] }, { "cell_type": "markdown", "id": "9b887033-e9d7-4a98-aaf8-48e115f09093", "metadata": { "editable": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "## `for` vs. `while`\n", "\n", "Eine `for`-Schleife kann man auch als `while`-Schleife (und umgekehrt) schreiben:\n", "\n", "```\n", "for ( let i = 0 ; i < 10 ; i++) {\n", " [...]\n", "}\n", "```\n", "\n", "entspricht in `while`-Schreibweise:\n", "\n", "```\n", "let i = 0 // Initialisierung vor dem ersten Schleifendurchlauf\n", "while ( i < 10 ) { // Bedingung\n", " [...]\n", " i++ // Aktualisierung nach jedem Schleifendurchlauf\n", "}\n", "```\n", "\n", "## Wann nutzt man `for`, wann `while`?\n", "\n", "In der Regel nutzt man eine `for`-Schleife, wenn zum Start des ersten Schleifendurchlaufes bereits feststeht, wie oft die Schleife durchlaufen werden muss.\n", "\n", "**Beispiel:** Es sollen 10 Zahlen ausgegeben werden.\n", "\n", "Eine `while`-Schleife nutzt man hingegen normalerweise, wenn die genaue Anzahl noch nicht bekannt ist und die Schleifenbedingung durch die Schleife selbst verändert.\n", "\n", "**Beispiel:** Ein Kunde bezahlt (mit Bargeld), der Bezahlvorgang läuft so lange, bis der komplette Betrag beglichen ist." ] } ], "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 }