www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Zahlentheorie" - Pseudocode Logik
Pseudocode Logik < Zahlentheorie < Algebra+Zahlentheo. < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Zahlentheorie"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Pseudocode Logik: Idee
Status: (Frage) beantwortet Status 
Datum: 23:13 Di 18.12.2012
Autor: Coup

Aufgabe
Eingabe: a und b positive ganze Zahlen

Wenn a > b: a[0] := a, b[0] := b
Sonst: a[0] := b, b[0] := a n := 0

Solange b[n] groeßer als 0 wiederhole n := n + 1
a[n] := b[n-1]
b[n] := a[n-1] mod b[n-1] Ende der Schleife
Ausgabe: a[n]

Zeige, dass b[n] < b[n-1] und folgern Sie daraus , dass es ein m [mm] \in \IN_{0} [/mm] gibt sodass b[m]= 0 wird und die Schleife abbricht

Hallo,

Ich habe mir einige Gedanken dazu gemacht.
Es ist ja nicht gesagt auf welchem Weg ich zeigen soll, dass
$b[n] < b[n-1] $
Ich bin daher einfach mit Zahlbeispielen den Code durchgegangen.
1. Egal ob mein a oder b größer ist, beide Variablen bekommen in beiden Fällen den gleichen Wert an Stelle 0 zugewiesen ( im Array ).
Für a=2 und b=1 hieße das ja : a[0] =2 und b[0]=1. Egal welcher Fall.
Nun beginnt die Variable n auf Speicherstelle 0 und die Schleife beginnt zu laufen.
Variable n wird erhöht und a[n]=a[1] definiert durch b[n-1]=b[0]=1 ( für mein Zahlenbeispiel ).

Da im nächsten Schritt mein a[n-1] modulo b[n-1] gerechnet wird folgt daraus das b[n]=b[1]=0  kleiner ist als b[n-1]=b[1-1]=1.

Es dürfte sich hier ja um den ggT handeln. Demnach wird der Rest immer kleiner und deshalb ist b[n] immer kleiner als b[n-1], da der alte Rest demzufolge größer war.

Ist das so korrekt ?
Vielen Dank schonmal fürs reinlesen und mitdenken :)

lg
Micha

        
Bezug
Pseudocode Logik: Antwort
Status: (Antwort) fertig Status 
Datum: 14:46 Do 20.12.2012
Autor: meili

Hallo Micha,

> Eingabe: a und b positive ganze Zahlen
>  
> Wenn a > b: a[0] := a, b[0] := b
> Sonst: a[0] := b, b[0] := a n := 0
>  
> Solange b[n] groeßer als 0 wiederhole n := n + 1
>  a[n] := b[n-1]
>  b[n] := a[n-1] mod b[n-1] Ende der Schleife
>  Ausgabe: a[n]
>  
> Zeige, dass b[n] < b[n-1] und folgern Sie daraus , dass es
> ein m [mm]\in \IN_{0}[/mm] gibt sodass b[m]= 0 wird und die Schleife abbricht
>  Hallo,
>  
> Ich habe mir einige Gedanken dazu gemacht.
>  Es ist ja nicht gesagt auf welchem Weg ich zeigen soll, dass
>  [mm]b[n] < b[n-1][/mm]
>  Ich bin daher einfach mit Zahlbeispielen den Code durchgegangen.
>  1. Egal ob mein a oder b größer ist, beide Variablen bekommen in beiden Fällen den gleichen Wert an Stelle 0 zugewiesen ( im Array ).
>  Für a=2 und b=1 hieße das ja : a[0] =2 und b[0]=1. Egal welcher Fall.
>  Nun beginnt die Variable n auf Speicherstelle 0 und die Schleife beginnt zu laufen.
>  Variable n wird erhöht und a[n]=a[1] definiert durch b[n-1]=b[0]=1 ( für mein Zahlenbeispiel ).
>  
> Da im nächsten Schritt mein a[n-1] modulo b[n-1] gerechnet wird folgt daraus das b[n]=b[1]=0  kleiner ist als b[n-1]=b[1-1]=1.
>  
> Es dürfte sich hier ja um den ggT handeln. Demnach wird der Rest immer kleiner und deshalb ist b[n] immer kleiner als b[n-1], da der alte Rest demzufolge größer war.
>  

Es ist sicher gut, sich an einem Beispiel klar zu machen, wie es abläuft.

Um b[n] < b[n-1] zu zeigen, reicht eine Eigenschaft von "mod".
b[n] entsteht aus b[n-1] durch b[n] := a[n-1] mod b[n-1].
(a[n-1] mod b[n-1]) $ [mm] \in \{0, \ldots , b[n-1]-1\}$. [/mm]

> Ist das so korrekt ?
>  Vielen Dank schonmal fürs reinlesen und mitdenken :)
>  
> lg
>  Micha

Gruß
meili

Bezug
                
Bezug
Pseudocode Logik: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 20:47 Do 20.12.2012
Autor: Coup

Okay danke, das hilft sehr !
Wie könnte ich denn mittles Induktion zeigen, dass ggT(a[n],b[n]) = ggT(a,b) ist ?
Für n=1 stimmt die Behauptung natürlich aber im Induktionsschritt
ggT(a[n+1],b[n+1]) = ggT(a,b) hängt es leider.


lg
und danke :)


Bezug
                        
Bezug
Pseudocode Logik: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:20 Sa 22.12.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Zahlentheorie"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]