Posté par
caylus caylus
Bonjour Minkus,
Il y a
vingt-deux voyelles et
trente-cinq consonnes dans cette phrase.
DECLARE FUNCTION Lettre$ (p AS INTEGER)
DECLARE FUNCTION Nb% (p1 AS STRING, p2 AS STRING)
DIM vo AS STRING: vo = "aeiouy"
DIM co AS STRING: co = "bcdfghjklmnpqrstvwxz"
DIM i AS INTEGER, j AS INTEGER, v AS INTEGER, c AS INTEGER
DIM m AS STRING:m = ""
DIM ph1 AS STRING: ph1 = "il y a"
DIM ph2 AS STRING: ph2 = "voyelles et"
DIM ph3 AS STRING: ph3 = "consonnes dans cette phrase"
DIM ph AS STRING: ph = ph1 + " " + ph2 + " " + ph3
CLS
FOR i = 1 TO 100
FOR j = 1 TO 100
m = ph1 + " " + Lettre(i) + " " + ph2 + " " + Lettre(j) + " " + ph3
v = Nb(m, vo)
c = Nb(m, co)
IF v = i AND c = j THEN
PRINT m; v, c
INPUT a$
END IF
NEXT j
NEXT i
END
'--------------------------------------------------
FUNCTION Lettre$ (p AS INTEGER)
DIM rep AS STRING
rep = ""
DIM unite(9) AS STRING
unite(0) = ""
unite(1) = "un"
unite(2) = "deux"
unite(3) = "trois"
unite(4) = "quatre"
unite(5) = "cinq"
unite(6) = "six"
unite(7) = "sept"
unite(8) = "huit"
unite(9) = "neuf"
DIM diz(9) AS STRING
diz(0) = ""
diz(1) = "dix"
diz(2) = "vingt"
diz(3) = "trente"
diz(4) = "quarante"
diz(5) = "cinquante"
diz(6) = "soixante"
diz(7) = "septante"
diz(8) = "quatre-vingt"
diz(9) = "nonante"
DIM dix(9) AS STRING
dix(0) = "dix"
dix(1) = "onze"
dix(2) = "douze"
dix(3) = "treize"
dix(4) = "quatorze"
dix(5) = "quinze"
dix(6) = "seize"
dix(7) = "dix-sept"
dix(8) = "dix-huit"
dix(9) = "dix-neuf"
DIM q AS INTEGER, r AS INTEGER
SELECT CASE p
CASE IS < 10
rep = unite(p)
CASE IS < 20
rep = dix(p - 10)
CASE IS < 100
q = INT(p / 10)
r = p MOD 10
IF r = 1 THEN
rep = diz(q) + " et"
ELSE
rep = diz(q)
END IF
rep = rep + " " + unite(r)
END SELECT
Lettre$ = rep
END FUNCTION
'--------------------------------------------------
FUNCTION Nb% (p1 AS STRING, p2 AS STRING)
DIM i AS INTEGER, s AS INTEGER, l AS STRING
s = 0
FOR i = 1 TO LEN(p1)
l = MID$(p1, i, 1)
IF INSTR(p2, l) > 0 THEN
s = s + 1
END IF
NEXT i
Nb% = s
END FUNCTION