Vous êtes sur la page 1sur 11

Les tableaux et les enregistrements

Les Fonctions Prédéfinies


Une fonction est donc constituée de trois parties :
 Le nom de la fonction qui ne s’invente pas ! Il est proposé
par le langage.
 Deux parenthèses, qui sont toujours obligatoires, même
lorsqu'on n'écrit rien à l'intérieur.
 Une liste de valeurs, indispensables à la bonne exécution de
la fonction. Ces valeurs s’appellent des arguments, ou des
paramètres. Notez également que les arguments doivent être
d’un certain type, et qu’il faut respecter ces types.

Si nous voulons stocker le sinus de 35 dans la variable A, nous


écrirons :
A ← Sin(35)
43
Les tableaux et les enregistrements

44
Les tableaux et les enregistrements

45
Les tableaux et les enregistrements
Les fonctions et les procédures standards sur les chaînes
 Les fonctions :
 long(CH): Fonction qui retourne un entier représentant le nombre
de caractères de la chaîne CH
Exemples :
Long(informatique)
Long( informatique ) donne 12
CH   algorithme  Long(CH) donne 10
 Concat(ch1, ch2, .., chn): Fonction qui retourne la concaténation
des chaînes ch1, ch2,.., chn. C’est l’équivalent de ch1+ch2+…+ chn
Exemple :
H  14 ;
M  28;
S  40;
Temps  Concat(H, : ,M, : , S)  Ce qui retourne 14 : 28 : 40
46
Les tableaux et les enregistrements
Les fonctions et les procédures standards sur les chaînes

 Sous-chaîne(ch, pos, nbc): Fonction qui retourne une sous chaîne


de longueur nbc à partir de la position pos dans ch.
Exemple
Ch  Cours algorithme
Ch1  sous-chaîne(ch, 7, 4)  Ce qui retourne algo dans Ch1
 Pos(ch1, ch2): Fonction qui retourne la position à partir de laquelle
ch1 est une chaîne dans ch2. Si ch1 n’est pas une chaîne dans ch2,
Pos(ch1,ch2) retourne 0.
Exemple
P1  Position(r , programme )
P2  Position(r , java )
P3  Position(al, pascal )
Ce qui retourne 2 dans P1, 0 dans P2, 5 dans P3
47
Les tableaux et les enregistrements
Les fonctions et les procédures standards sur les chaînes

 Les Procédures :
 Efface(ch, p, n)
Procédure qui enlève n caractères de ch à partir de la
position p
Exemple :
Ch  language
Efface(ch, 6, 2)  Ce qui retourne ‘langue’ dans ch
 Insère(ch1, ch2, p)
Procédure qui insère la chaîne ch1 dans la chaîne ch2 à
partir de la position p
Exemple :
Ch1  AU
Ch2  RESEX
48 Insère(ch1,ch2,5)  Ce qui retourne RESEAUX dans ch2
Les tableaux et les enregistrements
Les fonctions et les procédures standards sur les chaînes

 Les Procédures :
 Convch(n, ch): Procédure qui convertit un nombre n en chaîne de
caractères dans la variable ch
Exemple :
Convch(2003, ch)  Ce qui retourne ‘2003’ dans ch.
 Valeur(ch, n, e): Procédure qui convertit une chaîne ch en une valeur
numérique dans la variable numérique n.
e est un paramètre erreur de type entier qui contiendra 0 si la conversion
s’est déroulée sans erreur, sinon elle contiendra le numéro (la position) du
caractère qui a déclenché l’erreur.
ch  2000
valeur(ch, n, e)  Ce qui retourne 2000 dans n
0 dans e
49 ch  15j41k2  valeur(ch, n, e)  Ce qui retourne 0 dans n
3 dans e
Les tableaux et les enregistrements
Les fonctions pour le traitement des chaînes de caractères

fournit la longueur de la chaîne sans compter le '\0'


strlen(<s>)
final
strcpy(<s>, <t>) copie <t> vers <s>
strcat(<s>, <t>) ajoute <t> à la fin de <s>
compare <s> et <t> lexicographiquement et fournit
strcmp(<s>, <t>)
un résultat:
Négatif si <s> précède <t>
Zéro si <s> est égal à <t>
Positif si <s> suit <t>

strncpy(<s>, <t>, <n>) copie au plus <n> caractères de <t> vers <s>

strncat(<s>, <t>, <n>) ajoute au plus <n> caractères de <t> à la fin de <s>

50
Les tableaux et les enregistrements
Les fonctions pour le traitement des chaînes de caractères

Ecrire un programme qui lit un verbe régulier en "er" au clavier et


qui en affiche la conjugaison au présent de l'indicatif de ce verbe.
Contrôlez s'il s'agit bien d'un verbe en "er" avant de conjuguer.
Utiliser les fonctions gets, puts, strcat et strlen.
Exemple:
Verbe : fêter
je fête
tu fêtes
il fête
nous fêtons
vous fêtez
ils fêtent

51
Les tableaux et les enregistrements
Les fonctions pour le traitement des chaînes de caractères

52
Les tableaux et les enregistrements
Remarque 1 : Comparaison des chaînes
Soit ch1 et ch2 deux chaines de caractères, on dit que ch1 est
supérieure à ch2 si ASCII(ch1[1]) > ASCII(ch2[1]).
ch1  Informatique
ch2  informatique
ch3  information  Ce qui donne ch1 < ch2 et ch2 > ch3

Remarque 2 : Génération de nombres aléatoires : la fonction Alea(n)


(Random(n) en pascal)
Une autre fonction classique qui génère un nombre choisi au hasard.
Dans tous les langages, cette fonction existe et produit le résultat
suivant :
Après : X ← Alea(n) ; On a : 0 =< X < n

53

Vous aimerez peut-être aussi