Schaltgetriebe: Gerät, Typen, Merkmale. Rätsel im Zusammenhang mit physikalischen Phänomenen in der Natur

Was ich auf der DataGenetics-Website gefunden habe. Bitte senden Sie alle Fehler in diesem Artikel in privaten Nachrichten.

Bei diesem Problem gibt es 100 Gefangene im Gefängnis, die jeweils von 1 bis 100 nummeriert sind. Der Gefängniswärter beschließt, den Gefangenen eine Chance auf Freilassung zu geben, er teilt ihnen die Bedingungen des Tests mit, und wenn alle Gefangenen den Test bestehen, dann werden sie freigelassen. Wenn mindestens einer von ihnen den Test nicht besteht, werden alle Gefangenen sterben.

Aufgabe

Der Gefängniswärter geht zu Geheimraum und bereitet 100 Schachteln mit Deckeln vor. Auf jeder Schachtel markiert er Zahlen von 1 bis 100. Dann bringt er 100 Papiertafeln, entsprechend der Anzahl der Gefangenen, und nummeriert diese Tafeln von 1 bis 100. Danach mischt er 100 Tafeln und legt eine Tafel in jede Schachtel, Schließen des Deckels. Die Gefangenen sehen nicht, wie der Gefängniswärter all diese Aktionen ausführt.

Der Wettbewerb beginnt, der Gefängniswärter bringt jeden Gefangenen einzeln in den Abstellraum und sagt den Gefangenen, dass sie eine Kiste finden müssen, die ein Schild mit der Nummer des Gefangenen enthält. Die Gefangenen versuchen, das Schild mit ihrer Nummer zu finden, indem sie die Kisten öffnen. Jeder darf bis zu 50 Kisten öffnen; Wenn jeder der Gefangenen seine Nummer findet, werden die Gefangenen freigelassen. Wenn mindestens einer von ihnen seine Nummer bei 50 Versuchen nicht findet, werden alle Gefangenen sterben.

Damit Gefangene entlassen werden können, müssen ALLE Gefangene den Test erfolgreich bestehen.

Wie groß ist also die Chance, dass die Gefangenen begnadigt werden?

  • Nachdem der Gefangene die Kiste geöffnet und das Schild überprüft hat, wird es wieder in die Kiste gelegt und der Deckel wieder geschlossen;
  • Die Plätze der Platten können nicht geändert werden;
  • Gefangene dürfen einander keine Hinweise hinterlassen oder in irgendeiner Weise miteinander interagieren, sobald der Prozess begonnen hat;
  • Die Gefangenen dürfen die Strategie besprechen, bevor der Prozess beginnt.

Was ist die beste Strategie für Gefangene?

Zusatzfrage:

Wenn ein Freund der Gefangenen (kein Teilnehmer des Tests) den geheimen Raum vor Beginn des Tests betreten kann, untersuchen Sie alle Tabletten in allen Kisten und (optional, aber nicht erforderlich) tauschen Sie zwei Tabletten aus zwei Kisten (in diesem Fall hat der Kamerad nicht die Möglichkeit, die Gefangenen über das Ergebnis seiner Handlungen zu informieren), welche Strategie sollte er dann anwenden, um die Fluchtchancen der Gefangenen zu erhöhen?

Lösung unwahrscheinlich?

Auf den ersten Blick erscheint diese Aufgabe fast aussichtslos. Es scheint, dass die Chance für jeden der Gefangenen, sein Tablet zu finden, mikroskopisch gering ist. Außerdem können die Gefangenen während des Prozesses keine Informationen untereinander austauschen.

Die Chancen auf einen Gefangenen stehen 50:50. Es gibt insgesamt 100 Kisten und er kann bis zu 50 Kisten öffnen, um nach seinem Zeichen zu suchen. Wenn er die Kisten willkürlich öffnet und die Hälfte aller Kisten öffnet, findet er sein Tablet in der offenen Hälfte der Kisten, oder sein Tablet bleibt in den geschlossenen 50 Kisten. Seine Erfolgschancen sind ½.

Nehmen wir zwei Gefangene. Wenn beide Kästchen zufällig auswählen, ist die Chance für jedes Kästchen ½ und für zwei ½x½=¼.
(bei zwei Gefangenen wird der Erfolg in einem von vier Fällen sein).

Bei drei Gefangenen beträgt die Wahrscheinlichkeit ½ × ½ × ½ = ⅛.

Für 100 Gefangene sind die Chancen: ½ × ½ × … ½ × ½ (100-mal multiplizieren).


Dies entspricht

Pr ≈ 0,00000000000000000000000000008

Es ist also eine sehr kleine Chance. In diesem Szenario werden höchstwahrscheinlich alle Gefangenen tot sein.

Unglaubliche Antwort

Wenn jeder Gefangene die Kisten nach dem Zufallsprinzip öffnet, werden sie den Test wahrscheinlich nicht bestehen. Es gibt eine Strategie, bei der Gefangene erwarten können, dass sie in mehr als 30 % der Fälle erfolgreich sind. Dies ist ein erstaunlich unglaubliches Ergebnis (falls Sie noch nicht davon gehört haben Matheproblem vorher).

Mehr als 30 % für alle 100 Gefangenen! Ja, das ist sogar mehr als die Chancen für zwei Gefangene, vorausgesetzt, sie öffnen die Kisten aufs Geratewohl. Aber wie ist das möglich?

Es ist klar, dass die Chancen für jeden Gefangenen nicht höher als 50 % sein können (schließlich gibt es keine Möglichkeit zur Kommunikation zwischen Gefangenen). Vergessen Sie jedoch nicht, dass die Informationen an der Stelle der Platten in den Kartons gespeichert sind. Niemand mischt die Tablets zwischen den Besuchen des Raums durch einzelne Gefangene, also können wir diese Informationen verwenden.

Entscheidung

Zuerst werde ich Ihnen die Lösung sagen, dann werde ich erklären, warum es funktioniert.

Die Strategie ist extrem einfach. Der erste der Gefangenen öffnet die Schachtel mit der Nummer, die auf seiner Kleidung steht. Häftling Nummer 78 öffnet zum Beispiel die Kiste mit der Nummer 78. Wenn er seine Nummer auf dem Schild in der Kiste findet, ist das toll! Wenn nicht, schaut er sich die Nummer auf dem Schild in „seiner“ Kiste an und öffnet dann die nächste Kiste mit dieser Nummer. Nachdem er die zweite Schachtel geöffnet hat, sieht er sich die Nummer der Tafel in dieser Schachtel an und öffnet die dritte Schachtel mit dieser Nummer. Dann übertragen wir diese Strategie einfach auf die restlichen Boxen. Schauen Sie sich zur Verdeutlichung das Bild an:


Irgendwann wird der Gefangene entweder seine Nummer finden oder das Limit von 50 Boxen erreichen. Auf den ersten Blick erscheint dies sinnlos im Vergleich zu einer einfachen zufälligen Auswahl einer Box (und das tut es für einen einzelnen Gefangenen), aber da alle 100 Gefangenen die gleichen Boxen verwenden werden, ist es sinnvoll.

Die Schönheit davon Matheproblem- das Ergebnis nicht nur zu kennen, sondern auch zu verstehen warum Diese Strategie funktioniert.

Warum also funktioniert die Strategie?

Jede Box enthält einen Teller - und dieser Teller ist ein Unikat. Das bedeutet, dass sich das Schild in einem Kästchen mit der gleichen Nummer befindet oder auf ein anderes Kästchen zeigt. Da alle Platten einzigartig sind, gibt es nur eine Platte für jede Box, die darauf zeigt (und nur einen Weg, um zu dieser Box zu gelangen).


Wenn Sie darüber nachdenken, bilden die Kästchen eine geschlossene kreisförmige Kette. Eine Box kann nur Teil einer Kette sein, da es innerhalb der Box nur einen Zeiger auf die nächste gibt und dementsprechend in der vorherigen Box nur einen Zeiger auf diese Box gibt (Programmierer können die Analogie mit verknüpften Listen sehen).

Wenn das Kästchen nicht auf sich selbst zeigt (die Kästchennummer ist gleich der Plattennummer darin), befindet es sich in der Kette. Einige Ketten können aus zwei Boxen bestehen, andere sind länger.


Da alle Gefangenen mit einem Kästchen mit der gleichen Nummer auf ihrer Kleidung beginnen, werden sie per Definition an die Kette gelegt, die ihr Namensschild enthält (es gibt nur ein Typenschild, das auf dieses Kästchen zeigt).

Wenn sie die Kisten entlang dieser Kette im Kreis erkunden, werden sie garantiert irgendwann ihren Teller finden.

Bleibt nur die Frage, ob sie ihr Tablet in 50 Zügen finden.


Kettenlänge

Damit alle Gefangenen den Test bestehen, darf die maximale Kettenlänge weniger als 50 Kisten betragen. Wenn die Kette länger als 50 Kisten ist, werden Gefangene mit Nummern aus diesen Ketten den Test nicht bestehen – und alle Gefangenen werden tot sein.

Wenn die maximale Länge der längsten Kette weniger als 50 Kisten beträgt, bestehen alle Gefangenen den Test!

