Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

Exercice: Extrait BAC : anagramme + boucles

Aller en bas

boucle* - Exercice: Extrait BAC : anagramme + boucles Empty Exercice: Extrait BAC : anagramme + boucles

Message par Napoléon Dim 22 Fév - 23:54

Extrait d'un Bac pratique tunisien :

Une anagramme est un mot obtenu par transposition des lettres d'un autre mot (par exemple chien, chiene sont des anagrammes du mot niche).

Ecrire un programme Pascal qui permet de saisie deux mots non vides MOT1 et MOT2 puis de déterminer si MOT2 est une anagramme de MOT1.
Napoléon
Napoléon
Admin
Admin

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

Feuille de personnage
Capacité linguistique:
boucle* - Exercice: Extrait BAC : anagramme + boucles Left_bar_bleue999/1000boucle* - Exercice: Extrait BAC : anagramme + boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

boucle* - Exercice: Extrait BAC : anagramme + boucles Empty Re: Exercice: Extrait BAC : anagramme + boucles

Message par Napoléon Dim 22 Fév - 23:56

Cette solution a été proposée dans un forum tunisien. A vous de la vérifier.

Code:
Program TRANSPOSITION;

uses wincrt;

var mot1,mot2: string;

 

procedure saisie(var mot:string);

var i:integer;

lettre: boolean;

begin

repeat

write('Introduire un mot :');

readln(mot);

i:=0;

lettre:=true;

repeat

i:=i+1;

if not(upcase(mot[i] in ['A'..'Z']) then lettre:=false;

until (lettre=false) or (i=length(mot));

until (lettre);

end;

 

procedure permute(var x,y:char);

var temp:char;

begin

temp:=x;

x:=y;y:=temp;

end;

 

function tri(mot:string):string;

var ok:boolean;

m:string;

i:integer;

begin

m:=mot;

repeat

ok:=true;

for i:= 1 to length(m)-1 do

if m[i]>m[i+1] then

begin

permute (m[i],m[i+1]);

ok:=false;

end;

unti ok;

tri:=m;

end;

procedure affiche(mot1,mot2:string);

begin

if tri(mot1)=tri(mot2) then write(mot2,'est une anagramme de ' mot1)

else write(mot2,'n'est pas une anagramme de',mot1);

end;

 

begin

sasie(mot1);

sasie(mot2);

affiche(mot1,mot2);

end.
Napoléon
Napoléon
Admin
Admin

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

Feuille de personnage
Capacité linguistique:
boucle* - Exercice: Extrait BAC : anagramme + boucles Left_bar_bleue999/1000boucle* - Exercice: Extrait BAC : anagramme + boucles Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

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