For-Schleifenoperator. Musteraufgabe


Versuchen wir, ein Programm zu schreiben, um mit folgenden zu behandeln:
Finde die Summe aller Zahlen von 100 bis 500.

Bei dieser Aufgabe ist es schwierig, eine Summe zu finden. Wenn wir nur das Ergebnis in einer Variablen s aufzeichnen,

s=100+101+102+103+.

Es wird eine sehr lange Zeit für den Datensatz selbst dauern, denn der Computer wird nicht verstehen, wie man viele Dinge in arithmetischen Begriffen verwendet, und wir müssen alle Zahlen zwischen 100 und 500 in dieser Menge schreiben. Und der Wert eines solchen Programms wird vernachlässigbar sein. Vor allem, wenn wir unsere Zahlen ändern und eine andere Reichweite nehmen wollen.

Was machen wir?

Wenn wir auf den obigen Datensatz aufmerksam machen, verwenden wir die "+"-Slide die ganze Zeit.
Sie können versuchen, Zahlen zu variablen s allmählich hinzuzufügen. Beispielsweise mit einem solchen Datensatz
s: = s + i;
Was wir hier gemacht haben:
(1) Auf der rechten Seite legen wir den Ausdruck fest s+i, Ich meine, wir nehmen die Bedeutung der Variablen. Sdie wir jetzt erinnern und hinzufügen, die Variable I
(2) Auf der linken Seite setzen wir den Namen der VariablenSd.h. die gesamte richtige Berechnung bleibt in dieser Variable, so ändern wir die Variable s.

Wo bekommen wir die Zahlen aus unserem Sortiment?

Die Zahlen von 100 bis 500, die in unser Sortiment fallen, sollten in einem Denkmal getragen werden i. Und das kann mit dem Zyklus geschehen, den wir für
So zum Beispiel
s : = 0; / am Anfang wird die Variable s entfernt, so dass im ersten Schritt die Zahl 100 zu Null addiert wird, nicht zu dem, was daran erinnert wird!
für i :=100 bis 500 tun // Zyklus, wo die Variable i ihren Wert von 100 bis 500 mit Schritt 1 ändert
s := s + i; / / die Achse des Zyklus, in dem wir allmählich den variablen s-Wert i addieren
/ und Ergebnis zurück zur Variablen s
Diese Entscheidung ist sehr ähnlich wie die Berechnung der Aktionsmenge
= 0 + 100 = 100
= 100 + 101 = 201
= 201 + 102 = 303
usw.

Maximale Anzahl der Fälle

Als wir den Bewährungshelfer studierten, haben wir das Thema aufgeworfen, die maximale Anzahl von mehreren Chiels zu finden. Wir nutzten den folgenden Algorithmus in der Aufgabe von Maxim aus vier Zahlen:
1. Variablenwert zuordnen M Die erste der vier Variablen;
2. Ist der Wert der zweiten Größe größer als der der Größe Mum die Variable zu ersetzen die zweite Variable;
3. Ist der Wert der dritten Größe größer als der der Größe Mum die Variable zu ersetzen M die dritte Variable;
4. wenn die vierte Größe größer als die Größe ist Mum die Variable zu ersetzen die vierte Variable.

Es ist klar, dass jede Zahl (für sie markiert) XWir haben die Variable verglichen. Mwie folgt:
Pseudocod
Einführung X
Wenn (M-Kanal X),
M = X

Der Schlüssel zu diesem Code ist zu bestimmen, was die Variable die primäre Bedeutung hat. M
In der Regel, in der Aufgabe, ein Maximum oder Minimum zu finden, der Primärwert der Größe M Entsprechend der gleichen ersten Nummer.
So muss der obige Code 1 mal weniger als die Anzahl der Zahlen implementiert werden (d.h. die erste Zahl sollte als primärer Variablenwert eingeführt und beibehalten werden. M)
Wenn wir eine Reihe von Zahlen von der Tastatur kommen (z.B. AC) nWir können einen Zyklus organisieren.от 2 до ndie gleiche Variable verwenden, um die Nummer zu speichern.

