07.08.2014 Views

Travaux dirigés de Fortran - LMD

Travaux dirigés de Fortran - LMD

Travaux dirigés de Fortran - LMD

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!