TP 4 - Introduction à l'informatique - 2011-2012

But de ce TP : pratiquer les fonctions et les tableaux

obligatoire
supplémentaire
pour aller plus loin

(Série 4 exo 1 et 3)

Traduire la fonction et l'algorithme suivants :

fonction avec retour reel longueurDiagonale (reel lon, reel lar)
reel d ;
debut
  d ← lon*lon + lar*lar;
  d ← racineCarree(d);
  retourne d;
fin

reel lo, la, ld ;
debut
  ecrire "Quelles sont les longueur et largeur du rectangle ?";
  lire lo, la ;
  ld ← longueurDiagonale(lo,la);
  ecrire "La longueur de la diagonale est " + ld;
fin

(Série 4 exo 2)

  1. Écrire une fonction qui, étant donnés deux réels, retourne le plus grand.
  2. En utilisant la fonction précédente, écrire un programme qui, étant donnés trois réels saisis au clavier, affiche le plus grand.

Exercice 3 (Série 5 exo 1)

Soit le tableau suivant :

3124-5138

Écrire un algorithme permettant d'initialiser ce tableau et de le remplir avec les valeurs indiquées. Une fois la saisie terminée, l'algorithme affichera "saisie terminée" puis affichera l'ensemble des valeurs du tableau.

Exercice 4 (Série 5 exo 2)

Écrire un algorithme qui initialise un tableau de longueur 100 tel que ses cases contiennent les carrés des 100 premiers nombres positifs ou nuls (de 02 jusque 992).

Exercice 5

Indications :
  1. Écrire une fonction afficheCaractere qui, étant donnés un caractère c et un entier nb, affiche nb fois le caractère c.
    Par exemple, l'appel afficheCaractere('+',5) doit afficher :
    +++++

  2. Écrire une fonction qui, étant donné un entier nb, affiche une ligne composée de nb caractères * (étoile).
    Par exemple pour nb=4 :
    ****

  3. Écrire une fonction qui, étant donné un entier nb, affiche un carré (plein) de coté nb étoiles.
    Par exemple pour nb=4 :
    ****
    ****
    ****
    ****

  4. Même question pour afficher un carré non plein.
    Par exemple pour nb=4 :
    ****
    *  *
    *  *
    ****

Exercice 7 (D'après Série 5 exos 2 et 3)

  1. Écrire une fonction qui, étant donné un tableau de caractères et sa longueur, permet de saisir ce tableau.
  2. Écrire une fonction qui, étant donnés un tableau de caractères, sa longueur et un caractère c, retourne le nombre d'occurrences de c parmi les caractère stockés dans le tableau.
  3. Écrire un programme qui permette de saisir une séquence d'ADN (c'est-à-dire un tableau de caractères A, C, G et T, correspondants aux bases azotées) puis qui affiche le nombre d'occurrence de chaque base azotée.

Exercice 8 (d'après examen 1ère session 2008-2009)

Le jeu de roulette est un plateau circulaire comportant des numéros de 0 à 36. On peut miser une certaine somme d'argent sur l'un des numéros du plateau. Une fois les mises terminées, on fait tourner la roulette et on y lance une boule. Lorsque le plateau ralentit, la boule se stabilise sur un des numéros. Si on a misé sur ce numéro, on gagne 35 fois la somme misée et dans le cas contraire on ne gagne rien (remarque : dans tous les cas, l'argent misé est perdu).
  1. Écrire une fonction lanceBoule qui, étant donnés deux entiers représentant une somme d'argent et un numéro, effectue un lancer de boule et retourne la somme remportée.
  2. Écrire un programme qui demande à un utilisateur la somme initiale dont il dispose, puis qui lui permet de miser une certaine somme sur un numéro autant de fois qu'il veut (remarque: il peut donc miser une somme et un numéro différents à chaque fois). Lorsque le jeu s'arrête, le programme affiche la somme d'argent totale qu'il possède finalement.
    Votre programme doit respecter les contraintes suivantes :
    • on demande au joueur après chaque lancer s'il souhaite recommencer ou non,
    • le jeu s'arrête également lorsque le joueur n'a plus d'argent.

Exercice 6 : dessins plus élaborés

  1. Écrire une fonction qui, étant donné un entier nb, affiche un triangle rectancle isocèle (plein) de coté nb étoiles.
    Par exemple pour nb=4 :
    *
    **
    ***
    ****

  2. Écrire une fonction qui, étant donné un entier nb, affiche un triangle rectancle isocèle (plein) de hauteur nb étoiles.
    Par exemple pour nb=4 :
       *
      ***
     *****
    *******

  3. Écrire une fonction affichant un sapin composé de triangles.

Valid HTML 4.01 Transitional