Denken Sie eine Sekunde darüber nach. Es stellt sich heraus, dass es in jedem Layout der Platten nur eine Kette geben kann, die länger als 50 Kästchen ist (wir haben nur 100 Kästchen, wenn also eine Kette länger als 50 ist, dann ist der Rest insgesamt kürzer als 50).


Chancen für lange Kettenhände

Sobald Sie sich davon überzeugt haben, dass die maximale Kettenlänge kleiner oder gleich 50 sein muss, um erfolgreich zu sein, und dass es in jedem Satz nur eine lange Kette geben kann, können wir die Wahrscheinlichkeit berechnen, die Herausforderung zu bestehen:

Etwas mehr Mathematik

Was brauchen wir also, um die Wahrscheinlichkeit einer langen Kette herauszufinden?

Für eine Kette der Länge l beträgt die Wahrscheinlichkeit, dass die Kästchen außerhalb dieser Kette liegen:

In dieser Zahlensammlung gibt es (l-1)! Möglichkeiten, die Zeichen anzuordnen.

Die restlichen Schilder können lokalisiert werden (100-l)! Wege (vergessen Sie nicht, dass die Länge der Kette 50 nicht überschreitet).

Angesichts dessen die Anzahl der Permutationen, die die Kette enthalten genaue Länge l: (>50)


Es stellt sich heraus, dass es 100(!) Möglichkeiten gibt, die Platten so anzuordnen, dass die Existenzwahrscheinlichkeit einer Kette der Länge l gleich 1/l ist. Dieses Ergebnis hängt übrigens nicht von der Anzahl der Boxen ab.

Wie wir bereits wissen, kann es nur einen Fall geben, in dem es eine Kette mit einer Länge > 50 gibt, daher wird die Erfolgswahrscheinlichkeit nach dieser Formel berechnet:

Ergebnis

31,18 % - die Wahrscheinlichkeit, dass die Länge der längsten Kette kleiner als 50 ist und jeder der Gefangenen in der Lage sein wird, sein Tablet zu finden, angesichts der Grenze von 50 Versuchen.

Die Wahrscheinlichkeit, dass alle Gefangenen ihre Nummernschilder finden und den Test bestehen, beträgt 31,18 %.

Unten ist ein Diagramm, das die Wahrscheinlichkeiten (auf der y-Achse) für alle Ketten der Länge l (auf der x-Achse) zeigt. Rot bedeutet alle "Ausfälle" (die hier angegebene Kurve ist nur ein 1/l-Diagramm). Grüne Farbe bedeutet "Erfolg" (die Berechnung ist für diesen Teil des Diagramms etwas komplizierter, da es mehrere Möglichkeiten zur Bestimmung gibt maximale Länge <50). Общая вероятность складывается из зеленых столбцов в 31.18% шанс на спасение.


Harmonische Nummer (dieser Teil des Artikels ist für Geeks)

In der Mathematik ist die n-te harmonische Zahl die Summe der Kehrwerte der ersten n aufeinanderfolgenden Zahlen der natürlichen Reihe.


Lassen Sie uns die Grenze berechnen, wenn wir anstelle von 100a-Boxen eine beliebige haben große Menge Boxen (nehmen wir an, wir haben insgesamt 2n Boxen).


Die Euler-Mascheroni-Konstante ist eine Konstante, die als Grenze der Differenz zwischen der Teilsumme einer harmonischen Reihe und dem natürlichen Logarithmus einer Zahl definiert ist.

Wenn die Zahl der Gefangenen zunimmt und der Aufseher den Gefangenen erlaubt, die Hälfte aller Kisten zu öffnen, liegt die Chance auf Erlösung bei 30,685 %.

(Wenn Sie eine Entscheidung getroffen haben, bei der die Häftlinge zufällig die Kisten erraten, dann geht die Wahrscheinlichkeit, gerettet zu werden, mit zunehmender Zahl der Häftlinge gegen null!)

Zusatzfrage

Erinnert sich noch jemand an die Zusatzfrage? Was kann unser hilfsbereiter Kamerad tun, um unsere Überlebenschancen zu erhöhen?

Jetzt kennen wir die Lösung bereits, also ist die Strategie hier einfach: Er muss alle Schilder untersuchen und die längste Kette von Kästchen finden. Wenn die längste Kette kleiner als 50 ist, braucht er die Tabletten gar nicht zu wechseln oder sie so zu wechseln, dass die längste Kette nicht länger als 50 wird. Wenn er jedoch eine Kette findet, die länger als 50 Kisten ist, muss er nur den Inhalt von zwei Kisten dieser Kette austauschen, um diese Kette in zwei kürzere Ketten aufzuteilen.

Als Ergebnis dieser Strategie gibt es keine langen Ketten und alle Gefangenen finden garantiert ihr Zeichen und ihre Erlösung. Indem wir also zwei Zeichen vertauschen, reduzieren wir die Heilswahrscheinlichkeit auf 100 %!


Denken Sie daran, dass das Volumen eines Quaders (oder einer gewöhnlichen Schachtel) gleich dem Produkt aus Länge, Breite und Höhe ist. Wenn Ihre Schachtel rechteckig oder quadratisch ist, müssen Sie nur ihre Länge, Breite und Höhe kennen. Um das Volumen zu erhalten, müssen die Messergebnisse multipliziert werden. Die Berechnungsformel in abgekürzter Form wird häufig wie folgt dargestellt: V \u003d L x B x H.
Problembeispiel: „Wenn die Kiste 10 cm lang, 4 cm breit und 5 cm hoch ist, wie groß ist dann ihr Volumen?“
V = L x B x H
V = 10 cm x 4 cm x 5 cm
V \u003d 200 cm 3
Die "Höhe" des Kastens kann als "Tiefe" bezeichnet werden. Eine Aufgabe könnte beispielsweise folgende Informationen enthalten: „Die Kiste ist 10 cm lang, 4 cm breit und 5 cm tief.“

2
Messen Sie die Länge des Kartons. Wenn Sie die Box von oben betrachten, erscheint sie in Form eines Rechtecks ​​vor Ihren Augen. Die Länge der Box ist die längste Seite dieses Rechtecks. Notieren Sie das Ergebnis der Messung dieser Seite als Wert des Parameters "Länge".
Achten Sie darauf, beim Messen die gleiche Maßeinheit zu verwenden. Wenn Sie eine Seite in Zentimetern gemessen haben, müssen die anderen Seiten ebenfalls in Zentimetern gemessen werden.

3
Messen Sie die Breite des Kartons. Die Breite der Box wird durch die andere, kürzere Seite des Rechtecks ​​dargestellt, die von oben sichtbar ist. Wenn Sie die in Länge und Breite gemessenen Seiten der Box visuell verbinden, erscheinen sie in Form des Buchstabens "G". Notieren Sie den Wert der letzten Messung als "Breite".
Die Breite ist immer die kürzere Seite der Box.

4
Messen Sie die Höhe der Kiste. Dies ist der letzte Parameter, den Sie noch nicht gemessen haben. Es stellt den Abstand von der Oberkante der Box bis zum Boden dar. Notieren Sie den Wert dieser Messung als "Höhe".
Je nachdem, auf welche Seite Sie die Schachtel legen, können die spezifischen Seiten, die Sie als "Länge", "Breite" oder "Höhe" bezeichnen, unterschiedlich sein. Das macht aber nichts, Sie brauchen nur die Maße von drei verschiedenen Seiten.

5
Multiplizieren Sie die Ergebnisse der drei Messungen miteinander. Wie bereits erwähnt, lautet die Formel zur Berechnung des Volumens: V = Länge x Breite x Höhe; Um das Volumen zu erhalten, müssen Sie daher einfach alle drei Seiten multiplizieren. Geben Sie unbedingt die Einheiten an, die Sie bei der Berechnung verwendet haben, damit Sie nicht vergessen, was genau die Werte bedeuten.

6
Vergessen Sie bei der Angabe von Volumeneinheiten nicht, die dritte Potenz „ 3 “ anzugeben. Das berechnete Volumen hat einen numerischen Ausdruck, aber ohne die korrekte Angabe der Maßeinheiten sind Ihre Berechnungen bedeutungslos. Um Volumeneinheiten korrekt wiederzugeben, müssen sie im Würfel angegeben werden. Wenn beispielsweise alle Seiten in Zentimetern gemessen würden, dann würden die Volumeneinheiten als „cm3“ angegeben.
Ein Beispiel für ein Problem: "Wenn eine Kiste eine Länge von 2 m, eine Breite von 1 m und eine Höhe von 3 m hat, wie groß ist dann ihr Volumen?"
V = L x B x H
V = 2m x 1m x 4m
V \u003d 8 m 3
Hinweis: Durch die Angabe von Kubikvolumeneinheiten können Sie nachvollziehen, wie viele solcher Würfel in der Box platziert werden können. Wenn wir uns auf das vorherige Beispiel beziehen, bedeutet dies, dass acht Kubikmeter in eine Kiste gelegt werden.

Berechnung des Volumens von Schachteln anderer Formen

Bestimmen Sie das Volumen des Zylinders. Der Zylinder ist ein rundes Rohr mit Kreisen an beiden Enden. Um das Volumen eines Zylinders zu bestimmen, wird die Formel verwendet: V = π x r 2 x h, wobei π = 3,14, r der Radius der runden Seite des Zylinders und h seine Höhe ist.
Um das Volumen eines Kegels oder einer Pyramide mit runder Grundfläche zu bestimmen, wird dieselbe Formel verwendet, jedoch mit 1/3 multipliziert. Das heißt, das Volumen des Kegels wird nach folgender Formel berechnet: V = 1/3 (π x r 2 x h)

2
Bestimme das Volumen der Pyramide. Eine Pyramide ist eine Figur, die eine flache Basis und Seiten hat, die an der Spitze zu einem Punkt zusammenlaufen. Um das Volumen einer Pyramide zu bestimmen, müssen Sie 1/3 des Produkts aus der Fläche von Basis und Höhe nehmen. Das heißt, die Berechnungsformel lautet wie folgt: Volumen der Pyramide = 1/3 (Grundfläche x Höhe).
In den meisten Fällen haben Pyramiden eine quadratische oder rechteckige Grundfläche. In einer solchen Situation wird die Fläche der Basis berechnet, indem die Länge der Basis mit der Breite multipliziert wird.

Um das Volumen einer Kiste mit komplexen Formen zu bestimmen, addieren Sie die Volumen ihrer einzelnen Teile. Beispielsweise müssen Sie möglicherweise das Volumen einer Box messen, die wie der Buchstabe "L" geformt ist. In diesem Fall muss die Schachtel mehr Seiten messen. Wenn Sie diese Box in zwei Teile zerlegen, können Sie das Volumen dieser beiden Teile auf die übliche Weise messen und dann die resultierenden Werte addieren. Im Fall der L-förmigen Schachtel kann der längere Teil als separate lange rechteckige Schachtel betrachtet werden und der kürzere Teil als quadratische (oder fast quadratische) Schachtel, die daran befestigt ist.
Wenn Ihre Box sehr komplexe Formen hat, dann wissen Sie, dass es viele Möglichkeiten gibt, das Volumen von Objekten beliebiger Form zu bestimmen.

    Schreiben Sie ein Programm, das zwei über die Tastatur eingegebene Ganzzahlen vergleicht. Das Programm muss anzeigen, welche Zahl größer ist, oder, wenn die Zahlen gleich sind, eine entsprechende Meldung anzeigen.

    Geben Sie zwei Ganzzahlen ein und drücken Sie die Eingabetaste.
    -> 34 67
    34 weniger als 67

    mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; Hauptprozedur ist A, B: Integer; begin Put_Line("Geben Sie zwei Ganzzahlen in einer Zeile ein und drücken Sie die Eingabetaste."); setzen("-> "); Erhalten (A); Holen (B); --Geben Sie 2 Zahlen ein, wenn A > B dann Put(Item =>; A, Width =>; 1); put("größer als"); Put (Artikel => B, Breite => 1); Else A< B then Put(Item =>A, Breite => 1); put("kleiner als"); Put (Artikel => B, Breite => 1); else Put("Eingegebene Zahlen sind gleich!"); Ende wenn; Ende Haupt;

    Es werden drei ganze Zahlen angegeben. Finden Sie den größten davon (das Programm sollte genau eine Ganzzahl ausgeben). Das Größte in diesem Problem wird als eine Zahl verstanden, die nicht kleiner ist als jede andere.


  • -> 1 2 3
    Maximal von drei Nummern: 3
  • mit Ada.Text_IO ; benutze Ada.Text_IO ; mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; Hauptprozedur ist A, B, C: Integer; max: Ganzzahl; beginne Put_Line( "Geben Sie drei ganze Zahlen in einer Zeile ein und drücken Sie die Eingabetaste.") ; Put("-> "); Erhalten (A); Hole(B) ; Holen (C); --Geben Sie drei Ganzzahlen ein max:=A; --Default Wir betrachten die Zahl A als das Maximum wenn B > max dann --Wenn B größer als das Maximum ist, dann max:=B; --maximale Anzahl ist B Ende wenn ; wenn C > max dann --Wenn C größer als das Maximum ist, dann max:=C; --maximale Zahl ist C Ende wenn ; Stellen( "Maximal drei Zahlen:"& Integer"image(max) ); end main;

    mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; Hauptprozedur ist A, B, C: Integer; max: Ganzzahl; begin Put_Line("Geben Sie drei ganze Zahlen in einer Zeile ein und drücken Sie die Eingabetaste."); setzen("-> "); Erhalten (A); Holen (B); Holen (C); --Geben Sie drei ganze Zahlen ein max:= A; --standardmäßig nehmen wir an, dass die Zahl A das Maximum ist, wenn B > max then --Wenn B größer als das Maximum ist, dann max:= B; --maximale Anzahl ist B end if; if C > max then --Wenn C größer als max ist, dann max:= C; --maximale Anzahl ist gleich C end if; Put("Maximal drei Zahlen:" & Integer"image(max)); end main;

    Gegeben drei natürliche Zahlen A, B, C. Bestimmen Sie, ob mit diesen Seiten ein Dreieck existiert. Wenn das Dreieck existiert, drucke eine Nachricht, dass ein Dreieck mit solchen Seiten existiert, andernfalls drucke, dass das Dreieck nicht existiert.

  • Geben Sie die drei Seiten des Dreiecks ein und drücken Sie die Eingabetaste.
    -> 3 4 5
    Es existiert ein Dreieck mit den Seiten 3, 4, 5.
  • Ein Dreieck sind drei Punkte, die nicht auf einer Linie liegen. Ein Dreieck existiert nur, wenn die Summe zweier Seiten größer als die dritte ist.

  • mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; --Zum Lesen von ganzen Zahlen mit Ada.Text_IO ; benutze Ada.Text_IO ; --Um Zeichenfolgen anzuzeigen Hauptprozedur ist a, b, c: Integer; beginne Put_Line( "Geben Sie drei Seiten eines Dreiecks ein und drücken Sie die Eingabetaste. Eingabetaste.") ; Put("-> "); Erhalten (a); Hole(b) ; Holen (c); - Lies die Seiten des Dreiecks wenn a + b > c und dann b + c > a und dann c + a > b dann --Überprüfen Sie alle Bedingungen in einer Zeile Stellen( "Dreieck mit Seiten"& Integer"image(a) & "," & Integer"image(b) & "," & Integer"image(c) & "exists" ) ; else Put( "Dreieck mit Seiten"& Integer"image(a) & "," & Integer"image(b) & "," & Integer"image(c) & " existiert nicht" ) ; end if ; end main;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; --Ganzzahlen mit Ada.Text_IO lesen; Verwenden Sie Ada.Text_IO; --Zum Drucken von Strings ist die Hauptprozedur a, b, c: Integer; begin Put_Line("Geben Sie die drei Seiten des Dreiecks ein und drücken Sie Enter.Enter."); setzen("-> "); bekommen (ein); erhalten (b); holen (c); --Dreiecksseiten lesen, wenn a + b > c und dann b + c > a und dann c + a > b dann --Alle Bedingungen in einer Zeile prüfen Put("Dreieck mit Seiten" & Integer"image(a) & " ," & Integer"image(b) & "," & Integer"image(c) & "exists"); else Put("Dreieck mit Seiten" & Integer"image(a) & "," & Integer"image( b) & "," & Integer"Bild(c) & " existiert nicht"); Ende wenn; Ende Haupt;

    Es werden drei ganze Zahlen angegeben. Bestimmen Sie, wie viele davon übereinstimmen. Das Programm sollte eine der Zahlen ausgeben: 3 (wenn alle gleich sind), 2 (wenn zwei gleich sind) oder 0 (wenn alle unterschiedlich sind).

  • Geben Sie drei Ganzzahlen ein und drücken Sie die Eingabetaste.
    -> 1 2 3
    0
  • mit Ada.Text_IO ; benutze Ada.Text_IO ; mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; Prozedur Main ist A, B, C: Integer; beginne Put_Line( "Geben Sie drei Ganzzahlen ein und drücken Sie die Eingabetaste.") ; Put("-> "); Erhalten (A); Hole(B) ; Holen (C); wenn A = B und dann A = C dann --Wenn alle drei Zahlen übereinstimmen Put(Element => 3 , Breite => 1 ) ; elsif A = B oder A = C oder B = C then --Wenn zwei Zahlen übereinstimmen Put(Element => 2 , Breite => 1 ) ; anders --Wenn ein gleichen Nummern Nein Put(Element => 0 , Breite => 1 ) ; Ende wenn ; endMain;

    mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; Prozedur Main ist A, B, C: Integer; begin Put_Line("Geben Sie drei ganze Zahlen ein und drücken Sie die Eingabetaste."); setzen("-> "); Erhalten (A); Holen (B); Holen (C); if A = B and then A = C then --Wenn alle drei Zahlen übereinstimmen Put(Item => 3, Width => 1); elsif A = B oder A = C oder B = C then --Wenn zwei Zahlen übereinstimmen Put(Item => 2, Width => 1); else --Wenn es keine identischen Nummern gibt Put(Item => 0, Width => 1); Ende wenn; endMain;

    Der Schachturm bewegt sich horizontal oder vertikal. Gegeben zwei verschiedene Zellen Schachbrett, bestimmen Sie, ob der Turm in einem Zug von der ersten Zelle zur zweiten ziehen kann. Das Programm erhält als Eingabe vier Zahlen von 1 bis 8, die jeweils die Spaltennummer und Zeilennummer angeben, zuerst für die erste Zelle, dann für die zweite Zelle. Das Programm sollte "JA" ausgeben, wenn es möglich ist, durch die Bewegung des Turms von der ersten Zelle zur zweiten zu gelangen, oder sonst "NEIN".


  • 4 4
    5 5
    NEIN
  • ) ; Stellen() ; Erhalten (A); Hole(B) ; Stellen() ; Holen (C); Holen (D); wenn A = C oder B = D dann Put("YES" ); Sonst Put("NEIN" ) ; Ende wenn ; endMain;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Procedure Main ist Untertyp checkBoard ist Integer-Bereich 1..8; A, B, C, D: checkBoard; begin Put_Line("Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:"); Put("Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: "); Erhalten (A); Holen (B); Put("Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: "); Holen (C); Holen (D); wenn A = C oder B = D dann Put("YES"); Sonst Put("NEIN"); Ende wenn; endMain;

    Der Schachkönig bewegt sich horizontal, vertikal und diagonal, aber nur 1 Feld. Bestimmen Sie bei zwei verschiedenen Feldern auf einem Schachbrett, ob der König in einem Zug vom ersten Feld zum zweiten gelangen kann. Das Programm erhält als Eingabe vier Zahlen von 1 bis 8, die jeweils die Spaltennummer und Zeilennummer angeben, zuerst für die erste Zelle, dann für die zweite Zelle. Das Programm sollte "JA" ausgeben, wenn es möglich ist, durch den Zug des Königs von der ersten Zelle zur zweiten zu gelangen, oder sonst "NEIN".

  • Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:
    Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: 4 4
    Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: 5 5
    JA
  • "Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:") ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: ") ; Erhalten (A); Hole(B) ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: ") ; Holen (C); Holen (D); wenn abs (A - C)<= 1 and then abs (B - D) <= 1 then -- der Befehl abs() gibt den absoluten Wert zurück -- Wert (Modul) der Zahl Put("JA"); Sonst Put("NEIN" ) ; Ende wenn ; Ende Haupt;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Hauptprozedur ist Untertyp checkBoard ist Integer-Bereich 1..8; A, B, C, D: checkBoard; begin Put_Line("Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:"); Put("Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: "); Erhalten (A); Holen (B); Put("Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: "); Holen (C); Holen (D); wenn abs(A - C)<= 1 and then abs(B - D) <= 1 then -- команда abs() возвращает абсолютное --значение (модуль) числа Put("ДА"); else Put("НЕТ"); end if; end main;

    Der Schachläufer bewegt sich diagonal. Bestimmen Sie bei zwei verschiedenen Feldern eines Schachbretts, ob der Läufer in einem Zug vom ersten Feld zum zweiten gelangen kann. Das Programm erhält als Eingabe vier Zahlen von 1 bis 8, die jeweils die Spaltennummer und Zeilennummer angeben, zuerst für die erste Zelle, dann für die zweite Zelle. Das Programm sollte „JA“ ausgeben, wenn es möglich ist, durch den Zug des Läufers von der ersten Zelle zur zweiten zu gelangen, ansonsten „Nein“.

  • Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:
    Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: 4 4
    Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: 5 5
    JA
  • mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; mit Ada.Text_IO ; benutze Ada.Text_IO ; Hauptprozedur ist Untertyp checkBoard ist Integer-Bereich 1 ..8 ; A, B, C, D: checkBoard; beginne Put_Line( "Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:") ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: ") ; Erhalten (A); Hole(B) ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: ") ; Holen (C); Holen (D); wenn abs (a - c) = abs (b - d) dann Put("YES" ); Sonst Put("NEIN" ) ; Ende wenn ; Ende Haupt;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Hauptprozedur ist Untertyp checkBoard ist Integer-Bereich 1..8; A, B, C, D: checkBoard; begin Put_Line("Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:"); Put("Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: "); Erhalten (A); Holen (B); Put("Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: "); Holen (C); Holen (D); wenn abs(a - c) = abs(b - d) dann Put("YES"); Sonst Put("NEIN"); Ende wenn; Ende Haupt;

    Die Schachkönigin bewegt sich diagonal, horizontal oder vertikal. Bestimmen Sie bei zwei verschiedenen Feldern eines Schachbretts, ob die Dame in einem Zug vom ersten Feld zum zweiten gelangen kann.

    Eingabedatenformat:
    Das Programm erhält als Eingabe vier Zahlen von 1 bis 8, die jeweils die Spaltennummer und Zeilennummer angeben, zuerst für die erste Zelle, dann für die zweite Zelle.
    Ausgabeformat:
    Das Programm sollte JA ausgeben, wenn es möglich ist, durch den Zug der Dame von der ersten Zelle zur zweiten zu gelangen, andernfalls NEIN.

    Beispiel 1:
    Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:
    Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: 1 1
    Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: 2 2
    JA

    Beispiel 2:
    Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:
    Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: 1 1
    Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: 2 3
    NEIN

  • mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; mit Ada.Text_IO ; benutze Ada.Text_IO ; procedure Main ist Untertyp checkBoard ist Integer range 1 ..8 ; A, B, C, D: checkBoard; beginne Put_Line( "Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:") ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: ") ; Erhalten (A); Hole(B) ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: ") ; Holen (C); Holen (D); wenn abs (A - C) = abs (B - D) oder A = D oder B = C dann Put("YES" ); Sonst Put("NEIN" ) ; Ende wenn ; endMain;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Procedure Main ist Untertyp checkBoard ist Integer-Bereich 1..8; A, B, C, D: checkBoard; begin Put_Line("Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:"); Put("Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: "); Erhalten (A); Holen (B); Put("Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: "); Holen (C); Holen (D); wenn abs(A - C) = abs(B - D) oder A = D oder B = C dann Put("YES"); Sonst Put("NEIN"); Ende wenn; endMain;

    Das Schachpferd bewegt sich im Buchstaben „G“ - zwei Felder vertikal in eine beliebige Richtung und ein Feld horizontal oder umgekehrt. Bestimmen Sie bei zwei verschiedenen Feldern eines Schachbretts, ob der Springer in einem Zug vom ersten Feld zum zweiten gelangen kann. Das Programm erhält als Eingabe vier Zahlen von 1 bis 8, die jeweils die Spaltennummer und Zeilennummer angeben, zuerst für die erste Zelle, dann für die zweite Zelle. Das Programm sollte JA ausgeben, wenn der Springer von der ersten Zelle in die zweite ziehen kann, andernfalls NEIN.

    Beispiel 1:
    Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:
    Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: 1 1
    Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: 1 4
    NEIN

    Beispiel 2:
    Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:
    Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: 1 1
    Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: 8 8
    NEIN

  • mit Ada.Text_IO ; benutze Ada.Text_IO ; mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; Hauptprozedur ist Untertyp checkBoard ist Integer-Bereich 1 ..8 ; A, B, C, D: Ganzzahl; beginne Put_Line( "Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:") ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: ") ; Erhalten (A); Hole(B) ; Stellen( "Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: ") ; Holen (C); Holen (D); wenn abs (A - C) = 2 und dann abs (B - D) = 1 dann Put("YES" ); elsif abs (A - C) = 1 und dann abs (B - D) = 2 then Put("YES" ); Sonst Put("NEIN" ) ; Ende wenn ; Ende Haupt;

    mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; Hauptprozedur ist Untertyp checkBoard ist Integer-Bereich 1..8; A, B, C, D: Ganzzahl; begin Put_Line("Geben Sie die Spalten- und Zeilennummern für die beiden Zellen ein:"); Put("Geben Sie die Spalten- und Zeilennummern für die erste Zelle ein und drücken Sie: "); Erhalten (A); Holen (B); Put("Geben Sie die Spalten- und Zeilennummern für die zweite Zelle ein und drücken Sie: "); Holen (C); Holen (D); wenn abs(A - C) = 2 und dann abs(B - D) = 1 dann Put("YES"); elsif abs(A - C) = 1 und dann abs(B - D) = 2 then Put("YES"); Sonst Put("NEIN"); Ende wenn; Ende Haupt;

    Die Schokolade hat die Form eines Rechtecks, das in N × M Scheiben unterteilt ist. Schokolade kann einmal in gerader Linie in zwei Teile gebrochen werden. Bestimmen Sie, ob sich auf diese Weise genau K Scheiben von einer Tafel Schokolade abbrechen lassen. Das Programm erhält drei Zahlen als Eingabe: N, M, K. Das Programm muss eines von zwei Wörtern ausgeben: "JA" oder "Nein".

    Beispiel 1:
    4
    2
    6
    JA

    Beispiel 2:
    Anzahl Scheiben horizontal: 2
    Anzahl Schichten vertikal: 10
    Wie viele Scheiben zu trennen: 7
    NEIN

  • mit Ada.Text_IO ; benutze Ada.Text_IO ; mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; Prozedur Main ist N, M, K: Integer; beginnen Put( "Anzahl Scheiben horizontal:") ; Holen (N) ; Stellen( "Anzahl der Schichten vertikal:") ; Holen (M) ; Stellen( "Wie viele Scheiben zu trennen:") ; Holen (K) ; wenn K > M * N dann --Wenn ein Schokoriegel mehr als den Schokoriegel selbst abbrechen soll put("NEIN"); elsif K rem N = 0 and then K >= N then - Waagrecht abbrechen Put("JA"); elsif K rem M = 0 and then K >= M then - Senkrecht abbrechen Put("JA"); Sonst Put("NEIN" ) ; Ende wenn ; endMain;

    mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; Prozedur Main ist N, M, K: Integer; begin Put("Anzahl der Scheiben horizontal: "); Holen (N); Put("Anzahl der Slices vertikal: "); Holen (M); Put("Wie viele Slices zu trennen: "); Holen (K); if K > M * N then -- Wenn der Schokoriegel mehr als der Schokoriegel selbst abbrechen soll Put("NO"); elsif K rem N = 0 and then K >= N then -- Horizontal abbrechen Put("YES"); elsif K rem M = 0 and then K >= M then -- Vertikal abbrechen Put("YES"); Sonst Put("NEIN"); Ende wenn; endMain;

    Yasha schwamm in einem N × M Meter großen Pool und wurde müde. An diesem Punkt befand er sich X Meter von einem der langen Vorsprünge (nicht unbedingt der nächste) und Y Meter von einem der kurzen Vorsprünge entfernt. Was ist die Mindeststrecke, die Yasha schwimmen muss, um aus dem Becken auf die Seite zu kommen? Als Eingabe erhält das Programm die Zahlen N, M, X, Y. Das Programm soll die Anzahl der Meter ausgeben, die Yasha braucht, um zur Seite zu schwimmen.

  • Beckenbreite: 23
    Beckenlänge: 52
    Entfernung von Jascha zur langen Seite: 8
    Entfernung von Yasha zu einer kurzen Seite: 43
    Sie müssen mindestens schwimmen, um aus dem Pool zu kommen: 8
  • Es ist möglich, dass Sie zur Lösung des Problems 2 Variablen austauschen müssen. Dieser Algorithmus sieht in etwa so aus:

    a, b, tmp: Ganzzahl; -- Variablen deklarieren. Zwei Haupt- und eine Nebenstelle a:= 3; --Initialisierung der Variablen a b:= 5; --Initialisierung der Variablen b --Algorithmus selbst: tmp:= a; --Nun tmp = 3 und a = 3 a:= b; --Nun a = 5 und b = 5; b:=tmp; --Nun ist b = 3

  • mit Ada.Text_IO ; benutze Ada.Text_IO ; mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; Prozedur Main ist N, M, X, Y: Integer; -- N - kurze Kante, M - lange Kante: -- X - Abstand zu einer der Längsseiten -- Y - Abstand zu einer der kurzen Seiten Tmp: Ganzzahl; beginnen Put( „Poolbreite:“) ; Holen (N) ; Stellen( "Poollänge: ") ; Holen (M) ; Stellen( "Entfernung von Yasha zu einer langen Seite:") ; Hole(X) ; Stellen( "Entfernung von Yasha zur kurzen Seite:") ; Holen (Y) ; wenn N > M dann --Wenn bei der Eingabe die Seiten verwechselt werden, dann tauschen wir ihre Plätze: Tmp:=M; --Speichere die Länge M in einer temporären Variablen M:=N; --Weist der Variablen M einen neuen Wert zu N:=Tmp; --Wiederherstellung der Länge M in Variable N Ende wenn ; Tmp:=X; --Angenommen, der Mindestabstand ist X wenn abs(N-X)< X then --Wenn der Abstand zur zweiten Längskante kleiner als X ist, dann Tmp:= N – X; - Mindestabstand gleich dem Abstand zur zweiten Längsseite Ende wenn ; wenn J< Tmp then --Wenn der Abstand zur kurzen Kante geringer ist als oben angegeben - Minimum also Tmp:=Y; --Mindestabstand ist Y Ende wenn ; wenn abs (M - Y)< Tmp then --Wenn Sie näher an die zweite kurze Seite schwimmen, dann Tmp:= abs (M - Y) ; --Mindestabstand ist gleich dem Abstand zum zweiten kurzen Vorsprung Ende wenn ; Stellen( „Man muss wenigstens schwimmen, um aus dem Pool zu kommen: „) ; Put(Item => Tmp, Breite => 1 ) ; endMain;

    mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; Prozedur Main ist N, M, X, Y: Integer; -- N - kurze Leiste, M - lange Leiste: -- X - Abstand zu einer der langen Leisten -- Y - Abstand zu einer der kurzen Leisten Tmp: Integer; Begin Put("Pool-Breite: "); Holen (N); Put("Poollänge: "); Holen (M); Put("Entfernung von Yasha zur langen Seite: "); Holen (X); Put("Entfernung von Yasha zur kurzen Kante: "); Holen (Y); if N > M then --Wenn bei der Eingabe die Kanten verwechselt werden, dann tauschen wir ihre Plätze: Tmp:= M; --Speichere die Länge M in eine temporäre Variable M:= N; --Der Variablen M einen neuen Wert zuweisen N:= Tmp; --Wiederherstellung der Länge M in der Variablen N end if; Tmp:=X; --Angenommen, der Mindestabstand ist X, wenn abs(N - X)< X then --Если до второго длинного бортика расстояние меньше X, то Tmp:= N - X; --минимальное расстояние равно расстоянию до второго длинного бортика end if; if Y < Tmp then --Если до короткого бортика расстояние меньше найденного выше --минимального, то Tmp:= Y; --Минимальное расстояние равно Y end if; if abs(M - Y) < Tmp then --Если до второго короткого бортика плыть ближе, то Tmp:= abs(M - Y); --минимальное расстояние равно расстоянию до второго короткого бортика end if; Put("Нужно проплыть минимум, чтобы выбраться из бассейна: "); Put(Item =>Tmp, Breite => 1); endMain;

    Die elektronische Uhr zeigt die Uhrzeit im Format h:mm:ss (von 0:00:00 bis 23:59:59) an, d.h. zuerst wird die Stundenzahl erfasst, dann ist die zweistellige Minutenzahl obligatorisch , dann ist die zweistellige Sekundenzahl obligatorisch. Die Anzahl der Minuten und Sekunden wird ggf. aufgefüllt zweistellige Zahl Nullen. Seit Beginn des Tages sind N Sekunden vergangen. Geben Sie aus, was die Uhr anzeigt. Die Eingabe ist eine natürliche Zahl N, die 10 7 (10000000) nicht überschreitet. Geben Sie die Antwort auf das Problem aus.

    Eingabebeispiel 1:
    3602
    Ausgabebeispiel 1:
    1:00:02

    Eingabebeispiel 2:
    129700
    Ausgabebeispiel 2:
    12:01:40

  • mit Ada.Long_Integer_Text_IO ; benutze Ada.Long_Integer_Text_IO ; mit Ada.Text_IO ; benutze Ada.Text_IO ; Prozedur Main ist Untertyp Sub_LI ist Long_Integer Bereich 1 ..10000000 ; N: Sub_LI; h, m, s: Long_Integer; starte Holen(N) ; h:= N / 3600 ; - Wir bekommen die Uhr. Der Rest der Division wird verworfen N:= N - h * 3600 ; - Erhalten Sie verbleibende Sekunden (minus Stunden) wenn h > 24 dann --Da die Uhr nicht > 24 anzeigen kann, haben wir alles in eine lesbare Form gebracht h:= h rem 24 ; --Der Rest der Division durch 24 ergibt die genaue Stundenzahl elsif h = 24 then h:= 0 ; Ende wenn ; m:= N / 60 ; - Minuten erhalten s:= N rem 60 ; - Sekunden erhalten Put(Item => h, Breite => 1 ) ; Stellen(":"); --Ausgabestunden und ":" wenn m< 10 then --Wenn die Anzahl der Minuten kleiner als 10 ist, wird eine führende 0 ausgegeben Put(Element => 0 , Breite => 1 ) ; Ende wenn ; Put(Item => m, Breite => 1 ) ; Stellen(":"); --Minuten und ":" ausgeben wenn s< 10 then --Wenn die Anzahl der Sekunden kleiner als 10 ist, wird eine führende 0 ausgegeben Put(Element => 0 , Breite => 1 ) ; Ende wenn ; Put(Item => s, Breite => 1 ) ; --Ausgabe Sekunden Ende Main;

    mit Ada.Long_Integer_Text_IO; Verwenden Sie Ada.Long_Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Prozedur Main ist Untertyp Sub_LI ist Long_Integer Bereich 1..10000000; N: Sub_LI; h, m, s: Long_Integer; Beginnen Sie mit Holen (N); h:= N / 3600; - Wir bekommen die Uhr. Der Rest der Division wird verworfen N:= N - h * 3600; --Verbleibende Sekunden (minus Stunden) erhalten, wenn h > 24 dann --Da Uhren nicht > 24 anzeigen können, alles in menschenlesbare Form bringen h:= h rem 24; --Der Rest der Division durch 24 ergibt die exakte Stundenzahl elsif h = 24 then h:= 0; Ende wenn; m:= N / 60; --Hole Minuten s:= N rem 60; - Get Sekunden Put (Item => h, Breite => 1); Stellen(":"); --Stunden und ":" ausgeben, wenn m< 10 then --Если количество минут меньше 10, выводим ведущий 0 Put(Item =>0, Breite => 1); Ende wenn; Put(Element => m, Breite => 1); Stellen(":"); --Minuten und ":" ausgeben, wenn s< 10 then --Если количество секунд меньше 10, выводим ведущий 0 Put(Item =>0, Breite => 1); Ende wenn; Put(Item => s, Breite => 1); --Ausgabe Sekunden Ende Main;

  • Es werden drei Zahlen angegeben. Ordnen Sie sie in aufsteigender Reihenfolge an.
  • Eingabebeispiel:
    1 2 1
    Beispielausgabe:
    1 1 2
  • mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; mit Ada.Text_IO ; benutze Ada.Text_IO ; Prozedur Main ist A, B, C: Integer; min, mittel, max: Ganzzahl; starte Get(A) ; Hole(B) ; Holen (C); --Sind auf der Suche nach Mindestwert min:=A; wenn b< min then min:= B; end if ; if C < min then min:= C; end if ; --Sind auf der Suche nach höchster Wert max:=A; wenn B > max dann max:= B; Ende wenn ; wenn C > max dann max:= C; Ende wenn ; --Auf der Suche nach dem Durchschnittswert Mitte:=A; wenn B > min und B< max then mid:= B; end if ; if C >Min und C< max then mid:= C; end if ; Put(Item =>min, Breite => 1 ) ; stellen(" "); Put(Item => mid, width => 1 ) ; stellen(" "); Put(Item => max, Breite => 1 ) ; endMain;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Prozedur Main ist A, B, C: Integer; min, mittel, max: Ganzzahl; Beginnen Sie mit Holen (A); Holen (B); Holen (C); --Auf der Suche nach dem Mindestwert min:= A; wenn b< min then min:= B; end if; if C < min then min:= C; end if; --Ищем максимальное значение max:= A; if B >max dann max:= B; Ende wenn; wenn C > max dann max:= C; Ende wenn; --Auf der Suche nach dem Mittelwert mid:= A; wenn B > min und B< max then mid:= B; end if; if C >Min und C< max then mid:= C; end if; Put(Item =>min, Breite => 1); stellen(" "); Put(Item => mid, width => 1); stellen(" "); Put (Artikel => max, Breite => 1); endMain;

    Es gibt zwei Boxen, die erste ist A1×B1×C1, die zweite ist A2×B2×C2. Bestimmen Sie, ob eine dieser Boxen in die andere platziert werden kann, vorausgesetzt, dass die Boxen nur um 90 Grad um die Kanten gedreht werden können. Das Programm erhält als Eingabe die Zahlen A1, B1, C1, A2, B2, C2. Das Programm sollte eine der folgenden Zeilen ausgeben:
    - "Boxen sind gleich", wenn die Boxen gleich sind,
    - "Erste Kiste weniger als eine Sekunde„Wenn die erste Kiste in die zweite gestellt werden kann,
    - "Erste Kiste mehr als eine Sekunde" wenn die zweite Kiste in die erste gesteckt werden kann.

    Beispiel 1:
    Abmessungen der ersten Box: 1 2 3
    Abmessungen der zweiten Box: 3 2 1
    Boxen sind gleich

    Beispiel 2:
    Abmessungen der ersten Box: 2 2 3
    Abmessungen der zweiten Box: 3 2 1
    Die erste Box ist größer als die zweite

  • mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; mit Ada.Text_IO ; benutze Ada.Text_IO ; Hauptprozedur ist A1, B1, C1, A2, B2, C2: Integer; min, max, mid, tmp: Ganzzahl; starte Holen(A1) ; Holen (B1) ; Holen (C1) ; Holen (A2) ; Holen (B2) ; Holen (C2) ; --Bringen Sie die Flächen mit den Längen A1 => A2, B1 => B2, C1 => C2 in Einklang: --A1 und A2 sind die längsten, C1 und C2 sind die kürzesten -- "Drehen" Sie das erste Kästchen: min:=A1; Mitte:=B1; max:=C1; wenn B1< min then mid:= min; min:= B1; end if ; if C1 < min then max:= min; min:= C1; end if ; if mid >max dann tmp:= mid; mittel:=max; max:=tmp; Ende wenn ; A1:=min; B1:=mittel; C1:=max; -- "Drehen" Sie das zweite Kästchen: min:=A2; Mitte:=B2; max:=C2; wenn B2< min then mid:= min; min:= B2; end if ; if C2 < min then max:= min; min:= C2; end if ; if mid >max dann tmp:= mid; mittel:=max; max:=tmp; Ende wenn ; A2:=min; B2:=mittel; C2:=max; --Überprüfung der Übereinstimmung der Kästchen und Anzeige des Ergebnisses: Wenn A1 = A2 und dann B1 = B2 und dann C1 = C2, dann Put_Line ("Die Boxen sind gleich" ); elsif A1 >= A2 und dann B1 >= B2 und dann C1 >= C2 dann Put_Line( "Die erste Kiste ist größer als die zweite") ; Elsif A1<= A2 and then B1 <= B2 and then C1 <= C2 then Put_Line("Die erste Kiste ist kleiner als die zweite") ; Ende wenn ; Ende Haupt;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Hauptprozedur ist A1, B1, C1, A2, B2, C2: Integer; min, max, mid, tmp: Ganzzahl; Beginnen Sie mit Holen (A1); Holen (B1); Holen (C1); Holen (A2); Holen (B2); Holen (C2); --Bringen Sie die Kanten mit den Längen A1 => A2, B1 => B2, C1 => C2 in Einklang: --A1 und A2 - die längste, C1 und C2 - die kürzeste -- „Twist“ die erste Box: min := A1 ; Mitte:=B1; max:=C1; wenn B1< min then mid:= min; min:= B1; end if; if C1 < min then max:= min; min:= C1; end if; if mid >max dann tmp:= mid; mittel:=max; max:=tmp; Ende wenn; A1:=min; B1:=mittel; C1:=max; -- "Spin" das zweite Kästchen: min:= A2; Mitte:=B2; max:=C2; wenn B2< min then mid:= min; min:= B2; end if; if C2 < min then max:= min; min:= C2; end if; if mid >max dann tmp:= mid; mittel:=max; max:=tmp; Ende wenn; A2:=min; B2:=mittel; C2:=max; --Überprüfen Sie, ob die Kästchen übereinstimmen, und geben Sie das Ergebnis aus: Wenn A1 = A2 und dann B1 = B2 und dann C1 = C2, dann Put_Line ("Boxes are equal"); elsif A1 >= A2 und dann B1 >= B2 und dann C1 >= C2 then Put_Line("Erster Kasten ist größer als zweiter"); Elsif A1<= A2 and then B1 <= B2 and then C1 <= C2 then Put_Line("Первая коробка меньше второй"); end if; end main;

    Schreiben Sie ein Programm, das die Kosten für ein Ferngespräch berechnet (der Preis für eine Minute wird durch die Entfernung zur Stadt bestimmt, in der sich der Teilnehmer befindet). Die Ausgangsdaten für das Programm sind die Vorwahl und die Gesprächsdauer. Unten sind die Codes einiger Städte und die empfohlene Bildschirmansicht, während das Programm läuft:

  • Berechnen Sie die Kosten für ein Telefongespräch.
    Anfangsdaten eingeben:
    Stadtcode -> 423
    Dauer (ganzzahlige Minuten) -> 3
    Stadt Wladiwostok
    Preis pro Minute: 4 Rubel.
    Anrufkosten: 12 Rubel.
  • mit Ada.Integer_Text_IO ; benutze Ada.Integer_Text_IO ; mit Ada.Text_IO ; benutze Ada.Text_IO ; Verfahren Haupt ist Code, Länge: Ganzzahl; Start Put_Line ("Berechnung der Kosten eines Telefongesprächs.") ; Put_Line ("Anfangsdaten eingeben:") ; Stellen ("Stadtcode -> ") ; Werden ( Code ) ; Stellen ("Dauer (ganzzahlige Minuten) -> ") ; Werden ( len ) ; Fall Code ist Wenn 423 => Put_Line ("Stadt Wladiwostok") ; Put_Line ("Preis einer Minute: 4 Rubel.") ; Stellen ("Gesprächskosten: ") ; Stellen ( Artikel => Länge * 4 , Breite=> 1 ) ; Put_Line (" reiben.") ; Wenn 095 => Put_Line ("Die Stadt Moskau") ; Put_Line ("Preis einer Minute: 2 Rubel.") ; Stellen ("Gesprächskosten: ") ; Stellen ( Artikel => Länge * 2 , Breite=> 1 ) ; Put_Line (" reiben.") ; Wenn 815 => Put_Line ("Stadt: Murmansk") ; Put_Line ("Preis einer Minute: 3 Rubel.") ; Stellen ("Gesprächskosten: ") ; Stellen ( Artikel => Länge * 3 , Breite=> 1 ) ; Put_Line (" reiben.") ; Wenn 846 => Put_Line ("Stadt Samara") ; Put_Line ("Preis einer Minute: 1 Reiben.") ; Stellen ("Gesprächskosten: ") ; Stellen ( Artikel => Länge, Breite => 1 ) ; Put_Line (" reiben.") ; Wenn Andere=> Setzen ("Es gibt keine Stadt mit diesem Code in der Datenbank! Versuchen Sie es erneut.") ; Ende Fall; Ende hauptsächlich;

    mit Ada.Integer_Text_IO; Verwenden Sie Ada.Integer_Text_IO; mit Ada.Text_IO; Verwenden Sie Ada.Text_IO; Prozedur Main ist Code, Len: Integer; begin Put_Line("Berechnung der Kosten eines Telefongesprächs."); Put_Line("Anfangsdaten eingeben:"); Put("Stadtcode -> "); holen (Code); Put("Dauer (ganzzahlige Minuten) -> "); bekommen (len); case Code ist when 423 => Put_Line("City: Wladiwostok"); Put_Line("Preis pro Minute: 4 Rubel."); Put("Gesprächskosten: "); Put (Artikel => Länge * 4, Breite => 1); Put_Line("reiben."); wenn 095 => Put_Line("Stadt: Moskau"); Put_Line("Preis pro Minute: 2 Rubel."); Put("Gesprächskosten: "); Put (Artikel => Länge * 2, Breite => 1); Put_Line("reiben."); when 815 => Put_Line("Stadt: Murmansk"); Put_Line("Preis pro Minute: 3 Rubel."); Put("Gesprächskosten: "); Put (Artikel => Länge * 3, Breite => 1); Put_Line("reiben."); wenn 846 => Put_Line ("Stadt: Samara"); Put_Line("Preis pro Minute: 1 rub."); Put("Gesprächskosten: "); Put (Artikel => Länge, Breite => 1); Put_Line("reiben."); when other => Put("Es gibt keine Stadt mit diesem Code in der Datenbank! Versuchen Sie es erneut."); Endfall; endMain;

In diesem Abschnitt werden die Operatoren kurz beschrieben Wenn und Fall, Funktion Abs() und ein Algorithmus zum Austauschen von Variablen.

Definition.

Dies ist ein Sechseck, dessen Basen zwei sind gleiches Quadrat, und die Seitenflächen sind gleiche Rechtecke

Seitenrippe- Das gemeinsame Seite zwei benachbarte Seitenflächen

Prismenhöhe- Das ist ein Schnitt senkrecht zu Basen Prismen

Prisma Diagonale- ein Segment, das zwei Eckpunkte der Basen verbindet, die nicht zu derselben Fläche gehören

Diagonale Ebene ist die Ebene, die durch die Diagonale des Prismas und seine geht Seitenrippen

Diagonalschnitt - die Grenzen des Schnittpunkts des Prismas und der Diagonalebene. Der Diagonalschnitt eines regelmäßigen viereckigen Prismas ist ein Rechteck

Senkrechtschnitt (Orthogonalschnitt)- Dies ist der Schnittpunkt eines Prismas und einer senkrecht zu seinen Seitenkanten gezeichneten Ebene

Elemente eines regelmäßigen viereckigen Prismas

Die Abbildung zeigt zwei regelmäßige viereckige Prismen, die mit den entsprechenden Buchstaben gekennzeichnet sind:

  • Basen ABCD und A 1 B 1 C 1 D 1 sind gleich und parallel zueinander
  • Seitenflächen AA 1 D 1 D, AA 1 B 1 B, BB 1 C 1 C und CC 1 D 1 D, von denen jedes ein Rechteck ist
  • Seitenfläche- die Summe der Flächen aller Seitenflächen des Prismas
  • Gesamtfläche - die Summe der Flächen aller Basen und Seitenflächen (die Summe der Flächen der Seitenfläche und der Basen)
  • Seitenrippen AA 1 , BB 1 , CC 1 und DD 1 .
  • Diagonale B 1 D
  • Basisdiagonale BD
  • Diagonalschnitt BB 1 D 1 D
  • Senkrechtschnitt A 2 B 2 C 2 D 2 .

Eigenschaften eines regelmäßigen viereckigen Prismas

  • Die Basen sind zwei gleiche Quadrate
  • Die Basen sind parallel zueinander
  • Die Seiten sind Rechtecke.
  • Seitenflächen sind einander gleich
  • Seitenflächen sind senkrecht zu den Basen
  • Seitliche Rippen sind parallel zueinander und gleich
  • Senkrechtschnitt senkrecht zu allen Seitenrippen und parallel zu den Basen
  • Ecken senkrechter Schnitt- gerade
  • Der Diagonalschnitt eines regelmäßigen viereckigen Prismas ist ein Rechteck
  • Senkrechte (Orthogonalschnitt) parallel zu den Basen

Formeln für ein regelmäßiges viereckiges Prisma

Anweisungen zur Lösung von Problemen

Beim Lösen von Problemen zum Thema " Korrekt viereckiges Prisma " impliziert, dass:

Korrektes Prisma- ein Prisma, an dessen Basis liegt regelmäßiges Vieleck, und die Seitenränder sind senkrecht zu den Basisebenen. Das heißt, ein regelmäßiges viereckiges Prisma enthält an seiner Basis Quadrat. (siehe oben die Eigenschaften eines regelmäßigen viereckigen Prismas) Notiz. Dies ist Teil der Lektion mit Aufgaben in Geometrie (Abschnitt Volumengeometrie - Prisma). Hier sind die Aufgaben, die Schwierigkeiten bei der Lösung verursachen. Wenn Sie ein Problem in Geometrie lösen müssen, das nicht hier ist, schreiben Sie darüber im Forum. Um die Aktion des Extrahierens anzuzeigen Quadratwurzel Das Symbol wird zur Problemlösung verwendet√ .

Aufgabe.

Bei einem regelmäßigen viereckigen Prisma beträgt die Grundfläche 144 cm 2 und die Höhe 14 cm. Ermitteln Sie die Diagonale des Prismas und die Fläche volle Oberfläche.

Entscheidung.
Ein regelmäßiges Viereck ist ein Quadrat.
Dementsprechend wird die Seite der Basis gleich sein

144 = 12 cm.
Woher kommt die Diagonale der Basis? rechteckiges Prisma wird gleich sein
√(12 2 + 12 2 ) = √288 = 12√2

Diagonale rechtes Prisma bildet sich mit der Diagonale der Basis und der Höhe des Prismas rechtwinkliges Dreieck. Dementsprechend ist nach dem Satz des Pythagoras die Diagonale eines gegebenen regulären viereckigen Prismas gleich:
√((12√2) 2 + 14 2 ) = 22 cm

Antworten: 22 cm

Aufgabe

Finden Sie die Gesamtfläche eines regelmäßigen viereckigen Prismas, wenn seine Diagonale 5 cm und die Diagonale der Seitenfläche 4 cm beträgt.

Entscheidung.
Da die Basis eines regulären viereckigen Prismas ein Quadrat ist, wird die Seite der Basis (als a bezeichnet) durch den Satz des Pythagoras gefunden:

A 2 + a 2 = 5 2
2a 2 = 25
a = √12,5

Die Höhe der Seitenfläche (mit h bezeichnet) ist dann gleich:

H 2 + 12,5 \u003d 4 2
h 2 + 12,5 = 16
Stunde 2 \u003d 3,5
h = √3,5

Die Gesamtfläche ist gleich der Summe aus der seitlichen Fläche und dem Doppelten der Grundfläche

S = 2a 2 + 4ah
S = 25 + 4√12,5 * √3,5
S = 25 + 4√43,75
S = 25 + 4√(175/4)
S = 25 + 4√(7*25/4)
S \u003d 25 + 10√7 ≈ 51,46 cm 2.

Antwort: 25 + 10√7 ≈ 51,46 cm 2.

Autos mit einem manuellen Getriebe, das als manuelles Getriebe abgekürzt wird, beliefen sich bis vor kurzem auf absolute Mehrheit unter anderem Fahrzeuge mit unterschiedlichen .

Darüber hinaus bleibt eine mechanische (manuelle) Box heute eine ziemlich übliche Vorrichtung zum Ändern und Übertragen des Motordrehmoments. Als nächstes werden wir darüber sprechen, wie die „Mechanik“ angeordnet ist und funktioniert, wie das Getriebeschema dieses Typs aussieht und welche Vor- und Nachteile diese Lösung hat.

Lesen Sie in diesem Artikel

Diagramm und Funktionen des Schaltgetriebes

Zunächst wird diese Art von Getriebe als mechanisch bezeichnet, da eine solche Einheit eine manuelle Gangschaltung beinhaltet. Mit anderen Worten, bei Autos mit Schaltgetriebe schaltet der Fahrer selbst die Gänge.

Wir gehen weiter. Das Feld „Mechanik“ ist abgestuft, dh das Drehmoment ändert sich in Stufen. Viele Autofahrer wissen, dass das Getriebe tatsächlich Zahnräder und Wellen hat, aber nicht jeder versteht, wie das Gerät funktioniert.

Eine Stufe (auch ein Getriebe) ist also ein Zahnradpaar (antreibendes und angetriebenes Zahnrad), das miteinander zusammenwirkt. Jede dieser Stufen sorgt für eine Drehung mit der einen oder anderen Winkelgeschwindigkeit, dh sie hat ihr eigenes Übersetzungsverhältnis.

Unter dem Übersetzungsverhältnis ist das Verhältnis der Zähnezahl des Abtriebszahnrads zur Zähnezahl am Antriebszahnrad zu verstehen. In diesem Fall erhalten verschiedene Stufen der Box unterschiedliche Übersetzungen. Der niedrigste Gang (Low Gear) hat das größte Übersetzungsverhältnis und das meiste hohe Stufe(Hochschalten) hat die kleinste Übersetzung.

Es wird deutlich, dass die Anzahl der Stufen gleich der Anzahl der Gänge auf einer bestimmten Box (Vierganggetriebe, Fünfgang usw.) war, früher 4-Gang mechanische Boxen Ausrüstung trat allmählich in den Hintergrund.

Manuelles Übertragungsgerät

Also, obwohl es viele Designs einer solchen Box mit bestimmten Merkmalen geben kann, Erstphase Es lassen sich zwei Haupttypen unterscheiden:

  • Dreiwellengetriebe;
  • Boxen mit zwei Wellen;

Bei Autos mit Hinterradantrieb wird normalerweise ein Dreiwellen-Schaltgetriebe eingebaut, während bei Personenkraftwagen mit Frontantrieb ein Zweiwellengetriebe eingebaut wird. Gleichzeitig kann sich die Vorrichtung mechanischer Getriebe sowohl des ersten als auch des zweiten Typs deutlich unterscheiden.

Beginnen wir mit einer mechanischen Box mit drei Wellen. Diese Box enthält:

  • die Antriebswelle, die auch Primärwelle genannt wird;
  • Zwischenwellengetriebe;
  • angetriebene Welle (sekundär);

Auf den Wellen sind Zahnräder mit Synchronisierern installiert. Der Schaltmechanismus ist ebenfalls im Getriebe enthalten. Spezifizierten Bestandteile befindet sich im Getriebegehäuse, das auch Getriebegehäuse genannt wird.

Die Antriebswelle hat die Aufgabe, eine Verbindung mit der Kupplung herzustellen. Die Antriebswelle hat Schlitze für die Kupplungsscheibe. Was das Drehmoment betrifft, so wird das vorgegebene Drehmoment von der Eingangswelle durch das Zahnrad übertragen, das mit ihr in starrem Eingriff steht.

Beeinflussend auf den Betrieb der Zwischenwelle befindet sich diese Welle parallel zur Eingangswelle des Getriebes, auf der eine Gruppe von Zahnrädern installiert ist, die in starrem Eingriff stehen. Die Abtriebswelle wiederum ist auf der gleichen Achse wie die Antriebswelle gelagert.

Eine solche Montage wird durch ein Endlager auf der Antriebswelle realisiert. Dieses Lager umfasst die Abtriebswelle. Die Zahnradgruppe (Getriebeblock) auf der Abtriebswelle hat keinen starren Eingriff mit der Welle selbst und dreht sich daher frei auf ihr. Dabei stehen die Zahnradgruppe der Zwischenwelle, der Abtriebswelle und das Zahnrad der Antriebswelle in ständigem Eingriff.

Zwischen den Zahnrädern der Abtriebswelle sind Synchronisierungen (Synchronkupplungen) eingebaut. Ihre Aufgabe ist es, die Winkelgeschwindigkeiten der Zahnräder der Abtriebswelle durch die Reibungskraft an die Winkelgeschwindigkeit der Welle selbst anzugleichen.

Synchronisierer stehen in starrem Eingriff mit der Abtriebswelle und können sich aufgrund der Keilverbindung auch in Längsrichtung entlang der Welle bewegen. Moderne Getriebe haben in allen Gängen Synchronkupplungen.

Wenn wir den Schaltmechanismus bei Dreiwellengetrieben betrachten, ist dieser Mechanismus häufig am Aggregatkörper installiert. Das Design umfasst einen Steuerhebel, Schieber und Gabeln.

Der Kastenkörper (Kurbelgehäuse) besteht aus Aluminium- oder Magnesiumlegierungen und ist für den Einbau von Wellen mit Zahnrädern und Mechanismen sowie einer Reihe anderer Teile erforderlich. Im Getriebegehäuse befindet sich auch Getriebeöl (Getriebeöl).

  • Um zu verstehen, wie ein mechanisches (manuelles) Getriebe mit drei Wellen funktioniert, lassen Sie uns allgemein gesagt Werfen wir einen Blick darauf, wie es funktioniert. Wenn sich der Schalthebel in der Neutralstellung befindet, findet keine Drehmomentübertragung vom Motor auf die Antriebsräder des Fahrzeugs statt.

Nachdem der Fahrer den Hebel bewegt hat, bewegt die Gabel die Synchronkupplung des einen oder anderen Gangs. Der Synchronisator richtet sich dann aus Winkelgeschwindigkeiten gewünschten Gang und Abtriebswelle. Dann greift der Zahnkranz der Kupplung in einen ähnlichen Zahnkranz ein, wodurch sichergestellt wird, dass das Zahnrad auf der angetriebenen Welle arretiert wird.

Wir fügen auch hinzu, dass der Rückwärtsgang des Autos vom Rückwärtsgang des Getriebes bereitgestellt wird. In diesem Fall ermöglicht ein auf einer separaten Achse montiertes Rückwärtsgang-Zwischenrad die Drehrichtungsumkehr.

Zweiwellen-Schaltgetriebe: Vorrichtung und Funktionsprinzip

Nachdem wir uns damit befasst haben, woraus ein Dreiwellengetriebe besteht, gehen wir zu Zweiwellengetrieben über. Dieser Typ Das Getriebe hat zwei Wellen in seinem Gerät: primär und sekundär. Die Antriebswelle ist die Antriebswelle, die Sekundärwelle die Abtriebswelle. Zahnräder und Synchronisierungen sind auf den Wellen befestigt. Ebenfalls im Kurbelgehäuse der Box befinden sich das Hauptzahnrad und das Differential.

Die Antriebswelle ist für die Verbindung mit der Kupplung verantwortlich, und es gibt auch einen Getriebeblock auf der Welle in starrem Eingriff mit der Welle. Die Abtriebswelle ist parallel zur Antriebswelle angeordnet, während die Zahnräder der Abtriebswelle in ständigem Eingriff mit den Zahnrädern der Antriebswelle stehen und sich auch frei auf der Welle selbst drehen.

Außerdem ist das Antriebszahnrad des Hauptzahnrads starr auf der Abtriebswelle befestigt, und Synchronkupplungen befinden sich zwischen den Zahnrädern der Abtriebswelle selbst. Wir fügen hinzu, um die Größe des Getriebes zu reduzieren und die Anzahl der Gänge zu erhöhen, können in modernen Getrieben oft 2 oder sogar 3 Wellen anstelle einer angetriebenen Welle installiert werden.

Auf jeder solchen Welle ist das Zahnrad des Hauptzahnrads starr befestigt, während ein solches Zahnrad einen starren Eingriff mit dem angetriebenen Zahnrad hat. Es stellt sich heraus, dass das Design tatsächlich 3 Hauptzahnräder implementiert.

Das Hauptgetriebe selbst sowie das Differential in der Getriebevorrichtung übertragen Drehmoment von der Sekundärwelle auf die Antriebsräder. In diesem Fall kann das Differential auch eine solche Drehung der Räder bereitstellen, wenn sich die Antriebsräder mit unterschiedlichen Winkelgeschwindigkeiten drehen.

Der Schaltmechanismus wird bei Zweiwellengetrieben separat, dh außerhalb der Karosserie, herausgenommen. Die Box ist durch Kabel oder spezielle Stangen mit dem Schaltmechanismus verbunden. Die häufigste Verbindung ist mit Kabeln.

Der Schaltmechanismus der 2-Wellen-Box selbst hat einen Hebel, der über Kabel mit dem Wählhebel und dem Gangschalthebel verbunden ist. Diese Hebel sind mit der zentralen Schaltstange verbunden, die auch Gabeln hat.

  • Wenn wir über das Funktionsprinzip eines Zweiwellen-Schaltgetriebes sprechen, ähnelt es dem Prinzip eines Dreiwellengetriebes. Die Unterschiede liegen in der Funktionsweise des Schaltmechanismus. Kurz gesagt, der Hebel kann sowohl Längs- als auch Querbewegungen relativ zur Fahrzeugachse ausführen. Zur Zeit Querbewegung Die Gangwahl erfolgt, indem die Kraft auf den Gangwahlzug ausgeübt wird, der auf den Gangwahlhebel wirkt.

Außerdem bewegt sich der Hebel in Längsrichtung und die Kraft geht auf das Schaltkabel. Der entsprechende Hebel bewegt den Schaft mit den Gabeln horizontal, die Gabel am Schaft verschiebt den Synchronisierer, was zur Blockierung des angetriebenen Wellenzahnrads führt.

Schließlich stellen wir fest, dass auch mechanische Boxen verschiedene Typen haben zusätzliche Sperrvorrichtungen, die das gleichzeitige Einlegen von zwei Gängen oder ein unerwartetes Ausrücken des Ganges verhindern.

Lesen Sie auch

Treten der Kupplung vor dem Anlassen des Motors: Wann sollte die Kupplung getreten werden und in welchen Fällen wird davon abgeraten? Hilfreiche Ratschläge und Empfehlungen.

  • Ursachen für schwieriges Schalten bei laufendem Motor. Getriebeöl und Füllstand im Getriebe, Verschleiß der Synchronisierungen und Zahnräder der Box, Kupplung.