A
adg
Gast
Hallo ihr Expertn, ich brauch mal eure Hilfe zu einer Abiturvorbereitungsaufgabe:
Aufgabe2:
Folgeaufgabe3
Mir geht es vordergründig jetzt nicht um das Struktogramm, oder die Skizze, sondern um die Implementierung und die Idee dahinter.
Ich hatte aufgrund des rot markierten Satzes oben gemeint, dass es eine verlinkte Liste (LinkedList, oder ArrayList) sein müste, deren letztes Element
das Erste kennt und somit mit einem Iterator immer das next() aufgerufen werden kann, um immer das älteste Datenelement zu überschreiben.
Bei einem Array wäre es ja so, dass ich keinen Iterator benutzen könnte und ggf. immer das ganze Array (ohne next()) umständlich verschieben müsste.
Gibt es andere vorschläge mit Begründung?
Mir fehlt glaube ich einfach gerade der Ansatz. Kann mir jemand bittehelfen?
Aufgabe2:
Code:
In einem Thread des System-Programms des Mikrocontrollers werden mittels der Klasse
ADC Messungen gestartet und die Messwerte im RAM des Mikrocontrollers abgelegt. Für das
Ablegen der Messwerte ist eine Datenstruktur mit begrenztem Speichervermögen vorzusehen.
Wenn diese erschöpft ist, sollen die ältesten Messwerte in der Datenstruktur
überschrieben werden. Beim Start des Threads steht der gesamte vorgesehene Datenbereich
zur Verfügung; Messwerte aus vorangegangenen Messzyklen werden mit dem Wert 0
überschrieben.Beschreiben Sie eine geeignete Datenstruktur zum Ablegen der Messwerte
und erläutern Sie -ggf. anhand einer Skizze-, wie die zuvor beschriebene Funktionalität
realisiert wird.
Folgeaufgabe3
Code:
In einem Messzyklus werden zu Beginn des Threads alle Datenelemente initialisiert.
Anschließend erfolgen fortlaufend Messungen, deren Werte gemäß der vorigen Beschreibung
im Messwertspeicher abzulegen sind. [highlight] Die Variable values verweist auf das erste
Datenelement.[/highlight] Die Variable size enthält die Anzahl der Datenelemente.
Entwerfen Sie ein PAP oder ein Struktogramm für einen Messzyklus unter Verwendung
der von Ihnen gewählten Speicherstruktur sowie der Klasse ADC.
Mir geht es vordergründig jetzt nicht um das Struktogramm, oder die Skizze, sondern um die Implementierung und die Idee dahinter.
Ich hatte aufgrund des rot markierten Satzes oben gemeint, dass es eine verlinkte Liste (LinkedList, oder ArrayList) sein müste, deren letztes Element
das Erste kennt und somit mit einem Iterator immer das next() aufgerufen werden kann, um immer das älteste Datenelement zu überschreiben.
Bei einem Array wäre es ja so, dass ich keinen Iterator benutzen könnte und ggf. immer das ganze Array (ohne next()) umständlich verschieben müsste.
Gibt es andere vorschläge mit Begründung?
Java:
int x = 0;
LinkedList<byte[]> value = new LinkedList<byte[]>();
Iterator it = value.iterator();
while (x < 10) { //beispiel!!
//die neu erzeugten Objekte sollen als Übergabebeispiele gesehen werden
value.add(new byte[1]);
value.add(new byte[2]);
value.add(new byte[3]);
value.add(new byte[4]);
value.add(new byte[5]);
value.add(new byte[1]);
byte[] current;
if (!it.hasNext()&&value.get(4)!=null) {
it.setNext(value.getFirst());
//tja, wie bekommeich diese setNext()-Methode hin???
}
x++;
}
Mir fehlt glaube ich einfach gerade der Ansatz. Kann mir jemand bittehelfen?