Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-23%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS 44mm (plusieurs coloris)
199 € 259 €
Voir le deal

Deux exercices sur les boucles

3 participants

Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Lun 19 Jan - 14:18

salut tout le monde!!
voilà voilou Razz j'ai à vous proposer deux excercices dont je cherche la résolution Suspect si vous voulez bien me la rediger !! merci d'avance I love you

ex1:
ecrire un programme pascal qui permet de saisir une chaîne de caractères CH1 ,d'en extraire les deux nombres formés par les chiffres figurant dans la chaîne Ch1 (extraction apartir de la droite puis extraction à partir de la gauche )
exple: si CH1='a45b3cz' le pg affichera 4532 et 2354


[b]ex2:
ecrire un pg Pascal qui saisit un tableau T et affiche l'ordre alphabetique de chaque lettre (se trouvant dans le tableau).


à + scratch
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par lamia Mar 20 Jan - 0:28

Bonsoir,

cooletzen a écrit:exple: si CH1='a45b3cz' le pg affichera 4532 et 2354
Dans ton exemple il manque le 2 dans la derniere partie de la chaine CH1.

Bon je te donne des indications pour que tu essai toute seule de resoudre ces 2 exercices

cooletzen a écrit:ex1:
ecrire un programme pascal qui permet de saisir une chaîne de caractères CH1 ,d'en extraire les deux nombres formés par les chiffres figurant dans la chaîne Ch1 (extraction apartir de la droite puis extraction à partir de la gauche )
exple: si CH1='a45b3cz' le pg affichera 4532 et 2354

Pense à lire chaque caractére de la chaine (donc utilisation d'une boucle), à chaque itération le comparer avec une liste de valeurs, soit la liste des entiers de 0 à 9. Si tu le trouve dans cette liste alors tu le copie dans une autre chaine, et en le concaténant avec ce qui existe déjà dans cette variable.

Deux boucles seront utilisée, une qui part du debut de la chaine et une de la fin.

On attend ta proposition Very Happy

cooletzen a écrit:
ex2:
ecrire un pg Pascal qui saisit un tableau T et affiche l'ordre alphabetique de chaque lettre (se trouvant dans le tableau).

J'ai pas bien compris tu veux dire quoi avec l'ordre alphabétique de chaque lettre Rolling Eyes
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6800
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue996/1000Deux exercices sur les boucles Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Mar 20 Jan - 12:14

De ma part, je te propose les instructions (algorithmiques) suivantes :

EXERCICE 1:
Pour construire le nombre de Gauche ===> Droite:
Code:

0) DEBUT_PROGRAMME
1) Ecrire("Entrer une chaine:");
2) lire(ch);
3) NombreGD := 0;
4) POUR i de 1 à longueur(ch) FAIRE
          SI (ch[i] in "0..9") ALORS
              Convertir_chaine(ch[i],chiffre,e);
              NombreGD := 10*Nombre + chiffre;   
          FINSI
    FINPOUR
5) FIN_PROGRAMME

Tu peux construire les deux nombres (les deux sens) en une seule boucle. Tu sais comment ???

Bon courage.
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Mar 20 Jan - 12:23

Pour le deuxième exercice, une astuce te permet de déterminer l'ordre alphabétique de chaque lettre.

On note Ordre(L) l'ordre alphabétique d'une lettre L. Il est calculé comme suit:

Ordre(L) = CODE_ASCII(Majuscule(L)) - CODE_ASCII("A") + 1

où CODE_ASCII est la fonction qui retourne le code ASCII d'une lettre donnée. En effet, deux lettres consécutives ont deux codes ASCII consécutifs.

Prenons un exemple:
Ordre("g") = ASCII("G") - ASCII("A") + 1 = 7
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Mer 21 Jan - 14:41

nabiL a écrit:De ma part, je te propose les instructions (algorithmiques) suivantes :

EXERCICE 1:
Pour construire le nombre de Gauche ===> Droite:
Code:

0) DEBUT_PROGRAMME
1) Ecrire("Entrer une chaine:");
2) lire(ch);
3) NombreGD := 0;
4) POUR i de 1 à longueur(ch) FAIRE
          SI (ch[i] in "0..9") ALORS
              Convertir_chaine(ch[i],chiffre,e);
              NombreGD := 10*[b]Nombre[/b] + chiffre;   
          FINSI
    FINPOUR
5)[color=red] FIN_PROGRAMME[/color]

Tu peux construire les deux nombres (les deux sens) en une seule boucle. Tu sais comment ???

Bon courage.

euuuuuuuuuuuh de quel nombre il s'agit j'ai pas saisi.....


et comment faire pour les ecrire en une seule boucle

Twisted Evil


Dernière édition par cooletzen le Mer 21 Jan - 22:15, édité 2 fois
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Mer 21 Jan - 14:49

Le nombre construit de DROITE ====> GAUCHE.

comment faire pour les ecrire en une seule boucle

Réfléchis et propose une solution d'abord Wink
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Mer 21 Jan - 21:56

nabiL a écrit:

NombreGD := 10*Nombre + chiffre;


.
j'ai pas saisi ce nombre mnin ja

Shocked
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Mer 21 Jan - 22:16

cooletzen a écrit:
nabiL a écrit:De ma part, je te propose les instructions (algorithmiques) suivantes :

EXERCICE 1:
Pour construire le nombre de Gauche ===> Droite:
Code:

0) DEBUT_PROGRAMME
1) Ecrire("Entrer une chaine:");
2) lire(ch);
3) NombreGD := 0;
4) POUR i de 1 à longueur(ch) FAIRE
          SI (ch[i] in "0..9") ALORS
              Convertir_chaine(ch[i],chiffre,e);
              NombreGD := 10*[b]Nombre[/b] + chiffre;   
          FINSI
    FINPOUR
5)[color=red] FIN_PROGRAMME[/color]

Tu peux construire les deux nombres (les deux sens) en une seule boucle. Tu sais comment ???

Bon courage.

euuuuuuuuuuuh de quel nombre il s'agit j'ai pas saisi.....


et comment faire pour les ecrire en une seule boucle

Twisted Evil



euh je pense qu'il manque l'instructiion qui affiche le resultat ( ecrire ('le nombre de gauche a droite est ',gd) non???


de ma part pour resoudre ce pb j'ai pensé à faire deux boucles pour les deux resultats voici l'analyse descendante que j'ai faite ;

resultat:
ch2<------ch[long(convch(s,ch)]
pour j de long (ch) à 1 faire

ch2<------ch2 + ch[j]
fin pour
ndg<--------val (ch2)
ecrire (''le nombre de droite a gauche est' ', ndg)
s<--------0
pour i de 1 à long ch1 faire
si ch1[i]= val(ch1[i] )
alors s<------s+ch1[i]
fin si
ecrire (''le nombre de droite à gauche est ", ndg)
ch1=
repeter
ch1=donné ("donner une chaine")
jusqu'à
long ch1<>0
i,j= compteurs



Embarassed Embarassed voilà mon gribouillage nchalla fhemtouh Laughing
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Mer 21 Jan - 23:29

cooletzen a écrit:
nabiL a écrit:
NombreGD := 10*Nombre + chiffre;
j'ai pas saisi ce nombre mnin ja:shock:


En effet, cette instruction te permet de faire un décalage à gauche de tous les chiffres du nombre, avant de lui ajouter un chiffre à son extreme-droite.

Par exemple:

Si X = 124, et on veut coller 9 à droite de X (pour obtenir 1249)

Alors il suffit de faire:

X := 10 * X + 9.


NON?
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Mer 21 Jan - 23:30

euh je pense qu'il manque l'instructiion qui affiche le resultat ( ecrire ('le nombre de gauche a droite est ',gd) non???

OUI. Ajoute-la.

....

Avec deux boucles, on peut s'en sortir facilement. Mais si tu réfléchis mieux, tu t'en sortiras avec une seule boucle.

Je te donne la solution?
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Jeu 22 Jan - 0:10

nabiL a écrit:
cooletzen a écrit:
nabiL a écrit:
NombreGD := 10*Nombre + chiffre;
j'ai pas saisi ce nombre mnin ja:shock:


En effet, cette instruction te permet de faire un décalage à gauche de tous les chiffres du nombre, avant de lui ajouter un chiffre à son extreme-droite.

Par exemple:

Si X = 124, et on veut coller 9 à droite de X (pour obtenir 1249)

Alors il suffit de faire:

X := 10 * X + 9.


NON?
c malin Rolling Eyes
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Jeu 22 Jan - 0:10

nabiL a écrit:
euh je pense qu'il manque l'instructiion qui affiche le resultat ( ecrire ('le nombre de gauche a droite est ',gd) non???

OUI. Ajoute-la.

....

Avec deux boucles, on peut s'en sortir facilement. Mais si tu réfléchis mieux, tu t'en sortiras avec une seule boucle.

Je te donne la solution?
oui donnez la solution Surprised
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Jeu 22 Jan - 0:27

Code:
0) DEBUT_PROGRAMME
1) Ecrire("Entrer une chaine:");
2) lire(ch);
3) NombreGD := 0; NombreDG := 0; n := length(ch);
4) POUR i de 1 à longueur(ch) FAIRE
          SI (ch[i] in "0..9") ALORS
              Convertir_chaine(ch[i],chiffre,e);
              NombreGD := 10*NombreGD + chiffre;   
          FINSI
          SI (ch[n-i+1] in "0..9") ALORS
              Convertir_chaine(ch[n-i+1],chiffre,e);
              NombreGD := 10*NombreDG + chiffre;   
          FINSI
    FINPOUR
5) FIN_PROGRAMME

Les deux nombres sont: NombreDG et NombreGD.

Y-a-t-il des problèmes?
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Jeu 22 Jan - 14:25

nabiL a écrit:
NombreGD := 10*NombreDG + chiffre;
?
ça sera pas plutot nombreDG:=10...... Surprised
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par cooletzen Jeu 22 Jan - 14:28

sinon tout est clair merci reçu 5 sur 5 boss Cool

sinon aussi :tongue : j'aimerai qu'on m'explique le fonctionnement de la fonction Random Exclamation et des exemples si c'est possible

je sais kathart 3likom Surprised
cooletzen
cooletzen
Entier Naturel
Entier Naturel

Féminin
Nombre de messages : 42
Age : 34
Localisation : tunisie
Réputation : 4
Points : 5845
Date d'inscription : 24/12/2008

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Napoléon Jeu 22 Jan - 15:34

je sais kathart 3likom

Pas du tout. C'est le but du forum déjà. Alors n'hésite jamais à poser des questions, et surtout invite tes amis pour enrichir le contenu du forum.
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Deux exercices sur les boucles Left_bar_bleue999/1000Deux exercices sur les boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Deux exercices sur les boucles Empty Re: Deux exercices sur les boucles

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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