Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Dimension: px
Commencer à balayer dès la page:

Download "Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt""

Transcription

1 TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION (conditionnelles et repetitives) ' 'C. Monteil - INP/ENSAT (http://www.ensat.fr) Sub CalculAnnuite() 'ROLE Déterminer la valeur de chaque annuité de remboursement ' d'un emprunt à partir du montant de l'emprunt, du taux ' d'intérêt annuel et de la durée de l'emprunt. On affiche ' également le taux d'intérêt global équivalent. ' ' Info. saisies : Capital emprunté (Euros) ' Taux d'intérêt annuel (%) ' Durée de l'emprunt (années) ' ' Affichages : Annuité de remboursement (Euros) ' Taux d'intérêt global équivalent (%) ' 'TEST pour un capital de Euros sur 5 ans a 10% ' l'annuite vaut Euros et le taux global (31,9%) Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt" Dim Annuite As Currency, Capital As Currency Dim TauxAnnuel As Double, TauxGLOBAL As Double Dim Duree As Integer 'Nombre d'années '1.saisie des données : Afficher "Capital emprunté (en Euros) : " Saisir Capital, Afficher "Durée de l'emprunt (en années) : " Saisir Duree, 5 Afficher "Taux d'intérêt annuel (en %) : " Saisir TauxAnnuel, 10 '2.calcul de l'annuité et du taux global TauxAnnuel = TauxAnnuel / 100 'normalisation : 100% = 1 Annuite = Capital * TauxAnnue1 / (1-1 / (1 + TauxAnnuel) ^ Duree) TauxGL0BAL = Duree * Annuite / Capital - 1 '3.affichage des résultats Afficher "Montant de chaque annuité : " & Format(Annuite, "0.00 ") Afficher "Taux d'intérêt global : " & Format(TauxGLOBAL, "0.0%") Sub Equation1erDegre() ' ROLE: tester la structure de contrôle Si...Alors...Sinon ' sur l'exemple de resolution d'une equation du 1er degre ' DONNEES : les 2 coefficients a et b de l'equation a*x+b = 0 ' RESULTAT: la racine de l'equation (si elle existe) Dim CoefA As Double, CoefB As Double, Racine As Double EffacerEcran "Equation du 1er degré a.x + b = 0" '1.saisie des données Afficher "Coefficient a :" : Saisir CoefA, 2 Afficher "Coefficient b :" : Saisir CoefB, -10 '2.resolution et affichage de la solution If CoefA = 0 Then If CoefB = 0 Then Afficher "Equation indeterminee!" Afficher "Equation impossible!" Racine = -CoefB / CoefA : Afficher "Racine = " & Racine Sub DivisionEuclidienne() ' ROLE: tester la structure de contrôle Do... Loop sur l'exemple ' de calcul du quotient et du reste d'une division euclidienne ' DONNEES : le dividende n et le diviseur d ' RESULTATS: le quotient q et le reste r Dim n As Integer, d As Integer 'dividende et diviseur Dim q As Integer, r As Integer 'quotient et reste EffacerEcran "Division euclidienne" '1.saisie des données Do 'saisie de n avec vérification n>=0 Afficher "Entrer un nombre n (entier >= 0)": Saisir n, 20 Loop Until n >= 0 Do 'saisie de d avec vérification d>0 Afficher "Entrer un diviseur d (entier > 0)": Saisir d, 7 Loop Until d > 0 '2.calcul du quotient q et du reste r q = 0: r = n Do While r >= d 'invariant: n = d.q + r q = q + 1 : r = r - d Afficher " Pas n " & q & " : " & n & " - " & q & " * " & d & " = " & r Loop '3.affichage du résultat Afficher "Division de " & N & " par " & d & ": quotient = " & q & ", reste = " & r

2 TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 2 Sub Equation2ndDegre() ' ROLE afficher les racines d'une équation du second degré ' de la forme: CoefA.x2 + CoefB.x + CoefC = 0 ' TEST DE LA STRUCTURE DE CONTROLE Select Case ' DONNEES : les 3 coefficients a, b et c de l'equation a*x^2 + b*x + c = 0 ' RESULTATS: la (ou les) racine(s) de l'equation (si elles existent) Const INDETERMINE = 1, IMPOSSIBLE = 2, AUCUNE_RACINE = 3, _ UNE_RAC_SIMPLE = 4, UNE_RAC_DOUBLE = 5, DEUX_RACINES = 6 Dim CoefA As Double, CoefB As Double, CoefC As Double 'coefficients Dim Racine1 As Double, Racine2 As Double 'racines Dim Determinant As Double Dim CodeCas As Single 'code du cas correspondant : cf. constantes EffacerEcran "Résolution d'une équation du 2nd degré" '1.saisie des données Afficher "Coefficient a : " Saisir CoefA, 1 Afficher "Coefficient b : " Saisir CoefB, -1 Afficher "Coefficient c : " Saisir CoefC, -1 '2.résolution If CoefA = 0 Then 'équation du 1er degré If CoefB = 0 Then If CoefC = 0 Then CodeCas = INDETERMINE CodeCas = IMPOSSIBLE Racine1 = -CoefC / CoefB: CodeCas = UNE_RAC_SIMPLE 'équation du 2nd degré Determinant = CoefB ^ 2-4 * CoefA * CoefC If Determinant > 0 Then Racine1 = (-CoefB - Sqr(Determinant)) / (2 * CoefA) Racine2 = (-CoefB + Sqr(Determinant)) / (2 * CoefA) CodeCas = DEUX_RACINES If Determinant = 0 Then Racine1 = -CoefB / (2 * CoefA) CodeCas = UNE_RAC_DOUBLE CodeCas = AUCUNE_RACINE '3.affichage des solutions Select Case CodeCas Case INDETERMINE Caractères Espace et Souligné pour signifier le prolongement d'une même instruction sur 2 lignes différentes Forme abrégée du If (puisque Then est suivi d'une instruction sur la même ligne) : absent et implicite en fin de ligne Afficher "Equation indéterminée" Case IMPOSSIBLE Afficher "Equation impossible" Case AUCUNE_RACINE Afficher "Pas de racines réelles" Afficher "pas de chance!" Case UNE_RAC_SIMPLE Afficher "Une seule racine " & Racine1 Case UNE_RAC_DOUBLE Afficher "Une racine double" & Racine1 Case DEUX_RACINES Afficher "Deux racines " & Racine1 & " et " & Racine2 Case Afficher "Cas non prevu!!!" End Select Sub CalculMoyenne() ' ROLE: saisir plusieurs notes et afficher leur moyenne ' TEST DE LA STRUCTURE DE CONTROLE Pour ' DONNEES : le nombre de notes a saisir, et chaque note ' RESULTAT: la moyenne des notes saisies Dim NbNotes As Integer 'nombre de notes Dim Total As Integer 'total des notes saisie jusqu'alors Dim Note As Integer 'derniere note saisie Dim Numero As Integer 'numéro de la note à saisir EffacerEcran "Calcul de la moyenne de plusieurs notes" '1.saisie du nombre de notes Afficher "Indiquer le nombre de notes a saisir : " Saisir NbNotes, 4 If NbNotes <= 0 Then Afficher "Nombre de notes (" & NbNotes & ") non valide!" '2.boucle de saisie des notes avec cumul du total Total = 0 For Numero = 1 To NbNotes ' saisir une note et cumuler Afficher "Note " & Numero & "? " Saisir Note, 10 + Numero Total = Total + Note Next Numero '3.affichage du resultat Afficher "La moyenne des " & NbNotes & " notes vaut " & Total / NbNotes

3 TD2 : algorithmes sur les structures de contrôle de l'exécution page 1 Titre (énoncé implicite) Rôle (énoncé explicite) Particularités somme des nombres de 1 à n Donnée : un nombre entier n >= 1 Résultat : un nombre Somme = n On affichera pour vérification le nombre : n * (n+1) / 2 Exemple : n = 5 => S = = 15 boucle simple avec cumul puissance entière d'un nombre quelconque Données : un nombre x (réel non nul), une puissance n (entier positif ou nul) Résultat : un nombre y = x n (rappel : la puissance 0 d'un nombre quelconque non nul vaut 1, et non 0) Méthode : y est calculé sans utiliser l'exponentiation directe, mais par un produit de n facteurs : y = x * x * * x Exemples : 2 3 = 8, 2 0 = 1 test de nombre premier Donnée : un nombre entier n > 1 Résultat : indiquer s'il est premier, sinon Afficher son 1 er diviseur Exemple : 15 n'est pas premier (1 er diviseur = 3) affichage de nombres parfaits tableau de remboursement d'un emprunt Nombre parfait = nombre égal à la somme de ses diviseurs (lui-même étant exclu) Donnée : un nombre entier n > 1 Résultat : indiquer s'il est parfait ou non, et Afficher la liste de ses diviseurs et leur somme Exemple : 6 est parfait (liste de ses diviseurs = 6) (autres nombres < : 28 = ; 496 = ; 8128= ) Données : capital emprunté ( ), taux d'intérêt annuel (%), durée emprunt (années) Résultats : - annuité de remboursement ( ), intérêts totaux ( ) et taux d'intérêt global (%) - pour chaque année : montant des intérêts de l'année, de la part de capital remboursée, et du capital restant à rembourser - Afficher ensuite pour vérification le cumul des intérêts annuels, des parts en capital annuelles, et le rapport (en pourcentage) entre ces 2 grandeurs Exemple : emprunt de à 10% pendant 3 ans => annuité = , intérêts totaux = , taux global = 20.6% Année Part intérêt Part capital Capital restant du Total (rapport : 20.6%) boucle simple avec cumul multiplicatif boucle de recherche à double condition d'arrêt boucle avec cumul partiel boucle avec plusieurs variables interdépendantes et plusieurs cumuls

4 Programme CalculerSommeNombres Rôle : calcule la somme des n premiers nombres entiers (n = nombre à saisir) Saisie : un nombre entier n >= 1 Affichage : un nombre Somme = n On affichera pour vérification le nombre : n * (n+1) / 2 _Exemple: n = 5 => Somme = = 15 Var n, Somme, i : entier TD2 : algorithmes sur les structures de contrôle de l'exécution page 2 Programme TesterNombrePremier Rôle : indique si un nombre saisi au clavier est premier Saisie : un nombre entier n > 1 Affichage : indique s'il est premier, sinon affiche son 1er diviseur _Exemple : 15 n'est pas premier (1er diviseur = 3) Var n, d : entier _ ExisteDiviseur : booléen {vrai si on trouve un diviseur} {1.saisie de la donnée} Afficher ("Entrer un nombre strictement positif"); Saisir (n) {2.calcul de la somme} Somme 0 Pour i de 1 à n Répéter {Somme = somme des nombres de 1 à i} _Somme Somme + i {3.affichage du résultat} Afficher ("La somme des ", n, " premiers nombres entiers vaut ", Somme) Afficher ("Vérification : ", n, "*(", n, "+1)/2 = ", n * (n + 1) / 2) Programme CalculerPuissanceEntiere Rôle : élever un nombre réel (saisi au clavier) à une puissance entière (saisie au clavier) (rappel : la puissance 0 d'un nombre quelconque non nul vaut 1, et non 0) Saisie : un nombre x (réel non nul), un exposant n (entier positif ou nul) Affichage : un nombre y = x puissance n Exemples : 2 puissance 3 = 8, 2 puissance 0 = 1 _NOTA : on n'utilise pas l'opérateur d'exponentiation, mais une boucle multiplicative Var x, y : réel; _ n, i : entier {1.saisie des données} Afficher ("Entrer un nombre réel non nul"); Saisir (x) Afficher ("Entrer un nombre entier positif (exposant)"); Saisir (n) {2.calcul de la puissance} y 1 Pour i de 1 à n répéter {y = x puissance i} _y y * x {3.affichage du résultat} Afficher (x, " puissance ", n, " vaut ", y) {1.saisie de la donnée} Afficher ("Entrer un nombre supérieur à 1"); Saisir (n) {2.boucle de recherche du 1er diviseur autre que 1 et le nombre} d 2 ; ExisteDiviseur FAUX {a priori, pas de diviseur} Tant que (d < n) et Non ExisteDiviseur Répéter {teste si d divise n} _ Si n Mod d = 0 Alors ExisteDiviseur VRAI Sinon d d + 1 {3.affichage du résultat} Si ExisteDiviseur Alors Afficher (n, " n'est pas premier (premier diviseur : ", d, ")") Sinon _ Afficher (n, " est premier") Programme TesterNombreParfait Rôle : indique si un nombre saisi au clavier est parfait : un nombre est dit "parfait" s'il est égal à la somme de ses diviseurs (lui-même étant exclu) Saisie : un nombre entier n > 1 Affichage : indiquer s'il est parfait ou non, et afficher la liste et la somme de ses diviseurs _Exemple : 28 est parfait (diviseurs : = 28) Var n, d, SommeDiviseurs : entier _ ChaineDiviseurs : chaîne {liste des diviseurs trouvés} {1.saisie de la donnée} Afficher ("Entrer un nombre supérieur à 1"); Saisir (n) {2.boucle de cumul des diviseurs} SommeDiviseurs 1; ChaineDiviseurs "1" {1 est forcement un diviseur} Pour d de 2 à n - 1 répéter {teste si d divise n ; si oui, l'ajoute à SommeDiviseurs} Si n Mod d = 0 Alors SommeDiviseurs SommeDiviseurs + d ChaineDiviseurs ChaineDiviseurs & "+" & d {3.affichage du résultat} Si SommeDiviseurs <> n Alors Afficher (n, " n'est pas parfait ") Sinon _ Afficher (n, " est parfait ") Afficher ("Somme de ses diviseurs : ", ChaineDiviseurs, " = ", SommeDiviseurs)

5 Programme CalculerRemboursementEmprunt Rôle : Déterminer la valeur de chaque annuité de remboursement d'un emprunt à partir du montant de l'emprunt ( ), du taux d'intérêt annuel (%) et de la durée de l'emprunt (années). On affiche également le tableau de remboursement en indiquant pour chaque année la part d'intérêts remboursée, la part de capital remboursée, et le capital restant a rembourser TEST : emprunt de à 10% pendant 3 ans => annuité = , intérêts totaux = , taux global = 20.6% Année Part intérêt Part capital Capital restant du _ Total (rapport : 20.6%) Var Annuite, Capital, FraisTotaux, TauxAnnuel, TauxGLOBAL : réel Duree {Nombre d'années}, An {année courante lors du parcours du tableau} : entier _ PartInteret, PartCapital, CapitalRestant, CumulInteret, CumulCapital : réel {1.saisie des données} Afficher ("Capital emprunté (en Euros) : ") ; Saisir (Capital) Afficher ("Durée de l'emprunt (en années) : ") ; Saisir (Duree) Afficher ("Taux d'intérêt annuel (en %) : ") ; Saisir (TauxAnnuel) {2.calcul et affichage de l'annuité et des frais totaux} TauxAnnuel TauxAnnuel / 100 {normalisation : 100% = 1} Annuite Capital * TauxAnnuel / (1-1 / (1 + TauxAnnuel) ^ Duree) FraisTotaux Duree * Annuite - Capital TauxGLOBAL FraisTotaux / Capital Afficher ("Montant de chaque annuité : ", Annuite) Afficher ("Frais totaux : ", FraisTotaux) Afficher ( "Taux d'intérêt global : ", TauxGLOBAL) {3.calcul et affichage du tableau de remboursement} Afficher ("Année", "Part intérêt", "Part capital", "Capital restant du") CumulInteret 0: CumulCapital 0: CapitalRestant Capital Pour An de 1 à Duree Répéter {calcule et affiche les résultats à la fin de l'année An} PartInteret CapitalRestant * TauxAnnuel CumulInteret CumulInteret + PartInteret PartCapital Annuite - PartInteret CumulCapital CumulCapital + PartCapital CapitalRestant CapitalRestant - PartCapital _ Afficher (An, PartInteret, PartCapital, CapitalRestant) Afficher ("Cumul des intérêts : ", CumulInteret) Afficher ("Cumul du capital : ", CumulCapital) Afficher ("Rapport Intérêts/Capital : ", CumulInteret / CumulCapital) TD2 : algorithmes sur les structures de contrôle de l'exécution page 3

6 TD3 : traduction en Visual BASIC des algorithmes du TD2 sur les structures de contrôle de l'exécution page 1 Sub CalculerSommeNombres() 'ROLE : calcule la somme des n premiers nombres entiers (n = nombre à saisir) 'Info à saisir : un nombre entier n >= 1 'Affichages : un nombre Somme = n ' pour vérification le nombre : n * (n+1) / 2 'Exemple: n = 5 => s = = 15 Const TITRE As String = "Somme des n premiers nombres entiers" Dim n As Integer, Somme As Integer, i As Integer '1.saisie de la donnee Afficher "Entrer un nombre strictement positif" Saisir n, 5 '2.calcul de la somme Somme = 0 For i = 1 To n 'Somme = somme des nombres de 1 à i} Somme = Somme + i Next i '3.affichage du resultat Afficher "La somme des " & n & " premiers nombres entiers vaut " & Somme Afficher "Vérification : " & n & "*(" & n & "+1)/2 = " & n * (n + 1) / 2 Sub CalculerPuissanceEntiere() 'ROLE : élever un nombre reel (saisi au clavier) à une puissance entiere (saisie au clavier) ' (rappel : la puissance 0 d'un nombre quelconque non nul vaut 1, et non 0) 'Infos à saisir : un nombre x (réel non nul), une puissance n (entier positif ou nul) 'Affichage : un nombre y = x puissance n 'Exemples : 2 puissance 3 = 8, 2 puissance 0 = 1 'NOTA : on n'utilise pas l'operateur d'exponentiation, mais une boucle multiplicative Const TITRE As String = "Puissance entière d'un nombre réel" Dim x As Double, n As Integer, Puissance As Double, i As Integer '1.saisie des donnees Afficher "Entrer un nombre réel non nul": Saisir x, 2 Afficher "Entrer un nombre entier (exposant)": Saisir n, 10 '2.calcul de la puissance Puissance = 1 For i = 1 To n 'Puissance = x puissance i} Puissance = Puissance * x Next i '3.affichage du resultat Afficher x & " puissance " & n & " vaut " & Puissance Sub TesterNombrePremier() 'ROLE : indique si un nombre saisi au clavier est premier 'Info à saisir: un nombre entier n > 1 'Affichage : indique s'il est premier, sinon affiche son 1er diviseur 'Exemple : 15 n'est pas premier (1er diviseur = 3) Const TITRE As String = "Test de nombre premier" Dim n As Integer, d As Integer, ExisteDiviseur As Boolean 'vrai si on trouve un diviseur '1.saisie de la donnee Afficher "Entrer un nombre supérieur à 1": Saisir n, 15 '2.boucle de recherche du 1er diviseur autre que 1 et le nombre d = 2: ExisteDiviseur = False ' a priori, pas de diviseur Do While (d < n) And Not ExisteDiviseur 'teste si d divise n If n Mod d = 0 Then ExisteDiviseur = True d = d + 1 Loop '3.affichage du resultat If ExisteDiviseur Then Afficher n & " n'est pas premier (premier diviseur : " & d & ")" Afficher n & " est premier" Sub TesterNombreParfait() 'ROLE : indique si un nombre saisi au clavier est parfait : un nombre est dit ' "parfait" s'il est égal à la somme de ses diviseurs (lui-même étant exclu) 'Info à saisir: un nombre entier n > 1 'Affichage : indiquer s'il est parfait ou non, et afficher la somme de ses diviseurs 'Exemple : 28 est parfait (diviseurs = 28) Const TITRE As String = "Test de nombre parfait" Dim n As Integer, d As Integer, SommeDiviseurs As Integer Dim ChaineDiviseurs As String 'liste des diviseurs trouvés '1.saisie de la donnee Afficher "Entrer un nombre superieur à 1": Saisir n, 28 '2.boucle de cumul des diviseurs SommeDiviseurs = 1: ChaineDiviseurs = "1" '1 est forcement un diviseur For d = 2 To n - 1 'teste si d divise n ; si oui, l'ajoute a SommeDiviseurs If n Mod d = 0 Then SommeDiviseurs = SommeDiviseurs + d ChaineDiviseurs = ChaineDiviseurs & "+" & d Next d '3.affichage du resultat If SommeDiviseurs <> n Then Afficher n & " n'est pas parfait " Afficher n & " est parfait " Afficher "Somme de ses diviseurs : " & ChaineDiviseurs & " = " & SommeDiviseurs

7 Sub CalculerRemboursementEmprunt() 'ROLE : Déterminer la valeur de chaque annuité de remboursement ' d'un emprunt à partir du montant de l'emprunt (Euros), du taux ' d'intérêt annuel (%) et de la durée de l'emprunt (annees). ' On affiche également le tableau de remboursement en indiquant ' pour chaque année la part d'interets remboursee, la part de ' capital remboursee, et le capital restant a rembourser 'TEST : emprunt de 10 à 10% pendant 3 ans ' => annuité = , intérêts totaux = , taux global = 20.6% 'Année Part intérêt Part capital Capital restant du ' ' ' 'Total (rapport : 20.6%) Const TITRE As String = "Remboursement d'un emprunt" Dim Annuite As Currency, Capital As Currency, FraisTotaux As Currency Dim TauxAnnuel As Double, TauxGLOBAL As Double, Duree As Integer 'Nombre d'années Dim PartInteret As Currency, PartCapital As Currency, CapitalRestant As Currency Dim An As Integer 'annee courante Dim Message As String 'message multi-lignes a afficher apres la boucle de calcul Dim CumulInteret As Currency, CumulCapital As Currency '1.saisie des données : Afficher "Capital emprunté (en Euros) : " : Saisir Capital, Afficher "Durée de l'emprunt (en années) : " : Saisir Duree, 3 Afficher "Taux d'intérêt annuel (en %) : " : Saisir TauxAnnuel, 10 '2.calcul et affichage de l'annuité et des frais totaux TauxAnnuel = TauxAnnuel / 100 'normalisation : 100% = 1 Annuite = Capital * TauxAnnuel / (1-1 / (1 + TauxAnnuel) ^ Duree) FraisTotaux = Duree * Annuite - Capital TauxGLOBAL = FraisTotaux / Capital Afficher "Montant de chaque annuité : " & Format(Annuite, "# ##0.00 ") Afficher "Frais totaux : " & Format(FraisTotaux, "# ##0.00 ") Afficher "Taux d'intérêt global : " & Format(TauxGLOBAL, "0.0%") '3.calcul et affichage du tableau de remboursement Afficher "Année", "Part intérêt", "Part capital", "Capital restant du" CumulInteret = 0: CumulCapital = 0: CapitalRestant = Capital For An =1 To Duree 'calcule les resultats a la fin de l'annee An PartInteret = CapitalRestant * TauxAnnuel : CumulInteret = CumulInteret + PartInteret PartCapital = Annuite - PartInteret : CumulCapital = CumulCapital + PartCapital CapitalRestant = CapitalRestant - PartCapital Afficher An, Format(PartInteret, "# ##0.00 "), _ Format(PartCapital, "# ##0.00 "), Format(CapitalRestant, "# ##0.00 ") Next An Afficher "TOTAUX : ", Format(CumulInteret, "# ##0.00 "), Format(CumulCapital, "# ##0.00 ") Afficher "Rapport Intérêts/Capital : " & Format(CumulInteret / CumulCapital, "0.0%") TD3 : traduction en Visual BASIC des algorithmes du TD2 sur les structures de contrôle de l'exécution page 2

8 TD4 - Procédures et fonctions Titre Description Particularités Corrigé du TD2 distribution du corrigé du TD2 (TD2.DOC) (4 pages) (uniquement algo, pas VBA) procédure Echanger (pdx, pdy) programme Tester_Procedure_Echanger procédure CalculerSommeDiviseurs programme ChercherNombresParfaits fonction SommeDiviseurs programme ChercherNombresPremiers programme ChercherNbAmis Saisir (pdvariable, pdvaleurpardefaut) en s'inspirant du programme TesterNombreParfait du TD2, définir un programme ChercherNombresParfaits recherchant les nombres parfaits inférieurs à une limite fixée (par ex. 30) et utilisant une procédure CalculerSommeDiviseurs (pdnombre, pdsomme, pddiviseurs ) où pddiviseurs = chaîne des diviseurs "1+2 + " définir une fonction SommeDiviseurs (pdnb) : entier renvoyant la somme des diviseurs seule (sans la liste) et appelant la procédure précédente CalculerSommeDiviseurs ; tester cette fonction en définissant un programme ChercherNombresPremiers affichant la liste des nombres 1 ers inférieurs à une borne fixée définir un programme ChercherNbAmis recherchant les nombres amis inférieurs ou égaux à une borne à saisir au clavier : 2 nombres sont amis si la somme des diviseurs de l'un est égal à l'autre nombre, et réciproquement Mode de passage des paramètres? (la procédure équivaut à : pdvariable pdvaleurpardefaut, ou bien : pdvariable Valeur tapée par l'utilisateur) Paramètres en mise à jour - permutation de 2 variable Procédure avec 2 sorties Fonction appelant une procédure 2 appels d'une même fonction Carte fonctionnelle des appels de procédures / fonctions : Proc. ChercherNombresParfaits Proc. ChercherNombresPremiers Proc. ChercherNbAmis Fonc. SommeDiviseurs Proc. CalculerSommeDiviseurs Traduction en Visual BASIC : cf. TD5.doc et TD5b.xls

9 TD4 - Procédures et fonctions Procédure Echanger (pdx, pdy) ROLE : échanger le contenu des paramètres pdx et pdy M.A J. pdx, pdy : réel Var z : réel _z pdx ; pdx pdy ; pdy z Programme Tester_Procedure_Echanger ROLE : tester le fonctionnement de la procedure Echanger Var variable1, variable2 : réel variable1 1 ; variable2 2 Afficher ("Avant appel : variable 1 = ", variable1, ", variable 2 = ", variable2) Echanger (variable1, variable2) _Afficher ("Après appel : variable 1 = ", variable1, ", variable 2 = ", variable2) Procédure CalculerSommeDiviseurs (pdnombre, pdsomme, pdliste) ROLE : calculer la somme des diviseurs d'un nombre (lui-meme exclu) _ ainsi que la liste des diviseurs trouves sous la forme " " ENTREE pdnombre : entier {nombre a traiter} SORTIE pdsomme : entier {somme des diviseurs de pdnombre (pdnombre exclu)} _ pdliste : chaine {contenant la liste sous forme d'addition} Var d : entier pdsomme 1 ; pdliste "1" {1 est forcement un diviseur} Pour d de 2 à pdnombre - 1 répéter {teste si d divise pdnombre ; si oui, l'ajoute} Si pdnombre Mod d = 0 Alors _ pdsomme pdsomme + d ; pdliste pdliste & "+" & d Programme ChercherNombresParfaits ROLE : afficher les nombres parfaits inférieurs a une borne saisie au clavier Var nmax, n, SommeDiviseurs : entier ; ChaineDiviseurs : chaîne {liste des diviseurs trouvés} {1.saisir la borne de recherche} Afficher ("Entrer une borne de recherche (>1) ") ; Saisir (nmax) {2.boucle de calcul et affichage des nombres parfaits inférieurs à nmax} Pour n de 2 à nmax répéter {tester si n est parfait} {2.1.calculer la somme de ses diviseurs} CalculerSommeDiviseurs (n, SommeDiviseurs, ChaineDiviseurs) {2.2.afficher le resultat} Si SommeDiviseurs = n Alors _Afficher ( n, " est parfait (", ChaineDiviseurs, " = ", SommeDiviseurs, ")" ) Fonction SommeDiviseurs(pdNb) : entier ROLE : renvoyer la somme des diviseurs d'un nombre (lui-meme exclu) ENTREE pdnb : entier {nombre a traiter} {Nota : cette fonction appelle la procédure CalculerSommeDiviseurs} Var SommeDiv : entier ; ListeDiv : chaîne CalculerSommeDiviseurs (pdnb, SommeDiv, ListeDiv) _ SommeDiviseurs SommeDiv Programme ChercherNombresPremiers ROLE : afficher les nombres premiers inférieurs à une borne saisie au clavier Var nmax, n : entier {1.saisir la borne de recherche} Afficher ( "Saisir une borne de recherche (>1) :" ) ; Saisir ( nmax) {2.boucle de calcul et affichage des nombres premiers inférieurs à nmax} Pour n de 2 à nmax répéter {tester si n est premier} Si SommeDiviseurs(n) = 1 Alors _Afficher (n, " est premier") Programme ChercherNombresAmis ROLE: Afficher les couples de nombres amis inferieurs a une limite choisie ; 2 nombres N et P sont amis si la somme des diviseurs de N est egale a P et si la somme des diviseurs de P est egale a N _ EXEMPLE : 220 et 284 sont amis Var BorneMaxi : entier {borne maximale de recherche} _ n, SommeN, p : entier {variables locales auxiliaires} {1.saisir la borne de recherche} Afficher ( "entrez la borne de recherche (>1): " ) ; Saisir (BorneMaxi) {2.boucle de calcul et affichage des couples de nombres amis inférieurs à Bornemaxi} Pour n de 2 à BorneMaxi répéter {tester si n peut etre ami avec un autre nombre} {2.1.calculer la somme des diviseurs de n} SommeN SommeDiviseurs(n) {2.2.filtrer les sommes inférieures au nombre n} Si SommeN < n Alors {2.3.calculer la somme des diviseurs de SommeN=p} p SommeN {seul candidat possible} Si SommeDiviseurs(p) = n Alors Afficher (n, " est ami avec ", p) Institut National Polytechnique de Toulouse Claude MONTEIL Ecole Nationale Supérieure Agronomique de Toulouse

10 Sub Echanger(ByRef pdx As Double, ByRef pdy As Double) 'ROLE : echanger le contenu des 2 paramètres spécifiés 'M.A J.pd x,pd y Dim z As Double z = pdx: pdx = pdy: pdy = z Sub Tester_Procedure_Echanger() 'ROLE : tester le fonctionnement de la procedure Echanger Dim variable1 As Double, variable2 As Double variable1 = 1: variable2 = 2 Afficher "Avant appel : variable 1 = " & variable1 & ", variable 2 = " & variable2 Echanger variable1, variable2 Afficher "Après appel : variable 1 = " & variable1 & ", variable 2 = " & variable2 Sub CalculerSommeDiviseurs(ByVal pdnombre As Integer, _ ByRef pdsomme As Integer, ByRef pdlistediviseurs As String) 'ROLE : calculer la somme des diviseurs d'un nombre (lui-meme exclu) ' ainsi que la liste des diviseurs trouves sous la forme " " 'ENTREE pdnombre : nombre a traiter 'SORTIE pdsomme : somme des diviseurs de n (n exclu) ' pdlistediviseurs : chaine contenant la liste des diviseurs sous forme d'addition Dim d As Integer pdsomme = 1: pdlistediviseurs = "1" '1 est forcement un diviseur For d = 2 To pdnombre - 1 'teste si d divise Nombre ; si oui, l'ajoute If pdnombre Mod d = 0 Then pdsomme = pdsomme + d : pdlistediviseurs = pdlistediviseurs & "+" & d Next d Sub ChercherNombresParfaits() 'ROLE : afficher les nombres parfaits inférieurs a une borne saisie au clavier 'EXEMPLES : 6, 28, 496 et 8128 sont les nombres parfaits inférieurs à Dim nmax As Integer, n As Integer, SommeDiviseurs As Integer Dim ChaineDiviseurs As String 'liste des diviseurs trouvés EffacerEcran "Nombres parfaits" '1.saisir la borne de recherche Afficher "Entrer une borne de recherche (>1) ": Saisir nmax, 500 '2.boucle de calcul et affichage des nombres parfaits inférieurs à nmax For n = 2 To nmax 'tester si n est parfait '2.1.calculer la somme de ses diviseurs CalculerSommeDiviseurs n, SommeDiviseurs, ChaineDiviseurs '2.2.afficher le resultat If SommeDiviseurs = n Then Afficher n & " est parfait (" & ChaineDiviseurs & " = " & SommeDiviseurs & ")" Next n TD5 : traduction en Visual BASIC des algorithmes du TD4 sur les procédures et fonctions page 1 Function SommeDiviseurs(ByVal pdnb As Integer) As Integer 'ROLE : renvoyer la somme des diviseurs d'un nombre (lui-meme exclu) 'ENTREE pdnb : nombre a traiter 'NOTA : cette fonction appelle la procédure CalculerSommeDiviseurs Dim SommeDiv As Integer, ListeDiv As String CalculerSommeDiviseurs pdnb, SommeDiv, ListeDiv SommeDiviseurs = SommeDiv End Function Sub ChercherNombresPremiers() 'ROLE : afficher les nombres premiers inférieurs à une borne saisie au clavier Dim nmax As Integer, n As Integer EffacerEcran "Nombres premiers" '1.saisir la borne de recherche Afficher "Saisir une borne de recherche (>1) :" Saisir nmax, 50 '2. boucle de calcul et affichage des nombres premiers inférieurs à nmax For n = 2 To nmax 'tester si n est premier If SommeDiviseurs(n) = 1 Then Afficher n & " est premier" Next n Sub ChercherNombresAmis() 'ROLE: Afficher les couples de nombres amis inferieurs a une limite saisie au clavier ' 2 nombres N et P sont amis si la somme des diviseurs de N est egale a P ' et si la somme des diviseurs de P est egale a N 'EXEMPLES : (220,284), (1184,1210), (2620,2924), (5020,5564) (couples < 10000) Dim BorneMaxi As Integer 'borne maximale de recherche Dim n As Integer, SommeN As Integer Dim p As Integer, SommeP As Integer EffacerEcran "Nombres Amis" '1.saisir la borne de recherche Afficher "entrez la borne de recherche (>1): " Saisir BorneMaxi, 300 '2.boucle de calcul et affichage des couples de nombres amis inférieurs à BorneMaxi For n = 2 To BorneMaxi 'tester si n peut etre ami avec un autre nombre '2.1.calculer la somme des diviseurs de n SommeN = SommeDiviseurs(n) '2.2.filtrer les sommes supérieures au nombre n If SommeN > n Then '2.3.calculer la somme des diviseurs de SommeN p = SommeN 'seul candidat possible If SommeDiviseurs(p) = n Then Afficher n & " est ami avec " & p Next n Institut National Polytechnique de Toulouse Claude MONTEIL Ecole Nationale Supérieure Agronomique de Toulouse

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 avril mai 2013 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications Les concepts de base de la programmation, 2ème partie Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

en Visual Basic Premiers pas

en Visual Basic Premiers pas V0 (16-10-2009) Licence Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Première année DEUST 2008-09 Ce cours est porte sur la programmation en s appuyant sur le langage

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

Haute École de Gestion 05/10/2007. au cours Programmation en VBA Excel. Faisons connaissance. Etudiants se présentent

Haute École de Gestion 05/10/2007. au cours Programmation en VBA Excel. Faisons connaissance. Etudiants se présentent Bienvenue au cours en Excel Faisons connaissance Etudiants se présentent Nom, Prénom Avez-vous déjà fait des macros Excel? Avec-vous déjà programmé avec Excel? Avez-vous déjà programmé avec d'autres langages

Plus en détail

Programmation impérative et éléments d algorithmique

Programmation impérative et éléments d algorithmique Cours/UPMC/LI102/2 Programmation impérative et éléments d algorithmique Compléments de cours 2005-2006 Anne Brygoo Titou Durand Maryse Pelletier Michèle Soria PARACAMPLUS Déjà paru : UPMC/LI101 : annales

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications Les concepts de base de la programmation, 1ère partie Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr

Plus en détail

Programmation Visual Basic sous Excel

Programmation Visual Basic sous Excel 1 Programmation Visual Basic sous Excel Version provisoire Septembre 06 1 Introduction Excel était avant tout un tableur. Au fil des versions, il a su évoluer et intégrer des fonctionnalités qui le rendent

Plus en détail

Chapitre I OBJECTIFS Page 2

Chapitre I OBJECTIFS Page 2 VBA EXCEL Page 1 Chapitre I OBJECTIFS Page 2 Groupe cible : Toutes les personnes qui veulent automatiser certaines tâches ou créer leur propre application dans Excel. Prérequis : Très bonne connaissance

Plus en détail

UFRSTAPS Toulouse. UE11 Projet de développement VBA MASTER 2 Tribet Hervé

UFRSTAPS Toulouse. UE11 Projet de développement VBA MASTER 2 Tribet Hervé UFRSTAPS Toulouse UE11 Projet de développement VBA MASTER 2 Tribet Hervé 2009 I. Présentation Visual Basic pour Applications (VBA) est le langage de programmation des applications de Microsoft Office.

Plus en détail

Introduction à Visual Basic

Introduction à Visual Basic La fenêtre (form) principale: Zone de titre Points d attraction pour le dessin des contrôles Menu Système Fenêtre s affichant lors de l exécution du programme 15 Raccourci F4 Propriétés de la fenêtre principale

Plus en détail

EXCEL. Chapitre 4 : Le langage Visual Basic Application. Claude Duvallet

EXCEL. Chapitre 4 : Le langage Visual Basic Application. Claude Duvallet Chapitre 4 : Le langage Visual Basic Application Claude Duvallet Université du Havre UFR des Sciences et Techniques 25 rue Philippe Lebon BP 540 76058 Le Havre Cedex Courriel : Claude.Duvallet@gmail.com

Plus en détail

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Norme de programmation pour le cours et les travaux pratiques

Norme de programmation pour le cours et les travaux pratiques Université du Québec École de technologie supérieure Service des enseignements généraux www.seg.etsmtl.ca INF130 Ordinateurs et programmation Norme de programmation pour le cours et les travaux pratiques

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

Visual Basic for Applications

Visual Basic for Applications Visual Basic for Applications NOTIONS DE BASES Par Frédéric GRIMAUD Ecole des Mines de Saint-Etienne Présentation de Visual Basic Editor... 1 Introduction au langage de programmation VBA... 2 1. Les différents

Plus en détail

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

Plus en détail

PROGRAMMATION : VISUAL BASIC 6.0

PROGRAMMATION : VISUAL BASIC 6.0 PROGRAMMATION : VISUAL BASIC 6.0 Les Procédures et fonctions:...2 Structure du programme :...2 Fonctions particulières:...2 Les Variables :...3 Structure de tableau:...3 Chaines de caractères:...3 Structures

Plus en détail

DECOUVERTE DE L ALGORITHME

DECOUVERTE DE L ALGORITHME Sources : DECOUVERTE DE L ALGORITHME - algorithme et programmation : auteur : D. JAGER juin 2005. - algorithme : principes : auteur : D. JAGER juin 2005 I- INTRODUCTION Un programme informatique est constitué

Plus en détail

VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA

VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA Editions ENI VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA Collection Ressources Informatiques Extrait Chapitre 8 A. Présentation Un événement est une action utilisateur ou système reconnue

Plus en détail

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0 UNIVERSITE DES SCIENCES SOCIALES DE TOULOUSE Licence Professionnelles LSi Master FC IGSI Programmation Visual Basic Visite guidée d'un programme Visual Basic 6.0 1. un exemple d'application a) créer dans

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

