Abituraufgabe in Informatik: Algorithmus?

1 Antwort

Also wenn du das im Abitur nicht hinbekommst frage ich mich, wie du das überhaupt bestehen möchtest.

Was hast du denn bisher? Wo kommst du nicht weiter?

Ich meine, im Zweifelsfalle kannst du dir bei solchen Aufgaben auch eine Tabelle für die Variablen machen und Anweisung für Anweisung die Tabelle inkrementell ausfüllen.


mikelngn 
Beitragsersteller
 04.04.2023, 19:45

Das ist die einzige von der kompletten Prüfung, welche ich nicht hinbekomme... was mich am meisten verwirrt sind die "Wiederhole Abschnitte"

0
Destranix  04.04.2023, 19:49
@mikelngn

Dann hast du entweder echt merkwürdige Probleme...oder mein Glaube in das deutsche Schulsystem wird zunehmend erschüttert. (Okay, zugegeben: Ich weiß ja, das wir in der Oberstufe deutlich schwereren Stoff hatten.)

Die "Wiederhole"-Abschnitte sind Schleifen. In dem Falle For-Schleifen:

for(<init>; <cond>; <inc>){
    <code>
}

Bevor die Schleife ausgeführt wird, wird einmal <init> ausgeführt.

Vor jedem Schleifendurchlauf wird geprüft, ob <cond> wahr ist. Wenn ja, wird <code> ausgeführt, wenn nein wird die Schleife abgebrochen.
Nach jeder Ausführung von <code> wird <inc> ausgeführt.

0
mikelngn 
Beitragsersteller
 04.04.2023, 19:56
@Destranix

Wir benutzen python als Programmiersprache, heißt es wäre wenn dass etwas wie: for i in range(1, 4, 2). Aber wieso startet er bei 1? Ich meine zumindest bei python ist es doch so, dass das erste element immer bei 0 beginnt

0
mikelngn 
Beitragsersteller
 04.04.2023, 19:58
@mikelngn

für das array hatte ich [2,1,2,1] und für b = 4, ich bezweifle aber das dass stimmt, da es mit der schleife danach nicht wirklich passt

0
Destranix  04.04.2023, 20:00
@mikelngn

Ich komme für die ersten beiden Ausgaben auf dasselbe Ergebnis für den Array und b.

Und ja, im Struktogramm kann es sein, dass der Array bei 1 beginnt (echt dämlich, aber isso).

0
Destranix  04.04.2023, 20:02
@mikelngn

Hm, wobei hier der Array wohl doch bei 0 beginnt, dann wäre das Ergebnis falsch.

Das sehe ich an der zweiten Schleife, die sonst zu einem Zugriffsfehler führen würde womöglich.

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:02
@Destranix

also würde für das array [1,2,1,2] rauskommen?

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:08
@Destranix

Okay, gut ja ich hätte jetzt bei 0 angefangen, aber für b komme ich dann trotzdem auf 4?

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:14
@Destranix

was für eine range hättest du für die 2. schleife genommen?

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:18
@mikelngn

denn wenn ich die anzahl der elemente nehme, also 4, heißt das wenn wir bei 0 anfangen geht das gar nicht weil das 4. element out of range ist oder?

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:20
@mikelngn

edit: hab das -1 nicht gesehen...

1
Destranix  04.04.2023, 20:25
@mikelngn

Uff, weiß ich jetzt nicht. In Python war das etwas komisch mit den Bounds.

Wir fangen aber offensichtlich bei 3 an und stoppen nach 0.

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:27
@Destranix

okay, habs jetzt. ich würde auf [7, 6, 1, 2] kommen, letzte Frage wäre nur benutze ich für die 2. schleife das ursprüngliche array [1,1,1,1] oder das bereits veränderte array [1,2,1,2]?

0
Destranix  04.04.2023, 20:29
@mikelngn

Natürlich das bereits veränderte.

(Du solltest echt selbst vor dem Abitur noch einige Progrämmchen schreiben und rumprobieren, wenn du mich das bei Code auch fragen würdest.)

0
mikelngn 
Beitragsersteller
 04.04.2023, 20:31
@Destranix

perfekt, danke. ja, das problem liegt eher im theoretischen beim coden kann man ja schön rumprobieren. und stimmt das array [7, 6, 1, 2] deiner meinung nach?

0
Destranix  04.04.2023, 20:34
@mikelngn

Ob es stimmt, weiß ich nicht. Ist mir gerade zu spät um das selbst durchzurechnen.

0