Académique Documents
Professionnel Documents
Culture Documents
« I.S.T.A »
KINSHASA/BARUMBU
NOTES DE COURS DE
PROGRAMMATION SCIENTIFIQUE
A l’usage des étudiants de LMD/L2 électricité
Jacques NYEMBO BIYULE
Professeur docteur ingénieur
AVANT-PROPOS
Complexité
En combien de temps un algorithme va-t-il atteindre le résultat
escompté?
De quel espace a-t-il besoin?
Calculabilité :
Existe-t-il des tâches pour lesquelles il n'existe aucun algorithme ?
Etant donnée une tâche, peut-on dire s'il existe un algorithme qui la
résolve ?
Correction
Peut-on être sûr qu'un algorithme réponde au problème pour lequel
il a été conçu ?
Début – fin
Chaque algorithme pendant la conception doit avoir un début et une
fin.
[3]
Préparation du traitement
données nécessaires à la résolution du problème
Traitement
résolution pas à pas,
après décomposition en sous-problèmes si nécessaire
Edition des résultats
impression à l’écran,
dans un fichier, etc.
1.1.1.2. Structure d’un algorithme
Activités à réaliser
L'activité contient :
Début
Affectation
Variable
Boucle
Test
Programmation parallèle
Fin
1.1.1.3. Représentation de l’algorithme
Ordinogramme ou organigramme
Faux Vrai
condition?
Traitement 1 Traitement 2
[4]
Pseudo code
Exemple:
Afficher un message de bienvenue
Lire la date
Appeler le module DEPART
1.1.1.4. Structuration de l’algorithme
étape séquentielle ;
étape conditionnelle ou test ;
étape répétitive (ou itérative).
1.1.2. PROGRAMME
1.2. PROGRAMMATION
C'est un langage qui sert à décrire les actions qu'un ordinateur doit
réaliser. Ces actions sont innombrables et variées. Il peut s'agir aussi bien
d'ouvrir une fenêtre avec la souris, d'effacer un mot dans un texte, de tirer sur un
adversaire dans un jeu ou de modifier la définition de l'écran.
[5]
Delphi/Pascal
Java
Python
DotNet
C/C++
PHP
Visual Basic/Basic
Conception du logiciel
Cahier des charges
Conception générale
Conception détaillée
Création du logiciel
Codage des ensembles
Implémentation et documentation
Table
Une table est un composant d’une base de données qui stocke les in
formations dans des enregistrements (lignes) et dans des champs (colonnes).
Les informations sont, en général, regroupées par catégorie au niveau d’une
table. Par exemple, nous aurons la table des Clients, des Produits ou des
commandes.
[11]
Enregistrement
Champ
Clé primaire
Une clé primaire est utilisée pour identifier, de manière unique, cha
que ligne d’une table. La clé primaire est un champ ou une combinaison de
champs dont la valeur est unique dans la table. Par exemple, le champ
CodeClient est la clé primaire de la table Client. Il ne peut pas y avoir deux
clients ayant le même code.
Clé étrangère
Relation
Une relation est une association établie entre des champs communs
dans deux tables. Une relation peut être de un à un, de un à plusieurs ou de
plusieurs à plusieurs. Grâce aux relations, les résultats de requêtes peuvent conte
nir des données issues de plusieurs tables. Une relation de un à plusieurs
entre la table Client et la table Commande permet à une requête de renvoyer
toutes les commandes correspondant à un client.
[12]
L’encapsulation.
L’héritage.
Le polymorphisme.
Quelques remarques :
Cette première section présente les structures théoriques de VB. Il est
conseillé de la parcourir une première fois (sans trop insister) pour avoir
une idée des structures de base de VB. Au fur et à mesure que vous
avancerez dans le cours, vous devez y revenir pour approfondir la partie
qui vous intéresse.
Votre application VB sera composée d’un ou plusieurs fichiers
(formulaires et modules) contenant du code VB.
Il n’existe pas de séparateurs d’instructions en VB (comme le ‘ ; ’ en
Pascal ou en C et le ‘. ‘ en Cobol).
VB ne fait pas de distinction entre les minuscules et les majuscules. Ainsi,
ValeurVariable et vALEURvARIABLE représentent la même variable.
En fait, VB est ‘très intelligent’, en ce sens qu’il vous réécrira
(automatiquement) la variable dans le format de caractères que vous avez
utilisé lors de sa déclaration.
Syntaxe
Exemples
Compteur = 0
‘ = est le symbole d’affectation en VB
Taux = 21
Opérateurs arithmétiques
Forme simple :
Syntaxe
Exemple
Forme imbriquée
Syntaxe
Exemple
[21]
Opérateurs de comparaison
Opérateurs logiques
Syntaxe
Exemple
Dim Note As Single
Dim Réponse As String
Note = InputBox (" Tapez votre note ")
Réponse = IIf (Note >= 10, " Admis ", " Ajourné ")
MsgBox (Réponse)
[22]
Syntaxe
Exemple
Les instructions répétitives sont utilisées pour boucler sur une suite
d’instructions.
4.6.1 For … To … Next
Syntaxe
Exemple
Dim i As Integer
Dim Chaîne As String
Dim TabInitial(1 To 12) As Single
For i = 1 To 12
Chaîne = InputBox("Température N° " & Compteur)
TabInitial(i) = Chaîne
Next i ‘le i n’est pas obligatoire
[24]
Test antérieur
Syntaxe
Exemple
Do While MotProposé <> MotDePasse
MotProposé = InputBox("Donnez votre mot de passe")
Loop
Cela présuppose que MotProposé soit initialisé par une valeur autre
que MotDePasse (par exemple, la valeur par défaut "").
Test postérieur
Syntaxe
Exemple
Do
MotProposé = InputBox("Donnez votre mot de passe")
Loop While MotProposé <> MotDePasse
Cet exemple ne présuppose aucune initialisation de MotProposé.
[25]
Test antérieur
Syntaxe
Exemple
Do Until MotProposé = MotDePasse
MotProposé = InputBox("Donnez votre mot de passe")
Loop
Cela présuppose que MotProposé soit initialisé par une valeur autre
que MotDePasse (par exemple, la valeur par défaut "").
Test postérieur
Syntaxe
Exemple
Do
MotProposé = InputBox("Donnez votre mot de passe")
Loop Until MotProposé = MotDePasse
Cet exemple ne présuppose aucune initialisation de MotProposé.
[26]
Syntaxe
Exemple
4.7. Tableaux
Syntaxe
Exemple
Syntaxe
Dim NomVecteur(1 To N) As TypeVecteur ‘ déclare un vecteur de N éléments
Exemple
Dim TabMajuscules(65 to 90) As String
Aussi, pour éviter toute confusion (et garder vos bonnes habitudes
Pascal), déclarez toujours la matrice avec une dimension N*N et ignorez la ligne
et la colonne à l’indice 0.
4.8.3 Fonction
Une variable peut aussi être déclarée Public ou Global et sera alors
valide pour toute l’application.
Exemple :
Global MotInitial As String ‘ premier mot à traiter
[32]
Pour rentrer dans le vif du sujet, nous allons regarder de quoi sera
composée votre application (programme) VB. Celle-ci sera composée, entre
autres, de deux parties essentielles: un ou plusieurs formulaires (la partie
visuelle ou graphique) et le code VB (des formulaires et modules).
[35]
Pratique.
Figure 5 : Projet nouvellement créé, composé d’un seul formulaire vierge (Form1)
Name = Form1, nom logique utilisé pour référencer l’objet dans du code
VB.
BackColor = &H800000, couleur de fond de l’objet Form1.
Text = Form1, nom qui apparaît visuellement sur l’objet, celui-ci peut être
différent de la propriété Name.
Pratique.
Figure 8 : Toolbox
[42]
Sélectionnez dans la boîte à outils le contrôle désiré. Dessinez sur le formulaire le rectangle
dans lequel vous voulez placer le dit contrôle. Pour ce faire, cliquez (sans relâcher) sur le
bouton gauche de la souris, sur le coin haut gauche du rectangle et déplacez la souris vers le
coin bas droit du rectangle puis relâchez le bouton de la souris. Le contrôle apparaît par
magie sur le formulaire.
Sélectionnez d’abord (en cliquant dessus) le contrôle placé sur le formulaire. Glissez le vers
l’endroit désiré ou cliquez et tirez sur l’un des huit petits carrés bleus délimitant l’objet
sélectionné (le contrôle Label Euro est sélectionné dans la figure 8)
Pratique.
Pour attacher une procédure événementielle à un formulaire, double cliquez sur celui-ci (et
non pas sur un des contrôles qui le composent). VB ouvre alors une fenêtre textuelle et place
le curseur dans le cadre d’une procédure événementielle particulière : Form_Load().
Form_Load()
Pratique.
Placez les deux lignes de codes comme indiqué à la figure 10 (entre les deux
lignes Private Sub Form_Load() et End Sub). Ainsi, avant que le formulaire
n’apparaisse à l’utilisateur, Franc_Belge.Text et Euro.Text seront initialisés à
40.3399 et à "Euro : 1" (voir figure 9).
Pratique.
b. On désire que, lorsque l’utilisateur clique sur le bouton Quitter (figure 9),
une procédure s’exécute et ferme la fenêtre. L’instruction End ferme une
fenêtre.
Sélectionnez dans la barre du menu : File, Save Project as. VB vous demandera de donner
un nom à votre projet et, à chaque formulaire et module, le composant.
[47]
Cliquez avec le bouton droit de la souris sur le mon du Projet se trouvant dans la fenêtre
Projet, sélectionnez dans le menu proposé : Add, Windows form.
Cliquez avec le bouton droit de la souris sur le mon du Projet se trouvant dans la fenêtre
Projet, sélectionnez dans le menu proposé : Add, Add Existing Items. Sélectionnez le nom du
fichier correspondant au formulaire recherché, puis appuyez sur Open.
Si ces fenêtres sont fermées vous pouvez toujours les ouvrir en sélectionnant dans le barre du
menu, View (Toolbox, Project Explorer, Properties Windows).
Observation
Le concept d’objet
Un objet est défini par un nom et un certain nombre de propriétés. Il est aussi
défini par un ensemble de méthodes (procédures ou fonctions).
Notez bien que les propriétés et les méthodes qui définissent l’objet
ne peuvent être invoquées qu’en spécifiant le nom de celui-ci.
4.11.2.2 Label
Exemple
4.11.2.3 TextBox
Exemple
4.11.2.4 RadioButton
Exemple
OptionButton1.Enabled = True
OptionButton2. Enabled = False
[51]
Pratique.
Nom_objet_Change()
4.11.2.5 CheckButton
4.11.2.7 GroupBox
Un GroupBox est une fenêtre. C’est un contrôle qui peut être placé
sur un formulaire pour créer un groupe de contrôles. Tout contrôle placé sur le
GroupBox (lui-même placé sur un formulaire) appartiendra à ce groupe.
Notez que les GroupBox peuvent être utilisés pour créer un groupe
de contrôles de différents types, TextBox, RadioButton, Label, etc.
Pratique.
4.11.2.9 ListBox
4.11.2.10 ComboBox
la gestion en ligne ;
les exceptions.
4.12.3. Les erreurs de logique
Sur la fenêtre de propriété chaque objet possède un nom « Name ».il est d’usage de nommer chaque objet d’une manière claire afin de l’identifier
facilement dans le code .
Les trois étapes précitées doivent être résumées dans un tableau synthèse présenté de la manière suivante :
Pour sélectionner un objet de la boite à outils , déplacez le curseur de la souris sur l’élément que vous voulez choisir ,une info bulle apparait et
vous indique le nom de l’objet sur le quel vous pointez la souris.
[63]
Exercice 1 :
Enoncé :
Un alternateur triphasé a une tension entre phases de 400 V. Il débite un courant de 10 A avec un facteur de puissance de 0,80 (inductif).
Déterminer les puissances active, réactive et apparente mises en jeu.
P = √3×UI ×cos ϕ = √3×400×10 ×0,80 = 5,54 kW Q = √3×UI ×sin ϕ = √3×400×10 ×0,6 = +4,16 kvar S = √3×UI = √3×400×10 = 6,93 kVA
a) Tableau synthèse
Création de Définition des propriétés Ecriture des codes
l’interface
Objet Name Caption Font Backcolor Tooltiptext
Feuille Frmpuissances Calcul des P, Q, S
Label1 Lbltension Tension Times New Roman Bleue
Gras, Taille 12
Label2 Lblcourant Courant débité Idem Idem
Label3 Lblfacteur Facteur de P Idem Idem
Label4 lblP Puissance active Idem Idem
Label5 lblQ Puissance réactive Idem Idem
Label6 lblS Puissance app Idem Idem
Text1 txtTension Idem
Text2 txtCourant Idem
Text3 txtfacteur Idem
Text4 txtP Idem
Text5 txtQ Idem
Text6 txtS Idem
Label7 lblWat Idem Idem
Label8 lblVar Idem Idem
Label9 lblV1 Idem Idem
Label10 Lblfac2 Facteur de Idem
puissance réactive
Text7 Txtfac2
[64]
Dim U As Integer
Dim I As Integer
Dim fac As Single
Dim P As Double
Dim Q As Double
Dim S As Double
Dim fac2 As Single
Command1 Cmdcalculer Calculer Cliquez ici pour U=Val(txttension.text)
calculer I=Val(txt.cournt.text)
Fac=Val(txt.facteur.text)
𝑃 = 𝑆𝑔𝑟3 ∙ (𝑈 ∙ 𝐼) ∙ 𝑓𝑎𝑐
𝑄 = 𝑆𝑔𝑟3 ∙ (𝑈 ∙ 𝐼) ∙ 𝑓𝑎𝑐2
𝑆 = 𝑆𝑔𝑟3 ∙ (𝑈 ∙ 𝐼)
txtP.txt=P
txtQ.txt=Q
txtS.txt=S
[65]
b) Réalisation du programme
Tension P
Courant Q
Facteur de puissance S
Facteur de Puissance
réactive
Calculer Quitter
[66]
EXERCICE 2
Enoncé :
Un moteur de puissance utile 3 kW tourne à 1500 tr/min. Calculer le couple utile en Nm.
Attention : il faut exprimer la vitesse de rotation en radians par seconde. 3000/(1500 ×2π/60) = 19,1 Nm
a) Tableau synthèse
Création de Définition des propriétés Ecriture des codes
l’interface
Objet Name Caption Font Backcolor Tooltiptext
Feuille Frmcouple Calcul du Couple utile Déclaration des variables
Label1 Lblpuissance Puissance Times New Verte
Lblunité Nm Roman Dim PU As Double
Italique Dim nr As Integer
Taille 12 Dim Cm As Double
Label2 lblvitrot Vitesse de rotation Idem Idem
Label3 lblcouple Couple utile Idem Idem
Text1 Txtpuissance
Text2 txtvitrot
Text3 txtcouple
Form_load msgBox(‘’Cliquez sur le bouton Calculer
pour calculer’’)
Command1 Cmdcalculer Calculer PU=InputBox(‘’Entrez la valeur de puissance
utile’’)
nr=InputBox(‘’Entrez la valeur de la vitesse
de rotation’’)
𝑃𝑈
𝐶𝑚 = 2𝜋
𝑛𝑟∙( )
60
Txtcouple.text=Cm
Command2 Cmdfermer Fermer End
[67]
b) Réalisation du programme
Calculer Fermer
[68]
EXERCICE 3
Enoncé :
- tension primaire nominale : U 1N = 5375 V / 50 Hz - rapport du nombre de spires : N 2/N 1 = 0,044 - résistance de l’enroulement primaire : R 1
= 12 Ω - résistance de l’enroulement secondaire : R 2 = 25 m Ω - inductance de fuite du primaire : L 1 = 50 mH - inductance de fuite du
secondaire : L 2 = 100 µH
Dans cet exercice, nous allons utiliser une deuxième feuille en tant que boîte de dialogue.
[69]
a) Tableau synthèse
N.B. : Pour ajouter la deuxième feuille, cliquez du côté droit de la souris sur la fonction de l’explorateur de sujet, puis ajouter une feuille form2.
[70]
REFERENCES