Connexion

Récupérer mon mot de passe

Sondage

Ce Forum répond-t-il a vos attentes?

37% 37% [ 23 ]
20% 20% [ 13 ]
22% 22% [ 14 ]
17% 17% [ 11 ]
1% 1% [ 1 ]

Total des votes : 62

Derniers sujets
» COURS D’ATOMISTIQUE de l'ENSA d'AGADIR
Dim 15 Nov - 15:00 par luluf62

» PARTIE 5: Les Boucles
Ven 30 Oct - 22:29 par mhidou91

» Cours du langage C !! a visionner avec power point
Sam 29 Aoû - 0:13 par ABOUKHALID87

» **Cours tres interessant sur les piles et les files**
Sam 29 Aoû - 0:11 par ABOUKHALID87

» ****La Rentrée****
Lun 2 Fév - 21:33 par MasterCX

» ****The Story Of Bush And Shoe...****
Mar 20 Jan - 15:55 par MasterCX

» ****Resultats MIP 2eme année****
Dim 18 Jan - 15:00 par MasterCX

» cours d informatique
Ven 16 Jan - 22:15 par MasterCX

» ****jusqu'a Quand Ghaza va t'elle tenir??****
Lun 29 Déc - 0:49 par MasterCX

» ****Nouvelle methode de tricher garantie en Japan****
Jeu 25 Déc - 20:29 par simo-hits

» Serie d'Exercices 3
Jeu 18 Déc - 21:18 par simo-hits

» Serie d'Exercices 4
Jeu 18 Déc - 21:18 par simo-hits

» Serie d'Exercices 5
Jeu 18 Déc - 21:17 par simo-hits

» Serie d'Exercices 2
Jeu 18 Déc - 21:16 par simo-hits

» Partie 2: Lecture et Ecriture
Jeu 18 Déc - 21:16 par simo-hits

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Novembre 2009
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Calendrier Calendrier

Meilleurs posteurs
simo-hits
 
Admin
 
MasterCX
 
R ! F ! N ! 0
 
xenon01
 
youssef GI
 
hamza_s
 
A.T.J.
 
anas2704
 
death note
 

Flux RSS

Yahoo! 
Google Reader 
MSN 
AOL 
NewsGator 
Rojo 
Bloglines 


Statistiques
Nous avons 486 membres enregistrés
L'utilisateur enregistré le plus récent est badreddine hamoudan

Nos membres ont posté un total de 1387 messages dans 344 sujets
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

[ Voir toute la liste ]


Le record du nombre d'utilisateurs en ligne est de 10 le Jeu 28 Fév - 23:45

Serie d'Exercices 5

Poster un nouveau sujet   Répondre au sujet

Voir le sujet précédent Voir le sujet suivant Aller en bas

Serie d'Exercices 5

Message par R ! F ! N ! 0 le Jeu 20 Mar - 20:27

Exercice 5.1

Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.



Exercice 5.2

Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10.



Exercice 5.3

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27.



Exercice 5.4

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) :

Table de 7 :
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21

7 x 10 = 70




Exercice 5.5

Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer :

1 + 2 + 3 + 4 + 5 = 15

NB : on souhaite afficher uniquement le résultat, pas la décomposition du calcul.



Exercice 5.6

Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.

NB : la factorielle de 8, notée 8 !, vaut

1 x 2 x 3 x 4 x 5 x 6 x 7 x 8



Exercice 5.7

Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui lui dise ensuite quel était le plus grand parmi ces 20 nombres :

Entrez le nombre numéro 1 : 12
Entrez le nombre numéro 2 : 14
etc.
Entrez le nombre numéro 20 : 6
Le plus grand de ces nombres est : 14


Modifiez ensuite l’algorithme pour que le programme affiche de surcroît en quelle position avait été saisie ce nombre :

C’était le nombre numéro 2



Exercice 5.8

Réécrire l’algorithme précédent, mais cette fois-ci on ne connaît pas d’avance combien l’utilisateur souhaite saisir de nombres. La saisie des nombres s’arrête lorsque l’utilisateur entre un zéro.



Exercice 5.9

Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un client. Calculer la somme qu’il doit, lire la somme qu’il paye, et simuler la remise de la monnaie en affichant les textes "10 Euros", "5 Euros" et "1 Euro" autant de fois qu’il y a de coupures de chaque sorte à rendre.



Exercice 5.10

Écrire un algorithme qui permette de connaître ses chances de gagner au tiercé, quarté, quinté et autres impôts volontaires.

On demande à l’utilisateur le nombre de chevaux partants, et le nombre de chevaux joués. Les deux messages affichés devront être :

Dans l’ordre : une chance sur X de gagner
Dans le désordre : une chance sur Y de gagner


X et Y nous sont donnés par la formule suivante, si n est le nombre de chevaux partants et p le nombre de chevaux joués (on rappelle que le signe ! signifie "factorielle", comme dans l'exercice 5.6 ci-dessus) :

X = n ! / (n - p) !
Y = n ! / (p ! * (n – p) !)


NB : cet algorithme peut être écrit d’une manière simple, mais relativement peu performante. Ses performances peuvent être singulièrement augmentées par une petite astuce. Vous commencerez par écrire la manière la plus simple, puis vous identifierez le problème, et écrirez une deuxième version permettant de le résoudre.
SOLUTION



Exercice 5.1

Variable N en Entier
Debut
N ← 0
Ecrire "Entrez un nombre entre 1 et 3"
TantQue N < 1 ou N > 3
Lire N
Si N < 1 ou N > 3 Alors
Ecrire "Saisie erronée. Recommencez”
FinSi
FinTantQue
Fin




Exercice 5.2

Variable N en Entier
Debut
N ← 0
Ecrire "Entrez un nombre entre 10 et 20"
TantQue N < 10 ou N > 20
Lire N
Si N < 10 Alors
Ecrire "Plus grand !"
SinonSi N > 20 Alors
Ecrire "Plus petit !"
FinSi
FinTantQue
Fin




Exercice 5.3

Variables N, i en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
Ecrire "Les 10 nombres suivants sont : "
Pour i ← N + 1 à N + 10
Ecrire i
i Suivant
Fin




Exercice 5.4

Variables N, i en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
Ecrire "La table de multiplication de ce nombre est : "
Pour i ← 1 à 10
Ecrire N, " x ", i, " = ", n*i
i Suivant
Fin




Exercice 5.5

Variables N, i, Som en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
Som ← 0
Pour i ← 1 à N
Som ← Som + i
i Suivant
Ecrire "La somme est : ", Som
Fin




Exercice 5.6

Variables N, i, F en Entier
Debut
Ecrire "Entrez un nombre : "
Lire N
F ← 1
Pour i ← 2 à N
F ← F * i
i Suivant
Ecrire "La factorielle est : ", F
Fin




Exercice 5.7

Variables N, i, PG en Entier
Debut
PG ← 0
Pour i ← 1 à 20
Ecrire "Entrez un nombre : "
Lire N
Si i = 1 ou N > PG Alors
PG ← N
FinSi
i Suivant
Ecrire "Le nombre le plus grand était : ", PG
Fin


En ligne 3, on peut mettre n’importe quoi dans PG, il suffit que cette variable soit affectée pour que le premier passage en ligne 7 ne provoque pas d'erreur.

Pour la version améliorée, cela donne :


Variables N, i, PG, IPG en Entier
Debut
PG ← 0
Pour i ← 1 à 20
Ecrire "Entrez un nombre : "
Lire N
Si i = 1 ou N > PG Alors
PG ← N
IPG ← i
FinSi
i Suivant
Ecrire "Le nombre le plus grand était : ", PG
Ecrire "Il a été saisi en position numéro ", IPG
Fin




Exercice 5.8

Variables N, i, PG, IPG en Entier
Debut
N ← 1
i ← 0
PG ← 0
TantQue N <> 0
Ecrire "Entrez un nombre : "
Lire N
i ← i + 1
Si i = 1 ou N > PG Alors
PG ← N
IPG ← i
FinSi
FinTantQue
Ecrire "Le nombre le plus grand était : ", PG
Ecrire "Il a été saisi en position numéro ", IPG
Fin




Exercice 5.9

Variables FF, somdue, M, IPG, Reste, Nb10F, Nb5F En Entier
Debut
E ← 1
somdue ← 0
TantQue E <> 0
Ecrire "Entrez le montant : "
Lire E
somdue ← somdue + E
FinTantQue
Ecrire "Vous devez :", E, " euros"
Ecrire "Montant versé :"
Lire M
Reste ← M - E
Nb10E ← 0
TantQue Reste >= 10
Nb10E ← Nb10E + 1
Reste ← Reste – 10
FinTantQue
Nb5E ← 0
Si Reste >= 5
Nb5E ← 1
Reste ← Reste – 5
FinSi
Ecrire "Rendu de la monnaie :"
Ecrire "Billets de 10 E : ", Nb10E
Ecrire "Billets de 5 E : ", Nb5E
Ecrire "Pièces de 1 E : ", reste
Fin




Exercice 5.10

Spontanément, on est tenté d'écrire l'algorithme suivant :

Variables N, P, i, Numé, Déno1, Déno2 en Entier
Debut Ecrire "Entrez le nombre de chevaux partants : "
Lire N
Ecrire "Entrez le nombre de chevaux joués : "
Lire P
Numé ← 1
Pour i ← 2 à N
Numé ← Numé * i
i Suivant
Déno1 ← 1
Pour i ← 2 à N-P
Déno1 ← Déno1 * i
i Suivant
Déno2 ← 1
Pour i ← 2 à P
Déno2 ← Déno2 * i
i Suivant
Ecrire "Dans l’ordre, une chance sur ", Numé / Déno1
Ecrire "Dans le désordre, une sur ", Numé / (Déno1 * Déno2)
Fin


Cette version, formellement juste, comporte tout de même deux faiblesses.

La première, et la plus grave, concerne la manière dont elle calcule le résultat final. Celui-ci est le quotient d'un nombre par un autre ; or, ces nombres auront rapidement tendance à être très grands. En calculant, comme on le fait ici, d'abord le numérateur, puis ensuite le dénominateur, on prend le risque de demander à la machine de stocker des nombres trop grands pour qu'elle soit capable de les coder (cf. le préambule). C'est d'autant plus bête que rien ne nous oblige à procéder ainsi : on n'est pas obligé de passer par la division de deux très grands nombres pour obtenir le résultat voulu.

La deuxième remarque est qu'on a programmé ici trois boucles successives. Or, en y regardant bien, on peut voir qu'après simplification de la formule, ces trois boucles comportent le même nombre de tours ! (si vous ne me croyez pas, écrivez un exemple de calcul et biffez les nombres identiques au numérateur et au dénominateur). Ce triple calcul (ces trois boucles) peut donc être ramené(es) à un(e) seul(e). Et voilà le travail, qui est non seulement bien plus court, mais aussi plus performant :


Variables N, P, i, O, F en Entier
Debut
Ecrire "Entrez le nombre de chevaux partants : "
Lire N
Ecrire "Entrez le nombre de chevaux joués : "
Lire P
A ← 1
B ← 1
Pour i ← 1 à P
A ← A * (i + N - P)
B ← B * i
i Suivant
Ecrire "Dans l’ordre, une chance sur ", A
Ecrire "Dans le désordre, une chance sur ", A / B
Fin

R ! F ! N ! 0
ADMINISTRATOR
ADMINISTRATOR

Masculin
Nombre de messages: 90
Age: 21
Option: LST Genie Info
 :
Date d'inscription: 27/02/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Serie d'Exercices 5

Message par simo-hits le Jeu 18 Déc - 21:17

thanks

simo-hits
Utilisateur Confirmé
Utilisateur Confirmé

Masculin
Nombre de messages: 215
Age: 19
Option: MIP S2
 :
Ville: Ifran
Date d'inscription: 15/09/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum