<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://sibiwiki.de/wiki/index.php?action=history&amp;feed=atom&amp;title=Algorithmus_entwickeln_und_implementieren</id>
	<title>Algorithmus entwickeln und implementieren - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://sibiwiki.de/wiki/index.php?action=history&amp;feed=atom&amp;title=Algorithmus_entwickeln_und_implementieren"/>
	<link rel="alternate" type="text/html" href="https://sibiwiki.de/wiki/index.php?title=Algorithmus_entwickeln_und_implementieren&amp;action=history"/>
	<updated>2026-04-27T05:09:20Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in SibiWiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sibiwiki.de/wiki/index.php?title=Algorithmus_entwickeln_und_implementieren&amp;diff=3665&amp;oldid=prev</id>
		<title>Akaibel: /* Beispiel 1: Sortieren durch Einfügen */</title>
		<link rel="alternate" type="text/html" href="https://sibiwiki.de/wiki/index.php?title=Algorithmus_entwickeln_und_implementieren&amp;diff=3665&amp;oldid=prev"/>
		<updated>2024-02-03T19:36:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Beispiel 1: Sortieren durch Einfügen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 3. Februar 2024, 19:36 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;Zeile 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    private List&amp;lt;Person&amp;gt;teilnehmerListe;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    private List&amp;lt;Person&amp;gt;teilnehmerListe;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    '''public List&amp;lt;Person&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sortierenDurchEinfuegen&lt;/del&gt;(){'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    '''public List&amp;lt;Person&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;insertionSort&lt;/ins&gt;(){'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         List&amp;lt;Person&amp;gt; ergebnis = new List&amp;lt;&amp;gt;();&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         List&amp;lt;Person&amp;gt; ergebnis = new List&amp;lt;&amp;gt;();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         teilnehmerListe.toFirst();&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         teilnehmerListe.toFirst();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Akaibel</name></author>
	</entry>
	<entry>
		<id>https://sibiwiki.de/wiki/index.php?title=Algorithmus_entwickeln_und_implementieren&amp;diff=3664&amp;oldid=prev</id>
		<title>Akaibel: Die Seite wurde neu angelegt: „Kategorie:Informatik Kategorie:Informatik-Abitur  Die Aufgabenstellung   ''Entwickeln Sie einen Algorithmus, der ...''&lt;br/&gt; ''Implementieren Sie den Algorithmus.''  ist im Zentralabitur sehr häufig. In der Regel gibt es für die Entwicklung des Algorithmus 40% der Punkte und für die Implementierung 60%.  Auf dieser Seite werden Beispiele gegeben, wie man die Aufgabe angehen kann.  '''Hinweis''':&lt;br/&gt; Am SIBI darf man den Algorithmus mit '''Spieg…“</title>
		<link rel="alternate" type="text/html" href="https://sibiwiki.de/wiki/index.php?title=Algorithmus_entwickeln_und_implementieren&amp;diff=3664&amp;oldid=prev"/>
		<updated>2024-02-03T19:34:33Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „&lt;a href=&quot;/wiki/index.php?title=Kategorie:Informatik&quot; title=&quot;Kategorie:Informatik&quot;&gt;Kategorie:Informatik&lt;/a&gt; &lt;a href=&quot;/wiki/index.php?title=Kategorie:Informatik-Abitur&quot; title=&quot;Kategorie:Informatik-Abitur&quot;&gt;Kategorie:Informatik-Abitur&lt;/a&gt;  Die Aufgabenstellung   &amp;#039;&amp;#039;Entwickeln Sie einen Algorithmus, der ...&amp;#039;&amp;#039;&amp;lt;br/&amp;gt; &amp;#039;&amp;#039;Implementieren Sie den Algorithmus.&amp;#039;&amp;#039;  ist im Zentralabitur sehr häufig. In der Regel gibt es für die Entwicklung des Algorithmus 40% der Punkte und für die Implementierung 60%.  Auf dieser Seite werden Beispiele gegeben, wie man die Aufgabe angehen kann.  &amp;#039;&amp;#039;&amp;#039;Hinweis&amp;#039;&amp;#039;&amp;#039;:&amp;lt;br/&amp;gt; Am SIBI darf man den Algorithmus mit &amp;#039;&amp;#039;&amp;#039;Spieg…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:Informatik]]&lt;br /&gt;
[[Kategorie:Informatik-Abitur]]&lt;br /&gt;
&lt;br /&gt;
Die Aufgabenstellung &lt;br /&gt;
&lt;br /&gt;
''Entwickeln Sie einen Algorithmus, der ...''&amp;lt;br/&amp;gt;&lt;br /&gt;
''Implementieren Sie den Algorithmus.''&lt;br /&gt;
&lt;br /&gt;
ist im Zentralabitur sehr häufig. In der Regel gibt es für die Entwicklung des Algorithmus 40% der Punkte und für die Implementierung 60%.&lt;br /&gt;
&lt;br /&gt;
Auf dieser Seite werden Beispiele gegeben, wie man die Aufgabe angehen kann.&lt;br /&gt;
&lt;br /&gt;
'''Hinweis''':&amp;lt;br/&amp;gt;&lt;br /&gt;
Am SIBI darf man den Algorithmus mit '''Spiegelstrichen''' entwickeln; es müssen keine ganzen Sätze formuliert werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
Die Darstellung des Algorithmus muss aber '''verständlich sein, ohne dass man die Implementierung anschaut'''!&lt;br /&gt;
&lt;br /&gt;
=Beispiel 1: Sortieren durch Einfügen=&lt;br /&gt;
&lt;br /&gt;
'''Aufgabenstellung:'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Gegeben ist eine Liste &amp;lt;code&amp;gt;teilnehmerListe&amp;lt;/code&amp;gt;, die Objekte vom Typ &amp;lt;code&amp;gt;Person&amp;lt;/code&amp;gt; enthält.&amp;lt;br/&amp;gt;&lt;br /&gt;
Diese Liste soll mit dem Insertionsort-Verfahren nach dem Namen der Personen sortiert werden.&lt;br /&gt;
&lt;br /&gt;
# '''Entwickeln Sie einen Algorithmus, der &amp;lt;code&amp;gt;teilnehmerListe&amp;lt;/code&amp;gt; nach dem Namen sortiert.'''&lt;br /&gt;
# '''Implementieren Sie den Algorithmus.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lösung ''Entwickeln Sie einen Algorithmus...'''''&lt;br /&gt;
&lt;br /&gt;
Zwei Methoden: &lt;br /&gt;
* Hilfsmethode &amp;lt;code&amp;gt;anRichtigerStelleEinfügen&amp;lt;/code&amp;gt; &lt;br /&gt;
* Hauptmethode &amp;lt;code&amp;gt;insertionSort&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hilfsmethode &amp;lt;code&amp;gt;anRichtigerStelleEinfuegen&amp;lt;/code&amp;gt;:'''&lt;br /&gt;
* fügt eine Person an alphabetisch richtigen Stelle in eine Liste ein.&lt;br /&gt;
* Die Parameter sind eine Liste &amp;lt;code&amp;gt;pList&amp;lt;/code&amp;gt;, in die eingefügt werden soll, und &amp;lt;code&amp;gt;pPerson&amp;lt;/code&amp;gt;, die einzufügende Person.&lt;br /&gt;
* &amp;lt;code&amp;gt;pList&amp;lt;/code&amp;gt; mit einer Schleife durchlaufen.&lt;br /&gt;
** Wenn &amp;lt;code&amp;gt;pPerson&amp;lt;/code&amp;gt; im Alphabet VOR der Person ist, auf die der Listenzeiger steht, &amp;lt;br/&amp;gt;dann &amp;lt;code&amp;gt;pPerson&amp;lt;/code&amp;gt; mit &amp;lt;code&amp;gt;insert&amp;lt;/code&amp;gt; VOR dem aktuellen Element einfügen&amp;lt;br/&amp;gt;und die Methode verlassen.&lt;br /&gt;
* Wenn das Ende der Schleife erreicht wurde, dann &amp;lt;code&amp;gt;pPerson&amp;lt;/code&amp;gt; hinten anhängen.&lt;br /&gt;
&lt;br /&gt;
'''Hauptmethode &amp;lt;code&amp;gt;insertionSort&amp;lt;/code&amp;gt;:'''&lt;br /&gt;
* kein Parameter, gibt eine sortierte Liste zurück.&lt;br /&gt;
* eine leere Liste &amp;lt;code&amp;gt;ergebnis&amp;lt;/code&amp;gt; erzeugen.&lt;br /&gt;
* &amp;lt;code&amp;gt;teilnehmerListe&amp;lt;/code&amp;gt; mit einer Schleife durchlaufen.&lt;br /&gt;
** für jede Person in der Liste die Hilfsmethode &amp;lt;code&amp;gt;anRichtigerStelleEinfuegen&amp;lt;/code&amp;gt; aufrufen, um sie an die richtige Stelle in &amp;lt;code&amp;gt;ergebnis&amp;lt;/code&amp;gt; einzufügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lösung: ''Implementieren Sie den Algorithmus.'''''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
   private List&amp;lt;Person&amp;gt;teilnehmerListe;&lt;br /&gt;
   &lt;br /&gt;
   '''public List&amp;lt;Person&amp;gt; sortierenDurchEinfuegen(){'''&lt;br /&gt;
        List&amp;lt;Person&amp;gt; ergebnis = new List&amp;lt;&amp;gt;();&lt;br /&gt;
        teilnehmerListe.toFirst();&lt;br /&gt;
        while(teilnehmerListe.hasAccess()){&lt;br /&gt;
            Person aktuell = teilnehmerListe.getContent();&lt;br /&gt;
            anRichtigerStelleEinfugen(ergebnis, aktuell);&lt;br /&gt;
            teilnehmerListe.next();&lt;br /&gt;
        }&lt;br /&gt;
        return ergebnis;&lt;br /&gt;
   }&lt;br /&gt;
    &lt;br /&gt;
   '''public void anRichtigerStelleEinfugen(List&amp;lt;Person&amp;gt; pList, Person pPerson){'''&lt;br /&gt;
        pList.toFirst();&lt;br /&gt;
        while(pList.hasAccess()){&lt;br /&gt;
            Person aktuell = pList.getContent();&lt;br /&gt;
            // pPerson mit der aktuellen person vergleichen&lt;br /&gt;
            if(pPerson.getName().compareTo(aktuell.getName()) &amp;lt; 0){&lt;br /&gt;
                pList.insert(pPerson);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            pList.next();&lt;br /&gt;
        }&lt;br /&gt;
        // pPerson wurde noch nicht eingefuegt!&lt;br /&gt;
        pList.append(pPerson);&lt;br /&gt;
    }&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Akaibel</name></author>
	</entry>
</feed>