Announcement

Collapse
No announcement yet.

Brauche Hilfe bei der Erstellung eines Struktogramms

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Brauche Hilfe bei der Erstellung eines Struktogramms

    Wie schon der Titel verrät, bräuchte ich mal eure Hilfe, Tipps oder Verbesserungsvorschläge zu meinem Struktogramm.
    Die Aufgabe lautet wie folgt:

    Der Nutzer soll aufgefordert werden 2 Integer-Zahlen einzugeben, Anschließend soll Summe, Differenz, Produkt sowie die Division mit Rest derbeiden Zahlen ausgegeben werden. (wie kann ich das angeben?).

    Die zweite Integer-Zahl ist bei der Subtraktion der Minuend, im Fall der Division der Divisor. Bei der Division ist im Fall, dass der Divisor Null ist, statt des Ergebnisses ein Hinweis auszugeben, dass eine Division durch Null nicht zulässig ist.

    Der Benutzer wird nach der Ausgabe der Ergebnisse aufgefordert, ob er eine weitere Rechnung ausführen möchte. Durch die Eingabe des Zeichens 'J' erfolgt eine erneute Aufforderung zwei Integer-Zahlen einzugeben. Bei jeder anderen Eingabe ist das Programm zu beenden.

    Ich bedanke mich schon mal jetzt.

    Wenn ich den Structorizer benutze und paar schleifen durchführen will steht da wie z.B. "pour ? <- ? à ?" oder "jusqu'à ()" und ich weiss nicht was das bedeuten soll?

    Attached Files
    Zuletzt editiert von Ddos; 12.05.2015, 19:12.

  • #2
    Na Du gibst 2 Zahlen ein, es werden die diversen Rechenoperationen für beide Zahlen ausgeführt, anschließend werden beide Zahlen ausgegeben (z.B. in die Kommandozeile in der das Programm läuft)

    Das andere sieht wie französisch aus. Aber bei der Syntax kann ich auch nur raten: Vielleicht so pour i <- 0 à 10 (variable i von 0 bis 10) und jusqu'à heisst dann "bis (zu einer gewissen Grenze)"

    Comment


    • #3
      Originally posted by fanderlf View Post
      Na Du gibst 2 Zahlen ein, es werden die diversen Rechenoperationen für beide Zahlen ausgeführt, anschließend werden beide Zahlen ausgegeben (z.B. in die Kommandozeile in der das Programm läuft)
      Danke, aber erfüllt dies auch mein Struktogramm was ich erstellt hab, und ist die schleife die ich ausgewählt hab auch so richtig?

      Originally posted by fanderlf View Post
      Das andere sieht wie französisch aus. Aber bei der Syntax kann ich auch nur raten: Vielleicht so pour i <- 0 à 10 (variable i von 0 bis 10) und jusqu'à heisst dann "bis (zu einer gewissen Grenze)"
      hmm danke, aber ich zeichne es doch selber, ist einfacher.

      Comment


      • #4
        Ich bin nicht der grosse Stuktogram Experte. Das ist doch ein relativ theoretisches Konstrukt Hab mir mal ein paar im Internet angesehen. Ich wuerde es vielleicht etwas anders aufbauen. Ich glaube Du hast die Eingabe mit der Schleife vermischt.

        Schau Dir mal diese Internetseite an. Falls ihr eine do while Schleife benutzen duerft waere das wohl die beste Loesung:

        http://www.pohlig.de/Unterricht/Inf2...e_Schleife.htm

        Die Eingabe ist auf jeden Fall ein einzelner Arbeitsschritt, genau wie eine Berechnung. In diesem Schritt weisst Du einfach die Eingabe einer Variable zu. In der Bedingung der Schleife, in dem Beispiel der untere Kasten, verwendest Du die Variable und loopst weiter Ansonsten hoert Dein Programm einfach auf. Du brauchst also auch kein Ja und Nein. Generell haben Schleifen eigentlich niemals ein Ja und Nein, entweder die Schleife dreht noch eine Runde oder eben nicht, dann koennte man aber die Arbeitsschritte einfach auf kompletter Breite darunter anfuegen.

        Ich denke auch dass "beenden" nicht extra ein Arbeitsschritt ist. Wenn Dein Programm durch ist hoert es von alleine auf.

        Comment


        • #5
          ich danke dir,jedoch wäre meine letzte frage wie man die Division mit Rest ausgeben kann, Die Bedingung ist ja wenn das Ergebnis der Division ungerade ist, das dass Programm nicht eine Komma zahl ausgibt wie zum Beispiel 47/4= 11,75 sondern 11 und rest 3.

          also müsste meiner Meinung nach die Prozedur in einer Sequenz : a / b = c

          und unter der Sequenz, Die Bedingung c = var und weiter weiss ich auch nicht was man unter true einfügen könnte, so dass er den Wert mit Rest ausgibt.

          Comment


          • #6
            Du kannst mit % (Modulo) den Rest einer Division herausfinden. Dann machst Du einer normale Division mit /. Davon nimmst Du den Teil vor dem Komma und dann machst Du extra noch eine modulo Rechnung für den Rest

            Comment


            • #7
              nehmen wir an das unsere integer zahlen als allgemein geschrieben a ; b sind

              1. a / b = c,def

              2. c % b = d


              und dann als ausgabe c mod d oder (c * b) MOD d?

              PS: 2 Integer zahlen führen direkt zu einer Integer zahl also muss ich das irgendwie in eine gleitkomma zahl umwandeln wie mach ich das?

              PPS: könnte ich nicht gleich die modulo operation durchführen also a % b =c mod d?
              Zuletzt editiert von Ddos; 14.05.2015, 20:04.

              Comment


              • #8
                1.) a / b = q (Quotient)
                2.) a % b = r (Rest)
                3.) Ausgabe: q, Rest r

                Zum PS.) Wofür brauchst du Gleitkommazahlen
                Zum PPS.) Kannst du, du bekommst aber nur den Modulo. Es gibt keine Operation die beides macht also Quotient und Modulo berechnet (außer du programmierst eine)

                Comment


                • #9
                  Originally posted by Ralf Jansen View Post
                  1.) a / b = q (Quotient)
                  2.) a % b = r (Rest)
                  3.) Ausgabe: q, Rest r

                  Zum PS.) Wofür brauchst du Gleitkommazahlen
                  Zum PPS.) Kannst du, du bekommst aber nur den Modulo. Es gibt keine Operation die beides macht also Quotient und Modulo berechnet (außer du programmierst eine)
                  danke, naja weil der fanderlf meinte die Zahl vor dem Komma zu nehmen, da wir aber 2 Integer zahlen dividieren, wird ja auch nur eine ganze zahl rauskommen. aufjedenfall bedanke ich mich bei euch sehr. Der Thread kann geclosed werden.
                  Zuletzt editiert von Ddos; 15.05.2015, 19:11.

                  Comment

                  Working...
                  X