LES ALGORITHMES ARITHMETIQUES

LES ALGORITHMES ARITHMETIQUES LES ALGORITHMES ARITHMETIQUES I- Introduction Dans ce chapitre nous allons étudier quelques algorithmes relatifs à l arithmétique qui est une branche des mathématiques qui étudie les relations entre les

Plus en détail

Excel 2002 VBA Programmation

Excel 2002 VBA Programmation Excel 2002 VBA Programmation SOMMAIRE Structures conditionnelles... 3 A) L'instruction If... 3 B) L'instruction If Then Else... 3 C) L'instruction If Then Elseif... 4 D) L'instruction Select Case... 4

Plus en détail

Le Tableur EXCEL La Programmation en VBA

Le Tableur EXCEL La Programmation en VBA Le Tableur EXCEL La Programmation en VBA U.F.R. d informatique Juliette Dibie PLAN I. Introduction à excel VBA 1 II. L enregistreur de macro 2 II.1. Enregistrer une macro 2 II.2. Exécuter une macro 4 II.3.

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Algorithmique Travaux Dirigés

Algorithmique Travaux Dirigés Algorithmique Travaux Dirigés Master Technologie et Handicap : Intensifs 1 Corrigé Exercice 1 Affectations 1. Considérons les algorithmes ci-dessous. (a) Quel sera le contenu des variables a, b et éventuellement

