Mon site personnel consacré à MSEide+MSEgui : msegui.net
Bonne idée ! Pour tester je me suis installé TP7 sous DosBox et ça donne ceci :
Et ça marche ! aussi bien sous DosBox/TP7 que FPC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 program TESTSET; Type AlphaChar = 'a'..'z'; AlphaSet = SET Of AlphaChar; Var SetA, SetB, SetResult : Alphaset; Mot : String; k : Char; { StrToAlphaSet renvoie l'ensemble des lettres a à z contenues dans UneChaine} Procedure StrToAlphaSet(Var Result:Alphaset; UneChaine: String); Var i: Integer; Begin Result := []; For i:= 1 To Length(UneChaine) do begin If UneChaine[i] In [Low(AlphaChar)..High(AlphaChar)] Then Result := Result + [UneChaine[i]] end; End; begin Repeat { saisie des deux mots } Write('Donnez un premier mot : '); Readln(Mot); StrToAlphaSet(SetA,Mot); Write('Donnez un second mot : '); Readln(Mot); StrToAlphaSet(SetB,Mot); { c'est cette unique ligne de code qui fait tout le boulot :} SetResult := SetA * SetB; {affichage du resultat} If SetResult = [] Then Writeln('Pas de lettre commune !') Else For k := Low(AlphaChar) To High(AlphaChar) Do If (SetResult * [K]) <> [] Then Writeln('La lettre ',k,' est commune aux deux mots'); Write('Autres mots (o/n) ?') ; Readln(k) until k <> 'o'; end.
Mon site personnel consacré à MSEide+MSEgui : msegui.net
C'est ce que j'avais codé dans une première version mais je l'ai changé car une vieille doc Borland que j'ai sur Turbo Pascal 4.0 ne cite pas l'opérateur IN dans la liste des opérateurs d'ensemble.
Comme j'avais eu des erreurs du genre 'Operator not defined for the type' je n'ai pas cherché plus loin et changé le code, mais si je refais le test avec DosBox/TP7 ça marche.
La version 4.0 de TP a été la première version à supporter les ensembles (Une doc TP3 que j'ai aussi ne parle pas du tout des ensembles) et il est possible que l'opérateur IN n'ait été implémenté que postérieurement à la version 4.0.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager