matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

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
StartseiteMatheForenAlgorithmen und DatenstrukturenPseudocode Zahlendarstellung
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Algorithmen und Datenstrukturen" - Pseudocode Zahlendarstellung
Pseudocode Zahlendarstellung < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Pseudocode Zahlendarstellung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:17 So 11.11.2012
Autor: imzadi

Guten Tag,
Ich bin ein absoluter Neuling  und brauche Hilfe bei der Erstellung eines Pseudocodes,und zwar:
Es geht um die Dezimaldarstellung einer natuerlichen Zahl. Ich muss ein Pseudocode schreiben,das mir die i-te Ziffer dieser Darstellung zuruelckgibt.
Ich verstehe das so ,,dass ich erstmal nach der Eingabe der Zahl ihre Dezimaldarstellung ( mit dem Division-mit-Rest Algorithmus) ausgeben lassen soll und dann mit i irgendwie die i-et Ziffer aufrufen,ist das irgendwie so?
Fuer jede Hilfestellung bin ich euch sehr dankbar.(java)

Ich habe diese Frage in keinem anderen Forum auf anderen Seiten gestellt

        
Bezug
Pseudocode Zahlendarstellung: Antwort
Status: (Antwort) fertig Status 
Datum: 23:18 So 11.11.2012
Autor: reverend

Hallo imzadi,

das wird hier normalerweise entweder rekursiv gehen oder mit einer gezählten Schleife. Es geht aber auch sozusagen "direkt". Der Rechenaufwand ist allerdings der gleiche.

>  Es geht um die Dezimaldarstellung einer natuerlichen Zahl.
> Ich muss ein Pseudocode schreiben,das mir die i-te Ziffer
> dieser Darstellung zuruelckgibt.
>  Ich verstehe das so ,,dass ich erstmal nach der Eingabe
> der Zahl ihre Dezimaldarstellung ( mit dem
> Division-mit-Rest Algorithmus) ausgeben lassen soll

Nein, das ist nicht Teil der Aufgabe. Vielleicht ist ja nur die i-te Ziffer interessant und man will die 281.944.317 weiteren Ziffern gar nicht berechnen. Schließlich wird die Zahl ja nicht dezimal, sondern im Normalfall binär vorliegen (auch wenn man der Übersichtlichkeit halber gern hexadezimal zusammenfasst).

> und
> dann mit i irgendwie die i-et Ziffer aufrufen,ist das
> irgendwie so?

Naja, Du hast halt eine (theoretisch beliebig große) Zahl vorliegen.
Die erste Frage ist, wie eigentlich die Ziffern gezählt werden. Das geschieht normalerweise "von hinten", also die Einerstelle zuerst, dann die Zehner, die Hunderter etc. Dabei ist praktikabel, die Einerstelle mit der Ordnungsziffer 0 zu belegen, die Zehner mit 1 etc. Das entspricht dann dem Exponenten der Stellenwertigkeit. Die "dritte" Ziffer wären dann die, die den Stellenwert [mm] 10^3 [/mm] wiedergibt, also die Tausender. Das ist ja eigentlich die vierte Stelle von hinten.

Manchmal gibt ein Aufgabensteller zu erkennen, welche Zählweise er haben möchte, z.B. von vorne an gezählt oder aber von hinten beginnend mit "1", dann muss man eben entsprechend umrechnen.

Hier nun zwei Möglichkeiten in "meiner" Zählung:

1) Du schreibst einen Algorithmus, der Dir die letzte Stelle (also Nr. "0") einer Dezimalzahl liefert. Das geht natürlich durch Teilung durch 10 und Feststellung des Restes. Den schneidest Du ab (subtrahierst), teilst alles übrige durch 10 und hast damit die ursprüngliche Zahl ihrer letzten Stelle beraubt.
Das tust Du nun i-mal (also für die Tausender, die "dritte" Stelle, dreimal); erst im nächsten Durchgang liefert Dein Algorithmus die gesuchte Zahl, nämlich als Rest bzw. eben im nächsten Durchgang abzuschneidende Stelle.

2) Das geht auch in einem einmaligen Durchlauf. Deinem Rechner ist ja egal, ob er durch $10$ oder durch [mm] 10^i [/mm] teilt. Allerdings musst Du, wie bei der schriftlichen Division, die jeweils aktuelle Ziffer des Quotienten "aufschreiben", also festhalten. Danach brauchst Du sie nicht mehr, denn das Ergebnis der Division ist ja unerheblich.
Du folgst also der Regel der schriftlichen Division solange, bis der Rest kleiner als [mm] 10^i [/mm] ist. Die dann gerade aktuelle Ziffer des Quotienten (also die zuletzt berechnete) ist dann die gesuchte.

>  Fuer jede Hilfestellung bin ich euch sehr dankbar.(java)

Pseudocode sollst Du nehmen, weil die Struktur des Algorithmus unabhängig von seiner Implementierung in irgendeiner Sprache sein soll.

Das Prinzip funktioniert natürlich in jedem Stellenwertsystem. Zum Ausprobieren auf Papier ist es sogar besser, es einmal mit einem anderen System zu probieren, sagen wir im Siebenersystem.

Was ist denn die Stelle mit der Nummer 3 (also Stellenwert [mm] 7^3) [/mm] der Zahl 398.247 (dezimal)?

(Kontrolllösung: Dein Algorithmus sollte hier eine 6 auswerfen, da [mm] $398247_{10}=3246033_{7}$) [/mm]

Grüße
reverend


Bezug
                
Bezug
Pseudocode Zahlendarstellung: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 23:39 So 11.11.2012
Autor: imzadi

Super, vielen dank, muss mir noch darüber Gedanken machen... Kannst du vielleicht irgendeine Lektuere empfehlen, wo ich ueber so was nachlesen kann? Fühlt sich sehr ungewohnt  an.... Vielleicht mit Beispielalgorithmen und wie man Pseudocode schreibt,vielen Dank.

Bezug
                        
Bezug
Pseudocode Zahlendarstellung: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:20 Mi 14.11.2012
Autor: matux

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


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