Les bases : exercices résolus en VBA Corrigé
|
|
|
- Victor Labelle
- il y a 9 ans
- Total affichages :
Transcription
1 PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Exercices résolus en VBA, Semaine 1 avril mai 2013 Corrigé Objectifs Raffiner des problèmes simples ; Écrire quelques algorithmes simples ; Savoir utiliser les types de base ; Savoir utiliser les instructions «élémentaires» : d entrée/sortie, affichage, bloc... Manipuler les conditionnelles ; Manipuler les répétitions. Exercice 1 : Conversion pouce/centimètre Exercice 2 : Quelques statistiques Exercice 3 : Division entière Exercice 4 : Nombres premiers Exercice 5 : Nombres parfaits Exercice 1 : Conversion pouce/centimètre Écrire un programme qui réalise la conversion pouce/centimètre d une longueur saisie au clavier. Une longueur sera saisie comme un nombre réel suivi d un caractère précisant l unité. Les unités possibles sont le pouce (p), le centimètre (c) ou le mètre (m). Le programme affichera la longueur exprimée en pouce et en centimètre. Voici des exemples d exécution du programme : Entrez une longueur : 1p 1 p = 2.54 cm Entrez une longueur : 2m p = 200 cm Entrez une longueur : 2km 0 p = 0 cm Modifier le programme pour permettre la saisie de l unité aussi bien en minuscules qu en majuscules. Solution : R0 : Afficher une longueur saisie au clavier en pouces et en centimètres Nous reprenons les jeux de test proposés dans le sujet. Nous ajoutons un jeu de test qui consiste à saisir une unité en centimètres. Par exemple, 5.08 cm qui doit donner 1 p = 5.08 p. Exercices résolus en VBA, Semaine 1 c INPT PAD 1/18
2 Lorsque l on regarde les résultats d exécution donnés dans le sujet (et qui servent donc de spécification pour le programme à écrire), on constate que, quelle que soit l unité utilisée pour saisir la longueur, il faut afficher d abord la longueur en pouces, puis son équivalent en centimètres. En conséquence, on en déduit qu il faut calculer les deux longueurs (une dans chaque unité). Ainsi, après saisi de la longueur de l utilisateur, nous allons la convertir dans les deux unités puis afficher la ligne d équivalence. 1 R1 : Raffinage De «Afficher une longueur saisie au clavier...» 2 Saisir la longueur valeur: out Réel ; unité: out Caractère 3 Calculer la longueur en pouces et en centimètres 4 valeur, unité : in 5 lg_p : out Réel -- longueur en pouces 6 lg_cm : out Réel -- longueur en centimètres 7 Afficher le résultat lg_p, lg_cm : in La seule étape délicate est la deuxième. Calculer les longueurs en pouces et en centimètres dépend de l unité saisie par l utilisateur. Il s agit donc d utiliser une conditionnelle et plus précisément de faire un traitement par cas. Puisque l unité est un caractère, donc un type scalaire, nous pouvons utiliser un Selon. Remarque : Pour traiter le cas des majuscules, il suffit d ajouter le cas majuscule à côté du cas minuscule correspondant. On aurait également pu convertir la longueur saisie en minuscule avant de calculer les longueurs en pouces et centimètres. Remarque : On aurait également pu utiliser des Si et SinonSi. Cependant, la structure du programme est plus claire en utilisant un Selon. Ceci est d autant plus vrai si l on traite également les majuscules. Voici le raffinage correspondant. 1 R2 : Raffinage De «Calculer la longueur en pouces et en centimètres» 2 Selon unité Dans 3 p, P : { la longueur a été saisie en pouces } 4 lg_p <- valeur 5 lg_cm <- lg_p * UN_POUCE 6 7 c, C : { la longueur a été saisie en centimètres } 8 lg_cm <- valeur 9 lg_p <- lg_cm / UN_POUCE 10 m, M : { la longueur a été saisie en mètres } lg_cm <- valeur * 100 lg_p <- lg_cm / UN_POUCE 14 { Unité non reconnue } <- 0 < FinSelon Sinon lg_p lg_cm Notons que nous avons utilisé une constante symbolique (UN_POUCE) plustôt qu une constante littéralle (2,54). L intérêt est d avoir un programme plus lisible et d éviter la redondance (si on Exercices résolus en VBA, Semaine 1 c INPT PAD 2/18
3 se trompe sur la valeur d un pouce en centimètres il suffit de faire un seule changement pour corriger le programme dans le cas de la constante symbolique contre trois sinon). 1 Algorithme pouce2cm Afficher une longueur saisie au clavier en pouces et en centimètres. 4 5 Constantes 6 UN_POUCE = valeur en centimètres d un pouce 7 Variables 8 valeur: Réel -- valeur de la longueur lue au clavier 9 unité: Caractère -- unité de la longueur lue au clavier 10 lg_cm: Réel -- longueur exprimée en centimètres 11 lg_p: Réel -- longueur exprimée en pouces Début saisir la longueur (valeur + unité) 15 Écrire ("Entrer une longueur (valeur + unité) : ") 16 Lire (valeur) -- saisir la valeur 17 Lire (unité) -- saisir l unité calculer la longueur en pouces et en centimètres 20 Selon unité Dans 21 p, P : { la longueur a été saisie en pouces } 22 lg_p <- valeur 23 lg_cm <- lg_p * UN_POUCE c, C : { la longueur a été saisie en centimètres } 26 lg_cm <- valeur 27 lg_p <- lg_cm / UN_POUCE m, M : { la longueur a été saisie en mètres } 30 lg_cm <- valeur * lg_p <- lg_cm / UN_POUCE Sinon { Unité non reconnue } lg_p <- 0 lg_cm < FinSelon afficher le résulat 39 ÉcrireLn (lg_p, " p = ", lg_cm, " cm") 40 Fin 1 Attribute VB_Name = "exo1_pouce2cm" 2 ********************************************************************* 3 * Auteur : Claude Monteil <[email protected]> 4 * Version : * Objectif : Conversion pouces/centimetres 6 * 7 * Remarque : Le sujet n est pas entierement respecte car la partie 8 * decimale est affichee même si elle est nulle Exercices résolus en VBA, Semaine 1 c INPT PAD 3/18
4 9 ********************************************************************* Sub pouce_centimetre() Const un_pouce As Double = Dim valeur As Double valeur lue au clavier 14 Dim unite As String unite lue au clavier 15 valeur et unité forment la longueur 16 Dim p As Double longueur lue au clavier convertie en pouces 17 Dim cm As Double longueur lue au clavier convertie en centimètres EffacerEcran "Conversion en pouces et cm" 20 1.Saisir la longueur 21 Afficher "Entrez la valeur de la longueur : " 22 Saisir valeur 23 Afficher "Entre l unite : p (pouce), m (metre), c (centimetre)" 24 Saisir unite Calculer la longueur en pouces et en centimetres 27 Select Case (unite) 28 Case "p", "P" longueur saisie en pouces 29 p = valeur 30 cm = valeur * un_pouce 31 Case "M", "m" longueur saisie en metres 32 p = 100 * valeur / un_pouce 33 cm = 100 * valeur Case "c", "C" longueur saisie en centimetres 36 p = valeur / un_pouce 37 cm = valeur 38 Case Else 39 p = 0 40 cm = 0 41 End Select 42 3.Afficher les résultats 43 Afficher p & " pouces et " & cm & " cm" 44 Afficher "Valeurs arrondies a 2 decimales :" 45 Afficher Format(p, "0.00") & " pouces et " & Format(cm, "0.00") & " cm" 46 End Sub Exercices résolus en VBA, Semaine 1 c INPT PAD 4/18
5 Exercice 2 : Quelques statistiques L objectif de cet exercice est de calculer quelques statistiques sur une série de valeurs réelles. Cette série est lue au clavier. On considère qu elle se termine par la valeur nulle (0) qui ne fait pas partie de la série. 2.1 Écrire un programme qui détermine la moyenne des valeurs de la série. Solution : Pour calculer la moyenne, j ai besoin de la somme des valeurs et du nombre de valeurs. On peut donc en déduire les deux variables d accumulation suivantes : 1 Variables 2 nb: Entier -- le nombre de valeurs lues de la série 3 somme: Réel -- la somme des valeurs lues de la série Les premiers niveaux de raffinage peuvent être présentés ainsi : 1 R0 : Afficher la moyenne d une série de valeurs réelles 2 3 R1 : Raffinage De «Afficher la moyenne d une série de valeurs réelles» 4 Déterminer le nb d éléments dans la série et leur somme 5 Afficher le résultat 6 7 R2 : Raffinage De «Déterminer le nb d éléments dans la série et leur somme» 8 Initialiser : somme <- 0 et nb <- 0 9 Saisir le premier réel x 10 TantQue x <> 0 Faire 11 Mettre à jour les variables somme et nb en fonction de x 12 Saisir le réel suivant x 13 FinTQ R2 : Raffinage De «Afficher le résultat» 16 Si nb > 0 Alors 17 Afficher la moyenne = somme / nb 18 Sinon 19 Signaler moyenne impossible 20 FinSi Remarque : On pouvait pas utiliser un Pour car on ne connait pas à priori le nombre de valeurs dans la série. Ceci dépend de l utilisateur. C est lui qui décide de saisir 0. On doit donc utiliser soit un TantQue, soit un Répéter. Nous avons utilisé un TantQue car nous avons considéré «traiter une valeur» qui peut ne pas être exécutée (cas où l utilisateur saisit tout de suite 0 pour indiquer que la série est vide). Nous aurions également pu utiliser un Répéter en nous intéressant à la saisie d un réel. L utilisateur doit nécessairement saisir au moins un réel (une valeur de la série ou zéro). Notons que dans ce cas, il faut ensuite faire un test pour savoir si le réel saisi fait partie de la série et, dans l affirmative, le comptabiliser. Voici le raffinage correspondant. 1 Initialiser les variables statistiques avec x 2 Répéter 3 Saisir un réel x: out 4 Si x <> 0 Alors { x est une valeur de la série } 5 Mettre à jour les variables statistiques Exercices résolus en VBA, Semaine 1 c INPT PAD 5/18
6 6 FinSi 7 Jusqu à x = 0 On remarque que dans le cas du TantQue on duplique une instruction (la saisie d un réel) et dans le cas du Répéter on duplique un condition. L algorithme peut ensuite être le suivant : 1 Algorithme statistiques_simples_moyenne Afficher la moyenne d une série de valeurs réelles lues au clavier La série est terminée par zéro qui n appartient pas à la série. 5 6 Variables 7 x: Réel -- un réel lu au clavier 8 nb: Entier -- le nombre de valeurs dans la série 9 somme: Réel -- la somme des valeurs lues de la série Début Déterminer le nb d éléments dans la série et leur somme Initialiser les variables 14 somme < pas encore d éléments lus 15 nb < Saisir le premier réel 17 Lire(x) Traiter les éléments de la série 19 TantQue x <> 0 Faire Mettre à jour les variables somme et nb en fonction de x 21 somme <- somme + x 22 nb <- nb Saisir le réel suivant 25 Lire(x) 26 FinTQ Afficher le résultat 29 Si nb > 0 Alors { La moyenne a un sens } Afficher la moyenne 31 ÉcrireLn("Moyenne = ", somme / nb) 32 Sinon { La moyenne n a PAS de sens } Signaler moyenne impossible 34 ÉcrireLn("La série est vide. La moyenne n existe donc pas!") 35 FinSi 36 Fin. 1 Attribute VB_Name = "exo2_statistiques_clavier_moy" 2 ************************************************************************* 3 * Auteur : Claude Monteil <[email protected]> 4 * Version : * Objectif : 6 Afficher la moyenne d une serie de valeurs reelles lues au clavier. 7 ************************************************************************ 8 Exercices résolus en VBA, Semaine 1 c INPT PAD 6/18
7 9 Sub statistiques_clavier() Dim x As Double un reel lu au clavier 12 Dim nb As Integer le nombre de valeurs lues de la serie 13 Dim somme As Double la somme des valeurs lues de la serie EffacerEcran "Moyenne d une série de valeurs" 16 1.afficher la consigne 17 Afficher "Donnez, en colonne, une serie d entiers qui se termine par 0." lire le premier reel 20 Saisir x If (x = 0) Then Pas de valeur dans la serie 23 Afficher "La serie est vide. " 24 Afficher "Les statistiques demandees n ont pas de sens!" 25 Else 26 3.initialiser les variables statistiques avec x 27 somme = x 28 nb = lire une nouvelle valeur x 31 Saisir x Do While x <> mettre à jour les variables statistiques 35 nb = nb somme = somme + x 37 6.lire une nouvelle valeur x 38 Saisir x 39 Loop 40 7.afficher les statistiques 41 Afficher "Moyenne = " & somme / nb End If End Sub > > > > > Non defini 2.2 En plus de la moyenne, on veut connaître la plus petite et la plus grande valeur de la série. Solution : Pour calculer la plus grande et la plus petite valeur, je pourrais procéder comme pour la moyenne en identifiant les deux variables min et max. 1 Variables 2 min: Réel -- la plus petite des valeurs lues de la série 3 max: Réel -- la plus grande des valeurs lues de la série Exercices résolus en VBA, Semaine 1 c INPT PAD 7/18
8 Le problème est de savoir avec quelle valeur intialiser max et min. Particulariser une valeur est toujours dangereux. Le mieux est donc de les initialiser avec la première valeur de la série... à condition que cette valeur existe. Le test de la série vide n est donc plus fait a posteriori mais a priori. Les premiers niveaux de raffinage sont alors : 1 R0 : Afficher des statistiques sur une série de valeurs réelles 2 3 R1 : Comment «Afficher des statistiques sur une série de valeurs réelles» 4 Saisir la première valeur x 5 Si x est nulle Alors 6 Indiquer que les statistiques demandées ne peuvent pas être faites 7 Sinon 8 Initialiser les variables statistiques avec x 9 Saisir une nouvelle valeur x 10 TantQue x est NON nulle Faire 11 Mettre à jour les variables statistiques 12 Saisir une nouvelle valeur x 13 FinTQ 14 Afficher les statistiques 15 FinSi L algorithme peut ensuite être le suivant : 1 Algorithme statistiques_simples_max Afficher la moyenne, la plus grande et la plus petite valeur 4 -- d une série de valeurs réelles lues au clavier La série est terminée par zéro qui n appartient pas à la série. 6 7 Variables 8 x: Réel -- un réel lu au clavier 9 nb: Entier -- le nombre de valeurs lues de la série 10 somme: Réel -- la somme des valeurs lues de la série 11 min: Réel -- la plus petite des valeurs lues de la série 12 max: Réel -- la plus grande des valeurs lues de la série Début Saisir le premier réel x 16 Lire(x) Si x = 0 Alors Indiquer que les statistiques demandées ne peuvent être faites 20 ÉcrireLn("La série est vide."); 21 ÉcrireLn("Les statistiques demandées n ont pas de sens!") 22 Sinon Initialiser les variables statistiques avec x 24 max <- x 25 min <- x 26 somme <- x 27 nb < Exercices résolus en VBA, Semaine 1 c INPT PAD 8/18
9 29 -- Saisir une nouvelle valeur x 30 Lire(x) TantQue x <> 0 Faire Mettre à jour les variables statistiques 34 nb <- nb somme <- somme + x 36 Si x > max Alors 37 max <- x 38 SinonSi x < min Alors 39 min <- x 40 FinSi Saisir une nouvelle valeur x 43 Lire(x) 44 FinTQ Afficher les statistiques 47 ÉcrireLn("Moyenne = ", somme / nb) 48 ÉcrireLn("Plus petite valeur = ", min) 49 ÉcrireLn("Plus grande valeur = ", max) 50 FinSi 51 Fin. Exercices résolus en VBA, Semaine 1 c INPT PAD 9/18
10 Exercice 3 : Division entière Étant donnés deux entiers positifs lus au clavier, calculer le quotient et le reste de la division euclidienne du premier nombre par le deuxième. On utilisera uniquement l addition et la soustraction sur les entiers. Solution : Remarque : En utilisant seulement l addition et la soustraction, on ne peut pas utiliser une boucle Pour. Il faut donc choisir entre TantQue et Répéter. 1 Algorithme div_mod Calculer le quotient (div) et le reste (mod) de la division entière de 4 -- deux entiers lus au clavier 5 6 Variables 7 dividende: Entier -- dividende lu au clavier, positif 8 diviseur: Entier -- diviseur lu au clavier, strictement positif 9 reste: Entier -- reste de la division entière 10 quotient: Entier -- quotient de la division entière Début saisir le dividende et le diviseur avec contrôle calculer le quotient et le reste 17 reste <- dividende 18 quotient < TantQue reste >= diviseur Faire 20 { Variant : reste } 21 { Invariant : diviseur * quotient + reste = dividende } 22 quotient <- quotient reste <- reste - diviseur 24 FinTQ afficher le résultat 27 ÉcrireLn(dividende, " / ", diviseur, " = ", 28 quotient, " * ", diviseur, " + ", reste) 29 Fin > 2 * > 5 * > diviseur nul! 1 Attribute VB_Name = "exo3_div_mod" 2 ******************************************************************** 3 * Auteur : Claude Monteil <[email protected]> 4 * Version : * Objectif : Quotient et reste de la division entiere 6 ******************************************************************* 7 8 Sub div_mod() 9 Calcule le quotient (div) et le reste (mod) de la division entiere Exercices résolus en VBA, Semaine 1 c INPT PAD 10/18
11 10 de deux entiers lus au clavier. 11 Dim dividende As Integer dividende lu au clavier, positif 12 Dim diviseur As Integer diviseur lu au clavier, strictement positif 13 Dim reste As Integer reste de la division entiere 14 Dim quotient As Integer quotient de la division entiere EffacerEcran "Quotient et reste d une division entière" 17 1.saisir le dividende et le diviseur 18 Do 19 1a.Saisir les valeurs 20 Afficher "Dividende : " 21 Saisir dividende 22 Afficher "Diviseur : " 23 Saisir diviseur 24 1b.Verifier le dividende 25 If (dividende < 0) Then Afficher "Le dividende doit etre strictement positif." 26 1c.Verifier le diviseur 27 If (diviseur <= 0) Then Afficher "Le diviseur doit etre strictement positif." 28 Loop Until (dividende >= 0) And (diviseur > 0) calculer le quotient et le reste 31 reste = dividende 32 quotient = 0 33 Do Until (reste < diviseur) 34 Variants : reste et quotient 35 Invariant : diviseur * quotient + reste = dividende 36 quotient = quotient reste = reste - diviseur 38 Loop 39 (reste < diviseur) et (diviseur * quotient + reste = dividende) afficher le resultat 42 Afficher dividende & "/" & diviseur & "=" & quotient & "*" & diviseur & "+" & reste 43 End Sub > 2 * > 0 * > 5 * > 0 * > dividende non positif, diviseur non > > dividende non positif > diviseur non strictement positif > Recommencez! Exercices résolus en VBA, Semaine 1 c INPT PAD 11/18
12 Exercice 4 : Nombres premiers Écrire un programme qui permet à son utilisateur de saisir une valeur entière et qui, en retour lui indique si c est un nombre premier ou pas. Solution : Il s agit d afficher si un nombre saisi par l utilisateur est premier ou non. 1 R0 : Afficher si un nombre saisi est premier ou non Pour ce qui concerne les jeux de test, on peut vérifier si le programme fonctionne sur les premiers nombres, par exemple de 1 à 20 ou de 1 à 100. Le premier niveau de raffinage est classique. Il permet de clairement séparer la partie calcul de la partie interaction avec l utilisateur. 1 R1 : Raffinage De «Afficher si un nombre saisi est premier ou non» 2 Saisir un nombre n: out Entier 3 Déterminer si le nombre est premier n: in ; premier: out Booléen 4 Afficher le résultat n, premier: in Seule la deuxième étape mérite d être détaillée. Un nombre premier est un nombre qui n admet pas de diviseurs autres que 1 et lui-même. Nous allons en proposer plusieurs raffinements que nous allons comparer d un point de vu performance (en nombre d opérations arithmétiques). Ainsi, étant donné un entier n, on peut regarder s il est divisible par les entiers compris entre 2 et n 1. L idée est d essayer chaque entier. Si on trouve un diviseur le n n est pas premier. Si on ne trouve pas de diviseur, n est premier. On se sert donc de la variable booléenne que l on initialise à V RAI et qui sera mise à faux dès que l on trouve un diviseur. On pourrait donc l écrire avec un Pour. 1 premier <- VRAI 2 Pour diviseur <- 1 JusquÀ diviseur = n-1 Faire 3 Si diviseur est un diviseur de n Alors 4 premier <- FAUX 5 FinSi 6 FinPour Ce qui s écrit de manière équivalente : 1 premier <- VRAI 2 Pour diviseur <- 1 JusquÀ diviseur = n-1 Faire 3 premier <- premier Et (diviseur est un diviseur de n) 4 FinPour Si l utilisation d un Pour est possible, elle est cependant peu judicieuse. En effet, dès qu on a trouvé un diviseur, on sait que le nombre n est pas premier et il est inutile d essayer d autres diviseurs. Nous devons donc utiliser un TantQue ou un Répéter. Nous optons pour un TantQue. Remarquons que nous avons en fait initialisé la variable premier avec n <> 1 pour tenir compte du fait que 1 n est pas un nombre premier. Voici le raffinage correspondant. 1 R2 : Raffinage De «Déterminer si un nombre est premier» 2 premier <- n > 1 3 diviseur <- 2 4 TantQue premier Et (diviseur < n - 1) Faire 5 premier <- Non diviseur est un diviseur de n Exercices résolus en VBA, Semaine 1 c INPT PAD 12/18
13 6 diviseur <- diviseur FinTQ 8 9 R3 : Raffinage De «diviseur est un diviseur de n» 10 Résultat <- n Mod diviseur = 0 1 Attribute VB_Name = "exo4_nb_premier" 2 ************************************************************************* 3 * Auteur : Claude Monteil <[email protected]> 4 * Version : * Objectif : programme qui demande un entier et indique s il est premier 6 * (possibilite de repetition) 7 ************************************************************************ 8 9 Sub nb_premier() 10 Dim rep As String réponse utilisateur 11 Dim nombre As Integer nombre saisi au clavier 12 Dim premier As Boolean est-ce que nombre est premier? 13 Dim diviseur As Integer parcourir les diviseurs potentiels de nombre EffacerEcran "Test de nombres premiers" 16 Do 17 1.saisir le nombre 18 Afficher "Entrez un nombre : " 19 Saisir nombre déterminer si nombre est premier 22 premier = (nombre <> 1) 23 diviseur = 2 24 Do While (premier) And (diviseur < nombre) 25 premier = (nombre Mod diviseur <> 0) 26 diviseur = diviseur Loop afficher le résultat 30 If premier Then 31 Afficher "premier" 32 Else 33 Afficher "NON premier" 34 End If demander si l utilisateur veut recommencez 37 Afficher "Recommencer (o/n)? " 38 Saisir rep 39 Loop Until (rep = "n") Or (rep = "N") End Sub En fait, on sait qu il n est pas nécessaire de regarder les diviseurs au delà de n/2 car il ne peut pas y en avoir (trivial). On peut donc reformuler la condition du TantQue TantQue premier Et (diviseur <= n Div 2) Faire Exercices résolus en VBA, Semaine 1 c INPT PAD 13/18
14 Cette optimisation permet de réduire par 2 le nombre d opérations. Cependant, on peut faire beaucoup mieux. En effet, si un nombre n est pas premier il admet un diviseur et en fait au moins deux dont l un au moins est inférieur ou égal à sa racine carrée. TantQue premier Et (diviseur <= racine carrée de n) Faire Cette optimisation est bien meilleure que la précédente. En effet, si on considère un nombre premier supérieur à 10000, dans la version initiale, on doit considérer diviseurs, dans la première optimisation 5000 et seulement 100 dans la seconde. Remarque : Pour éviter d utiliser les réels et donc les problèmes d arrondis (et éventuellement une perte de performance), on peut transformer l expression diviseur <= racine carrée de n par (en élevant au carré) diviseur * diviseur <= n et, pour éviter les débordements (diviseur * diviseur peut dépasser la capacité des entiers), il est préférrable de réorganiser les calculs : diviseur <= n Div diviseur Une fois cette fransformation réalisée, on obtient donc : TantQue premier Et (diviseur <= n Div diviseur) Faire On peut encore améliorer l algorithme. En effet, si on sait que le nombre n est pas divisible par 2, il est inutile d essayer les diviseurs pairs (4, 6, 9, etc.). On peut se limiter aux diviseurs impairs (3, 5, 7, 9, 11...). Voici le raffinage correspondant. 1 R2 : Raffinage De «Déterminer si un nombre est premier» 2 Si n = 2 Alors 3 premier <- VRAI 4 Sinon 5 premier <- (n >= 2) Et Non (2 divise n) 6 diviseur <- 3 7 TantQue premier Et (diviseur <= n Div diviseur) Faire 8 premier <- Non diviseur est un diviseur de n 9 diviseur <- diviseur FinTQ 11 FinSi Remarque : On pourrait se passer du Si en initialisant premier de la manière suivante : 1 premier = (n == 2) Ou ((n >= 3) Et (n Mod 2 <> 0)) 1 Attribute VB_Name = "exo4b_nb_premier_optimise" 2 ************************************************************************* 3 * Auteur : Claude Monteil <[email protected]> 4 * Version : * Objectif : programme qui demande un entier et indique s il est premier 6 * (possibilite de repetition) 7 ************************************************************************ 8 Exercices résolus en VBA, Semaine 1 c INPT PAD 14/18
15 9 Sub nb_premier_optimise() 10 Dim rep As String réponse utilisateur 11 Dim nombre As Integer nombre saisi au clavier 12 Dim premier As Boolean est-ce que nombre est premier? 13 Dim diviseur As Integer parcourir les diviseurs potentiels de nombre 14 Dim limite As Integer le plus grand diviseur à essayer EffacerEcran "Test (amélioré) de nombres premiers" 17 Do 18 1.saisir le nombre 19 Afficher "Entrez un nombre : " 20 Saisir nombre déterminer si nombre est premier 23 premier = (nombre = 2) Or (nombre >= 3 And (nombre Mod 2 <> 0)) 24 diviseur = 3 25 limite = Round(Sqr(nombre)) 26 Do While (premier) And (diviseur <= limite) 27 premier = (nombre Mod diviseur <> 0) 28 diviseur = diviseur Loop afficher le résultat 32 If premier Then 33 Afficher "premier" 34 Else 35 Afficher "NON premier" 36 End If demander si l utilisateur veut recommencez 39 Afficher "Recommencer (o/n)? " 40 Saisir rep 41 Loop Until (rep = "n") Or (rep = "N") End Sub Modifier le programme pour qu il propose à l utilisateur d entrer une autre valeur à traiter ou d arrêter le programme. Solution : Le raffinage est le suivant : 1 R0 : Indiquer si des entiers saisis au clavier sont premiers ou non 2 3 R1 : Raffinage De «R0» 4 Répéter 5 Saisir un entier 6 Indiquer le caractère premier de l entier 7 Demander à l utilisateur s il veut continuer 8 JusquÀ réponse = n On peut en déduire le raffinage suivant : 1 Algorithme nb_premier 2 Exercices résolus en VBA, Semaine 1 c INPT PAD 15/18
16 3 -- Indiquer si un nombre est premier où non 4 -- Possibilité de recommencer 5 6 Variables 7 n: Entier -- parcourir les entiers de 1 à max 8 i: Entier -- parcourir les diviseurs potentiels de n 9 premier: Booléen -- n est-il premier 10 réponse: Caractère -- réponse de l utilisateur (o/n) Début 13 Répéter -- analyser un nombre de l utilisateur saisir le nombre 15 ÉcrireLn ("J indique si un nombre est premier") 16 Écrire ("Le nombre : ") 17 Lire (n) Déterminer si n est premier 20 Si n <= 3 Alors 21 premier <- n > n est pas premier 22 Sinon 23 premier <- ((n mod 2) <> 0) -- n Non divisible par 2 24 Et ((n mod 3) <> 0) -- n Non divisible par 3 25 i < TantQue premier Et (i < n Div i) Faire n peut encore être premier et il reste des diviseurs potentiels 29 i <- i premier <- (n mod i) <> 0 -- n Non divisible par i 31 FinTQ 32 FinSi afficher le résultat 35 Si premier Alors 36 ÉcrireLn ("OUI, ", n, " est premier") 37 Sinon 38 ÉcrireLn ("NON, ", n, " n est pas premier") 39 FinSi Demander à l utilisateur si il veut continuer 42 Écrire ("Encore un nombre (o/n)? ") 43 Lire (réponse) 44 JusquÀ réponse = n 45 Fin. Exercices résolus en VBA, Semaine 1 c INPT PAD 16/18
17 Exercice 5 : Nombres parfaits Écrire un programme qui affiche tous les nombres parfaits compris entre 2 et Un nombre parfait est un entier égal à la somme de ses diviseurs, lui exclu. Par exemple, 28 est un nombre parfait (28 = ). Solution : 1 R0 : Afficher les nombres parfaits compris entre 2 et Max, lu au clavier 2 3 R1 : Raffinage De «R0» 4 Pour n <- 2 JusquÀ n = Max Faire 5 Si n est parfait Alors 6 Afficher n 7 FinSi 8 FinPour 9 10 R2 : Raffinage De «n est parfait» 11 Calculer la somme des diviseurs de n (autre que 1 et n) 12 Résultat <- n = somme des diviseurs R3 : Raffinage De «Calculer la somme des diviseurs de n» 15 somme < Pour i <- 2 JusquÀ racine carrée de n Faire 17 Si i diviseur de n Alors 18 somme <- somme + i + (n Div i) 19 FinSi 20 FinPour 21 Si n est un carré parfait Alors 22 somme <- somme - racine carrée de n 23 FinSi 1 Attribute VB_Name = "exo5_nb_parfait" 2 ************************************************************************* 3 * Auteur : Claude Monteil <[email protected]> 4 * Version : Objectif : Trouver les nombres parfaits entre 2 et ************************************************************************ 7 8 Sub nb_parfaits() 9 Dim nombre As Integer 10 Dim somme As Integer 11 Dim borne As Integer 12 Dim diviseur As Integer EffacerEcran "Nombres parfaits inférieurs à 10000" 15 For nombre = 2 To tester si nombre est parfait 16 borne = Round(Sqr(nombre)) 17 si NB est diviseur de nombre alors (nombre / NB) est egalement 18 diviseur. Pour trouver l ensemble des diviseurs, il suffit 19 donc d aller jusqu à Sqr(nombre). 20 somme = 1 21 For diviseur = 2 To borne tester si diviseur divise nombre Exercices résolus en VBA, Semaine 1 c INPT PAD 17/18
18 22 If (nombre Mod diviseur = 0) Then 23 somme = somme + diviseur + nombre / diviseur 24 End If 25 Next diviseur a-t-on compte deux fois le terme borne? 28 If (nombre = (borne * borne)) Then oui 29 somme = somme - borne 30 End If If (nombre = somme) Then 33 Afficher "***** " & nombre 34 End If 35 Next nombre 36 End Sub Les premiers nombres parfaits sont : Exercices résolus en VBA, Semaine 1 c INPT PAD 18/18
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
Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
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
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
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
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
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
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
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 : [email protected], [email protected], [email protected],
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
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
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
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
Chapitre 1 : Évolution COURS
Chapitre 1 : Évolution COURS OBJECTIFS DU CHAPITRE Savoir déterminer le taux d évolution, le coefficient multiplicateur et l indice en base d une évolution. Connaître les liens entre ces notions et savoir
Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
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
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
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é
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
Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007
Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007 page 1 / 10 abscisse addition additionner ajouter appliquer
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
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)
La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient
par un nombre entier I La division euclidienne : le quotient est entier Faire l activité division. Exemple Sur une étagère de 4mm de large, combien peut on ranger de livres de mm d épaisseur? La question
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
108y= 1 où x et y sont des entiers
Polynésie Juin 202 Série S Exercice Partie A On considère l équation ( ) relatifs E :x y= où x et y sont des entiers Vérifier que le couple ( ;3 ) est solution de cette équation 2 Déterminer l ensemble
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.
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
Continuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
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
Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.
Chapitre : Les nombres rationnels Programme officiel BO du 8/08/08 Connaissances : Diviseurs communs à deux entiers, PGCD. Fractions irréductibles. Opérations sur les nombres relatifs en écriture fractionnaire.
Résolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
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
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
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
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
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
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Chapitre 2 Devine mon nombre!
Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction
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 [email protected] 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
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
Enseignement secondaire technique
Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:
3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
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
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.
Chapitre 6. Fonction réelle d une variable réelle
Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette
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
avec des nombres entiers
Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0
1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Chap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
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
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,
Introduction à l algorithmique et à la programmation M1102 CM n 3
Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY [email protected] IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Glossaire des nombres
Glossaire des nombres Numérisation et sens du nombre (4-6) Imprimeur de la Reine pour l'ontario, 008 Nombre : Objet mathématique qui représente une valeur numérique. Le chiffre est le symbole utilisé pour
Codage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
TRIGONOMETRIE Algorithme : mesure principale
TRIGONOMETRIE Algorithme : mesure principale Déterminer la mesure principale d un angle orienté de mesure! 115" Problèmatique : Appelons θ la mesure principale, θ et! 115" sont deux mesures du même angle,
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
Cours d Informatique
Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V [email protected] [email protected] 2007/2008 Info2, 1ère année SM/SMI 1
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
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
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Les chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
ACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Propagation sur réseau statique et dynamique
Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.
3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Algorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Technique opératoire de la division (1)
Unité 17 Technique opératoire de la division (1) Effectuer un calcul posé : division euclidienne de deux entiers. 1 Trois camarades jouent aux cartes. Manu fait la distribution en donnant à chaque joueur
Algorithmique avec Algobox
Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après
Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
INF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014
numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:[email protected] Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour
Utilitaires méconnus de StrataFrame
Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
UE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Chapitre 2. Eléments pour comprendre un énoncé
Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données
UNITÉS ET MESURES UNITÉS DE MESURE DES LONGUEURS. Dossier n 1 Juin 2005
UNITÉS ET MESURES UNITÉS DE MESURE DES LONGUEURS Dossier n 1 Juin 2005 Tous droits réservés au réseau AGRIMÉDIA Conçu et réalisé par : Marie-Christine LIEFOOGHE Bruno VANBAELINGHEM Annie VANDERSTRAELE
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é
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
http://cermics.enpc.fr/scilab
scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,
COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3
Mathématiques COURS ALGORITHMIE Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer Julien Bordas T.S 3 La Nativité Mathématiques A qui s adresse ce cours? COURS ALGORITHMIE Ce cours
Solutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours
Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****
Algorithmique & programmation
Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer
Cours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas [email protected] Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Exercices Corrigés Premières notions sur les espaces vectoriels
Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3
Fonctions homographiques
Seconde-Fonctions homographiques-cours Mai 0 Fonctions homographiques Introduction Voir le TP Géogébra. La fonction inverse. Définition Considérons la fonction f définie par f() =. Alors :. f est définie
CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1
AISSE ENREGISTREUSE ELETRONIQUE SE-G PROGRAMMATION SIMPLIFIEE 20/0/204 SOMMAIRE PROGRAMMATION SIMPLIFIEE.... Introduction... 2. Programmation... 4 Initialisation de la caisse :... 4 Programmation de base
Java Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Informatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) [email protected] Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1
Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites
Raisonnement par récurrence Suites numériques
Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.
THEME : CLES DE CONTROLE. Division euclidienne
THEME : CLES DE CONTROLE Division euclidienne Soit à diviser 12 par 3. Nous pouvons écrire : 12 12 : 3 = 4 ou 12 3 = 4 ou = 4 3 Si par contre, il est demandé de calculer le quotient de 12 par 7, la division
Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.
Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. L usage d une calculatrice est autorisé Durée : 3heures Deux annexes sont à rendre avec la copie. Exercice 1 5 points 1_ Soit f la
