Hilfe!

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von Lara1991, 17.02.2014.

  1. #1 Lara1991, 17.02.2014
    Lara1991

    Lara1991 Neuer Benutzer

    Dabei seit:
    17.02.2014
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo ihr Lieben,

    ich habe eigentlich mit diesem ganzen IT-Kram recht wenig zu tun und brauche ganz dringend eure Hilfe. Schreibe morgen in der Uni meine IT-Klausur nach (nachdem ich schon einmal durchgefallen bin) und bekomm das immer noch nicht so ganz mit Algorithmus, Pseudocode hin. Mit recht hoher Wahrscheinlichkeit, kommt einer der Algos aus der letzten Klausur dran.
    Ich habe mich da auch schon selber dran gesetzt, bin allerdings unsicher, ob das alles so richtig ist. Kommilitonen haben leider auch nur alle mit Ach und Krach bestanden. Vielleicht könnt ihr ja mal kurz über deine Aufzeichnungen rüber gucken.

    1. Schreiben Sie einen Algorithmus


    a. Gegeben ist eine ungeordnete Liste mit natürlichen Zahlen. Es soll ausgegeben werden die größte Zahl mit ihrer ersten Position und ihrer Häufigkeit in der Liste, die Anzahl der ungeraden Zahlen, das arithmetische Mittel (Mittelwert) ohne die Größte Zahl und in einer neuen Liste die sortierten Zahlen (von links aufsteigend)

    Rand- bzw. Rahmenbedingungen für den Algorithmus, beschreiben Sie den Algorithmus in einer sprachlichen Fassung und in einem Pseudocode.


    b. Schreiben Sie einen Algorithmus für die in der Mathematik verwendete Fakultät einer natürlichen Zahl n. n! ist so definiert: n!=1*2*3*...*n. Beispiel: 3!=1*2*3=6 Nach Eingabe einer natürlichen Zahl n soll berechnet und ausgegeben werden die Fakultät der eingegebenen Zahl, die Summe der Fakultät (z.B. 4! Ist die Summe 10) und die Anzahl der verwendeten Primzahlen bei der Berechnung (z.B. 3! Bzw. 4! Sind je 2 Primzahlen; 6!: 3).

    Rand- bzw. Rahmenbedingungen für den Algorithmus, beschreiben Sie den Algorithmus in einer sprachlichen Fassung und in einem Pseudocode.


    c. Gegeben sei eine ungeordnete Liste mit 1000 Elementen (Zahlen mit mindestens 4 Nachkommastellen). Es soll eine neue sortierte Liste erstellt werden (von links beginnend) mit den auf 2 Nachkommastellen gerundeten Zahlen (Beispiel: 1,24267 zu 1,23; 1,24627 zu 1,25) und aus der sortierten Liste soll die Summe aus jeder dritten Zahl (von links beginnend) berechnet werden. Erstellen Sie die Rand- bzw. Rahmenbedingungen für den Algorithmus, beschreiben Sie den Algorithmus in einer sprachlichen Fassung und in einem Pseudocode.

    -> Meine Aufzeichnungen hänge ich als Datei mit an, habe die handschriftlich gemacht. Hoffe ihr erkennt was

    Unsicher bin ich besonders bei Teil b mit der Fakultät

    Vielen Dank und liebe Grüße

    Lara
     

    Anhänge:

    • a.jpg
      a.jpg
      Dateigröße:
      75,8 KB
      Aufrufe:
      18
    • b.jpg
      b.jpg
      Dateigröße:
      64,6 KB
      Aufrufe:
      19
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 Blaxxun, 17.02.2014
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Na das fällt dir ja relativ für ein, dass du dabei Hilfe brauchst :cool:
    Was studierst du den? Mathe?

    Da ich selbst für eine Klausur lernen muss hab ich jetzt keine Zeit komplette Lösungen zu liefern, aber mal ein paar Ansätze. Es gibt aber mit Sicherheit mehre korrekte Lösungen, die akzeptiert werden müssen. So wie ich das sehe scheint ja nichts weiter zum Lösungsweg vorgegeben zu sein?

    Schlage hier einen linearen Durchlauf vor, also eine For-Schleife.
    Code:
    posGrößteZahl = 0;
    größteZahl = 0;
    anzahlGrößteZahl = 0;
    anzahlUngerade = 0;
    aritMittel = 0;
    for(i = 0; 1 < liste.length; i++){
    if(liste[i] > größteZahl){ größteZahl = liste[i]; anzahlGrößteZahl = 1; posGrößteZahl = i; }
    else if(liste[i] == größteZahl){ anzahlGrößteZahl++; }
    if(liste[i] % 2 != 0) {anzahlUngerade++; } //mittels modul bei divison 2 auf einen rest prüfen, falls es einen rest gibt ist die zahl ungerade
    aritMittel = aritMittel + liste[i];
    }
    //größte Zahl aus dem Mittel abziehen
    aritMittel = aritMittel - (größteZahl*anzahlGrößteZahl);
    aritMittel = aritMittel / liste.length;
    
    anschließend die Liste neu sortieren, dafür gibt es diverse Algorithmen (z.B. BubbleSort), die sich leicht finden und verstehen lassen. Könnte man theoretisch auch in der Schleife machen. Oder eine vorgerftiete Liste nehmen, die sortiert einfügen kann :D


    Für den Rest hab ich jetzt gerade keine Zeit. Aber das da oben sollte funktionieren.
     
  4. #3 Lara1991, 17.02.2014
    Lara1991

    Lara1991 Neuer Benutzer

    Dabei seit:
    17.02.2014
    Beiträge:
    4
    Zustimmungen:
    0
    Vielen Danke für die schnelle Antwort und schon mal viel Glück für deine Prüfung.
    Ja, ich gebe zu ich bin etwas spät dran ;)
    Nein, ich studiere Business Administration. Keine Ahnung wozu ich dafür sowas brauche.

    Das sieht ziemlich kompliziert aus. Versteh ich das richtig, dass mein Lösungsansatz nicht richtig ist?
    Und ich dachte immer, das was ich gemacht habe wäre bubblesort :confused:

    Ohje, ihr lacht euch wahrscheinlich kaputt über mich.
     
  5. #4 Lara1991, 17.02.2014
    Lara1991

    Lara1991 Neuer Benutzer

    Dabei seit:
    17.02.2014
    Beiträge:
    4
    Zustimmungen:
    0
    Achja, mir würde es schon sehr viel helfen, wenn mir jemand sagen könnte, wo dieses "end if" bei der Berechnung der Fakultät hingehört (Aufgabe b). gleich hinter "next c" oder ganz am Ende? Ich möchte ja, dass falls die eingegebene Zahl <= 1 ist, dass Summe, etc. nicht weiter berechnet werden. Dann müsste es ja theoretisch ganz nach unten, weil dann die Berechnung der Summe und Primzahlen unter "then" fallen?! Oder versteh ich da was falsch.
     
  6. #5 Blaxxun, 17.02.2014
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Ich habe das sortieren bei mir nicht implementiert. Aber Bubble Sort kannst du einfach in der Wikipedia nachlesen, oder mal bei YouTube eingeben, die Videos dort sind meistens verständlicher als Code, wenn man nicht vom Programmieren kommt.

    Bei der Berechnung der Fakultät brauchst du das (end if) meiner Meinung nach gar nicht.
    Wenn die Zahl <= 1 wird etwas ausgegben, ansonten wird die Fakultät auf 1 gesetzt. Danach rechnest du ja auch mit dieser Fakultät weiter.
    Dazu brauchst du dann aber keinen else Zweig mehr.
    Wenn auf eine Bedigung nur ein Befehl folgt muss dieser nicht beendet werden. Das sollte auch in deinem Pseudocode so sein, zumal du da ja ohnehin noch freier bist. Wenn dein Dozent dir dafür Punkte abzieht ist er jedenfalls nicht besonders fair.
    Wenn also ein END IF dann nachdem die Fakultät auf 1 gesetzt wurde.
     
  7. #6 Lara1991, 17.02.2014
    Lara1991

    Lara1991 Neuer Benutzer

    Dabei seit:
    17.02.2014
    Beiträge:
    4
    Zustimmungen:
    0
    Danke, du bist ein Schatz.
    Dann kann ich das also so stehen lassen, wie ich es geschrieben habe?
    Gibt es irgendwo ein kostenfreies Programm (Mac) mit dem ich das mal testen kann? Sprich das mal eingeben kann und gucken was dabei rauskommt?
     
  8. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  9. #7 Blaxxun, 18.02.2014
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Ich kenn kein Tool mit dem man PseudoCode überprüfen kann.
    Der Teil oben ist quasi Java. Wenn du Java oder sonst irgendwas gemacht hast (?) dann kannst du natürlich eine IDE wie IntelliJ IDEA &mdash; The Best Java and Polyglot IDE nutzen. Wenn nicht würde ich mir da an deiner Stelle nicht nochmal was "sinnfreies" beibringen, sondern eher nochmal an Dinge für die Klausur wiederholen.
    Wenns nicht eh schon zu spät ist.
     
  10. #8 xandros, 20.02.2014
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.881
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Nur Stift und Papier!
    Nennt sich Schreibtischtest.
    -------------------------------

    Der Rechner kann mit Pseudocode nichts anfangen.
    Bei Pseudocode muss lediglich die Logik im Ablauf korrekt sein und gueltige/brauchbare Resultate ergeben. Pseudocode erhebt keinen Anspruch auf korrekte Syntax in einer bestimmten Programmiersprache.
    Und wenn die bei diesem Entwurf verwendete Sprache kein "End If" am Ende einer verschachtelten Kontrollstruktur vorsieht, dann gibt es diese Zeile eben nicht. Das Ende der Kontrollstruktur (hier der IF THEN <ELSE>-Block) muss nur erkennbar sein.
     
Thema:

Hilfe!

Die Seite wird geladen...

Hilfe! - Ähnliche Themen

  1. Hilfe! Überfordert!

    Hilfe! Überfordert!: Hallo zusammen, Ich habe ein Problem, bei dem ich noch nicht mal sicher weiß, ob es sich um ein Software- oder Hardware-Problem handelt (also...
  2. Neuling braucht Hilfe bei Grafikkarte, Bluescreen/Absturz und Internet Baustellen

    Neuling braucht Hilfe bei Grafikkarte, Bluescreen/Absturz und Internet Baustellen: Hallo. Ich bin relativer Neuling in der Materie Hardware/Software... Vor wenigen Jahren ging meine Festplatte hinüber - warum auch immer... Ich...
  3. HILFE!Ati Catalyst Control Center gelöscht

    HILFE!Ati Catalyst Control Center gelöscht: Guten Morgen! Gestern habe ich einen riesigen Mist mit meinem Laptop angestellt... Ich wollte mehr Platz schaffen, weilschon andauernd die Meldung...
  4. Hilfe bei der Zusammenstellung

    Hilfe bei der Zusammenstellung: Hallo, Ich baue mir gerade einen Rechner zum zocken zusammen:...
  5. Hilfe ich werd Wahnsinnig mit TP Link VR900v

    Hilfe ich werd Wahnsinnig mit TP Link VR900v: Guten Morgen zusammen, habe mir, nach dem meine fritzboxen abgekackt sind einen tp link vr900v gekauft. Mein internet anbieter ist Vodafone. Mit...