Plus en détail

Cours Visual Basic pour Application. Par Fabrice Pasquier

Cours Visual Basic pour Application. Par Fabrice Pasquier Cours Visual Basic pour Application Par Fabrice Pasquier Sommaire Introduction à la programmation Motivation - démos VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Intégration à MS Excel

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

CPR Informatique. (poste 3159 ou 3164) Mai 2002

CPR Informatique. (poste 3159 ou 3164) Mai 2002 CPR Informatique (poste 3159 ou 3164) Mai 2002 Visual Basic v 6.0 Table des matières 1.- LES PRINCIPAUX CONCEPTS DE VISUAL BASIC...3 1.1.- PRESENTATION GENERALE...3 1.2- LE MODELE EVENEMENTIEL...3 1.3-

Plus en détail

MODULE INF112 TD 2 2012 2013 2012-2013 INF112 - TD2 1

MODULE INF112 TD 2 2012 2013 2012-2013 INF112 - TD2 1 MODULE INF112 TD 2 2012 2013 2012-2013 INF112 - TD2 1 Plan 1. Algorithme vs Programme 2. Introduction à l algorithmique 3. Exercices 2012-2013 INF112 - TD2 2 1. Algorithme vs programme Motivations (rappel)

Plus en détail

M. Tondeur Hervé 1/10 Licence Info Gestion - Objet ADO 1. Un tour rapide d'ado:

M. Tondeur Hervé 1/10 Licence Info Gestion - Objet ADO 1. Un tour rapide d'ado: M. Tondeur Hervé 1/10 1. Un tour rapide d'ado: ADO (ActiveX Data Object) est un composant ActiveX permettant d'accéder aux bases de données de façon beaucoup plus facile sans se soucier de tout ce qui

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Fiche mathématiques financières

Fiche mathématiques financières Fiche mathématiques financières Thème 1 : Les taux d'intérêts simples et composés Taux d'intérêts simples : Les taux d'intérêts simples sont appliqués dans le cas d'emprunts dont la durée est inférieure

Plus en détail

Introduction. ENI Editions - All rigths reserved

Introduction. ENI Editions - All rigths reserved VBA Access 2007 Programmer sous Access Michèle AMELOT Résumé A la fois simple, pratique et complet, ce livre s adresse aux développeurs et aux utilisateurs avertis souhaitant créer des applications professionnelles

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME

Plus en détail

1. Ouvrir l éditeur de VBA et ajouter un module

1. Ouvrir l éditeur de VBA et ajouter un module On peut programmer avec VBA des fonctions et des procédures. Une fonction pourra être utilisée comme la fonction Somme, et une procédure pourra devenir une macro. 1. Ouvrir l éditeur de VBA et ajouter

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

