Exercices sur le thème de la programmation impérative - examen 3, Examens de Réseaux informatiques. Ecole des Ingénieurs de la Ville de Paris
Christophe
Christophe

Exercices sur le thème de la programmation impérative - examen 3, Examens de Réseaux informatiques. Ecole des Ingénieurs de la Ville de Paris

2 pages
659Numéro de visites
Description
Exercices d’informatique sur le thème de la programmation impérative - 3 Les principaux thèmes abordés sont les suivants: exercices,
20 points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu2 pages / 2
Télécharger le document

EI\SEIRB-MATMECA PG 101

20L1-20L2 Informatique

Examen de programmation impérative Barème indicatif. durée 2h

Exercice 1 (7 points)

Ecrivez un programme qui calcule les racines d'un trinome du second degré. IJne exécution

de votre programme pourrait ressembler à ceci :

$$ . / racines 4 -4 1

Le tr inone 4x^2-4x+L a une racine double : 0.5

$

Vous pourrez utiliser la fonction atof O qui convertit une chaîne de caractères en le double

correspondant.

Vous définirez des fonctions auxiliaires lorsque cela vous paraîtra pertinent.

Exercice 2 (13 points)

Les chaînes de caractères manipulées par la bibliothèque C standard ont une particularité

qui empêche de stocker n'importe quel caractère dedans. On souhaite écrire un module de

manipulation de chaînes de caractères qui ne souffre pas de ce défaut.

1. Rappelez quelle est Ia particularité des chaînes de caractères manipulées par les fonctions

de la bibliothèque C standard. A votre avis quel est I'intérêt de cette convention ?

2. Définissez une structure struct chaine possédant deux champs : Ie contenu de la chaine,

et sa longueur. Justifiez les types de ces deux champs.

3. Donnez les prototypes d'une ou deux fonctions qui vous semblent manquer pour que votre

module chaine puisse réellement servir.

4. Implémentez les fonctions du module chaine dont le fichier d'en-tête se trouve sur le verso

de cette feuille.

Indications :

o La fonction chaine-nouvelle O ne doit pas être écrite.

o chaj-ne_facteurO utilisée avec la chaîne tarterûpion et les indices 3 et 7 retourne une

chaîne contenant temp.

o chaine_nb-occurencesO appelée avec comme deuxième chaîne aAeEiIoOuUyY retourne

le nombre de voyelles présentes dans la première chaîne.

o Un mot est un palindrome s'il est eractemenf identique quand on le lit de droite à gauche

et de gauche à droite. Par exemple, radar est un palindrome, Radar n'en est pas un.

docsity.com

/* chaine.h -- nodul-e pernettant de manipuLer des chaines de caracteres */

# inc lude <s tddef .h>

struct chaine;

/* Retourne une nouvelle chaine, de longueur donnee */ struct chaine *chaine_nouvel- le (s ize_t) ;

/* Retourne ]a longueur de ]a chaine passee en parametre */

s ize-t chaine-Iongueur(struct chaine *) ;

/* Retourne une nouvelle chaine contenant une copie de la chaine donnee */

struct chaine *chaine_copie(struct chaine *) ;

/* Retourne une nouvel-l-e chaine contenaat Ia concatenation des chaines cI et c2, dans cet ordre * /

struct chaine *chaine-concatenat ion(struct chaine *c1, struct chaine *c2);

/* Retourne une nouvelle chaine contenant les caracteres d'indices al-l-ant de debut inclus a fin excl-us */

struct chaine *chaine-facteur(struct chaine *, int debut, int f in) ;

/* Retourne une nouvelle chaine contenant Les caracteres dont les lndices sont donnes dans l-e tableau indices, eui est de longueur donnee. La nouvelle chaine aura donc el"le aussi cette longueur. */

struct chaine *chaine-sous-chaine(struct chaine *, const int * indices, s ize-t) ;

/* Retourne Ie nonbre de fois qu'apparaissent l-es caracteres donnes en deuxiene parametre dans la chaine donnee en prenier parametre */

int chaine-nb-occurences(struct chaine *chaine, struct chaine *caracteres);

/* Retourne vrai si l-a chaine est un palindrone */

int chaine*est-palindrome(struct chaine *) ;

docsity.com

Aucun commentaire n'a été pas fait
Télécharger le document