Ergebnis 1 bis 7 von 7

Programmieren mit Processing

  1. #1 Zitieren
    Ritter Avatar von Yuki Arisato
    Registriert seit
    Jan 2007
    Ort
    ...Couch ._.
    Beiträge
    1.274
    Hallo liebe Leutz~

    Ich studiere erst seit ein paar Wochen und muss jetzt regelmäßig jede Woche Testatarbeiten in Programmieren mit Processing einreichen. Doch ich kapieren eine Aufgabe, die wir für diese Woche aufbekommen haben überhaupt nicht.

    Die Aufgabe lautet:

    Erzeugen Sie ein 2-dimensionales Feld aus zufällig gesetzten Bool´schen
    Werten. Im Feld soll ein vorgegebener Anteil von Werten true sein, der Rest
    false. Überprüfen Sie, ob das Feld tatsächlich den geforderten Anteil von true-
    Werten enthält. Weshalb stimmt beim Vorgehen nach dem unten angegebenen
    Hinweis der tatsächliche Anteil nur näherungsweise mit dem geforderten überein?
    Hinweis: Nutzen Sie die Zufallsfunktion random(1) um zu entscheiden welcher Wert einem
    Feldelement zugewiesen wird. Drücken Sie den gewünschten prozentualen Anteil als Zahl zwischen
    0 und 1 aus (d.h. 1 entspricht 100%). Beachten Sie auch, dass die von random(1) gelieferten
    Zufallszahlen gleichverteilt sind, d.h. 10% der Zahlen sind < 0.1, 20% der Zahlen sind < 0.2, 30%
    der Zahlen liegen zwischen 0.6 und 0.9, usw.
    Stellen Sie dann dieses Feld grafisch dar, indem Sie den Wert false als
    schwarz und den Wert true als weiß interpretieren
    Und soweit bin ich bisher:

    Code:
    boolean [][] myArray = new boolean [40][40];
    int x=0;
    int y=0;
    //-----
    void setup() {
      background(255);
      size(400,400);
    }
    //-----
    void draw() {
     int[] myArray = new int[10];
     for (int x=0;x<myArray.length; x++) {
       for (int y=0; y<myArray.length; y++) {
         
         
       
         rect(x,y,10,10);
         x +=10;
         y +=10;
       }
     }
     
     noLoop(); 
    }
    Ab hier komme ich einfach nicht weiter Das Skript welches wir vom Prof bekommen haben, zur Orientierung, hilft kein Stück weiter und aus dem einen englischen Buch, welches ich habe, werde ich nicht schlau.
    Kann mir jemand weiterhelfen? Vielleicht erklären wie ich ab da vorgehen muss?
    Yuki Arisato ist offline

  2. #2 Zitieren
    Ritter Avatar von ojas
    Registriert seit
    Jun 2008
    Ort
    Erde
    Beiträge
    1.787
    Code:
    boolean[][] array = new boolean[100][100];
    for (int i = 0; i < array.length; i++) {
      for (int j = 0; j < array[i].length; j++) {
        if (random(1) < 0.23) {
          array[i][j] = true;
        } else {
          array[i][j] = false;
        }
      }
    }
    Damit erzeugst du ein zweidimensionales Array mit 100*100 Einträgen in dem ca. 23% aller Werte true sind und der Rest false.
    ojas ist offline Geändert von ojas (07.10.2014 um 03:26 Uhr)

  3. #3 Zitieren
    Ritter Avatar von Yuki Arisato
    Registriert seit
    Jan 2007
    Ort
    ...Couch ._.
    Beiträge
    1.274
    Danke ojas

    Die Aufgabe habe ich dann doch noch allein geschafft gehabt.
    Mittlerweile versteh ich auch ein wenig... Wobei die Betonung echt auf wenig liegt.

    Allerdings ist die Aufgabe, die wir jetzt machen sollen, für mich sowas von unverständlich...

    Aufgabe15(20Punkte)
    Implementieren Sie eine Klasse DynArray<E> für dynamische Arrays analog zur
    Klasse ArrayList. Die zu implementierenden Methoden finden Sie Online in der
    Java-Dokumentation (siehe Link http://docs.oracle.com/javase/1.5.0/docs/api/java/
    util/ArrayList.html). Ignorieren Sie hierbei die Felder modCount und ersetzen
    Sie in Ihrer Implementierung jedes Auftreten von Collection<? extends E>
    durch DynArray<E>. Von den "vererbten" Methoden implementieren Sie nur die
    Methode equals. Alle Methoden sollen durch Sie selbst implementiert werden,
    d.h., es sollen nicht etwa Methoden von ArrayList aufgerufen werden. Schreiben
    Sie ein Programm das Ihre implementierten Methoden testet indem es
    diese korrekt benutzt.
    Identische Abgaben werden mit 0 Punkten bewertet.
    Ich habe nicht einmal einen Hauch von einer Ansatz Idee, wie ich da heran gehen kann u_u
    Yuki Arisato ist offline

  4. #4 Zitieren
    Ritter Avatar von ojas
    Registriert seit
    Jun 2008
    Ort
    Erde
    Beiträge
    1.787
    Zitat Zitat von Yuki Arisato Beitrag anzeigen
    Danke ojas
    Gerne

    Zitat Zitat von Yuki Arisato Beitrag anzeigen
    Allerdings ist die Aufgabe, die wir jetzt machen sollen, für mich sowas von unverständlich...
    Ich bin sehr zuversichtlich, dass du auch diese Aufgabe alleine schaffen wirst.
    ojas ist offline

  5. #5 Zitieren
    Ritter Avatar von Yuki Arisato
    Registriert seit
    Jan 2007
    Ort
    ...Couch ._.
    Beiträge
    1.274
    Also die Abgabe ist Dienstag und ich habe... nichts XD
    Meine Projektpartnerin ist dabei aber genauso Verständnissvoll. Sprich sie hat auch von nichts einen Plan. Liegt aber glaube ich eher daran, dass wir bisher immer irgendwo etwas grafisches abliefern mussten und nun es eben nicht der Fall ist und wir zwischendrin keine Ahnung haben wie wir was prüfen müssen. (Mal abgesehen davon, dass dieses super Programm auch nur Fehler ausspuckt XD
    Yuki Arisato ist offline

  6. #6 Zitieren
    Veteran Avatar von Lord Helmet
    Registriert seit
    Mar 2009
    Beiträge
    617
    Wie eine ArrayList prinzipiell funktioniert ist dir aber schon klar?

    Ansonsten kannst du grob so vorgehen: Schreib eine neue Klasse DynArray<E>. Kopiere alle Methodensignaturen aus der Dokumentation zu der ArrayListe in deine Klasse. Jetzt musst du die Methoden nur noch einzeln implementieren (falls dir die Funktionalität einer Methode nicht klar ist, guck in der Dokumentation nach). Als interne Datenstruktur benutzt du ein normales Array. Die Herausforderung besteht daraus, sich zu überlegen, was passiert, wenn du z.B. Elemente hinzufügen willst und in deinem internen Array kein Platz mehr ist.

    Zum Testen: da kommt es darauf an, was gefordert ist. In Java kann man Testumgebungen über Klassen aus dem JUnit-Paket schreiben und automatisch ausführen lassen. Wahrscheinlich reicht es aber schon, einfach die Methoden der Klasse in einer eigenen main-Methode aufzurufen und sich die Elemente aus der Liste über System.out.println einzeln in der Konsole ausgeben zu lassen. Denk vor allem daran, Grenz- und Spezialfälle zu testen (was passiert, wenn du aus einem leeren Array etwas entfernen willst, ein Element entfernen willst, dass gar nicht in dem Array ist, auf ein Element außerhalb des Indexbereichs zugreifen willst, Duplikate hinzufügst usw...)
    From the poverty shacks the poor white man looks from the cracks to the tracks
    And the hoofbeats pound in his brain
    And he’s taught how to walk in a pack, shoot in the back with his fist in a clinch
    To hang and to lynch, to hide ’neath the hood
    To kill with no pain like a dog on a chain
    He ain’t got no name, but it ain’t him to blame
    He’s only a pawn in their game.

    Lord Helmet ist offline

  7. #7 Zitieren
    Ritter Avatar von Yuki Arisato
    Registriert seit
    Jan 2007
    Ort
    ...Couch ._.
    Beiträge
    1.274
    Zitat Zitat von Lord Helmet Beitrag anzeigen
    Wie eine ArrayList prinzipiell funktioniert ist dir aber schon klar?
    Um ehrlich zu sein... Nein XD

    Zitat Zitat von Lord Helmet Beitrag anzeigen
    Ansonsten kannst du grob so vorgehen: Schreib eine neue Klasse DynArray<E>. Kopiere alle Methodensignaturen aus der Dokumentation zu der ArrayListe in deine Klasse. Jetzt musst du die Methoden nur noch einzeln implementieren (falls dir die Funktionalität einer Methode nicht klar ist, guck in der Dokumentation nach). Als interne Datenstruktur benutzt du ein normales Array. Die Herausforderung besteht daraus, sich zu überlegen, was passiert, wenn du z.B. Elemente hinzufügen willst und in deinem internen Array kein Platz mehr ist.

    Zum Testen: da kommt es darauf an, was gefordert ist. In Java kann man Testumgebungen über Klassen aus dem JUnit-Paket schreiben und automatisch ausführen lassen. Wahrscheinlich reicht es aber schon, einfach die Methoden der Klasse in einer eigenen main-Methode aufzurufen und sich die Elemente aus der Liste über System.out.println einzeln in der Konsole ausgeben zu lassen. Denk vor allem daran, Grenz- und Spezialfälle zu testen (was passiert, wenn du aus einem leeren Array etwas entfernen willst, ein Element entfernen willst, dass gar nicht in dem Array ist, auf ein Element außerhalb des Indexbereichs zugreifen willst, Duplikate hinzufügst usw...)
    Das Problem ist, dass ich im Prinzip überhaupt keine Ahnung habe wie ich das dann implementieren soll. Ich kann mir auch kein Stück vorstellen was das Ding bewirken oder machen soll oder so...
    Zumal Processing eben auch kein Richtiges Java ist und Pakete und sowas auch nicht drin sind sondern eben alles selbst geschrieben werden muss. Bei der Überprüfung kommt dann auch allerhöchstens ne Fehlermeldung aber man kann daraus halt dann auch nicht erkennen wo der Fehler liegt.

    Meine Projektpartnerin hat jetzt auch einfach nur irgendwas abgegeben, weil es einfach keinen Sinn mehr ergeben hatte. Oder im Allgemeinen keinen Sinn mehr für uns ergibt. Wir haben bei dem Taschenrechner, den wir jetzt letztes Mal machen mussten, auch schon irgendwann welche aus den höheren Semestern gebeten uns das schlampig zu schreiben, damit wir überhaupt was abgeben konnten.
    Ich muss dazu sagen für Erstsemester Aufgaben find ich das auch schon viel zu viel... Normale Informatiker haben dieses Thema ja erst irgendwann im dritten Semester bei uns.
    Yuki Arisato ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •