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

Les types utilisateurs (VBA) Corrigé

Les types utilisateurs (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 2 avril mai 2013 Corrigé Résumé Ce document décrit comment traduire en VBA les types utilisateur du langage algorithmique. Table des matières

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 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

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

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 VBA. Identificateurs. Types de base. Déclaration d une variable. Commentaires. Activer l onglet Développeur (Excel)

Programmation VBA. Identificateurs. Types de base. Déclaration d une variable. Commentaires. Activer l onglet Développeur (Excel) Activer l onglet Développeur (Excel) Programmation VBA Michel Reid Cliquez sur le bouton Office (coin supérieur gauche) Cliquez sur le bouton Options Excel Dans la section Standard, cochez la case Afficher

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

Option Explicit Type Voiture Immatriculation As String Année As Integer Marque As String Modèle As String Prix As Double End Type Sub saisie()

Option Explicit Type Voiture Immatriculation As String Année As Integer Marque As String Modèle As String Prix As Double End Type Sub saisie() Option Explicit Type Voiture Immatriculation As String Année As Integer Marque As String Modèle As String Prix As uble End Type Sub saisie() Dim nombre As Integer Dim LesVoitures() As Voiture ReDim LesVoitures(5)

Plus en détail

Université Paris 1 Panthéon Sorbonne UFR 06. Fiche de TD VBA

Université Paris 1 Panthéon Sorbonne UFR 06. Fiche de TD VBA 1 / 13 Fiche de TD VBA L objectif de cette fiche est de faire un rappel (voire une présentation rapide) du langage de programmation VBA et de son usage sur des documents Excel et Access. Pour rappel, VBA

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

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

Corrigés des exercices

Corrigés des exercices Corrigés des exercices Chapitre 2 1. Résultats du programme calcul3() La figure 14.1 donne le déroulement de l exécution du programme calcul3(). Étape 1 Étape 2 Étape 3 Étape 4 x 40 x 40 x 51 x 51 y 8

Plus en détail

Bases de programmation - TD 1 : Algorithmique - CORRECTION

Bases de programmation - TD 1 : Algorithmique - CORRECTION Bases de programmation - TD 1 : Algorithmique - CORRECTION IUT Aix-Marseille / DUT R&T 1 ière année J. Seinturier (http://www.seinturier.fr) 1. Déroulement d un algorithme Exercice 1.1 : Donner pour chacun

Plus en détail

OPTIMISATION EN VISUAL BASIC APPLICATION

OPTIMISATION EN VISUAL BASIC APPLICATION OPTIMISATION EN VISUAL BASIC APPLICATION Avant propos Voici un petit recueil d'idées pour réaliser une optimisation des programmes en VBA. IL résulte de mes propres expériences et lectures. D'une manière

Plus en détail

Tp n 2 : Fonctions statistiques et VBA (Visual Basic for Applications)

Tp n 2 : Fonctions statistiques et VBA (Visual Basic for Applications) Tp n 2 : Fonctions statistiques et VBA (Visual Basic for Applications) Partie 1: Fonctions statistiques Excel permet d effectuer une analyse statistique d un fichier de données à l aide d un utilitaire

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

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

Contrôler les programmes VBA

Contrôler les programmes VBA 7 Contrôler les programmes VBA Au sommaire de ce chapitre Utiliser les opérateurs logiques Trier des données Répéter une série d instructions : les boucles Utiliser des instructions conditionnelles Définir

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

Initiation aux bases de données et à la programmation événementielle

Initiation aux bases de données et à la programmation événementielle Initiation aux bases de données et à la programmation événementielle Cours N 6 : VBA sous ACCESS Souheib BAARIR. Page web : http://pagesperso-systeme.lip6.fr/souheib.baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr

Plus en détail

AUTOMATISER SES TÂCHES AVEC LES MACROS

AUTOMATISER SES TÂCHES AVEC LES MACROS AUTOMATISER SES TÂCHES AVEC LES MACROS U ne macro est un ensemble de commandes qui s exécute autant de fois que nécessaire simplement en les appelant par son nom. Les macros permettent d automatiser les

Plus en détail

Algorithmique et. Plan CHAPITRE 2: NOTIONS D'ALGORITHMIQUE CONCEPTS DE BASE DU LANGAGE C CHAPITRE 3: LES TABLEAUX LES POINTEURS CHAPITRE 4

Algorithmique et. Plan CHAPITRE 2: NOTIONS D'ALGORITHMIQUE CONCEPTS DE BASE DU LANGAGE C CHAPITRE 3: LES TABLEAUX LES POINTEURS CHAPITRE 4 Université Mohammed V Agdal Ecole Mohammadia d'ingénieurs Département Génie Informatique Rabat CHAPITRE 1: Plan NOTIONS D'ALGORITHMIQUE CHAPITRE 2: Algorithmique et Programmation en Langage C CONCEPTS

Plus en détail

SUPPORT DE COURS EXCEL 2007 - MACROS

SUPPORT DE COURS EXCEL 2007 - MACROS SOMMAIIRE A.... PRESENTATION DES MACROS DANS EXCEL... 2 B... ENREGISTRER UNE MACRO... 2 1 PREPARATION... 2 2 ENREGISTRER UNE MACRO... 3 3 MODIFIER UNE MACRO... 3 4 AFFECTER UNE MACRO UN OBJET DE LA FEUILLE

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

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

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

Chapitre 6 Instruments à taux fixe

Chapitre 6 Instruments à taux fixe Chapitre 6 Instruments à taux fixe A. Introduction.......................................................... 111 B. La fonction FluxTF..................................................... 111 C. La fonction

Plus en détail

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG INF130 - Ordinateurs et programmation Semaine 08 Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG Retour sur l'examen intra Objectifs Tableaux à deux dimensions

Plus en détail

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique T ale S Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire

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

Plan MODULE INF112. Algorithmique & Programmation. Algorithme vs Programme. Informatique INF112. UJF : L1- L2 / Année 2007-2008 1

Plan MODULE INF112. Algorithmique & Programmation. Algorithme vs Programme. Informatique INF112. UJF : L1- L2 / Année 2007-2008 1 Plan MODULE INF112 TD 3 2007 2008 Algorithme vs Programme Définition d une macro-commande La fenêtre graphique Introduction à l algorithmique Exercices 1 2 Algorithmique & Programmation Problème complexe

Plus en détail

Contrôler les programmes VBA

Contrôler les programmes VBA 7 Contrôler les programmes VBA Au sommaire de ce chapitre Répéter une série d instructions : les boucles Utiliser des instructions conditionnelles Définir l instruction suivante avec GoTo Interagir avec

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

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

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

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

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

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 8 juillet 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

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

Exercices d informatique pour la 2 e B

Exercices d informatique pour la 2 e B Exercice 1 Exercices d informatique pour la 2 e B Voici une application en console Delphi contenant des erreurs. Trouvez-les et redressez-les dans l esprit du programmeur, puis donner la sortie écran.

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

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

Algorithme Algorigramme page 1/10 Algorithmique Algorigramme

Algorithme Algorigramme page 1/10 Algorithmique Algorigramme Algorithme Algorigramme page 1/10 Algorithmique Algorigramme Centre d'interêt : Analyser les constituants d'un système réel d'un point de vue structurel et comportemental Objectifs A la fin de la séquence,

Plus en détail

ÉPREUVE FACULTATIVE D INFORMATIQUE. Codage cyclique

ÉPREUVE FACULTATIVE D INFORMATIQUE. Codage cyclique ÉCOLE POLYTECHNIQUE CONCOURS D ADMISSION 2003 FILIÈRES PSI ET PT ÉPREUVE FACULTATIVE D INFORMATIQUE (Durée : 2 heures) L utilisation des calculatrices n est pas autorisée pour cette épreuve. Avertissements

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

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

Plus en détail

ISN Chapitre 1 Python : les bases PYTHON : LES BASES

ISN Chapitre 1 Python : les bases PYTHON : LES BASES 1. Un premier programme PYTHON : LES BASES Voici un programme (ou script) qui va demander votre nom, votre année de naissance, puis qui va vous saluer et vous donner votre âge en 2013. Pour écrire un programme,

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

Programmation Open Office Basic Initiation 2 - Notions de base

Programmation Open Office Basic Initiation 2 - Notions de base Programmation Open Office Basic Initiation 2 - Notions de base UCO - IPLV Emmanuel Planas IPLV - E. Planas - Master - Open Office Basic- Initiation - Cours 2 1 Plan Code source, compilation, et interprétation

Plus en détail

Informatique en Degead 1. Présentation, modalités, objectifs (1/3)

Informatique en Degead 1. Présentation, modalités, objectifs (1/3) Informatique en Degead 1 Présentation, modalités, objectifs (1/3) Responsable : Denis Cornaz denis.cornaz@dauphine.fr 01 44 05 41 83 P 409 bis http://www.lamsade.dauphine.fr/ cornaz/enseignement/uv21-degead1/

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

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

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

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

Algorithmique au lycée

Algorithmique au lycée Stage PAF christian.brucker@ac-strasbourg.fr jean-paul.quelen@ac-strasbourg.fr 13 mars 2015 Lycée Jean Monnet STRASBOURG Sommaire du stage Les programmes Sommaire du stage Les programmes Sommaire du stage

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

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

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

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

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

Il existe plusieurs types de Langages de programmation : impérative, procédural, événementiel. Permet d automatiser des tâches : devenir plus

Il existe plusieurs types de Langages de programmation : impérative, procédural, événementiel. Permet d automatiser des tâches : devenir plus VBA Introduction pour Excel et Access http://perso.univ-rennes1.fr/virginie.sans/eco rennes1.fr/virginie.sans/eco VBA : introduction Il existe plusieurs types de Langages de programmation : impérative,

Plus en détail

Informatique Macros en VBA / Excel

Informatique Macros en VBA / Excel Informatique Macros en VBA / Excel Licence 3 TCI et Tourisme A. Lemay 1 Introduction Visual Basic for Applications (VBA) est le langage de programmation des applications de Microsoft Office. VBA permet

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Algorithmique (VBA) - Sommaire

Algorithmique (VBA) - Sommaire Algorithmique (VBA) - Sommaire 1. INTRODUCTION 2 2. DEMARCHE DE CONCEPTION D UN ALGORITHME ET NOTATIONS 6 3. IDENTIFICATION DES OBJETS : DES DONNEES 13 4. L AFFECTATION 17 5. EXPRESSIONS DE CALCULS NUMERIQUES

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

Formulaires. Fiches de savoir associées. C.0.a., C.0.b., C.0.c., C.2.1.a., C.2.1.b. et C.2.3.a.

Formulaires. Fiches de savoir associées. C.0.a., C.0.b., C.0.c., C.2.1.a., C.2.1.b. et C.2.3.a. Activité 10 Formulaires Objectif Travailler sur des formulaires : observer le code et modifier l interface (IHM) de l application. Ressource à utiliser Base de données Formation appformation.mdb Fiches

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

1 Valeur d une expression

1 Valeur d une expression PCSI Informatique: Cours2 1 VALEUR D UNE EXPRESSION Expressions et variables en informatique 1 Valeur d une expression Expression : suite de caractères qui a un sens pour la machine Valeur d une expression

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

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

Premiers pas en Fortran 95

Premiers pas en Fortran 95 1 Premiers pas en Fortran 95 Nicolas Depauw 26 septembre 2011 Dans ce petit exemple, nous écrivons un programme en Fortran 95 qui résoud les équations du second degré à coefficients réels. Nous détaillons

Plus en détail

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

Plus en détail

TD12 corrigé - Révisions

TD12 corrigé - Révisions Université de Bretagne Occidentale UFR Sciences Département d Informatique Licence STS, 2005-2006 L1, S1, Parcours A-IMP Introduction à l informatique TD12 corrigé - Révisions Exercice 1 : Codage On veut

Plus en détail

T-GSI STAGE RENOVATION - Algorithmique - Lexique D algorithmique & De programmation en VBA. Olivier Mondet http://unidentified-one.

T-GSI STAGE RENOVATION - Algorithmique - Lexique D algorithmique & De programmation en VBA. Olivier Mondet http://unidentified-one. T-GSI STAGE RENOVATION - Algorithmique - Lexique D algorithmique & De programmation en VBA Olivier Mondet http://unidentified-onenet A Correspondances langage algorithmique & VBA A1 Types de données :

Plus en détail

10' - LES ARBRES BINAIRES

10' - LES ARBRES BINAIRES Ch 10' - LES ARBRES BINAIRES On va restreindre les capacités des arbres en obligeant les nœuds à posséder au maximum deux sous-arbres. Ces nouveaux arbres seront plus faciles à maîtriser que les arbres

Plus en détail

Complément C7 Infodauphine.com

Complément C7 Infodauphine.com Complément C7 Infodauphine.com Pourquoi se soucier des performances? L'utilisateur n'aime pas attendre Le timing peut-être critique Trading VBA est un outil de productivité La notion de temps d'exécution

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

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

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

Des macros Excel pour exporter et importer des modules de code VBA

Des macros Excel pour exporter et importer des modules de code VBA Cah. Techn. Inra, 2008, 65, 13-22 Des macros Excel pour exporter et importer des modules de code VBA Jean-Baptiste Duclos 1 Résumé : Cet article présente deux macros VBA Excel pour sauvegarder facilement

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

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

Exercices sur les Boucles

Exercices sur les Boucles Les Boucles Exercices - page 1 Exercices sur les Boucles Auteur: E. Thirion Exercice 1: Méthode coué Objectif: Afficher 10 fois la même phrase dans la zone de liste, tout d'abord en utilisant une boucle

Plus en détail

EXONET Location de véhicules

EXONET Location de véhicules EXONET Location de véhicules Description du thème Propriétés Intitulé long Formation concernée Matière Présentation Notions Description Évaluation des connaissances en Systèmes d information à l issue

Plus en détail

Algorithmique Partie 1

Algorithmique Partie 1 Algorithmique Partie 1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Modalités Sommaire 1 Modalités 2 Programmation 3 Données 4 Opérateurs

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

Algorithmique. Groupe ALGO Lille. Utilisation des langages Python Scilab et Xcas. Table des matières. 1 Langage Python 3

Algorithmique. Groupe ALGO Lille. Utilisation des langages Python Scilab et Xcas. Table des matières. 1 Langage Python 3 Algorithmique Utilisation des langages Python Scilab et Xcas Groupe ALGO Lille Table des matières 1 Langage Python 3 2 Langage Scilab 10 2.1 Lignes de commentaires.............................................

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

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

Visual Basic pour Excel

Visual Basic pour Excel Visual Basic pour Excel Tableurs et comptes nationaux Les comptables nationaux utilisent généralement des logiciels développés spécialement à leur attention pour répondre à leurs besoins spécifiques. Cependant,

Plus en détail

Notion d algorithme. Boucles et tests avec et sans Python. Stéphane Gonnord. stephane@gonnord.org www.mp933.fr. Lycée du parc - Lyon

Notion d algorithme. Boucles et tests avec et sans Python. Stéphane Gonnord. stephane@gonnord.org www.mp933.fr. Lycée du parc - Lyon Boucles et tests avec et sans stephane@gonnord.org www.mp933.fr Lycée du parc - Lyon Vendredi 4, 11 et 18 octobre 2013 Lycée du parc 1. : des exemples de la vraie vie ; un peu de mathématiques 2. Des maths

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

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

TurboPascal - Prépa HEC Ipecom

TurboPascal - Prépa HEC Ipecom TurboPascal - Prépa HEC Ipecom vendredi 05 avril 1 Corrections des exercices du 22 mars 1.1 Ecrire un programme qui saisit deux entiers et affiche le plus grand. program lemax1; var n1,n2:integer; writeln(

Plus en détail