Exercices sur les fonctions.doc

Embed Size (px)

Citation preview

  • 7/25/2019 Exercices sur les fonctions.doc

    1/3

    Exercices sur les fonctions

    1 Dcalage circulaire d'un entier long non sign

    Ecrire une fonction qui prend comme paramtre un entier de type unsigned long et le

    transforme en son dcal circulaire.

    2 Incrmentation des lments de la diagonale d'une matrice entire lue dans un

    fichier

    1. Ecrire une fonction qui lit une matrice entire et retourne un tableau deux

    dimensions contenant ses coefficients. La matrice sera dcrite dans un fichier ayant

    la forme suivante : la premire ligne contient le nombre de lignes de la matrice la

    deuxime ligne son nombre de colonnes ! les lignes suivantes correspondent aux

    coefficients. "n utilisera l#oprateur de redirection d#$%&' (()## pour lire le fichier.

    *. Ecrire une fonction qui prend comme paramtre une matrice d#entiers +de type int ,,-

    et qui affiche ses coefficients.

    . Ecrire une fonction qui prend comme paramtre une matrice d#entiers et qui

    incrmente tous les lments de sa diagonale.

    /. Le nombre de lignes et le nombre de colonnes de la matrice ainsi que le nom du

    fichier contenant ses coefficients sont maintenant passs en arguments du

    programme.

    o Ecrire une nouvelle fonction de lecture qui prend comme paramtre une

    cha0ne de caractres +correspondant au nom du fichier contenant la matrice-

    et qui retourne un tableau d#entiers deux dimensions stocant les coefficients

    de la matrice.

    o 2odifier le programme principal en consquence.

    3 Distribution des poids d'un code linaire binaire

    3.1 Lecture et stocage de la matrice gnratrice

  • 7/25/2019 Exercices sur les fonctions.doc

    2/3

    3fin de minimiser la fois la taille prise en mmoire pour stocer la matrice gnratrice et le

    temps de calcul on stoce la matrice gnratrice binaire dans un tableau deux dimensions

    dont chaque ligne est constitue d#entiers de type unsigned long +4/ bits sur un 5E6 alpha-.

    5e cette fa7on on peut diviser la taille de chaque ligne par un facteur proche de 8 ,

    si9eof+unsigned long-. ar exemple le vecteur binaire de longueur 1; 1;;1;;;1;1 peut

    = *?@ 4/?.

    "n travaillera donc dans toute la suite sur une matrice gnratrice compacte de type

    unsigned long ,,. our cela crire une fonction qui lit la matrice binaire telle qu#elle est crite

    dans le fichier et qui retourne la matrice compacte correspondant. Les longueur et dimension

    du code ainsi que le nombre de colonnes de la matrice compacte pourront

  • 7/25/2019 Exercices sur les fonctions.doc

    3/3

    composante gkvrifiant tout moment gk@ g0= g1= ... = gk-1mod*.

    &nitialisation :

    g;@ g1@ ... @ gk1@gk@; .

    3 chaque tape :

    Di gk@ ; modifier g;.

    Dinon :

    o i le premier indice tel que giG ;.

    o si iH k1 modifier gi=1.

    o si i@ k1 modifier gk1.

    Iemettre Four gk.

    3insi les vecteurs de F**seront numrs dans l#ordre suivant : +;;- +1;- +11- +;1-

    "n peut utiliser cette mthode pour numrer toutes les combinaisons linaires de klignes.

    L#indice de la coordonne modifier chaque tape de l#algorithme prcdent correspond

    l#indice de la ligne aFouter la combinaison linaire prcdente. ar exemple pour k@* on

    numrera les combinaisons linaires dans l#ordre suivant : vecteur nul ligne 1 ligne 1 =

    ligne * ligne *.

    3.$ !assage des caractristi%ues du code en arguments du programme

    2odifier le programme prcdent afin que la longueur la dimension et le nom du fichier oA la

    matrice gnratrice est stoce figurent en arguments du programme. our appeler le

    programme on tapera par exemple :

    a.out 1; fichier

    This document was translated from LATEX by