www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de