Versuchen Sie, ein Programm auf eigene Faust zu schreiben.

Maximal nicht alle

Wenn wir das Maximum (Minimum) nicht unter allen Eingangszahlen finden müssen, sondern nur unter den Zahlen, die eine bestimmte Bedingung erfüllen, muss berücksichtigt werden, dass die erste Zahl, die wir für den Primärwert des Maximums (Minimum) nehmen, nicht immer unseren Anforderungen entspricht.

Wenn wir beispielsweise die maximale negative Zahl suchen, mit einem Datensatz: Wir bekommen maximal 5 zu Beginn und es ist positiv und negativ. Und daher die Bedingung X > M Es wird immer falsch sein.

Infolgedessen reicht es im Algorithmus der vorherigen Aufgabe nicht aus, eine Überprüfung der negativen Zahl hinzuzufügen, sondern zu berücksichtigen, dass die erste Zahl die erforderliche Bedingung (in diesem Fall negativ) nicht erfüllen kann.

Dies kann durch Hinzufügen der folgenden Bedingungen innerhalb des Zyklus korrigiert werden:

Pseudocod
Ist X negativ,
Wenn M grad = 0 oder M À X,
M = X

Im CodeM >= 0 LeistungM = Х auch wenn zunächst variabel Es gab einen Wert, der bekanntermaßen größer ist als die anderen (in unserem Beispiel der Wert von gleich 5).

Ist der Bereich der Änderungen in den Zahlen bekannt, so kann die minimale (maximale) Anzahl des angegebenen Bereichs als Startwert des Maximums (mindestens) herangezogen werden.

Ziel

Dano N Meißel. Finden Sie das zweitgrößte maximale Sequenzelement.

Diese Aufgabe ermöglicht zwei Interpretationen.
Wie, wenn wir eine Reihe von Zahlen bekommen: - Ja.Was ist die Antwort?
Durch "das zweitgrößte Element" oder einfach "das zweite Maximum" können Sie verstehen:
(1) Der Wert, der an der vorletzten Stelle wäre, wenn wir alle Bedeutungen auf der Standardeinstellung (je mehr oder gleich der vorherigen) gesetzt (verschieden) hätten. Die Antwort wäre dann 35 für den Auswahlprozess;
(2) der Wert des Elements, der größer als das Maximum ist. Dann ist die Antwort 20.
Wenn es nur ein maximales Element in der Reihe der Zahlen (alle andere als die andere), überschneiden sich beide Interpretationen und die Antwort wird für beide Fälle gleich sein, andernfalls wird die Antwort anders sein.

Mal sehen. Pseudocid)
Zwei Variablen werden verwendet, um die Antwort zu finden:
(1) максимум1 Maximaler Wert (erstes Maximum)
(2) максимум2 - Zweite max.

Ist der Änderungsbereich bekannt, so wird als Ausgangswerte (z.B. in einem Bereich von -1000 vor 1000 - Nimm die Nummer. -1001)
Ist der Bereich nicht bekannt, so können die ersten beiden Eingangszahlen in den Ausgangsgrößen aufgezeichnet werden. максимум1 und максимум2und dann diese beiden Variablen vergleichen.
Einführung N // Anzahl der Nummern
Einführung a, b
Maximal 1 = a
Maximal 2 = b
Wenn Lüftung a,
Maximal 1 = b
maximal2 = a

Als nächstes werden alle anderen Elemente berücksichtigt (die ersten beiden haben bereits geschaut, also beginnen wir mit dem 3.)
für i von 3 bis n
Einleitung
wenn ein Entlüftungsmaximum1 // größer ist 1
♪
Maximum2 = Maximum1 / ehemalige erste max
Maximum1 = a / erstes Maximum
Andere
/ Wechselelement höchstens 1
/ sie wird mit dem Maximum verglichen2
wenn eine Zeile maximal 2
♪
Maximum2 = a / akzeptieren Sie es als neues Maximum 2
/ max1 in diesem Fall
Alle
Alle
Knospen

Versuchen Sie diesen Algorithmus auf eigene Faust.