Vous êtes sur la page 1sur 1

source: https://eboik.

com/

Sciences Mathématiques et Informatique


(SMI/S5)
Compilation
Prof. : M. BENADDY
A.U:2015/2016

TD : Série 1

Exercice 1 Rappel programmation en C :


Tableaux et pointeurs
1­ Soit int *p ; // nous déclarons une variable p de type pointeur
P++ ; // le pointeur p est incrémenté de 1 (de 1 quoi ?)
L’unité d’incrémentation ou de décrémentation d’un pointeur est la taille (convertie en octets)
de la variable pointée.
Analyser le code suivant et donner les valeurs prises par x
int main()
{
int a[10], *pa, x;
a[0]=11; a{1]=22; a[3]=33; a[3]=44;
pa = &a[0]; /
x=*pa;
pa++;
x=*pa;
x=*pa+1;
x=*(pa+1);
x=*++pa;
x=++*pa;
x=*pa++;
return 1;
}
Passage des paramètres à la fonction main
Ecrire un programme en langage C, qui passe des paramètres à la fonction main en ligne de commande, le
programme affichera ensuite le nombre et les paramètres passés.
Exemple d'exécution :

Ecrire une calculette en langage C, qui calcule les expressions arithmétiques binaires, avec les nombres
entiers, et avec les quatre opérations arithmétiques. L’expression est a saisir en ligne de commande. Par
exemple, si le programme s’appelle calculette, l'appel en ligne de commande :
calculette 0.5 + 3.2
affichera à l'écran 3.7

Exercice 2 :
Décrire les langages dénotés par les expressions régulières suivantes :
1. a(a|b)*a
2. (("ɛ|a)*)*
3. (a|b)*a(a|b)(a|b)
4. a*ba*ba*ba*
5. (aa|bb)*((ab|ba)(aa|bb)*(ab|ba)(aa|bb)*)*
Exercice 3 :
Écrire les expressions régulières correspondantes aux langages suivants :
1. Toutes les chaînes formées de 5 voyelles en majuscule et en ordre.
2. Les commentaires formés des lettres minuscules délimités par les caractères /* et */
3. Toutes les chaînes formées des lettres a et b, avec un nombre pair des a et un nombre impair des b.

Vous aimerez peut-être aussi