Fiche N 10. Réaliser une mise en page en VBA. 1 Les propriétés de mise en page. La mise en page est un objet dont le nom est PageSetup.

Fiche N 10. Réaliser une mise en page en VBA. 1 Les propriétés de mise en page. La mise en page est un objet dont le nom est PageSetup. Fiche N 10 Réaliser une mise en page en VBA 1 Les propriétés de mise en page La mise en page est un objet dont le nom est PageSetup. 1.1 Sens de l'orientation du papier Portrait Paysage PageSetup.Orientation

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Introduction. La programmation est l'ensemble des activités qui permettent la conception de logiciels. GEA GAP - Roland Grosso

Introduction. La programmation est l'ensemble des activités qui permettent la conception de logiciels. GEA GAP - Roland Grosso Introduction La programmation est l'ensemble des activités qui permettent la conception de logiciels Les différentes étapes de la réalisation d un programme Analyse du problème Réalisation d un algorithme

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

VBA / Excel. M2 IF Apprentissage. Julien Saunier saunier@inrets.fr http://www.lamsade.dauphine.fr/~saunier/m2if/

VBA / Excel. M2 IF Apprentissage. Julien Saunier saunier@inrets.fr http://www.lamsade.dauphine.fr/~saunier/m2if/ VBA / Excel M2 IF Apprentissage Julien Saunier saunier@inrets.fr http://www.lamsade.dauphine.fr/~saunier/m2if/ Sommaire VB? VB.NET? VBA? Excel? Un language procédural...... qui utilise des objets! Outils

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

VBA pour Excel. 1 Généralités. L'essentiel... pour démarrer! 1.1 Les Objets de VBA. 1.2 Les objets sont hiérarchisés

VBA pour Excel. 1 Généralités. L'essentiel... pour démarrer! 1.1 Les Objets de VBA. 1.2 Les objets sont hiérarchisés VBA pour Excel L'essentiel... pour démarrer! 1 Généralités Visual Basic pour Applications (VBA) est un environnement de développement calqué sur Visual Basic, un outil de développement d'applications Windows.

Plus en détail

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008 Table des matières 3- Algorithmique...1 3.1 Définition : algorithmique...1 Critère algorithmique élémentaire...1 3.2 De l algorithme au programme...2

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Université de Lille Sciences et Technologies

Université de Lille Sciences et Technologies Introduction aux Macros et à Visual Basic pour Applications Olivier Losson Note préliminaire Il est surtout fait référence ici aux interfaces, commandes et fonctions de Word, Excel et Powerpoint (celles

Plus en détail

Excel 2002 VBA Programmation

Excel 2002 VBA Programmation Excel 2002 VBA Programmation SOMMAIRE Débuter la programmation... 3 A) Cahier des charges... 3 1 - Quel(s) est(sont) le(s) résultat(s) à obtenir?... 3 2 - Quelles sont les données initiales à fournir?...

Plus en détail

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels. Cette partie est consacrée aux nombres. Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels. L aperçu historique vous permettra

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle Cours 3 : Instructions qui changent l ordre d exécution séquentiel 1 Cours 3 Instructions qui changent l ordre d exécution séquentiel La conditionnelle: instructions si et selon Les boucles Comment raisonner

Plus en détail

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé.

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé. Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé. I- ACTIVITES NUMERIQUES (12 points) Exercice 1 (3 points) On considère

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Taux d évolution moyen.

Taux d évolution moyen. Chapitre 1 Indice Taux d'évolution moyen Terminale STMG Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Indice simple en base 100. Passer de l indice au taux d évolution, et réciproquement.

Plus en détail

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas 1. Arbres ordonnés 1.1. Arbres ordonnés (Arbres O) On considère des arbres dont les nœuds sont étiquetés sur un ensemble muni d'un

Plus en détail

2 de AP1 : utilisation de la calculatrice en mode «Programme» CORRECTION

2 de AP1 : utilisation de la calculatrice en mode «Programme» CORRECTION 2 de AP1 : utilisation de la calculatrice en mode «Programme» CORRECTION Algorithmes et programmes : Un algorithme est un ensemble d'instructions structuré de manière à atteindre un but. Ces instructions

Plus en détail

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 02 : Expressions et opérateurs Jacques Bapst jacques.bapst@hefr.ch Expressions [1] Les expressions sont des entités composées de littéraux,

Plus en détail

Fonctions logiques élémentaires

Fonctions logiques élémentaires Fonctions logiques élémentaires II. Systèmes binaires et algèbre de oole ctuellement, alors que les ordinateurs analogiques sont encore du domaine de la recherche, les informations traitées par les systèmes

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani La récursivité 2 Définition Une procédure ou une fonction est dite récursive si elle fait appel à elle même, directement ou indirectement. 3 Exemple : Réalisation

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Fichiers. Introduction Fichier texte. Fichier structuré. Présentation Le type TEXT Primitives de gestion Exemple

Fichiers. Introduction Fichier texte. Fichier structuré. Présentation Le type TEXT Primitives de gestion Exemple Fichiers Introduction Fichier texte Présentation Le type TEXT Primitives de gestion Exemple Fichier structuré Présentation Le type FILE OF Primitives de gestion Exemple Compléments d algorithmique 1 Introduction

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

[LA SOCKET CALCULATRICE]

[LA SOCKET CALCULATRICE] M1 SIGLIS ANTOINE Stéphane DUPOY Vincent HASSAN DJABER Mohamed [LA SOCKET CALCULATRICE] Ingénierie des réseaux - Projet Socket 1 DOSSIER DE PROGRAMMATION 1. Mode d emploi p.3 2. Analyse p.4 3. Conception

Plus en détail

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail

Terminale STMG Lycée Jean Vilar 2013/2014. Terminale STMG. O. Lader

Terminale STMG Lycée Jean Vilar 2013/2014. Terminale STMG. O. Lader Terminale STMG O. Lader Table des matières 1 Information chiffrée (4s) 4 1.1 Taux d évolution....................................... 6 1.2 indices............................................. 6 1.3 Racine

Plus en détail

Equations cartésiennes d une droite

Equations cartésiennes d une droite Equations cartésiennes d une droite I) Vecteur directeur d une droite : 1) Définition Soit (d) une droite du plan. Un vecteur directeur d une droite (d) est un vecteur non nul la même direction que la

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4. Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,

Plus en détail

Le langage VBScript DescoDev

Le langage VBScript DescoDev 2. Le langage VBScript 9 2 Le langage VBScript 2. Le langage VBScript 10 2. Le langage VBScript VBScript est un des langages natifs à Windows Script Host avec le JScript. Le langage VBScript est moins

Plus en détail

Cours Algorithmique, 2ème partie AS IUT

Cours Algorithmique, 2ème partie AS IUT Cours Algorithmique, 2ème partie AS IUT Cours 2 : Arbres Binaires Anne Vilnat http://www.limsi.fr/individu/anne/coursalgo Plan 1 Représentations arborescentes 2 Définition d un arbre binaire récursive

Plus en détail

Algorithmique & programmation

Algorithmique & programmation Algorithmique & programmation Chapitre 3 : Fichiers séquentiels Entrées/Sorties Fichiers Binaires à Accès Séquentiel Fichiers et Ada!! En Ada les entrées/sorties sont supportées par des paquetages standards

Plus en détail

Formation VBA 3 Interagir

Formation VBA 3 Interagir Formation VBA 3 Interagir 1 Utilisation des UserForms Les UserForms sont des interfaces largement configurables, il convient de ne pas les limiter à tel ou tel usage qui pourrait être présenté à titre

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

DESS IAIE, ISTIA, Université d Angers 2003/2004, 30h Jean-Louis Boimond 1 INTRODUCTION

DESS IAIE, ISTIA, Université d Angers 2003/2004, 30h Jean-Louis Boimond 1 INTRODUCTION VISUAL BASIC 6 1 INTRODUCTION DESS IAIE, ISTIA, Université d Angers 2003/2004, 30h Jean-Louis Boimond 2 ENVIRONNEMENT DE DÉVELOPPEMENT INTÉGRÉ 2.1 Présentation de l Environnement de Développement Intégré

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

Visual Basic pour Application (VBA) http ://perso.wanadoo.fr/x.dupre/programmation/ Xavier Dupré

Visual Basic pour Application (VBA) http ://perso.wanadoo.fr/x.dupre/programmation/ Xavier Dupré Visual Basic pour Application (VBA) http ://perso.wanadoo.fr/x.dupre/programmation/ Xavier Dupré Repères 1. Introduction............................................... 3 1.1 Visual Basic et macros......................................

Plus en détail