LV229 - Introduction à l`algorithmique et à la programmation II

LV229 - Introduction à l’algorithmique et à la programmation II
LV229 Introduction à l’algorithmique et à la programmation II
Contenu Sous-programmes, Analyse descendante, Fichiers, Applications scientifiques
Organisation 10 Cours/TD/TP et 2 examen de TP
Horaire Vendredi matin 9h30 – 12h30
Contrôles des connaissances (sans document)
Examen de TP1 - vendredi 28 février : sur 20
Examen de TP2 - vendredi 11 avril : sur 20
Examen écrit final - semaine des examens : sur 60
Cours/TD/TP : Atrium
Indispensable : identifiant / mot de passe
Ordinateurs en libre service : l'UTES Ordinateurs ous unix ; gcc et gedit installés
Atrium 1er étage 8h05-18h du lundi au vendredi
Secrétariat : Mme Correia Elisabeth, Bât B, 2e étage, pièce 227
Informations – planning : également disponibles sur le compte Sakai LV229
Documents sur le Site web http://abiens.snv.jussieu.fr/Linfo
TD 1 – Tableaux 2-D et chaînes de caractères
Introduction aux tableaux 2-D
Dans les tableaux à une dimension, utilisés jusqu’à maintenant, chaque élément du tableau est
indexé par sa position. Dans un tableau à deux dimensions, chaque élément est repéré par une
double indexation : x = T[i][j] est l’élément du tableau T à l’intersection de la i-ème ligne (0
) et de la j-ème colonne ( ) . Les tableaux à deux dimensions sont souvent
utilisés pour représenter des matrices.
Exercice 1 : Matrice identité (TD)
Ecrire l’algorithme permettant, à partir d’un paramètre n entré par l’utilisateur, de créer une
matrice identité de dimensions n x n et constituée de 1 sur la diagonale principale et de 0 partout
ailleurs.
Exercice 2 : Matrice triangulaire (TD/TP)
a) Ecrire l’algorithme permettant, à partir d’un paramètre n entré par l’utilisateur, de créer une
matrice carrée n x n telle que chaque élément situé sur et au dessus de la diagonale soit égal au
produit du numéro de colonne et du numéro de ligne, tous les autres éléments étant égaux à zéro
(matrice triangulaire supérieure).
Exemple, pour n = 4 :
1 2 3 4
0 4 6 8
0 0 9 12
0 0 0 16
b) Ecrire le programme correspondant pour n = 4.
c) Modifier ce programme pour qu'il affiche à l'écran les lignes et les colonnes de la matrice,
exactement comme dans l'exemple de l'exercice 4.
Exercice 3 : transposition d’une matrice (TD/TP)
Transposer une matrice c’est remplacer les lignes par les colonnes ou inversement :
Exemple :
devient après transposition
a) Ecrire l’algorithme d’un programme qui transpose la matrice donnée dans l’exemple précédent
et affiche la matrice transposée.
b) Ecrire le programme correspondant
Exercice 4 : Produit matriciel (TD/TP)
Le produit de deux matrices ne peut se définir que si le nombre de colonnes de la première
matrice est le même que le nombre de lignes de la deuxième matrice (matrices compatibles).
Si A est une matrice de dimension (m,n) et B est une matrice de dimension (n,p), alors leur
produit, noté C=AB est une matrice de dimension (m,p) donnée par :
c(i,j) est l’élément contenu à la i ième ligne et la j ième colonne de
la matrice C, a(i,k) est l’élément contenu à la i ième ligne et la k ième colonne de la matrice A et
b(k,j) est l’élément contenu à la k ième ligne et la j ième colonne de la matrice B.
a) Ecrire l’algorithme d’un programme qui effectue le produit matriciel de deux matrices
compatibles et affiche la matrice résultante.
b) Ecrire le programme correspondant.
Introduction aux chaînes de caractères
En C, on distingue les tableaux de caractères des chaines de caractères (string). Une chaîne de
caractères est un tableau de caractères qui se termine toujours par le caractère spécial ‘\0’. Ce
caractère de fin de chaîne permet l’utilisation de fonctions de manipulation de chaînes de
caractères déclarées dans l’entête string.h
Pour initialiser une chaîne de caractères (par exemple initialiser la variable mot avec "coucou"),
on peut soit effecter un par un les caractères qui la compose (dont le caractère de fin de chaîne) à
leurs cases respectives dans le tableau de caractères, soit entrer la chaîne en une seule fois (le
caractère de fin de chaîne se mettra alors automatiquement) (ex : char mot[6]= “coucou” ou bien
char mot[]= “coucou” ).
Exercice 5 : Recherche d’un élément (TD/TP)
On suppose que l’on dispose du tableau alphabet :
char alphabet[26] = “abcdefghijklmnopqrstuvwxyz”;
a) Ecrire l’algorithme qui détermine et affiche la position dans l’alphabet d’une lettre donnée par
l’utilisateur ou produit un message d'erreur si le caractère entré au clavier ne figure pas dans le
tableau.
b) Ecrire le programme correspondant.
Exercice 6 : occurrences (TD/TP)
a) Ecrire l’algorithme d’un programme qui comptabilise le nombre d'occurrences des 26 lettres
l'alphabet dans la phrase suivante et affiche le nombre de lettres différentes qui constituent cette
phrase.
char alphabet[41] = “J’adore l’informatique. J’aime programmer”;
b) Ecrire le programme correspondant
Exercice 7 : Palindrome (TD/TP)
a) Ecrire l’algorithme d’un programme qui affiche si un mot est un palindrome.
Rappel : un palindrome est un mot qui se lit de la même façon dans les deux sens.
exemple: "laval", "ici", "abba", "kayak"
b) Ecrire le programme correspondant pour les mots "TATAAAA" et "TATATAT"
TD 2 – Fonctions I
Exercice 1 : (TD)
Dans des programmes déjà écrits, retrouver des exemples d'appels de fonctions prédéfinies (dont
l’emplacement est indiqué par une en-tête commençant par #include).
Pour chaque exemple trouvé, indiquer :
- le nombre et le type du ou des arguments éventuels;
- le type de la valeur de retour.
Exercice 2 : (TP)
Dans un programme principal, écrire des instructions qui appellent les fonctions citées à
l'exercice 1.
Appeler une fonction avec trop ou pas assez d'argument(s). Que se passe-t-il ?
Appeler une fonction avec un ou des argument(s) d'un type erroné. Que se passe-t-il ?
Exercice 3 : (TD/TP)
a) Ecrire l’algorithme d’une fonction conversion qui accepte comme argument une valeur en
euros et qui fournit en retour une valeur convertie en yens (1 = 123 ¥).
b) Ecrire en C le code de la fonction conversion.
c) Ecrire un programme principal qui demande à l’utilisateur une valeur en euros, qui sera
stockée dans une variable E, puis appelle la fonction conversion pour convertir cette somme en
yens et stocke le résultat dans une variable Y. La variable E contenant la somme en euros est-elle
modifiée après l’appel à la fonction ?
Exercice 4 : (TD/TP)
Ecrire l'algorithme et le code d’une fonction affichant cinq caractères * en colonne.
a) Appeler cette fonction dans un programme principal placé dans le même fichier que la
fonction.
b) Que se passe-t-il si on appelle la fonction en lui passant un argument ?
c) Que doit-on changer pour afficher n caractères * en colonne, n étant entré par l’utilisateur au
niveau du programme principal
d) (facultatif) Placer le code du programme principal et de la fonction dans deux fichiers
différents. Que se passe-t-il ? Que doit-on faire pour appeler dans le programme principal une
fonction présente dans un autre fichier ?
Exercice 5 : (TP)
Taper le code suivant dans un fichier nommé varloc.c, le compiler et l'exécuter.
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !