Notizen Zu Algorithmik Und Programmiermethoden
Notizen Zu Algorithmik Und Programmiermethoden
IT-Lösungen.
2. Spezifisch
In der Lage sein, Algorithmen entsprechend dem zu lösenden Problem zu entwerfen.
- Die Grundlagen der Modellierung und des Designs von Datenbanken verstehen
Daten.
Die Programmiersprachen, die wir in der Praxis verwenden werden, um eine bessere ...
Das Verständnis dieses Kurses ist:
•Das Java;
Die Sprache C++
dieses Sprach verwenden, um das gewünschte Programm zu schreiben. Das lässt vermuten, dass es genauso viele gibt
auf eine Weise, das Problem zu lösen, dass es verschiedene Sprachen gibt. Ein anderer Ansatz besteht darin
das Ausnutzen der Tatsache, dass die meisten Sprachen auf gemeinsamen Prinzipien basieren, wie z. B. denjenigen
was wir gerade angesprochen haben und das wir dann verwenden können, um das gegebene Problem zu lösen. Noch einmal
Es ist notwendig, ein Mittel zur Verfügung zu haben, um diese Konzepte auszudrücken.
Unpseudo-sprache (einige sprechen von algorithmischer Sprache), die uns ermöglichen wird
die grundlegenden Konzepte zu nutzen, um echte Programme (auf Papier) zu erstellen, die Sie
Es wird dann einfach sein, in die meisten aktuellen Programmiersprachen zu transponieren.
-Gut spezifiziert;
- Klar, gut strukturiert ;
- Einfach zu testen;
Leicht zu ändern (Einfach zu warten)
-Robust (Fehlerresistent gegenüber dem Benutzer);
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
5
- Korrekt ;
Effektiv.
a. Die Schritte zur Erstellung eines Programms
Um ein Computerprogramm zu erstellen, wird empfohlen, die folgenden Schritte zu befolgen:
1ièreSchritt: Abgrenzung des zu lösenden Problems
2teétape : la rédaction de l’algorithme
Problem Algorithme
(Pseudo-Code)
konzeptionelles Problem. Man muss nur eine einfache Übersetzung in eine Sprache durchführen
Programmierung gegeben.
Diese Phase entspricht der Umwandlung Ihrer Analyse in eine Sprache von
spezifische Programmierung. Es ist eine Programmierphase
(Pseudo-Code) (Sprache)
5ièmeSchritt: Programmwartung
Bezeichnen Sie die Veränderungen am Programm, die nach seiner Umsetzung vorgenommen wurden, um es zu korrigieren.
1.1.2. Programmiersprachen
Man nennt eine Programmiersprache eine Menge von Schlüsselwörtern (nach Konvention gewählt)
verbunden mit einer Reihe sehr genauer Regeln, die angeben, wie man diese Wörter zusammenfügen kann, um
Sätze bilden, die der Interpretor oder Compiler in Maschinensprache übersetzen kann
(binaer). Eine Programmiersprache unterscheidet sich von der mathematischen Sprache durch ihre Zielsetzung.
betrieblich (muss von einer Maschine ausführbar sein), sodass eine Programmiersprache
ist immer ein Kompromiss zwischen seiner Ausdruckskraft und seiner Ausführbarkeit.
Eine Programmiersprache ist eine Computersprache, die es einem Menschen ermöglicht zu schreiben
un code source qui sera analysé par un ordinateur.
Man nennt eine "Programmiersprache" eine Sprache, die dazu dient, eine Reihe von Aktionen zu beschreiben.
konsekutiv, die ein Computer ausführen muss. Eine Programmiersprache ist somit eine praktische Methode
um uns (Menschen) Anweisungen an einen Computer zu geben. Andererseits ist der Begriff „Sprache
naturel » repräsentiert die Ausdrucksmöglichkeiten, die von einer Gruppe von Individuen geteilt werden (zum Beispiel
Durchführungsplattform.
Ein Algorithmus ist eine geordnete Folge von Anweisungen, die den zu folgenden Weg anzeigt, um
eine Reihe von Problemen zu lösen. Daher sollte ein Algorithmus, wenn man ihn definiert, nicht enthalten
dass verständliche Anweisungen für denjenigen, der sie ausführen muss. In diesem Kurs werden wir müssen
Also lernen, Algorithmen so zu definieren, dass sie verständlich und ausführbar sind.
von einem Computer.
Ein Programm ist nichts anderes als eine Folge von Anweisungen, die codiert sind unter Berücksichtigung von
eine sehr strenge Art von im Voraus festgelegten Konventionen durch eine Programmiersprache.
Die Maschine decodiert dann diese Anweisungen, indem sie jedem "Wort" der Programmiersprache eine zuordnen.
präzise Aktion.
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
7
Das Programm, das wir in der Programmiersprache mit einem Editor schreiben (ein
eine Art von spezialisierter Textverarbeitung) wird als Quellprogramm (oder Quellcode) bezeichnet.
Die einzige „Sprache“, die der Computer wirklich „verstehen“ kann, ist also sehr.
entfernt von dem, was wir selbst verwenden. Es ist eine lange Folge von 0 und 1 (die „Bits“
Binärziffern) in Gruppen von 8 (den „Octets“, Byte), 16, 32 oder sogar 64 verarbeitet.
Algorithmik
Algorithmus
Programmierung
Code source
Lesbar: Der Algorithmus muss sogar von einem Nicht-Informatiker verständlich sein.
Auf hohem Niveau: Der Algorithmus muss in jede Programmiersprache übersetzt werden können.
Programmierung, es sollte daher keine technischen Konzepte eines Programms angesprochen werden.
bestimmte oder ein bestimmtes Betriebssystem.
Präzise: Jedes Element des Algorithmus darf nicht verwirrend sein, daher ist es wichtig zu
Alle Mehrdeutigkeiten beseitigen.
Konkise (Kurz): Ein Algorithmus sollte nicht sehr lang sein. Wenn dies der Fall ist, muss das Problem zerlegt werden.
in mehrere Teilprobleme.
Strukturiert: Ein Algorithmus muss aus verschiedenen leicht erkennbaren Teilen bestehen.
1.1.3.1.Die Struktur eines Algorithmus
Ein Algorithmus ist in zwei Teile strukturiert
1.Ein Teil, der den Namen des Algorithmus angibt
2. Ein weiterer Teil, der zwischen den Schlüsselwörtern "Beginn" und "Ende" liegt und den Block von Anweisungen enthält (eine
Teil der Verarbeitung eines Algorithmus, der aus elementaren Operationen besteht.
Die Syntax der Struktur eines Algorithmus ist wie folgt;
AlgorithmeNom_de_l’algorithme
Deklarationen der Variablen
Anfang
Anweisungsblock
Fin
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmierungsmethode
8
•Effizienz eines Algorithmus: Die Effizienz eines Algorithmus ist seine Fähigkeit, Ressourcen zu nutzen
Der Quellcode ist einfach der Code Ihres Programms, der in einer höheren Sprache geschrieben ist.
Der Compiler: ist das Programm, das dafür verantwortlich ist, das Programm in höherer Sprache zu übersetzen in
eine von Computern verständliche Sprache. Es gibt einen Compiler für jede Hochsprache.
niveau.Le compilateur, récupère les instructions écrites en langage de programmation et les
In Maschinensprache umwandeln.
Die Compilation besteht darin, das Quellprogramm (Quellcode) in Maschinensprache zu übersetzen.
Der Interpreter: ist das Programm, das die Anweisungen nach und nach übersetzt, sobald sie
präsentieren sich. Die Art und Weise, ein Programm zu schreiben, ist eng mit der Programmiersprache verbunden.
Die Interpretation besteht darin, jede Anweisung des Quellprogramms zu übersetzen, bevor sie ausgeführt wird.
mit einem Programm namens Interpreter.
Die wir gewählt haben, da es davon unglaublich viele gibt. Darüber hinaus muss der Compiler entsprechen zu
gewählte Sprache: jedem Programmiersprache ihr Compiler. Der Compiler macht dann
Aufruf an einen Linker (auf Englisch Linker oder Binder), der es ermöglicht, in die endgültige Datei zu integrieren
alle annexen Elemente (Funktionen oder Bibliotheken), auf die das Programm verweist, aber die nicht
sind nicht in der Quelldatei gespeichert.
Dann erstellt er eine ausführbare Datei, die alles enthält, was sie zum Funktionieren benötigt.
autonom, (unter den Betriebssystemen Microsoft Windows oder MS-DOS die Datei somit
créé besitzt die Erweiterung .exe)
Link-Editor
Compiler
Die meisten Sprachen basieren auf derselben grundlegenden Technik, nämlich der Manipulation.
der Werte, die in den Variablen enthalten sind.
En programmation, une variable est donc un nom qui sert à repérer un emplacement donné
des Hauptspeichers. Sie ermöglicht es Ihnen tatsächlich, Werte zu manipulieren, ohne dass Sie sich
sich um den Speicherplatz kümmern, den sie tatsächlich im Speicher einnehmen werden.
Ein
01010
Betrag
01011
Der Programmierer begnügt sich nur mit den Namen A und Betrag, er kümmert sich nicht um die
Adressen, die ihnen im Speicher zugewiesen werden.
Die erste Sache, die zu tun ist, bevor man eine Variable verwenden kann, ist, die Box zu erstellen und ihr
Ein Etikett anbringen. Dies geschieht ganz am Anfang des Algorithmus, noch vor den Anweisungen.
Eingehend gesagt. Das nennt man die Deklaration von Variablen.
Le nom de variable (étiquette de la boîte) obéit à des impératifs changeant selon les
Sprachen.
In Pseudocode wird eine Variablendeklaration diese Form haben:
Variable <Nom_variable> in <Type_de_la_variable>
Variable g in numerisch
Eine Variable wird definiert durch:
Ein einzigartiger Name, der sie bezeichnet
NB :
Der Name einer Variablen muss ebenfalls zwingend mit einem Buchstaben beginnen.
Die maximale Anzahl von Zeichen für einen Variablennamen hängt von der verwendeten Sprache ab.
In vielen Programmiersprachen wird das Zeichen „_“ bei der Deklaration verwendet.
der Variablen, selbst am Anfang.
•Die Empfindlichkeit gegenüber Groß- und Kleinschreibung Die Sprachen erfordern eine strenge Syntax, daher kann man nicht
Man kann die Dinge nicht so schreiben, wie man es möchte. So gibt es bestimmte Sprachen, die.
sensitiv (auf Französisch "sensibles à la casse"), das bedeutet, dass ein Name nur aus
Kleinbuchstaben werden nicht als gleichwertig mit dem gleichen Namen betrachtet, der…… beinhaltet.
Majuskeln. So wird die Variable mit dem Namen "Toto" eine andere Variable sein als die Variable
toto
c) Die öffentlichen und privaten Variablen
Standardmäßig wird eine Variable innerhalb einer Prozedur, einer Funktion oder eines
Klasse.
Wenn sie mit diesem Verfahren oder dieser Funktion oder Klasse erstellt wird und mit ihr verschwindet, dann tut sie das nicht.
wird sichtbar sein, dass in der Prozedur oder Funktion oder Klasse, die sie hervorgebracht hat, eine solche Variable
ist standardmäßig privat oder lokal.
Aber daneben ist es möglich, Variablen zu erstellen, die zwar deklariert werden.
Prozedur oder Funktion oder Klasse, die, sobald sie existieren, für alle gemeinsam sein werden.
die Verfahren und Funktionen der Anwendung. Solche Variablen werden als global bezeichnet oder
publiques.Avec des telles variables, le problème de la transmission des valeursd’une procédure
Oder Funktion zu Funktion stellt kein Problem mehr dar.
Beispiele :
Deklaration einer privaten numerischen Variablen x
Variable x in numerisch
•Deklaration einer öffentlichen numerischen Variable x
Wenn eine Variable noch keinen Wert hat, wird sie als undefiniert bezeichnet. Übrigens am Anfang von
Bei der Ausführung eines Programms sind alle Variablen undefiniert.
Algorithme VariableNichtDefiniert
Wenn man versucht, den Befehl Z auszuführen
Variablen X, Y, Z in numerisch
X+Y, die Variable Y ist noch nicht definiert. Die Berechnung
Anfang
de Z ist also unmöglich.
X 3
Z X+Y
Fin
Einige Programmiersprachen erlauben es, beliebigen Typen mit einem Variablennamen zu verknüpfen.
Daten (das heißt sowohl eine ganze Zahl als auch ein Zeichen). Diese
Sprachen werden als wenig oder gar nicht typisiert bezeichnet, man muss den Typ der Variablen nicht deklarieren.
Die Deklaration besteht darin, einen Speicherplatz an einer Adresse (mit variabler Größe) zu reservieren.
Je nach Art besteht die Zuweisung darin, Daten in diesen reservierten Bereich zu setzen.
In allen Programmiersprachen nimmt jede Variable im Speicher eine bestimmte Anzahl von
Bits.
a) Klassische numerische Datentypen (reell und ganzzahlig)
Die verwendeten numerischen Variablen im Algorithmus haben üblicherweise folgende Bereiche
die von der Mathematik bereitgestellt werden (Reell und ganzzahlig). Der einer Variablen, die dazu bestimmt ist, Werte zu empfangen.
Namen. Alle Sprachen, egal welche, bieten ein Bouquet von numerischen Typen, darunter
Der Detail kann von einer Sprache zur anderen leicht variieren.
AlgorithmeMultipli_Typ_Reel
Variables nombre1, Nombre2, Résultat en Réel
Anfang
Name1 1.2
Nombre2 10
Fin
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
13
Variablen R in Zeichen
Beginn
R Kangela
Fertig
d) Boolescher Typ
In der booleschen Variable speichert man ausschließlich die logischen Werte WAHR oder
FAUX. Man kann diese Konzepte von Wahr oder Falsch durch (Wahr oder Falsch), durch (1 oder 0) usw. darstellen.
Beginn
Bool1 10 > 9 (* In Bool1 werden wir True haben*)
Affecter à A la valeur 5
A 5
NB :
Man kann einer Variablen den Wert einer anderen Variablen zuweisen.
X Y : bedeutet, dass der Wert, der sich in Y befindet, jetzt in X platziert ist.
Allgemeiner gesagt, können wir verlangen, dass das Ergebnis einer Berechnung in einer Variablen gespeichert wird (Das
A B+4
Bestimme den Wert von B+4, ohne den Wert von B zu ändern.
Wert B.
Ein B
2.2 Die Syntax in der Programmiersprache
Die Syntax definiert die Schreibregeln einer Programmiersprache.
Um zu spezifizieren, welche Programme syntaktisch korrekt sind, verwenden wir Grammatiken, die
definieren die Regeln für die Erstellung von Programmen. Die Überprüfung, dass ein Programm
syntaxisch korrekt im Hinblick auf die oben angegebene partielle Grammatik kann realisiert werden
durch ein Programm namens Syntaxanalysator.
2.3 Reservierte Wörter
In den meisten Sprachen gibt es einige Wörter, die man nicht den Namen zuordnen kann.
de Variablen, zu Funktionen usw. nennt man sie reservierte Wörter. Beispiel in C (int, void, char, …)
in C# (String, öffentlich, privat, …)
Syntaxe:
KonstanteNom _Konstante = wert
Beispiele
ConstantePi=3,14
ConstanteB= 6
ConstanteMois=” Mars”
2.5 Les commentaires
Kommentare dienen dazu, ein Programm zu klären, indem sie Erklärungen liefern. Sie
werden, falls jemand anders versucht, das Funktionieren des Programms zu verstehen, in
den Quelltext lesend, oder an die Person, die ihn erstellt hat, falls er jemals nicht den Quelltext liest
einige Jahre nachdem ich es geschrieben habe, usw.
Es ist allgemein gut, in ein Programm Textzeilen hinzufügen zu können, die nicht
werden vom Compiler oder Interpreter nicht berücksichtigt. Diese Textzeilen sind
generell von speziellen Zeichen gemäß der Sprache vorausgegangen (oder umrahmt)
Programmierung.
In den Algorithmen dieses Kurses werden unsere Kommentare von (* *) umrahmt. Beispiel: (* Ihre
2 .6 2 Anweisungen Komplex
Die zusammengesetzten Anweisungen sind die Sequenz, die Alternative und die Iteration.
a)Die Sequenz
Ex : x a et y b
x x+y
b) Die Alternative
Syntaxe der Alternative: Wenn logischer Ausdruck dann Anweisung1 Sonst Anweisung2
Gut si
c)Iteration
Syntax der Iteration: Solange Bedingung, mache Anweisungen
Bis solange
2.7 Les Opérateurs
Der Operator ist das Symbol, das die Art der durchzuführenden Operation definiert. Der Operator ist das Symbol.
+ Die Rechnung
- Die Subtraktion
* Die Multiplikation
/ Die Division
^ Leistung
% Modulo
2.7.2 Vergleichsoperator
Schilder Bedeutung
= Die Gleichheit
≠ Verschieden
Variablen A, B, C, K in Zeichen
Beginn
Ein "Jean"
B "-"
C "Luc"
K A & B & C
Fin
Der Wert von K am Ende des Algorithmus wird gleich Jean-Luc sein.
Bemerkungen: Wenn mehrere Operatoren in einem Ausdruck erscheinen, ist es
notwendig zu wissen, in welcher Reihenfolge sie ins Spiel kommen. Die Regeln sind natürlich und entsprechen
die der traditionellen Algebra.
Hier sind die Operatoren in absteigender Reihenfolge der Priorität, die Operatoren mit derselben Priorität sind
NB :
• Bei gleichen Prioritäten erfolgen die Berechnungen von links nach rechts.
Die Klammern erlauben es, diese Prioritätsregeln zu umgehen, indem sie die Berechnung zwangen.
Vorbedingung des Ausdrucks, den sie enthalten.
EXEMPLES :
A+B*C A+ (B*C)
A*B+C %D (A*B)+(C%D)
-A / -B + C ((-A) / (-B)) + C
2.8 Das Lesen und das Schreiben (Um mit Ihrem Programm zu kommunizieren)
Die Anweisungen, die es dem Programm ermöglichen, Werte an den Benutzer zu kommunizieren, indem es sie
die auf dem Bildschirm angezeigten werden Schreibe. Analog ermöglichen die Anweisungen, dass
Werte in das Programm einzuführen, wird als Lesen bezeichnet.
Sobald das Programm auf eine Leseanweisung trifft, wird die Ausführung unterbrochen.
wartend auf die Eingabe eines Wertes über die Tastatur.
Das Lesen und Schreiben müssen aus der Sicht der Maschine verstanden werden, die damit betraut wird.
sie auszuführen.
In Pseudo-Code:
Die Vorlesung ist wie folgt formalisiert:
Beispiele :
1. Zum Lesen
LireA
Bedeutet, den Wert vom Gerät zu nehmen und ihn in A zu speichern
Lese x, y
Bedeutet, zwei Werte zu nehmen und sie in x und y zu sortieren. In dieser Reihenfolge.
b). Schreibe x, y
Bedeutet, die Werte von x und y in dieser Reihenfolge anzuzeigen.
c).Ecrirex
Beispiel :
Quadrat Name*Name
Hier ist sein Quadrat:
Fin
Interesse an der Leseschulung
Beobachte diese beiden Programme :
Sei das Programm 1
Algorithmus das Doppel
Variablen Val, Double in numerischen
Anfang
Val 5
Doppelt val*2
ECRIRE" le double de : ", Val," est : ", Double
Fin
Das Programm 1 liefert das Doppelte von 5, wenn wir das Doppelte von 3 erhalten möchten, wird es uns
man muss das Programm ändern, indem man ersetzt
Die Anweisung Val 5parVal 3
Die Leseanweisung ermöglicht es uns, diese Änderungen zu vermeiden und zu ermöglichen, dass
der Benutzer gibt den Wert ein, den er möchte, und das Programm berechnet direkt das Doppelte:
Sei das Programm 2
Algorithmedudouble
Variablen Val, Double in numerischen
Beginn
ECRIRE" Entrer un nombre "
Lire Val
Doppel val*2
SCHREIBEN" das Doppelte von : ", Val, " ist : ", Doppel
Fin
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
20
Im Programm 2 kann man jedes Mal zwischen der Zahl wählen und das Doppelte erhalten, ohne
modifier le programme. Commec’étaitle cas dans le programme 1.
Anwendungsübungen
a)Algorithmus AnzeigeJeanFabrice
Anfang
R Jean
X Fabrice
R schreiben
Schreiben Sie X
Fin
b) Algorithmus AnzeigenKangela
Variablen R, X und Zeichen
Beginn
R Kangela
X R
R schreiben
Schreiben Sie X
Fin
2. Finde die booleschen Werte, die während des folgenden Algorithmus genommen werden
Algorithmus BerechnungBoolesch
b 4
b2 (a=10) ODER (b=5) ODER (3=6) b3 (a>b) UND (5=5) ODER (b<a)
Ecrire Double
Fin
4.Einen Algorithmus zur Lösung einer Gleichung ersten Grades der Form ax+b=0 schreiben.
5. Schreibe einen Algorithmus für ein Programm, das die Umrechnung von Dollar in Franc vornimmt, und einen weiteren, der
A 5
B A+4
A A+1
B A- 4
FIN
Syntaxe
Unter dieser Bedingten Form werden die Anweisungen nur ausgeführt, wenn <Bedingung> erfüllt ist.
Überprüft.
Beispiel ; AlgorithmusAnzeigeNull
Variable A als Ganzzahl
Anfang
Finsi
Fin
Wenn zum Zeitpunkt des Tests der Wert von A Null ist, dann die Anweisung Schreiben "Der Wert von der
Variable A ist Null wird ausgeführt, sonst wird sie ignoriert.
b) SI ... ALORS ...Sinon
Wenn <Bedingung> erfüllt ist, werden die Anweisungen ausgeführt. Andernfalls, also wenn
<condition> ist nicht erfüllt, dann werden die <anderen Anweisungen> ausgeführt.
Zum Beispiel,
Algorithmus: DistinkteUndGleicheWerte
Variablen a, b und numerisch
DEBUT
Geben Sie zwei numerische Werte ein.
LIES a, b
Wenn (a = b) dann
Sie haben denselben Wert zweimal eingegeben, nämlich
Sonst
Im obigen Beispiel wird die Bedingung (a = b) ausgewertet. Falls zu diesem Zeitpunkt die
Die Variablen a und b enthalten den gleichen Wert, dann wird die Bedingung a = b überprüft. In diesem Fall,
Die Anweisung SCHREIBEN "Sie haben denselben Wert zweimal eingegeben, nämlich ", a, "." wird ausgeführt.
Wenn die Bedingung a = b nicht erfüllt ist, also wenn die Variablen a und b nicht den gleichen Wert enthalten
Wert zum Zeitpunkt der Bewertung der Bedingung, dann ist es die Anweisung SCHREIBEN "Sie haben
Gib zwei unterschiedliche Werte ein, «, a, « und «, b, „. die ausgeführt wird. C) die verschachtelte Syntax:
Grafisch kann man ein Informationssystem sehr leicht als ein Weichenstellen von Eisenbahnen darstellen.
Ein SI eröffnet also zwei Wege, die zwei unterschiedliche Behandlungen entsprechen. Aber es gibt viele
Situationen, in denen zwei Wege nicht ausreichen. Zum Beispiel ein Programm, das den Zustand des Wassers anzeigen soll.
je nach Temperatur muss zwischen drei möglichen Antworten (fest, flüssig oder
kohlensäurehaltig).
Exemple : Algorithme temperatureEau
VariableTempen Entier
Anfang
Ecrire"Entrez la température de l’eau :"
LireTemp
SiTemp <= 0Dann
Es ist Eis.
Finsi
SiTemp > 0EtTemp <= 100Dann
Es ist flüssig
Finsi
WennTemp > 100Dann
Es ist Dampf
Finsi
Fin
Sie werden feststellen, dass es ein wenig mühsam ist. Die Bedingungen ähneln sich mehr oder weniger, und
vor allem zwingt man die Maschine, drei aufeinanderfolgende Tests zu überprüfen, die alle auf einem gleichen Thema basieren.
Wählen Sie die Temperatur (den Wert der Variable Temp). Es wäre somit viel rationaler.
d'imbriquer die Tests auf diese Weise :
Und vor allem haben wir bei der Ausführungszeit des Computers gespart.
Wenn die Temperatur unter null liegt, schreibt er fortan 'Es ist Eis' und fährt fort
direkt am Ende, ohne durch die Prüfung weiterer Möglichkeiten verlangsamt zu werden (die zwangsläufig
falsche).
Diese zweite Version ist also nicht nur einfacher zu schreiben und lesbarer, sie ist
auch performanter in der Ausführung.
Verschachtelte Teststrukturen sind somit ein unverzichtbares Werkzeug zur Vereinfachung und
die Optimierung von Algorithmen.
Ex : Algorithmus TestZahlGroesserKleiner
Variable nombre en numérique
Anfang
Geben Sie die Anzahl ein
Lesen Sie die Nummer
d) Folgender Fall
Folgen < variable > machen Fall < wert1 > <
Je nach dem Wert, den die Variable annimmt
anweisungen1 > fall < wert2 > < anweisungen2 > <Variable>, der auszuführende Anweisungsblock
2.9.2 Schleifen
Eine Schleife ermöglicht es, eine gleiche Befehlsfolge mehrmals auszuführen. Diese
Die Menge von Anweisungen wird als der Körper der Schleife bezeichnet. Jede Ausführung des Körpers einer Schleife
–Gießen
Jede dieser Schleifen hat ihre Vor- und Nachteile. Wir werden sie durchgehen.
eine nach der anderen
solange
Die Syntax einer "Während"-Schleife ist wie folgt.
solange < Bedingung >
Fintantque
Die Bedingung wird vor jedem Durchlauf der Schleife ausgewertet, jedes Mal, wenn sie es ist
Überprüft, führen wir die Anweisungen der Schleife aus. Sobald die Bedingung nicht mehr überprüft wird,
Die Ausführung wird nach dem 'fintantque' fortgesetzt. Lassen Sie uns zum Beispiel alle Zahlen von 1 bis anzeigen.
5 in aufsteigender Reihenfolge.
Dieser Algorithmus initialisiert i auf 1 und solange der Wert von i 5 nicht überschreitet, den Inhalt von diesem
Variable i wird angezeigt. Dann wird sie inkrementiert. Die Anweisungen im Körper der Schleife
werden also 5 Mal hintereinander ausgeführt. Die Variable i wird ein Zähler genannt, die Schleife wird durch ihn gesteuert.
Erfolgreiche Inkrementierungen von i und wir verlassen die Schleife, sobald i einen bestimmten Wert erreicht hat.
Die Initialisierung des Zählers ist sehr wichtig! Wenn Sie i nicht explizit initialisieren, dann
Diese Variable wird jeden beliebigen Wert enthalten und Ihr Algorithmus wird sich überhaupt nicht verhalten.
wie geplant.
NB :
Für die Schleife "Solange", bevor man in den Schleifenrumpf eintritt, muss die Bedingung
Sei wahr. Wenn in dem obigen Beispiel i auf 6 initialisiert wäre, würden wir nicht in die Schleife eintreten.
b) Wiederholen... bis zu
Syntaxe
Wiederholen
Bis zu <Bedingung>
–Wir führen den Körper der Schleife aus, solange die Bedingung erfüllt ist, also solange die
Die Bedingung ist falsch. Lassen Sie uns das vorherige Beispiel mit einer Wiederholung ... Bis zu: erneut aufgreifen.
i←1
wiederholen
SCHREIBE i
i←i+1
Jusqu’à i> 5
FIN
Wie bei der Schleife "Während" wird der Zähler vor dem Initialisiert.
Erster Durchgang in der Schleife.
Die Ausgangsbedingung der Schleife ist jedoch nicht die gleiche, man verlässt die Schleife nicht.
sobald der Wert 5 angezeigt wurde, wird i nach der Anzeige inkrementiert, folglich i
wird am Ende der Iteration den Wert 6 haben, während der Wert 5 angezeigt wurde.
Deshalb verlassen wir die Schleife erst, wenn i den Wert strikt überschreitet.
5. Einer der häufigsten Verwendungszwecke der Schleife „Wiederhole ... Bis“ ist die Eingabekontrolle.
Wiederholen
Schreiben Sie "Geben Sie eine strikt positive Zahl ein" Lesen Sie i, wenn i<=0 Dann
Für < variable > von < ersteWert > bis < letzteWert > [in Schritten von
< pas >
< Anweisungen >
< Variable > Suivant
Die Schleife Für ändert den Wert des Zählers <variable> zwischen <erste Wert> und
<dernière Wert>. Der <schritt> ist optional und ermöglicht die Angabe der Variation des Zählers zwischen
Jede Iteration, der Standardwert ist 1 und entspricht daher einer Inkrementierung. Jede Schleife
pour » vielleicht mit einer while-Schleife umgeschrieben. Wir schreiben es folgendermaßen um :
< Variable > ←< premierevaleur >
Solange < variable > <> < dernierevaleur > + < pas >
< Anweisungen >
< Variable > < variable > + < pas >
Fintantque
Die Schleife initialisiert den Zähler <variable> mit dem <ersten Wert>, und solange die
Der letzte Wert wurde nicht erreicht, die <Anweisungen> werden ausgeführt und der Zähler wird erhöht.
de <pas> wenn der Schritt positiv ist, von -<pas> wenn der Schritt negativ ist.
obwohl man eine Schleife verwendet, wenn man beim Betreten der Schleife weiß, wie viele Iterationen
devront gemacht werden. Zum Beispiel, verwenden Sie keine Schleife, um eine Eingabe zu steuern!
Bemerkungen
Die Auswahlkriterien sind von zwei Arten:
Die einfachen Bedingungen
Die einfachen Bedingungen bestehen im Vergleich von zwei Ausdrücken desselben Typs.
Der Ausdruck ist eine Kombination aus Buchstaben, Zahlen und Operatoren.
Beispiel eines Ausdrucks
1. A > B
2. Opérateur = "+ "
3. D>0
Die komplexen Bedingungen
Die Bedingungen bestehen aus mehreren einfachen Bedingungen, die durch die Operatoren miteinander verbunden sind.
Die Verwendung von Klammern ermöglicht es, mögliche Prioritätsprobleme zu lösen (a<0 und b>1)
ou (a>0 und b>3) ist wahr, wenn mindestens eine der Bedingungen wahr ist.
Verschachtelte Schleifen (Eine Schleife enthält andere Schleifen)
Es gibt nur einen Block von Anweisungen, der in einer Schleife wiederholt werden kann. Aber der Block kann sich selbst sein.
bestehend aus einer oder mehreren Schleifen. Man spricht dann von geschachtelten Schleifen. Syntax für zwei
verschachtelte FOR-Schleifen
<Anweisungen1>
j folgend i folgend
Début
Für I von 1 bis 3
Für J von 1 bis 10
SchreibenIch*J
J folgend
Ich folgend
Ende
NB :
Für jede Iteration von i (Zählvariable der äußeren Schleife) ist alles zugeordnet
les itérations de j (variable compteur la boucle interne).
Die "Für"-Schleife kann die "Während"-Schleife enthalten; Die Schleife "solange"
»kann die Schleife „Für“ enthalten, die Schleife „Wiederholen“ kann die Schleife „
solange » ; Etc.Alles hängt vom zu lösenden Problem ab.
Beispiel 1: Wir möchten die Multiplikationstafeln der Zahlen von 1 bis 9 erhalten.
Jeder Tisch muss so präsentiert werden wie dieser Tisch der 5:
1x5=5
2 x 5 = 10
3 x 5 = 15
…….
10 X 5=50
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
30
Lösung
Variablen i, j als Ganzzahl für i von 1 bis 9
Für j von 1 bis 10
Schreiben Sie i, "X ", j, "= ", i*j j gemäß i folgend
Fin
NB: Es ist das aufgestellte Problem, das den Programmierer zur Verwendung von Schleifen leiten sollte.
verschachtelt.
2.10 Die Unterprogramme (Die Funktionen und Prozeduren)
Funktionen und Prozeduren ermöglichen es, ein komplexes Programm in eine Reihe zu unterteilen.
einfachere Unterprogramme, die in kleinere Fragmente zerlegt werden können,
so weiter.
Es ist oft notwendig, um zu vermeiden, dass derselbe Code mehrmals geschrieben wird, Vorbereitungen zu treffen.
NB :
Damit der Code leicht wiederverwendbar ist, müssen die Werte, die bearbeitet werden,
procédures et fonctionspeuvent être passées en paramètres au moment de l’appel de la
procédure ou de la fonction.
Bei der Deklaration des Verfahrens oder der Funktion müssen Sie die Liste der
Parameter, die erwartet werden. Diese Liste befindet sich zwischen den Klammern von der
Deklaration des Verfahrens oder der Funktion. Sie müssen für jedes angeben
Parameter Sonname und seinen Typ.
Wenn mehrere Parameter erwartet werden, sollten sie durch Kommas getrennt werden.
2.10.1 Die Verfahren
Ein Verfahren ist eine geordnete Folge von Anweisungen, die keinen Wert zurückgibt (Block
von Anweisungen benannt und parametriert).
Ein Verfahren ist ein benannter und parametrisierten Block von Anweisungen, der eine bestimmte Aufgabe ausführt.
Jede Prozedur hat einen Namen, wir verwenden diesen Namen, um die enthaltenen Anweisungen auszuführen.
das Verfahren. Die Klammern nach dem Namen werden verwendet, um die Eigenschaften der zu spezifizieren
Parameter, die beim Aufruf übergeben werden. Die Klammern sind in der Deklaration obligatorisch.
die Variable, auch wenn kein Parameter für das Verfahren erforderlich ist.
Ex1 : Créer l’algorithme d’un programme affichant un message passé en paramètre en utilisant
ein Verfahren.
Prozedur ZeigeHallo ( nachricht in Zeichen)
Nachricht schreiben
Fin Verfahren
Ex2 : Algorithmus zur Anzeige von Werten, die durch Parameter übergeben werden, unter Verwendung einer Prozedur
b) Exemples :
Ex1 : Funktion mit Parametern
Funktion Nachfolger (Variable x in Numerisch) in Numerisch
Renvoyer (x + 1)
Fin fonction
Diese Funktion "stellt" x + 1 her. Man sagt, dass diese Funktion x + 1 zurückgibt (oder zurückliefert).
Sobald die Funktion aufgerufen wird, wird successeur(x) durch das zurückgegebene Ergebnis ersetzt.
Funktion.
Ex2 : Funktion Ohne Parameter
Funktion Summe () in Numerisch
Variablen Nbr1, Nbr2 in numerisch
Ecrire "Entrer le Premier nombre"
Lesen Nr. 1
Geben Sie die zweite Zahl ein
Lire Nbr2
Renvoyer (Nbr2 +Nbr1)
Fin Funktion
c) Aufruf der Funktion
Wie für das Verfahren erfolgt der Aufruf der Funktion durch ihren Namen
Beispiel: Rufen wir die Funktion Nachfolger in der Hauptfunktion auf
Variable Name in Numeric
Beginn
Geben Sie die Zahl ein, deren Nachfolger Sie suchen:
LIRE Anzahl
Schreibe "Der Nachfolger von :", zahl, " ist", nachfolger(zahl)
Fin
NB: Einige Behandlungen können nicht von einem Algorithmus durchgeführt werden, so gelehrt er auch sein mag. Andere
ne peuvent l’être qu’au prix de souffrance. Dans ce cas il faut utiliser les fonctions prédéfinies
Bereitgestellt durch die Programmiersprache.
In C(sin, cos, sqrt, acos, asin, tan, pow, …..) in VBA(len, right, left, mid, mod, usw) Ex ;
NB :
Eine Funktion kann einen bestimmten Typ als Parameter entgegennehmen und einen anderen Typ zurückgeben.
Aufmerksamkeit :
Die Indizes von Arrays beginnen normalerweise bei 0 und nicht bei 1 in den meisten
Programmiersprache.
Angenommen, wir benötigen in einem Programm, um die Noten von 20 Schülern zu speichern.
Wir konnten immer eine Variable verwenden, die nacheinander den Wert von Noten annimmt.
Wenn es also notwendig ist, diese Werte gleichzeitig zu haben, können wir immer
verwenden Sie 20 verschiedene Variablen, die beispielsweise benannt sind:
anzuwenden eine Behandlung auf das Gesamte oder auf einen Teil dieser Werte. Stellen Sie sich vor
durch eine Ordnungsnummer, die wir Index nennen; das eindimensionale Array ähnelt tatsächlich der
mathematische Vorstellung von Vektor;
In allen Sprachen muss der Übersetzer (Compiler oder Interpreter) unbedingt
die Anzahl der Elemente eines Arrays kennen (man sagt auch seine Größe).
Syntax
Note (1) Note (2) …….. Hinweis (10) bezeichnen die Elemente der Tabelle.
oft indizierte Variablen.
Anfang
Tab(1) 1
Tab(2) 2
Tab(3) 3
Tab(4) 4
Tab(5) 5
Fin
Seine Ausführung platziert die Elemente in den 5 Elementen des Arrays tab die Werte
1 2 3 4 5
Diese Zuweisung kann vereinfacht werden, indem eine Schleife verwendet wird;
Variable i ganzzahlig
Tabelle Tab (5) in numerisch
Beginn
Tab(1) 1
Tab(2) 2
Vom 3. bis 8.
Tab(i) Tab(i-1)+Tab(i-2)
ich folgend
Pour i allant de 1 à 8
Schreibe Tab(i) i nach
Fin
2.
Variable i ganzzahlig
Tabellenzahl (5) in numerisch
Beginn
Name (1) 1
Für i von 2 bis 6
Nombre (i) Tab (i-1) +2
ich folgend
Für i von 1 bis 6
Schreibe Anzahl (i) i folgend
Fin
2.11.1.2. Die zweidimensionalen Tabellen
Die zweidimensionale Tabelle (mit „zwei Indizes“): sie ist dem vorherigen näher als
die übliche Vorstellung, die man von dem Wort "Tabelle" hat, nämlich eine Reihe von Zeilen und Spalten;
Diesmal wird jeder Wert im Array durch zwei Indizes gekennzeichnet.
Student
Jean 12 13 12 Hinweis(0,2)
René 13 23 5
Patient 9 3 12 Note(0,0)
René 13 14 12
(Die Deklaration von Tabellen variiert von einer Sprache zur anderen).
Syntax
Hinweis(0,1) 18
Hinweis(0,2) 8
Hinweis(1,0) 19
Hinweis(1,1) 10
Hinweis(1,2) 10
Hinweis(2,0) 19
Hinweis(2,1) 10
Hinweis(2,2) 10
Fin
Ex2 : Zuweisung mit Schleife
Sei das folgende Programm
Tabellennota(2,3) in numerisch
Beginn
Hinweis(1,1) 10
Hinweis(1,2) 10
Hinweis(1,3) 10
Hinweis(2,1) 10
Hinweis(2,2) 10
Hinweis(2,3) 10
Das Ende
Dieses Programm kann auf diese Weise unter Verwendung der 'für'-Schleife umgewandelt werden
Variable i, j in Ganzzahl
Anfang
Für i von 1 bis 2
Für j von 1 bis 3 Hinweis(i,j) 10 j folgend i folgend
Fin
Algorithmus
Fin
NB :
Der Hauptspeicher, der von den Programmen verwendet wird, ist in Bytes unterteilt. Jeder dieser
Octette wird durch eine sequenzielle Nummer bezeichnet, die Adresse genannt wird. Nach Konvention wird eine Adresse notiert
0x3fffd11
0x3fffd12
0x3fffd13
0x3fffd14
0x3fffd15
Eine Variable deklarieren bedeutet, einem Bereich des Speichers einen Namen (den Bezeichner) zuzuweisen.
0x3fffd12
0x3fffd13
0x3fffd14
18
Die Adresse, die in einem Zeiger enthalten ist, ist die einer Variablen, die als gewählte Variable bezeichnet wird.
Es wird gesagt, dass der Zeiger auf die Variable zeigt, deren Adresse er enthält.
Ein Zeiger ist mit einem Variablentyp verbunden, auf den er zeigen kann. Zum Beispiel,
Ein Zeiger auf einen Ganzzahl kann nur auf Ganzzahl-Variablen zeigen.
NB. :
- Ein Zeiger ist selbst eine Variable und hat daher eine Adresse.
- Es ist wichtig, die Adresse der Zeigervariable nicht mit der Adresse, die darin enthalten ist, zu verwechseln.
Zentrale. Dieser Speicher besteht aus Bytes, die eindeutig identifiziert werden durch einen
Nummer, die wir anrufen Adresse.
P
P^
A
Il Pointe.
a) Deklaration eines Zeigers
Variable <Nom_pointeur> als Zeiger auf <Type_Pointé>
P^.Nächster Ermöglicht den Zugriff auf das nächste Element in einer Liste.
• Es ist oft notwendig zu unterscheiden, ob ein Zeiger auf eine Variable verweist oder nicht.
keiner. Wir werden uns darauf einigen, einen Wert vom Typ Zeiger zu spezifizieren, wir werden nennen
nil (Adressewert Nil).
• Wenn P1 und P2 Zeiger sind
Wenn P1 auf eine Variable v vom Typ T zeigt und wir wollen, dass P2 auf dieselbe Variable v zeigt
vom Typ T. Man kann diese Notation verwenden.
P2 P1
Wenn P ein Zeiger ist und wir schreiben, dass P keine Variable bezeichnet.
P nil
Wenn P keinen nil-Wert enthält, schreiben wir
P ≠ nil
• Freigabe P: Diese Anweisung löscht nicht den Zeiger, sondern die angesteuerte Variable.
NB :
Wenn der Zeiger vom Typ T ist, wird er nur auf Variablen vom Typ T zeigen.
2.12 Les enregistrements
a) Definition und Begriff
Ein Datensatz ist eine Sammlung von Informationen, die in Zugriffseinheiten organisiert ist, die als
Eine Datei wird immer auf einem externen Medium zur Hauptspeicher gespeichert und alles
Das Verarbeitungsprogramm wird Informationen mit der Datei austauschen, wobei die Zugangseinheit der Artikel ist.
Wir lesen die Datei Artikel für Artikel. Wir schreiben sie Artikel für Artikel.
1. Erklärung
In einem Programm wird eine Datei durch eine Variable bezeichnet, die wir im Abschnitt deklarieren.
des Variable (Es ist eine besondere Variable, die keinen Speicherplatz darstellt, sondern
der einen Raum in einem Speichermedium darstellt).
Um eine strukturierte sequenzielle Datei zu deklarieren, muss der Typ der Artikel angegeben werden.
(Aufnahmen), die diese Datei zusammensetzen. Am häufigsten sind die Artikel vom Typ
Anmeldung, im Voraus erklärt.
}
Schritte zur Verwendung einer Aufnahme
a.Spezifikation der Aufzeichnung
Der Aufzeichnungs-Spezifizierer zeigt, wie die Struktur organisiert ist: Er spezifiziert
die Mitglieder der Registrierung.
Registrierungsteil
var modelnummer en ganzzahl
var Teilenummer als Ganzzahl
var cost en num
finAufzeichnung
Diese Konstruktion ist als Erklärung einer Aufzeichnung bekannt.
Algorithmus. Zunächst einmal sollten wir wissen, dass wir diese Art von Konstruktion nur verwenden, wenn wir
Lernen wir im Voraus die genaue Anzahl der Werte kennen, die der Datentyp annehmen kann. Hier ist
Ein Algorithmus, der einen Datentyp verwendet, dessen Werte die Wochentage sind.
//zeigt die aufgezählten Typen
Algorithmus EnumerierenTyp
enumerer jour_de_la_semaine{Dim,Lun,Mar,Mer,Jeu,Ven,Sam}
var diff in numerisch
Debüt
jour_de_la_semaine jour1, jour_de_la_semaine jour2
tag1 Lun
Tag 2 März
diff tag2-tag1
Die Tage, die sich in der Mitte befinden, sind
Wenn (Tag1 < Tag2) dann
Der Tag1 geht dem Tag2 voraus
}
Enumeriert bedeutet, dass alle Werte aufgezählt werden (d. h. einzeln gezählt).
Sequenzierung der Anweisungen und Bereitstellung der notwendigen Daten für die Ausführung
von ihren Aufgaben.
präsentieren als eine Veränderung der Interaktion der Objekte. Wenn es notwendig ist, eine
Änderung der Daten, nur das betroffene Objekt (das diese Daten kapselt) wird geändert.
Alle zu ändernden Funktionen sind eindeutig identifiziert: Sie befinden sich in diesem gleichen Objekt
das sind seine Methoden.
In einem strukturierten Ansatz führt die Entwicklung der Bedürfnisse oft zu einer
Degeneration oder eine tiefgreifende Infragestellung, denn der Zerfall der Einheiten von
Behandlungen (vom Hauptprogramm zu den Unterfunktionen) werden direkt durch diese diktiert.
Bedürfnisse.
Andererseits führt eine Änderung der Daten in der Regel zu einer Änderung
einer wichtigen Anzahl von verstreuten Funktionen, die in der Hierarchie schwer zu identifizieren sind
von dieser Zerlegung.
3. 1. Die Klassen
Notion
Eine Klasse definiert die Struktur der besonderen Daten sowie die Daten
die es ermöglicht, sie zu manipulieren.
Eine Klasse kann als eine Form betrachtet werden, aus der man erstellen kann
Objekte. Eine Klasse beschreibt die interne Struktur eines Objekts: die Daten, die sie zusammenfasst, die
Aktionen, die er mit seinen Daten durchführen kann. Aus einer Klasse werden erzeugt.
Die realen Objekte, die Instanzen der betrachteten Klasse genannt werden.
Eine Klasse ist eine Menge von Objekten, die gemeinsam haben:
-Die gleichen Methoden
- Die gleichen Arten von Attributen
Inhalt der Klasse
b.1 Eine Klasse enthält:
•DesAttribute (oder Felder, oder Instanzvariablen).
Das Attribut wird als die interne Variable der Klasse definiert.
Die Attribute der Klasse beschreiben die Struktur ihrer Instanzen (die Objekte).
•DesMethoden (oder Operationen der Klasse).
Eine Methode wird als eine Funktion oder ein Verfahren definiert, das mit einem
Klasse.
Die Methoden beschreiben die Operationen, die auf Instanzen der Klasse anwendbar sind.
Die Attribute und Methoden einer Klasse sind Mitglieder der Klasse.
Hinweis:
Ein Attribut oder eine Methode gelten als privat, wenn ihre Verwendung außerhalb verboten ist.
der Klasse. Das Zeichen, das den privaten Charakter eines Attributs kennzeichnet, ist das Zeichen
weniger"-"im Klassendiagramm.
Ein Attribut oder eine Methode wird als öffentlich bezeichnet, wenn ihre Verwendung erlaubt ist in
außerhalb der Klasse. Das Zeichen, das den privaten Charakter eines Attributs kennzeichnet, ist das
Struktur und ihr Verhalten, dann diese Klassen instanziieren, um reale Objekte zu erstellen.
Ein reales Objekt wird im Computer durch einen Speicherbereich materialisiert, den die Daten
und sein Code einnimmt.
NB: Es wird möglich sein, die Anweisungen außerhalb der Klassendeklaration zu schreiben, indem man angibt
selbstverständlich der Name der Klasse.
Eine Klasse repräsentiert die Struktur eines Elements, während das Objekt ein
Exemplar erstellt nach dem Modell dieser Struktur.
immaterielle Objekte, die sich durch eine Identität, signifikante Zustände und durch ein
Verhalten.
Ein Objekt wird durch mehrere Begriffe charakterisiert:
Die Identität – Das Objekt hat eine Identität, die es von anderen unterscheidet.
Objekte. Diese Identität wird in der Regel durch eine daraus abgeleitete Kennung aufgebaut.
natürlich des Problems (zum Beispiel kann ein Produkt durch einen Code identifiziert werden, ein
Auto durch eine Seriennummer, usw.)
Die Attribute – es handelt sich um die Daten, die das Objekt charakterisieren. Es sind Variablen.
Bestandsaufnahme von Informationen über den Zustand des Objekts. Eine Eigenschaft ist entweder ein Attribut (ein
Daten, die den Zustand des Objekts charakterisieren, grundlegende verhaltensbezogene Entität des Objekts.
Die Methoden – Die Methoden eines Objekts kennzeichnen sein Verhalten, es ist-
die Gesamtheit der Handlungen (genannt Operationen), die das Objekt durchführen kann.
Diese Operationen ermöglichen es dem Objekt, auf äußere Anforderungen zu reagieren (oder
d’agir sur les autres Objekte). Zudem sind die Operationen eng mit den Attributen verbunden, da
ihre Aktionen können von den Werten der Attribute abhängen oder diese ändern.
Es ist möglich, dass mehrere Variablen auf dasselbe Exemplar verweisen.
Algorithmus Zwei-Variablen-Für-Ein-Datum
Variables : d1,d2: Date
Anfang
d1 neues Datum(23,4,2003) d2
d1
Fin
Les constructeurs sont des méthodes particulières d’une classe par différents aspects.
Der Konstruktor ist eine Methode, die immer denselben Namen wie die Klasse selbst trägt.
Er wird im Code nie ausdrücklich genannt, sondern auf implizite Weise.
Erstellung der Instanz der Klasse.
Le Rôle du constructeur est principalement d’initialiser des champs d’une instance
Klassen.
NB :
Wie jede klassische Methode kann ein Konstruktor auf Parameter warten.
Der Konstruktor, der keine Parameter erwartet, wird als der bezeichnet
Standardkonstruktor.
Der zweite Konstruktor besitzt 3 Ganzzahlen als Parameter, nämlich die
Tag, Monat und Jahr
Der Operator New erstellt ein Objekt
Wenn die Klasse bereits erstellt ist und der Bezeichner der Instanz dem Algorithmus bekannt ist.
Es ist dann notwendig, dieses Objekt tatsächlich zu erstellen und ihm Speicherplatz zuzuweisen.
Variable newnomDelaClasse()
Variable neuenNamenDerKlasse(Parametern)
eine neue Klasse basierend auf den bestehenden Klassen. Wir sprechen von einfacher Vererbung.
Wenn eine Unterklasse nur eine Oberklasse hat, spricht man von einfacher Vererbung.
wenn eine Kinderklasse mehrere Kinderklassen hat.
Die Vererbung ist ein Mechanismus zur Übertragung der Eigenschaften einer Klasse.
Attribute und Methoden) zu einer Unterklasse.
NB:
Die Vererbung oder das Konzept der Generalisierung präzisiert für zwei Klassen, dass eine die andere ist
spezialisiert auf die andere: Sie besitzt die gesamten Attribute und Methoden der
Erstere plus ihre eigenen.
Mutterklasse oder Superklasse oder Elternklasse oder Basis-Klasse
Eine Elternklasse, auch Superklasse genannt, ist die Klasse, die das gesamte Erbe überträgt.
sein Eigentum durch Erbschaft
Klasse Kind Oder Unterklasse oder Abgeleitete Klasse
Die Methoden und privaten Attribute der Basisklassen werden ebenfalls von den
abgeleitete Klassen aber nicht zugänglich.
Eine Tochterklasse, auch Unterklasse genannt, ist eine neue Klasse, die definitionsgemäß erworben hat
von der Vererbung alle Attribute und alle Methoden der Elternklasse. Die Tochterklassen
"Spezialisieren" die Mutterklasse.
Der Operatorsuper
Der Super-Operator ermöglicht den Zugriff von der Unterklasse auf die Attribute und die
Methoden (nicht privat) der Elternklasse.
Der Beschützte
Eine neue Sichtbarkeit erscheint mit der Vererbung. Das Attribut und die geschützte Methode
sind öffentlich für die Klassen Tochter (die sie also direkt verwenden kann) und privat für
die anderen Klassen und Algorithmen.
Die geschützten Methoden und Attribute werden mit dem Symbol # vorangestellt.
Eine abstrakte Klasse
Eine abstrakte Klasse kann nicht instanziiert werden. Sie ist mit dem Ziel entworfen worden, um ...
Anfang
Fin
Beispiele: Sei die Klasse Student, die das Feld (coteMath) hat und von der Klasse erbt.
personne ayant comme champs(nom,prenom,age)
NB :
• Es wird empfohlen, dass der Programmierer einer Klasse den Namen und die Art der ...
Attribute dieser. Dennoch ist es häufig erforderlich, den Benutzern Berechtigungen zu gewähren.
einfache Methoden zum Zugriff auf diese Attribute (zum Lesen oder Modifizieren).
Die Accessoren sind die einfachsten Methoden, um auf die Attribute zuzugreifen.
von außerhalb der Klasse. Die Zugriffsmodifizierer, wenn sie für eine Klasse verfügbar sind
stellen ein Mittel dar, um den Wert eines Attributs abzurufen oder zu ändern.
• Ein Lesezugriff ist eine Methode, um den Wert eines zu kennen
Attribut
• Ein Schreibzugriff ist eine Methode, die es ermöglicht, den Wert einer
attribut, indem er den neuen Wert als Parameter übergibt.
In der objektorientierten Programmierung sind die MethodengetNom, getPrenom und getAge sind
sagen Sie "Lesezugriffe" und die Methoden setNom, setPrenom und setAge sind
sogenannte "Schreibzugriffe".
zwei Aspekte: der seiner zugehörigen Klasse und der seiner Mutterklasse.
Exemple :
Ein Student ist eine Person, mit Spezifitäten, aber vor allem ist er eine
Person. Eine Instanz der Klasse Etudiant kann als einfache Person verwendet werden.
(das ist der Polymorphismus).
Algorithmus Nutzung_Polymorphismus
Beginne
P1 neue Person()
E1 neuer Etudiant ()
P1 E1
Ende
Weitere Begriffe im Zusammenhang mit Polymorphismus (Überladung und Neu-Definition von
Methoden)
• Überladung von Methoden
Die Überladung ist die Fähigkeit der Objekte einer gleichen Klassenhierarchie zu antworten
anders als eine Methode mit demselben Namen, aber mit unterschiedlichen Parametern.
Je nach Art und Anzahl der Parameter beim Aufruf wird die entsprechende Methode
wird ausgewählt.
Der Überladungsmechanismus ermöglicht es, den Namen einer bereits definierten Methode für eine
eine andere Methode, die sich durch ihre Parameter unterscheidet.
Sie hat alles geerbt und dabei die gleiche Signatur () der Methode beibehalten.
Die Substitution ermöglicht es, geerbte Methoden oder Eigenschaften einer Klasse neu zu definieren.
Basis. Die überschriebenen Methoden können die Anzahl der Parameter und den Parametertyp akzeptieren.
dass die Methode oder Eigenschaft der Klasse.
Beispiel
Beispiel:
Klasse Person
Debüt
Namen schreiben
Alter schreiben
Fin
3.6L'Inkapselung
Die Kapselung ist die Fähigkeit, eine Gruppe zu erstellen und den Zugriff darauf zu steuern.
Elementen. Klassen bieten die zuverlässigsten Mittel, um die Kapselung sicherzustellen.
Die Kapselung ermöglicht es, Informationen und die sie manipulierenden Codes in einer Klasse zu bündeln.
Die Kapselung besteht darin, die Implementierungsdetails eines Objekts zu verbergen, indem man festlegt
eine Schnittstelle. Die Schnittstelle ist die äußere Ansicht eines Objekts, sie definiert die zugänglichen (angebotenen) Dienste.
den Benutzern des Objekts. Die Kapselung erleichtert die Entwicklung einer Anwendung, da sie stabilisiert
Die Verwendung von Objekten: Man kann die Implementierung von Attributen eines Objekts ändern, ohne zu ändern
seine Schnittstelle und damit die Art und Weise, wie das Objekt verwendet wird. Die Kapselung garantiert die Integrität der
Daten, da sie den direkten Zugang zu den Attributen der Objekte untersagen oder einschränken kann.
Die Vorteile der Kapselung sind:
Vereinfachung der Nutzung von Objekten,
Bessere Robustheit des Programms,
Vereinfachung der globalen Wartung der Anwendung.
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
57
NB: Eine grundlegende Regel der Kapselung besagt, dass die Daten einer Klasse nicht
nur durch Methoden oder Verfahren von Eigentum manipuliert werden. Diese Technik wird oft
genannt Datenverdeckung. Sie gewährleistet die Betriebssicherheit Ihres Codes in
indem sie die internen Details der Klasse verbergen und somit verhindern, dass sie auf eine Weise verwendet werden
unangemessen.
3.7 Weitere Konzepte der objektorientierten Programmierung
Unterschrift
Die Signatur einer Methode repräsentiert die Genauigkeit ihres Namens, des Typs ihrer Argumente und
der zurückgegebene Datentyp.
•Message
Eine Nachricht ist eine Anfrage zur Aktivierung einer Methode, die an ein Objekt gesendet wird.
Methoden
Eine Methode ist eine Funktion oder Prozedur, die mit einem Objekt verknüpft ist und bei Empfang ausgelöst wird.
d’un message particulier : la méthode déclenchée correspond strictement au message reçu. La liste
die im Rahmen eines Objekts definierten Methoden stellen die Schnittstelle des Objekts für den Benutzer dar: das sind
les messages que l’objet peut comprendre si on les lui envoie et dont la réception déclenche les
entsprechende Methoden.
Der Zerstörer
Zerstörer sind andere besondere Methoden einer Klasse. Wie die Konstruktoren,
Sie werden implizit aufgerufen, jedoch nur beim Zerstören einer Klasseninstanz. Die
signature du destructeur est imposée.
EXERCICES
1. Indem Sie wie oben beschrieben verfahren, sagen Sie, welche Werte die Variablen a, b und c haben werden, nachdem
2.Qu’obtiendra-t-on dans les variables a et b, après exécution des instructions suivantes (dans
(Diese Reihenfolge) ? a ← 5 b ← a + 4 a ← a + 1 b ← a - 4
3.
a)Qu’obtiendra-t-on dans les variables n1 et n2 après exécution des instructions ?
n1← 5 n2 ← 7 n1 ← n2 n2 ← n1
b) diesel Frage mit den Anweisungen: n1 ← 5 n2 ← 7 n2 ← n1 n1 ← n2
4. Was werden die Werte der Variablen A und B nach Ausführung der folgenden Anweisungen sein?
Algorithmus Zuweisung1
Variablen A, B und Integer
Beginn
A← 1
B← A + 3
A ← 3 Fin
5. Was werden die Werte der Variablen A, B und C nach der Ausführung der folgenden Anweisungen sein?
?
Algorithmus Zuweisung1
Variablen A, B, C als Ganzzahl
Anfang
A← 5
B← 3
C← A + B
A←2
C ← B – A Ende
6. Was werden die Werte der Variablen A und B nach der Ausführung der folgenden Anweisungen sein?
Algorithmus Zuweisung3
Variablen A, B und Ganzzahl
Anfang
A← 5
B← A + 4
A← A + 1
B← A –4
Fin
7. Was werden die Werte der Variablen A, B und C nach der Ausführung der folgenden Anweisungen sein?
?
Algorithme Affectation4
Variablen A, B, C in Ganzzahl
Anfang
A← 3
B← 10
C ← A + B
B←A+B
A ← C Ende
8. Was werden die Werte der Variablen A und B nach der Ausführung der folgenden Anweisungen sein?
Algorithme Affectation4
Variablen A, B und Ganzzahl
Beginn
A← 5
B← 2
A← B
B← A
Fin
9. Schreiben Sie einen Algorithmus, der die Werte von zwei reellen Variablen A und B austauscht.
10. Eine Variante des Vorherigen: Wir haben drei Variablen A, B und C. Schreiben Sie einen Algorithmus.
überträgt den Wert von A an B, den Wert von B an C und den Wert von C an A (immer welche auch
Seien die vorherigen Inhalte dieser Variablen.
11.Welches Produkt erzeugt der folgende Algorithmus?
Algorithme Affectation 15
Variablen A, B, C und Zeichen
Anfang
A← "423"
B← "12"
C← A & B Fin
14.Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA,
und der den Gesamtpreis angibt, wird die Mehrwertsteuer im Gesamtbetrag enthalten sein. Stellen Sie sicher, dass
Eine Zahl ist positiv oder negativ (wir lassen den Fall aus, in dem die Zahl null ist).
16.Einen Algorithmus schreiben, der zwei Zahlen vom Benutzer anfordert und ihn dann informiert, ob ihre
Produkt ist negativ oder positiv (wir lassen den Fall außer Acht, in dem das Produkt null ist). Achtung
Dennoch: Man sollte das Produkt der beiden Zahlen nicht berechnen.
17.Ein Algorithmus schreiben, der eine Zahl vom Benutzer anfordert und ihn dann informiert, ob diese
Die Zahl ist positiv oder negativ (diesmal schließen wir die Behandlung des Falls ein, in dem die Zahl gleich ist)
null).
18.Einen Algorithmus schreiben, der das Alter eines Kindes vom Benutzer abfragt. Anschließend informiert er ihn darüber.
sa Kategorie :
• "Poussins" von 6 bis 7 Jahren
• "Pupille" von 8 bis 9 Jahren
• Minime von 10 bis 11 Jahren
• »Kadett« über 12 Jahre
Kann man mehrere äquivalente Algorithmen entwerfen, die zu diesem Ergebnis führen?
19.Ein Algorithmus schreiben, der eine Zahl zwischen 10 und 20 abfragt, bis...
Die Antwort passt. Bei einer Antwort von mehr als 20 werden wir eine Nachricht anzeigen: „
„Kleiner!“, und umgekehrt, „Größer!“, wenn die Zahl weniger als 10 ist.
20. Schreiben Sie einen Algorithmus, der eine Startzahl anfordert und dann die Tabelle von
Multiplikation dieser Zahl, wie folgt dargestellt (Fall, in dem der Benutzer die Zahl 7 eingibt)
Tisch von 7:
7x1=7
7 x 2 = 14
7 x 3 = 21
…
7 x 10 = 70
21. Schreiben Sie einen Algorithmus, der eine Startzahl abfragt und die Summe der ganzen Zahlen berechnet.
bis zu dieser Zahl. Zum Beispiel, wenn man 5 eingibt, muss das Programm berechnen:
1 + 2 + 3 + 4 + 5 = 15
NB: Wir möchten nur das Ergebnis anzeigen, nicht die Berechnung.
22. Schreiben Sie einen Algorithmus, der nacheinander 20 Zahlen vom Benutzer anfordert und ihm sagt
Dann, welcher war der größte unter diesen 20 Zahlen:
Entrez le nombre numéro 1 : 12 Entrez le nombre numéro 2 : 14 etc.
Geben Sie die Nummer 20 ein: 6
Die größte dieser Zahlen ist: 14
23. Schreibe einen Algorithmus, der ein Array mit 7 numerischen Werten deklariert und auffüllt, indem er sie
vom Benutzer.
25. Was produziert der folgende Algorithmus?
Algorithmus Tabelle1
Tabelle Nb(5) in Ganzzahl
Variable i als Ganzzahl
Beginn
Für i ← 1 bis 5
Nb(i) ← i * i
ich folgend
Für i ← 1 bis 5
Schreiben Sie Nb(i)
ich folgend Ende
26. Was produziert der folgende Algorithmus?
Algorithmus Tabelle2
Tabelle N(6) in Ganzzahlen Variablen i, k in Ganzzahlen
Beginn
N(1) ← 1
Für k ← 1 bis 6
N(k) ← N(k-1) + 2
k Weiter Für i ← 1 bis 6
Schreibe N(i)
ich folgen
Fin
Kann man diesen Algorithmus mit demselben Ergebnis vereinfachen?
27.Welches Ergebnis liefert der folgende Algorithmus?
Algorithmus Tabelle3
Tableau Suite(7) en Entier
Variable i als Ganzzahl
Anfang
Suite(1) ← 1
Suite(1) ← 1
Für i ← 2 bis 7
Suite(i) ← Suite(i-1) + Suite(i-2)
i folgend Für i ← 1 bis 7
Ecrire Suite(i) i suivant Fin
28.Schreiben Sie einen Algorithmus, der es dem Benutzer ermöglicht, eine beliebige Anzahl von Werten einzugeben,
die in einem Array gespeichert werden müssen. Der Benutzer muss also zunächst eingeben
Anzahl der Werte, die er eingeben wird. Anschließend wird er diese Eingabe vornehmen. Schließlich, sobald die
Eingabe abgeschlossen, das Programm zeigt die Anzahl der negativen Werte und die Anzahl der
positive Werte.
29. Schreiben Sie einen Algorithmus, der ein Array aus zwei Arrays gleicher Länge erstellt.
zuvor eingegeben. Die neue Tabelle wird die Summe der Elemente der beiden Tabellen sein.
Abfahrt.
30. Schreiben Sie einen Algorithmus, der die Eingabe beliebiger Werte ermöglicht, die
müssen in einem Array gespeichert werden. Der Benutzer muss also zunächst die Eingabe starten.
Anzahl der Werte, die er eingeben möchte. Alle Werte müssen anschließend erhöht werden.
de 1, und die neue Tabelle wird auf dem Bildschirm angezeigt.
31. Schreiben Sie einen Algorithmus, der es dem Benutzer ermöglicht, immer nach demselben Prinzip einzugeben.
eine bestimmte Anzahl von Werten. Das Programm gibt, nachdem die Eingabe abgeschlossen ist, den höchsten Wert zurück.
große Wert, indem wir angeben, welche Position sie im Tisch einnimmt. Man wird darauf achten
die Eingabe zunächst vorzunehmen und dann den größten Wert zu suchen
Tabelle zu einem späteren Zeitpunkt.
32. Welches Ergebnis wird dieser Algorithmus produzieren?
Algorithme Tableau6
Tabelle X(2, 3) in Ganzzahl
Variablen i, j, val in Ganzzahl
Beginn
Val ← 1
Für i ← 1 bis 2
Für j ← 1 bis 3
X(i, j) ← Wert
Val ← Val + 1 j Suivant i Suivant
Für i ← 1 bis 2
Für j ← 1 bis 3
Schreibe X(i, j)
j Nächste i Nächste Ende
Algorithmus Tableau7
Tabelle X(2, 3) in Ganzzahl
Variablen i, j, val in Ganzzahl
Anfang
Val ← 1
Für i ← 1 bis 2
Für j ← 1 bis 3
X(i, j) ← Val
Val ← Val + 1 j Nächster i Nächster Für j ← 1 bis 3
Für i ← 1 bis 2 Schreiben X(i, j) i Nächster j Nächster
Fin
34. Welches Ergebnis wird dieser Algorithmus produzieren?
Algorithmus Tabelle9
Tabelle T(4, 2) in Ganzzahl
Variablen k, m, und Entier
Anfang
Für k ← 1 bis 4
Für m ← 1 bis 2
T(k, m) ← k + m m Nächster k Nächster
Für k ← 1 bis 4
Für m ← 1 bis 2
Ecrire T(k, m) m Folgt k Folgt
Fin
35. Welches Ergebnis kann jeder dieser Algorithmen liefern?
a)Algorithmus für
Variable X, Y in Ganzzahlen
Anfang
Für X von 1 bis 3
Für Y von 1 bis 3
Schreiben X+1*Y
Y suivant
Xfolgend
Fin
b)Algorithmus wiederhole Variable X als Ganzzahl
Anfang
X90
Wiederholen
Schreibe X
X X+1
Bis zu(X>10)
Fin
c) Algorithmus solange
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
64
d) Algorithmus Multiplikation
Variable X, Y in Ganzzahlen
Anfang
Für X von 1 bis 3
Für Y von 1 bis 4
Schreiben X-Y
Y folgend
X folgt
Fin
36.Einen Algorithmus für ein Programm erstellen, das die Summe S von zwei Matrizen A berechnet und anzeigt.
et B.
Sachant, dass A und B Matrizen mit 3 Zeilen und 3 Spalten sind und die Elemente der Matrizen
A und B sind vorher vom Benutzer eingegeben.
Beispiel : Ein
Da der Radius R als Parameter eingegeben wird. Angesichts des Volumens einer Kugel
wird gegeben durch V = 4 R
38.Einen Algorithmus für ein Programm erstellen, das die Summe der geraden ganzen Zahlen anzeigt.
I=C*T*N
Von Ir. Héritier Kangela G2 INFO Algorithmus und Programmiermethode
65
Da der Benutzer das Kapital (C), den Zinssatz (I) und die
Dauer(N)
Hinweis: Für diese Frage können Sie die folgenden Fällen oder verschachtelte Wenn-Anweisungen verwenden.
Algorithmus berechnen
Variablen n, p, q als Ganzzahlen
Anfang
n ← 4,
p←5
q ← 8 machtBerechnungen (n, p+2)
faitCalculs (2*n, q)
Fin
42. Schreibe eine Funktion namens istVokal, die prüft, ob ein übergebenes Zeichen ein vokal ist.
eine Vokale und liefert ein Ergebnis vom Typ boolesch. Schreiben Sie ein kleines Programm, das es verwendet.
43.
Deklarieren Sie eine Variablendeklaration, um das Profil eines Studenten darzustellen, wobei
dass sie die folgenden Informationen enthält: Name, Vorname, Geschlecht (F oder G), Datum von
46. Sei die Struktur Info, die aus dem Namen, der Telefonnummer und der Kartennummer besteht.
bancaire. Schreiben Sie ein Programm, das die Aufzeichnungen für 3 eingibt und dann anzeigt.
Personen.
47. Der Leiter der IT-Abteilung möchte die Bewertung von 6 Kursen in seinem
höhere Institution, wobei die maximalen Punkte für diese Kurse folgendes sind:
1.Der Algorithmus /100 Punkte
2.Die objektorientierte Programmierung /120 Punkte
3.Die Methodologie der Computeranalyse / 80 Punkte
4.Die vergleichende Pädagogik /80 Punkte
Frage
Ein Algorithmus erstellen, der dieses Problem löst
Inhaltsverzeichnis
Die Ziele.................................................................................................................................................II
1. Global ....................................................................................................................................II
2. Spezifisch............................................................................................................................II
BIBLIOGRAPHIE: .....................................................................................................................................III
1.0 NOTION.........................................................................................................................................4
2.1 Der Begriff der Variablen, die Datentypen und die Zuweisungsanweisung..................................... 10
2 .6 2 Anweisungen Zusammengesetzt............................................................................................................. 15
2.7.2 Vergleichsoperator..................................................................................................... 16
2.8 Das Lesen und Schreiben (Um mit Ihrem Programm zu kommunizieren) ........................................... 18
2.9.2 Schleifen.................................................................................................................................. 25
ÜBUNGSAUFGABEN .................................................................................................................................................. 58