Introduction à l'Algorithmique et Delphi
Introduction à l'Algorithmique et Delphi
BTP 04
JIMMY FRANCICE MENAVOARA
IFT TOAMASINA
1 Cours d'Algorithmique
1. Introduction à l'Algorithmique
Un algorithme est une suite d'instructions précises qui doivent être exécutées dans un ordre
spécifique pour atteindre un objectif. Les caractéristiques principales d'un algorithme sont :
4. Structures de Contrôle
Les algorithmes utilisent différentes structures de contrôle pour déterminer le flux d'exécution
:
5.1. Conditionnelle
• Pseudo-code :
Explication : Si a est supérieur à b, alors afficher a, sinon afficher b.
5.2. Boucle
• Pseudo-code :
Pour évaluer la performance d'un algorithme, on utilise souvent les notions de complexité :
7. Algorithmes de Tri
Les algorithmes de tri sont utilisés pour organiser les données. Quelques algorithmes de tri
courants :
• Tri à bulles (Bubble Sort) : Échange successif des éléments adjacents jusqu'à ce que
la liste soit triée.
• Tri par insertion (Insertion Sort) : Insère les éléments dans une sous-liste triée à
chaque itération.
• Tri rapide (Quick Sort) : Divise et conquiert en utilisant un pivot pour partitionner les
éléments.
8. Exercice Pratique
Énoncé : Écrire un algorithme pour trier une liste de nombres en utilisant le tri à bulles.
• Pseudo-code :
• Explication : Compare et échange les éléments adjacents jusqu'à ce que la liste soit
triée.
1.1 9. Conclusion
L'algorithmique est une compétence clé en programmation, car elle permet de résoudre des
problèmes de manière efficace et élégante. La pratique régulière de la conception et de l'analyse
des algorithmes renforce la compréhension et améliore les capacités de programmation.
2 Introduction au Langage Pascal
1. Qu'est-ce que Pascal ?
• Pascal est un langage de programmation structuré développé par Niklaus Wirth dans
les années 1970.
• Il est utilisé principalement pour l'enseignement de la programmation et pour le
développement de logiciels.
• integer : Entier
• real : Nombre à virgule flottante
• string : Chaîne de caractères
4. Opérations de Base
6. Boucles
Boucle repeat…until : Exécute le bloc au moins une fois puis vérifie la condition
7. Procédures et Fonctions
8. Commentaires
La conception visuelle permet aux utilisateurs de disposer l'application et de voir les résultats
du processus avant même de commencer le programme proprement dit. Il y a d'autres
avantages également : pour attribuer une valeur de propriété à un contrôle ou à un élément de
l'application, il n'est pas nécessaire d'écrire plusieurs lignes de code. Il suffit de modifier cette
valeur dans une fenêtre des propriétés. Ce changement générera ou mettra automatiquement à
jour le code.
L'environnement de développement intégré Delphi
L'IDE Delphi facilite la programmation en permettant une interaction directe avec l'interface
graphique et en mettant à jour automatiquement le code associé à ces interactions.
Menu Principal (MainMenu) : Le Menu Principal contient tout ce dont vous avez besoin
pour gérer votre projet. Il est généralement situé en haut de la fenêtre de l'IDE et comprend
plusieurs menus déroulants, tels que :
• Fichier : Pour créer, ouvrir, enregistrer, et fermer des projets et des fichiers.
• Édition : Pour effectuer des opérations d'édition sur le code, comme couper, copier,
coller et annuler.
• Affichage : Pour gérer l'affichage des différentes fenêtres et outils dans l'IDE.
• Projets : Pour gérer les options spécifiques au projet, telles que les configurations et
les paramètres de construction.
• Outils : Pour accéder à des outils supplémentaires comme les paramètres de
l'environnement de développement.
• Aide : Pour obtenir de l'aide et des informations supplémentaires sur Delphi.
Barre d'Outils (ToolBar) : La Barre d'Outils contient des boutons permettant un accès rapide
aux options les plus populaires du Menu Principal. Elle est généralement située juste en
dessous du Menu Principal et offre des raccourcis pour des actions courantes telles que :
1. Sélectionner "Nouveau" :
o Allez dans le menu "Fichier" du Menu Principal.
o Choisissez l'option "Nouveau" dans la liste déroulante.
2. Choisir un Modèle :
o Dans la liste ouverte qui apparaît, sélectionnez "VLC Forms Application —
Delphi" pour créer une nouvelle application Windows avec une interface
graphique.
Lors de l'ouverture d'un nouveau projet ou de l'exécution de Delphi, la disposition typique des
fenêtres est la suivante :
• Objet : Un objet est une entité autonome possédant des propriétés (caractéristiques ou
signes distinctifs) et un ensemble d'actions ou de comportements. Un objet créé peut
être déplacé d'un programme à un autre.
Composants de Delphi
Delphi inclut des centaines d'objets prêts à l'emploi (composants), qui sont présentés dans la
Palette d'Outils (Tool Palette). Ces composants sont regroupés en onglets pour faciliter leur
utilisation.
• Palette d'Outils (Tool Palette) : C'est une fenêtre dans l'IDE où vous trouvez les
composants prêts à l'emploi. Ces composants sont organisés en onglets, chacun
contenant des groupes de composants similaires. Par exemple, vous pourriez avoir des
onglets pour les contrôles visuels (boutons, champs de texte), les composants de base
de données, ou les composants de réseau.
• Onglets de Composants : Chaque onglet regroupe des composants spécifiques en
fonction de leur utilisation. Ces onglets facilitent la recherche et l'ajout de composants
à votre application.
1. Standard :
o Contient les éléments d'interface utilisateur standards que la plupart des
programmes utilisent, comme les boutons, les champs de texte, les étiquettes,
et les cases à cocher. C'est l'onglet le plus couramment utilisé pour ajouter des
contrôles de base à votre application.
2. Additional :
o Inclut des composants supplémentaires qui ne sont pas inclus dans les autres
onglets. Ces composants peuvent offrir des fonctionnalités supplémentaires ou
des options plus spécialisées.
3. System :
o Contient des composants liés au système, comme les contrôles pour la gestion
des processus système ou les composants d'interaction avec le système
d'exploitation.
4. Data Access :
o Regroupe les composants pour accéder et manipuler les données, tels que les
connexions aux bases de données et les composants pour la gestion des
requêtes et des transactions.
5. Data Controls :
o Inclut les contrôles pour afficher et interagir avec les données, comme les
grilles de données, les éditeurs de champs, et les contrôles de navigation dans
les données.
6. Dialogs :
o Contient des composants pour les boîtes de dialogue standard, telles que les
boîtes de dialogue de fichier, les alertes, et les dialogues de confirmation.
Pour commencer, nous travaillerons avec l'onglet Standard de la Palette d'Outils, car il
contient les éléments d'interface utilisateur les plus courants et essentiels pour la plupart des
programmes.
Composants du Formulaire :
• Les zones de texte, les boutons de commande et d'autres contrôles de formulaire sont
appelés composants (Form components) dans Delphi. Dans le programme, le
formulaire et les composants sont considérés comme des objets. La fenêtre avec les
propriétés des composants est appelée Inspecteur d'Objets (Object Inspector).
• Onglet Propriétés :
o Affiche toutes les propriétés disponibles du composant sélectionné. La colonne
de gauche présente la liste des propriétés, tandis que la colonne de droite
montre les valeurs par défaut actuelles.
• Onglet Événements :
o Affiche les gestionnaires d'événements possibles pour le composant
sélectionné. La colonne de gauche contient les noms des événements, et la
colonne de droite affiche les propriétés ou procédures correspondantes.
Arrêter l'Application :
Enregistrement du Projet :
• Tout programme Delphi comprend un grand nombre de fichiers divers, tels que le
fichier de projet, un ou plusieurs modules, etc. Le fichier de projet est généré
automatiquement par l'environnement Delphi et n'est pas disponible pour une édition
manuelle. Il a une extension unique (.dpr) et n'apparaît pas dans l'Éditeur de Code.
• Enregistrer le Projet : Utilisez la commande Save All. Chaque projet doit être
enregistré dans un dossier séparé. Le dossier du projet et les fichiers associés devraient
être organisés correctement pour éviter toute confusion ou perte de données.
• Les noms de fichiers doivent être appropriés et ne pas accepter les noms par défaut.
Les noms de fichiers peuvent contenir uniquement des caractères latins. Les chiffres
peuvent être utilisés dans les noms de fichiers à partir du deuxième caractère. Les
autres symboles ne sont pas valides pour le nommage des fichiers.
• Il est important de donner des noms uniques aux fichiers Project1.dpr et Unit1.pas
(ils doivent être différents). Les autres fichiers seront affectés des noms par défaut.
• Lors de la modification des noms de fichiers Project1.dpr et Unit1.pas, suivez la
norme de code Delphi, selon laquelle tous les fichiers doivent avoir un préfixe XXX
— par exemple : prjMyTask1.dpr et untMyTask1.pas (XXX représente les lettres
correspondant au nom abrégé de ce que vous enregistrez : Project1 — prj et Unit1 —
unt). Cette règle s'applique également lors du renommage des composants simples.
Composants Simples :
• Formulaire (Form) :
o Le formulaire est le seul objet qui n'est pas dans la Palette d'Outils. Un
formulaire est généré automatiquement lorsque vous créez une nouvelle
application. Si vous avez besoin de plusieurs formulaires dans une application,
vous pouvez en ajouter d'autres à votre projet. Nous verrons comment faire
cela plus tard. Lorsque vous travaillez dans Delphi, imaginez que vous êtes un
artiste et que le formulaire est votre toile. Vous "peignez" l'interface utilisateur
graphique de l'application en plaçant des composants sur le formulaire.
Ensuite, en changeant les propriétés des composants, vous modifiez leur
apparence.
• Label (Étiquette) :
o Utilisé pour afficher du texte statique sur le formulaire.
• Text Box (Zone de Texte) :
o Permet à l'utilisateur de saisir du texte.
• Button (Bouton) :
o Permet à l'utilisateur d'effectuer une action lorsqu'il est cliqué.
• Les propriétés des composants sont leurs caractéristiques. Cela inclut des éléments tels
que le nom, le texte (caption), la taille ou la couleur du composant.
Propriété Name :
• Nom : Tous les composants doivent avoir une propriété Name, car le nom est
nécessaire pour appeler le composant dans le programme. Il est important de choisir
un nom descriptif pour chaque composant.
Règles de Nommage :
• Utilisez un préfixe pour le nom qui décrit le type de composant. Pour le formulaire
(Form), nous utiliserons le préfixe frm (nom abrégé de Form).
Exemple :
En utilisant des préfixes appropriés pour les noms des composants, vous facilitez
l'organisation et la gestion de votre code, surtout dans des projets plus complexes.
3.8 Examen des Composants Simples :
TLabel :
• TLabel est un composant utilisé pour afficher du texte qui peut être modifié par
l'utilisateur (ou bien par un programme). Voici comment travailler avec les TLabels à
l'aide d'un exemple concret.
Après avoir ajouté le TLabel au formulaire, vous pouvez modifier ses propriétés pour
personnaliser le texte affiché, ajuster sa taille, sa couleur, et bien plus encore à l'aide de
l'Inspecteur d'Objets (Object Inspector). Voici quelques propriétés importantes que vous
pourriez vouloir modifier :
• TEdit est un composant permettant de stocker du texte qui peut être saisi par
l'utilisateur à la fois lors de la création de l'application et pendant son exécution. Le
texte affiché dans la zone de texte provient de la propriété Text. La propriété
MaxLength définit le nombre maximum de caractères dans la zone de texte. Une
valeur de 0 signifie qu'il n'y a pas de limite sur le nombre de caractères. La police du
texte est définie à l'aide de la propriété Font. Si vous définissez la propriété
ReadOnly à True, l'utilisateur ne pourra pas modifier le texte de TEdit.
Exécution du Programme :
• Appuyez sur <F9> pour exécuter à nouveau l'application. Essayez de modifier le texte
: vous verrez qu'il est désormais impossible de le changer. Bien que cela puisse
sembler inutile, le mode lecture seule peut être très utile dans certains scénarios où
vous souhaitez afficher des informations sans permettre à l'utilisateur de les modifier.
TButton
Le TButton est généralement utilisé pour démarrer l'exécution d'une partie du code ou de
l'ensemble du programme. En d'autres termes, en cliquant sur le contrôle TButton,
l'utilisateur incite le programme à effectuer une certaine action. À ce moment-là, le bouton
change d'apparence comme s'il était enfoncé.
Vous pouvez attribuer des combinaisons de touches de raccourci aux boutons. Pendant
l'exécution, appuyer sur ces touches de raccourci équivaut à utiliser un clic gauche de la souris
sur le bouton.
La légende de btnMyButton apparaît comme Run, et non pas Run. Placer le symbole & avant
n'importe quel caractère de la propriété Caption attribue une touche de raccourci au bouton.
Dans la légende du bouton, le caractère suivant & est souligné. Cela indique aux utilisateurs
qu'une touche de raccourci est associée au bouton. Les utilisateurs peuvent activer le bouton
depuis le clavier en appuyant sur Alt et la touche avec la lettre soulignée.
Que faire si la légende elle-même doit contenir & ? En effet, si vous l'incluez dans la légende,
cela souligne la lettre suivante et le & lui-même n'est pas visible. Pour résoudre ce problème,
utilisez la règle suivante : le symbole & apparaîtra dans la légende si la propriété Caption
contient deux & ensemble, c'est-à-dire &&. Par exemple, pour créer la légende "This & That",
vous devez écrire "This && That" dans la propriété Caption. Les combinaisons de touches de
raccourci ne sont pas attribuées dans ce cas.
Comme vous pouvez le voir, dans Delphi, vous pouvez créer une forme (et une application)
simple en une minute. Les interfaces utilisateur graphiques les plus compliquées peuvent être
créées de la même manière.
Vous êtes maintenant familiarisé avec les propriétés des composants Delphi les plus
populaires : formes, labels, zones de saisie et boutons. Pour améliorer vos nouvelles
connaissances, expérimentez avec ces composants. Essayez de modifier leurs autres
propriétés.
Les composants visuels sont capables de générer et de gérer plusieurs dizaines de types
d'événements : clics de souris, pressions de boutons, pressions de touches du clavier,
ouvertures de fenêtres, etc.
La réponse d'un programme à un événement est programmée sous forme d'une liste d'actions
à effectuer ; cette liste est saisie dans une fenêtre de l'Éditeur de Code. Pour qu'un programme
réagisse à un clic de souris, il est nécessaire d'écrire un fragment de programme appelé
gestionnaire d'événements.
À titre d'exemple, nous allons écrire le gestionnaire d'événements de pression pour le bouton
de commande btnMy, placé sur la forme frmMy :
Le code final pour la réponse à la pression du bouton de commande btnMy ressemble à ce qui
suit :
Le programme se terminera si vous appuyez sur le bouton de commande btnMy après que le
programme ait été lancé. Dans cet exemple, nous avons utilisé la méthode (procédure) Close.
Appeler une méthode indique ce qui sera fait avec le composant. Vous pouvez voir une
référence de méthode dans l'exemple : le nom du composant apparaît en premier, suivi d'un
délimiteur (point) et enfin du nom de la méthode spécifiée après le délimiteur.
Chaque composant a son propre ensemble de méthodes. Parfois, des méthodes identiques
peuvent être trouvées dans différents composants.
Démontrons une autre méthode, Clear. Cette méthode efface le contenu et peut être
appliquée, par exemple, au composant Edit.
Comme mentionné précédemment, les composants ont des méthodes et des propriétés.
Les propriétés sont des attributs des composants. Les propriétés peuvent être modifiées ou
spécifiées comme suit : d'abord, nous faisons référence au nom du composant, puis nous
mettons le délimiteur (point), et après le délimiteur, nous spécifions le nom de la propriété
(Delphi nous permet de choisir une propriété dans la liste de complétion du code). Ensuite, nous
mettons l'opérateur d'affectation et, enfin, nous spécifions la valeur de la propriété.
La plupart des propriétés des composants correspondent à celles affichées dans la fenêtre de
l'Inspecteur d'Objets. Il y a aussi certaines propriétés qui ne sont pas reflétées là ; nous les
examinerons plus tard. Pour l'instant, écrivons un programme dans lequel la pression sur le
bouton de commande remplira la fenêtre de la forme avec un fond blanc. Dans ce programme,
nous devons utiliser une propriété Color.
Non seulement nous pouvons spécifier les propriétés des composants, mais nous pouvons
également les lire. Un exemple d'utilisation de cette capacité est d'assigner la valeur d'une
propriété d'un composant à une propriété d'un autre composant. La syntaxe ressemble à ceci :
Par exemple :
Cela indique au programme de mettre le texte de la zone de texte edtMy dans la légende du
label lblMy.
Par exemple :
Deux actions seront effectuées après que le bouton soit pressé : la zone de texte sera effacée et
son fond sera rempli de bleu.
Pour calculer une valeur pour une seule expression avec des entrées données, et le faire une
seule fois, il n'est pas nécessaire d'écrire un programme complet. Cependant, si le processus
de calcul doit être effectué fréquemment et avec des entrées différentes à chaque fois, il est
pertinent d'automatiser ce processus.
Opérateur d'Affectation
Si vous souhaitez convertir des degrés (DEGR) en radians (RAD), la formule de conversion
en Delphi sera la suivante :
L'opérateur d'affectation est une instruction très basique et importante dans tout langage de
programmation. Il assigne une valeur d'une expression calculée du côté droit du symbole
d'affectation := à une variable du côté gauche du symbole d'affectation. Le symbole
d'affectation se compose de deux symboles séparés (: et =) ; cependant, il est interprété en
Delphi comme un seul élément.
Maintenant, parlons des variables. Une variable est un emplacement en mémoire qui a un
nom. La taille de la mémoire allouée pour une variable dépend de La taille de la mémoire à
écrire dépend de la valeur à y inscrire. En théorie, il serait possible d'allouer uniquement de
grands "emplacements" de mémoire pour toutes les variables. Cependant, si tel était le cas,
nous manquerions rapidement de mémoire disponible.
Pour savoir exactement combien de mémoire allouer pour une variable, nous devons connaître
son type de données.
Vous pouvez utiliser des variables en Delphi pour une variété de tâches et de raisons. Les
variables doivent être définies avant de pouvoir être utilisées. Le mot-clé var est utilisé pour
commencer une section de définitions de variables, qui est située après la définition de la
procédure et avant le mot-clé begin. Le format de définition des variables est le suivant :
Un nom de variable est une séquence de caractères avec la syntaxe suivante :
• Peut contenir des lettres, des chiffres (0–9) ou des underscores (_);
• Doit commencer par une lettre.
Le nom de la variable peut être de n'importe quelle longueur (le nombre de caractères n'est
pas limité) et n'est pas sensible à la casse.
Lorsque vous pensez à nommer une variable, notez qu'il est préférable d'éviter les noms à un
caractère sauf pour les variables temporaires ou les compteurs de boucle. Les variables de
compteur de boucle sont les noms I et J. D'autres instances de noms de variables à un
caractère sont S (chaîne de caractères) ou R (rayon). Les noms de variables à un caractère
doivent toujours être en majuscules, mais il est toujours préférable d'utiliser des noms plus
significatifs. Il est recommandé de ne pas utiliser la lettre l comme nom de variable pour
éviter la confusion avec le chiffre 1.
Exemple :
Dans cet exemple, une variable k de type Integer est déclarée. Il existe de nombreux types
de données en Delphi. Examinons quelques-uns d'entre eux.
Les entiers peuvent être décrits avec les types de données suivants :
Nous utiliserons principalement Integer tout au long de ce livre.
Les nombres réels peuvent également être représentés par différents types de données. Nous
utiliserons le type de donnée Real.
• 3,28 × 10^17
• 1,4 × 10^-9
• -5,101 × 10^4
En Delphi, ces nombres sont enregistrés comme suit :
• 3,28e+17
• 1,4e-09
• -5,101e+4
• 328e15
• 0,14e-8
• -5101e+1
• 0,328e+18
• 140e-11
• -510100e-1
Revenons sur les opérateurs d'assignation. Le type de données à gauche doit correspondre au
type de données de la valeur de l'expression arithmétique à droite.
Une expression arithmétique est une expression mathématique légale construite à l'aide de
constantes, variables, fonctions, opérateurs arithmétiques (tels que +, *, -, / et exponentiation)
et parenthèses, (et).
Exemples :
• 13 div 4 = 3
• 13 mod 4 = 1
• -13 div 4 = -3
• -13 mod 4 = -1
13 div –4 = –3
13 mod –4 = 1
-13 div –4 = 3
-13 mod –4 = –1
0 div 2 = 0
1 mod 2 = 1
2 div 5 = 0
2 mod 5 = 2
Si la valeur de l'expression est un entier, elle peut être assignée à une variable de type Réel,
mais l'inverse n'est pas possible.
Créez un formulaire frmCalc avec deux zones de texte TEdit nommées edtA et edtB, un
bouton btnAdd et une étiquette lblResult.
Définissez la propriété Caption du bouton et laissez les propriétés Text des zones de texte
vides. Double-cliquez sur le bouton pour ouvrir la fenêtre de code et commencer à coder le
gestionnaire d'événement de clic du bouton.
Nous allons obtenir les valeurs de a et b à partir des zones de texte edtA et edtB respectivement.
Notez que nous entrons des valeurs de type chaîne dans les zones de texte, nous devons donc
les convertir en type numérique. Nous utiliserons la fonction StrToFloat pour cela.
Le résultat de l'ajout de deux variables est stocké dans une troisième variable (c), puis ce résultat
est converti de nouveau en chaîne en utilisant FloatToStr (nombre) et affiché dans l'étiquette
lblResult. Pour rendre le code encore plus élégant, nous pouvons l'écrire comme suit :
Lors de l'utilisation des fonctions StrToFloat et FloatToStr dans Delphi, il est important de
veiller à la bonne mise en forme du séparateur décimal. Dans le programme (unité), seule la
période (« . ») est autorisée comme séparateur décimal. Cependant, dans les fenêtres de saisie
et de sortie du formulaire, le séparateur décimal dépend des paramètres régionaux de
Windows. Par exemple, dans de nombreux pays européens, la virgule est utilisée pour séparer
les parties entière et fractionnaire d'un nombre décimal.
Les fonctions IntToStr (entier) et StrToInt (chaîne) sont utilisées pour convertir des
entiers en chaînes et des chaînes en entiers respectivement.
• ROUND(X) est utilisé pour arrondir un nombre réel au nombre entier le plus proche. Les
nombres avec une partie fractionnaire égale à .5 sont arrondis au nombre pair le plus proche.
• TRUNC(X) retourne simplement la partie entière d'un nombre réel, en supprimant la partie
fractionnaire sans arrondir.
Les expressions logiques, aussi appelées expressions booléennes, sont des expressions qui
évaluent à TRUE (VRAI) ou FALSE (FAUX). Ces expressions sont fondamentales en
programmation pour la prise de décision et le contrôle du flux d'exécution. En Delphi, les
variables booléennes sont déclarées avec le type Boolean.
Les opérateurs relationnels sont utilisés pour comparer deux valeurs et retourner un résultat
booléen (TRUE ou FALSE). Voici les principaux opérateurs relationnels en Delphi :
• = : Égal à
o Exemple : 5 = 5 est TRUE.
• <> : Différent de
o Exemple : 5 <> 3 est TRUE.
• < : Moins que
o Exemple : 5 < 10 est TRUE.
• <= : Moins que ou égal à
o Exemple : 5 <= 5 est TRUE.
• > : Plus grand que
o Exemple : 10 > 5 est TRUE.
• >= : Plus grand que ou égal à
o Exemple : 5 >= 5 est TRUE.
Les opérateurs logiques en Delphi sont utilisés pour manipuler des valeurs booléennes (TRUE
ou FALSE). Ils permettent de combiner ou de modifier des expressions booléennes.
Voici comment les opérateurs logiques interagissent avec les valeurs booléennes :
3.11.5.4 Ordre de Précédence des Opérateurs
Les opérateurs logiques sont évalués selon un ordre de priorité. Voici la table de priorité des
opérateurs logiques :
Lorsque plusieurs opérateurs logiques sont utilisés dans une expression, les opérations sont
effectuées selon cet ordre de priorité. Les opérations avec des opérateurs ayant une priorité
plus élevée sont effectuées avant celles avec des opérateurs ayant une priorité plus basse.
Ce code retourne TRUE car NOT A est FALSE, mais B AND C est FALSE, et FALSE OR FALSE est
toujours FALSE, alors que NOT A est FALSE mais B AND C est FALSE.
En Delphi, les expressions sont évaluées en suivant une certaine priorité des opérateurs. Voici
un résumé de l'ordre d'évaluation des opérateurs :
L'expression devient :
L'expression devient :
6. Évaluer l'opérateur or :
• false or true est true.
Conclusion
Vous pouvez également imbriquer des instructions IF...THEN...ELSE pour créer des
structures conditionnelles plus complexes :
• Les scores sont classés en différentes catégories (Excellent, Très Bien, Bien, Suffisant)
selon leur valeur.
• Les instructions ELSE IF permettent de vérifier plusieurs conditions de manière
séquentielle.
1. Début
2. Lire la température
3. Condition : Température < 10 ?
o Oui : Afficher "Mettez un manteau"
o Non : Afficher "Mettez une cape"
4. Fin
Le diagramme de flux aide à comprendre comment les décisions sont prises dans le
programme et quel bloc de code sera exécuté en fonction des conditions spécifiées.
Nous avons deux nombres entiers donnés, et nous souhaitons trouver et afficher le maximum
de ces deux nombres.
3.12.1.7 Explication
Ce code utilise une structure conditionnelle simple pour comparer deux valeurs et afficher la
valeur maximale en fonction du résultat de la comparaison.
Pour structurer un bloc If...Then...Else avec une instruction imbriquée en Delphi, vous
pouvez utiliser une combinaison de conditions et d'instructions begin...end pour regrouper
plusieurs déclarations. Voici un exemple de ce à quoi cela pourrait ressembler :
Supposons que nous voulons vérifier deux conditions successives et exécuter différentes
séries d'instructions en fonction de ces conditions.
Ce code montre comment imbriquer des conditions If...Then pour exécuter des blocs
d'instructions selon les résultats de plusieurs tests logiques.
3.13 Procédures
Il n'est pas suffisant de connaître les opérateurs d'un langage de programmation pour écrire
des programmes facilement, rapidement et avec peu d'erreurs. Il est nécessaire de maîtriser les
compétences et les principes de la programmation structurée ou procédurale.
3.14 Fonctions
Voyons maintenant les fonctions. Les fonctions sont similaires aux procédures, sauf qu'elles
retournent une valeur en plus d'exécuter des instructions.
Delphi propose de nombreuses fonctions intégrées, mais il y a des situations où vous devez
écrire vos propres fonctions. Par exemple, si vous devez résoudre une tâche en utilisant la
fonction tangente Tg(A) plusieurs fois, mais qu'il n'existe pas de fonction intégrée pour cela,
vous pouvez créer votre propre fonction. Voici un exemple simple :
Considérons un triangle rectangle. L'angle (en degrés) et la longueur du côté adjacent sont
donnés. Nous voulons calculer la longueur de l'autre côté.
1. Créer une nouvelle fonction :
o Double-cliquez sur le bouton pour ouvrir l'éditeur de code.
2. Définir la procédure du bouton :
Si vous avez besoin de créer une fonction pour calculer la tangente en degrés, vous pouvez le
faire ainsi :
Lorsque vous déclarez une fonction, vous spécifiez son nom, le nombre et le type des
paramètres qu'elle prend, ainsi que le type de sa valeur de retour.
• Nom : Tg
• Paramètres : Degrees (type Real)
• Type de retour : Real
Format de Déclaration de Fonction
• Nom de la Fonction : tg
• Paramètre : x (type Real)
• Type de Retour : Real
Notes :
• La fonction doit avoir au moins une instruction d'assignation qui assigne une valeur au
nom de la fonction (tg dans ce cas).
• Les variables locales (comme y ici) sont déclarées à l'intérieur de la fonction.
• Les paramètres peuvent être de valeur ou variables, régis par les mêmes règles que les
paramètres de procédure.
3.14.3 Boucles
Une boucle est une séquence d'instructions exécutée de manière répétée. Il existe deux types
de boucles : la boucle avec une précondition (While…do…) et la boucle avec une post-
condition (Repeat…Until…).
Points à noter :
Exemple :
Dans cet exemple, le message affichera les nombres de 1 à 10. La condition i <= 10 est vérifiée
avant chaque itération, et les instructions dans begin…end sont exécutées tant que la condition
est vraie.