Travaux dirigés de Fortran - LMD
Travaux dirigés de Fortran - LMD
Travaux dirigés de Fortran - LMD
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
7 Conversion entre un nombre quelconque <strong>de</strong><br />
monnaies<br />
Fichier currency_3.f. Modifiez le programme <strong>de</strong> l’exercice 1 pour que l’utilisateur<br />
ait maintenant le choix entre quatre <strong>de</strong>vises : francs, euros, dollars, livres<br />
sterling, et puisse faire une conversion dans n’importe quel sens entre <strong>de</strong>ux <strong>de</strong> ces<br />
<strong>de</strong>vises. On pourra utiliser les chaînes <strong>de</strong> caractères FRA, EUR, USD et GBP<br />
pour i<strong>de</strong>ntifier les <strong>de</strong>vises lors <strong>de</strong>s entrées et sorties. Prendre par exemple : 1 e<br />
= 1,4 $ et 1 £ = 1,25 e. Choisir un algorithme pouvant s’étendre à un nombre<br />
quelconque <strong>de</strong> <strong>de</strong>vises. Procédure intrinsèque <strong>Fortran</strong> pouvant vous être utile :<br />
product.<br />
8 Quantième d’une date<br />
1. Fichier day_number_1.f. Écrivez un programme permettant <strong>de</strong> déterminer<br />
le quantième d’une date (c’est-à-dire le numéro du jour dans l’année).<br />
Le programme <strong>de</strong>man<strong>de</strong>ra à l’utilisateur l’année, le mois et le jour dont<br />
il veut connaitre le quantième. Tenez bien compte <strong>de</strong>s années bissextiles.<br />
Procédure intrinsèque <strong>Fortran</strong> pouvant vous être utile : sum.<br />
2. Fichier day_number_2.f. Écrivez un programme permettant d’effectuer<br />
l’opération inverse. L’utilisateur <strong>de</strong>vra fournir une année et un quantième<br />
et le programme <strong>de</strong>vra indiquer le mois et le jour correspondant.<br />
9 Nombres <strong>de</strong> nucléoti<strong>de</strong>s<br />
Fichier adn_1.f. Une séquence d’ADN est formée d’une succession <strong>de</strong> nucléoti<strong>de</strong>s<br />
: l’adénine, la cytosine, la guanine et la thymine. Les abrévations <strong>de</strong><br />
chacun <strong>de</strong> ces nucléoti<strong>de</strong>s sont A, C, G et T. Le fichier virus.txt contient une<br />
suite <strong>de</strong> nucléoti<strong>de</strong>s du virus “alien27”. Écrire un programme qui comptabilise le<br />
nombre <strong>de</strong> chacun <strong>de</strong>s nucléoti<strong>de</strong>s. Quelles comman<strong>de</strong>s du shell vous permettent<br />
d’obtenir également ce résultat ?<br />
10 Le carré magique<br />
Fichier magic_square.f. Le but est <strong>de</strong> créer un carré magique <strong>de</strong> dimension<br />
N, N étant impair et fourni par l’utilisateur. Le carré magique <strong>de</strong>vra être écrit<br />
dans un fichier sous la forme d’un carré. Des algorithmes <strong>de</strong> fabrication <strong>de</strong> carré<br />
magique sont expliqués sur Wikipédia en Français. Vous pouvez utiliser par<br />
exemple la métho<strong>de</strong> Siamoise. Procédure intrinsèque <strong>Fortran</strong> pouvant vous être<br />
utile : merge.<br />
11 Recherche par bissection<br />
Dans un problème d’interpolation, nous avons à calculer la valeur d’une<br />
fonction f en un point x quelconque, à partir <strong>de</strong> la connaissance <strong>de</strong> la valeur<br />
<strong>de</strong> f en un nombre fini <strong>de</strong> points x i . Avant l’interpolation à proprement parler,<br />
4