⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dpue080.htm

📁 Delphi - Programmierkurs.html
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>

<head>
<title>Delphi Projekt / 躡ung: Einf黨rung zu zyklischen Strukturen</title>
<meta NAME="Classification" CONTENT="Education, Bildung">
<meta NAME="KeyWords" CONTENT="Repeat, Until, Schleife, Zyklus, Delphi, Informatik, Gymnasium, Plauen, Sachsen, Grundkurs, Mirko, Pabst, Programmierung, Lessing, Unterricht, Schule">
<meta NAME="Author" CONTENT="Mirko Pabst">
</head>

<body TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" BACKGROUND="acrop_bk.gif">

<table CELLSPACING="0" CELLPADDING="0">
  <tr>
    <td valign="top" width="159"><a name="Anfang"></a><a href="index.htm"><img SRC="athena.gif" ALT="athena.gif (7242 Byte)" border="0" WIDTH="157" HEIGHT="140"></a></td>
    <td valign="top"><div align="center"><center><table BORDER="1" BGCOLOR="#C0C0C0">
      <tr>
        <td ALIGN="LEFT" BGCOLOR="#EEEEEE"><!--webbot bot="ImageMap" rectangle="(301,0) (537, 16)  http://www.lessing-gymnasium.de" rectangle="(228,0) (301, 16)  mailto:mirko.pabst@gmx.de" SRC="top.gif" border="0" startspan --><MAP NAME="FrontPageMap"><AREA SHAPE="RECT" COORDS="301, 0, 537, 16" HREF="http://www.lessing-gymnasium.de"><AREA SHAPE="RECT" COORDS="228, 0, 301, 16" HREF="mailto:mirko.pabst@gmx.de"></MAP><a href="_vti_bin/shtml.exe/dpue080.htm/map"><img ismap usemap="#FrontPageMap" border="0" height="17" src="top.gif" width="593"></a><!--webbot bot="ImageMap" endspan i-checksum="640" --><div align="center"><center><table border="0" cellpadding="0" cellspacing="0" width="100%">
          <tr>
            <td valign="top" align="center"><font color="#FF0000"><strong><big><big>Einf黨rung
            zyklischer Strukturen<br>
            </big><em>- Quadratwurzel nach Heron -</em></big></strong></font></td>
          </tr>
        </table>
        </center></div></td>
      </tr>
      <tr>
        <td ALIGN="center" BGCOLOR="#EEEEEE" valign="middle"><a HREF="index.htm"><img SRC="i.gif" BORDER="0" WIDTH="73" HEIGHT="25"></a>&nbsp;&nbsp;<a HREF="dpue070.htm"><img SRC="l.gif" BORDER="0" HEIGHT="24" WIDTH="25"></a>&nbsp;&nbsp;<a HREF="dpue090.htm"><img SRC="r.gif" BORDER="0" WIDTH="25" HEIGHT="25"></a></td>
      </tr>
      <tr>
        <td ALIGN="left" BGCOLOR="#EEEEEE" valign="middle">&nbsp;<a href="#Vorbemerkungen:">Vorbemerkungen</a><br>
        &nbsp;<a href="#Iterationsbegriff">Der Iterationsbegriff</a><br>
        &nbsp;<a href="#Quadratwurzel nach Heron">Einf黨rung des Nichtabweisenden Zyklus
        -Quadratwurzel&nbsp;nach&nbsp;Heron-</a><br>
        <small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Szenario">Szenario</a></small><br>
        <small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Der Heronsche Algorithmus">Der Heronsche
        Algorithmus - an einem Zahlenbeispiel vorgestellt</a></small><br>
        <small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Umsetzung des Heronschen">Umsetzung mit
        einer Nichtabweisenden Schleife</a></small><br>
        &nbsp;<a href="#Programmierung">Programmierung der Quadratwurzel nach Heron</a><br>
        <small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#a) Grundvariante">a) Grundvariante</a><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#b) Erweiterte Variante">b) Erweiterte Variante</a></small><br>
        <em><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- <a href="#Eingabesicherung mittels Repeat-Schleife">Eingabesicherung</a><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- <a href="#Formatierung mittels FloatToStrF">Formatierung
        mittels FloatToStrF</a><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- <a href="#Z鋒lfunktion in Schleifen">Z鋒lfunktion
        in Schleifen</a><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- <a href="#Z鋒lfunktion in Schleifen">Eingabefunktion
        mittels TScrollBar</a></small><br>
        </em><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#c) Zusatzaufgabe">c) Zusatzaufgabe -
        Kubikwurzel nach Heron</a></small></td>
      </tr>
    </table>
    </center></div></td>
  </tr>
</table>

<p><a href="#Iterationsbegriff"><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a>&nbsp; <a name="Vorbemerkungen:"><font color="#FF0000"><em><strong><big>Vorbemerkungen:</big></strong></em></font></a></p>

<blockquote>
  <p><strong>Dem Pascal-Programmierer</strong> mag es nicht schwer fallen, die Arbeit mit
  zyklischen Strukturen zu motivieren: man schreibe ein 黚erschaubares lineares Programm
  und stelle dann die Frage, wie dem armen Nutzer zu helfen sei, der mit diesem Programm
  Hunderte von Berechnungen durchf黨ren soll.<br>
  Die L鰏ung liegt schnell auf der Hand: man packe das ganze in eine Repeat-Schleife an
  deren Ende eine Nutzerauswahl &quot;Neue Berechnung?&quot; / &quot;Ende?&quot; erfolgt und
  entbinde damit den potentiellen Nutzer von der l鋝tigen Aufgabe, f黵 jede neue
  Berechnung auch einen neuen Programmstart veranlassen zu m黶sen.</p>
  <p><strong>Unter Delphi</strong> greift diese Motivierung nat黵lich nicht, denn bis zum
  ultimativen &quot;Form1.Close&quot;, verbunden mit einem &quot;Ende&quot;-Button, kann ein
  Nutzer die Funktionalit鋞 des Programm-Fensters so oft strapazieren, wie er m鯿hte, da
  dank der <a href="delphi02.htm#2.2.">Ereignisorientierung</a> ohnehin ein zyklisches
  Abfragen eingabesensitiver Komponenten erfolgt.<br>
  Bew鋒rt hat sich m.&nbsp;E. der <strong>Einstieg 黚er einen einfachen zyklischen
  Algorithmus</strong>, etwa der Iteration einer Quadratwurzel nach Heron. Hieraus werden
  f黵 das Verst鋘dnis von Schleifen notwendige Erkenntnisse, wie z.&nbsp;B. die Bedeutung
  der Abbruchbedingung abgeleitet und dann auf weitere Beispiele angewandt.</p>
  <p><strong>Nichtabweisender Zyklus / Abweisender Zyklus / Z鋒lzyklus ?<br>
  </strong>Immer h鋟figer h鰎t man die Frage <em>&quot;M黶sen die Sch黮er denn wirklich
  (noch) alle drei Schleifenarten beherrschen?&quot;</em> Mein Standpunkt: wenn die Zeit
  dazu vorhanden ist, so hat 's noch keinem geschadet. Jedoch fehlt es meist an eben dieser
  Zeit. Nach dem Motto <strong>&quot;Weniger ist meistens mehr&quot;</strong> w黵de ich es
  f黵 sinnvoller halten, wenn der Sch黮er im Extremfall mit nur einer einzigen
  Schleifenart eine Vielzahl von Problemen aufbereiten und l鰏en kann, als dass er zwar
  alle Schleifenarten formal kennt, jedoch kaum in der Lage ist, diese selbst鋘dig zur
  Probleml鰏ung zu verwenden.</p>
  <p><strong>Die Kunst des Weglassens</strong> sollte unbedingt die 躡erlegung
  einschlie遝n, dass &quot;Repeat-&quot; und &quot;While-Schleifen&quot; (also
  Nichtabweisende und Abweisende Zyklen) gegen黚er dem Z鋒lzyklus die universelleren
  Werkzeuge darstellen, d.&nbsp;h. alle auf iterativem Wege l鰏baren Probleme lassen sich
  damit umsetzen, w鋒rend mit der Z鋒lschleife nur eine Teilmenge dieser L鰏ungen
  (sauber) programmiert werden kann.&nbsp; <br>
  In meinen Kursen empfand ich es bisher als gangbaren Kompromiss, das <strong>Wesen
  zyklischer Algorithmen</strong> zun鋍hst anhand der Repeat-Schleife zu verdeutlichen und
  nachfolgend &quot;so zu tun&quot;, als g鋌e es nur diese eine Schleifenart. Mit dieser
  Strukturkenntnis werden alsdann bei zunehmender Selbst鋘digkeit einfache
  Problemstellungen aus verschiedenen Gebieten bearbeitet und erst am Ende werden eher
  黚erblicksartig die beiden verbleibenden Schleifenarten vorgestellt und Vergleiche dazu
  angestellt. </p>
</blockquote>

<p><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"> <font SIZE="-1">Seitenanfang</font></a></p>

<p><a href="#Quadratwurzel nach Heron"><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a>&nbsp;
<font color="#FF0000"><em><strong><big>Der <a name="Iterationsbegriff">Iterationsbegriff</a>:</big></strong></em></font></p>

<blockquote>
  <table border="1" cellpadding="12">
    <tr>
      <td bgcolor="#FFFFD0"><strong><font color="#000080"><em>&quot;Aus dem lat. iteratio =
      Wiederholung. Verfahren der numerischen Mathematik, das dazu dient, durch wiederholtes
      Durchlaufen eines bestimmten Rechenverfahrens die Berechnung eines Wertes mit immer
      gr鲞erer Genauigkeit zu erreichen...<br>
      Im 黚ertragenen Sinne verwendet man den Ausdruck I. auch f黵 die Wiederholung eines
      Schleifendurchlaufes in einem Programm.<br>
      Wesentlich f黵 jede Iteration ist, dass das Ergebnis des ersten Schrittes als Eingabewert
      f黵 den folgenden Schritt verwendet wird.<br>
      Die Iteration wird im Allgemeinen durch die Zahl der Durchl鋟fe beendet oder durch eine
      Bedingung, deren Erreichen ebenfalls zum Abbruch der Iteration f黨rt
      [Abbruchbedingung]&nbsp;...&quot;</em></font></strong><p><font color="#000080"><em>Computer-Enzyklop鋎ie
      S. 1563</em></font></td>
    </tr>
  </table>
</blockquote>

<p><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"> <font SIZE="-1">Seitenanfang</font></a></p>

<p><big><font color="#FF0000"><em><strong><big>Einf黨rung des Nichtabweisenden Zyklus
-&nbsp;<a name="Quadratwurzel nach Heron">Quadratwurzel&nbsp;nach&nbsp;Heron</a>&nbsp;-</big></strong></em></font></big></p>

<blockquote>
  <table border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td valign="top"><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"></a>&nbsp;<a href="#Der Heronsche Algorithmus"><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a>&nbsp;&nbsp;</td>
      <td valign="top"><font color="#FF0000"><em><strong><big><a name="Szenario">Szenario</a>:</big></strong></em></font></td>
    </tr>
  </table>
  <blockquote>
    <p>Interessant ist es Sch黮er der heutigen Generation mit der Frage zu konfrontieren, wie
    denn wohl unsere Vorfahren ohne Hilfsmittel die Quadratwurzel einer nat黵lichen Zahl
    &quot;gezogen&quot; haben. Der Gedanke, dass dies durch N鋒erungsverfahren geschehen sein
    muss, ist schnell ge鋟遝rt; die Frage aber, wie man denn mit vertretbarem Aufwand eine
    m鰃lichst hohe Genauigkeit erreichen konnte, bleibt meist unbeantwortet.<br>
    Ein knapp 2000 Jahre altes Verfahren, entwickelt durch <em><strong>HERON von Alexandria</strong></em>
    (ca.&nbsp;20-62&nbsp;n.&nbsp;Chr.), l鰏t das Problem auf geniale und aus heutiger Sicht
    sehr computerfreundliche Weise!</p>
  </blockquote>
  <table border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td valign="top"><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"></a>&nbsp;<a href="#Umsetzung des Heronschen"><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a>&nbsp;&nbsp;</td>
      <td valign="top"><font color="#FF0000"><em><strong><big><a name="Der Heronsche Algorithmus">Der Heronsche Algorithmus</a> - an einem Zahlenbeispiel
      vorgestellt:</big></strong></em></font></td>
    </tr>
  </table>
  <blockquote>
    <table border="1" cellpadding="6" bgcolor="#FFFFD0">
      <tr>
        <td>Wir stellen uns vor, die Quadratwurzel der Zahl 2 sei gesucht. Von der zu findenden
        L鰏ung wissen wir bereits, dass deren Quadrat wiederum 2 ergeben muss. <br>
        Als Ausgangspunkt w鋒len wir ein Rechteck, dessen Seitenl鋘ge a = 1 ist; Seitenl鋘ge b
        ist so gro

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -