• Aucun résultat trouvé

T.P. 1. (Factoriel d’un entier)

N/A
N/A
Protected

Academic year: 2022

Partager "T.P. 1. (Factoriel d’un entier)"

Copied!
2
0
0

Texte intégral

(1)

Universit´ e Paris-Nord D.E.U.G. MIAS 1

Institut Galil´ ee Ann´ ee 2002-2003

TP 3: Les boucles en langage C.

T.P. 1. (Factoriel d’un entier)

Ecrire un programme C qui calcule´ n! (factoriel) une fois avec un whilepuis une seconde fois avec un for.

#include<stdio.h>

int main() { int N, i;

int fact=1;

printf("Introduire un nombre 0 <= N <=12\n");

/* printf("Pour N plus grand, N! depasse 2^{31} */

/* printf(" donc les resultats sont faux pour N>12 */

scanf("%d",&N);

/* On n’entre pas dans la boucle si N=0 ou 1 */

for(i=2; i<=N; i=i+1) { fact= fact*i;

}

printf("\n La factoriel de %d est: %d \n",N,fact);

return(1);

}

T.P. 2 (Conversions)

1. Ecrire un programme en C qui permet de convertir en base 2 un entier positif en base 10 en utilisant la m´ethode de conversion usuelle (divisions successives par 2)

2. Ecrire un programme en C qui permet de convertir un entier positif en toute base demand´ee inf´erieure `a 10.

/* Pour la question 1. il suffit de remplacer "base" par 2. */

/* Pour simplifier, on supposera que la base est <= 10 . */

#include<stdio.h>

int main() {

int N, M, reste, code,m, base ; code=0;

m=1;

printf("Introduire le nombre \n");

scanf("%d",&N);

M=N;

/* M est une copie de N */

1

(2)

printf("Introduire la base <= 10\n");

scanf("%d",&base);

do {

reste = N%base;

N = N / base;

code = (reste*m) + code;

m= m*10;

}

while(N != 0);

printf("\n Le nombre %d a pour code %d en base %d\n",M,code,base);

return(1);

}

T.P 3. (La suite de Fibonaci)

Ecrire un programme´ C qui calcule lenieme` ´el´ement de la suite de Fibonaci d´efinie par:

Fn+2=Fn+1+Fn, avecF0= 0 et F1= 1, onest un nombre saisi par l’utulisateur.

#include<stdio.h>

int main() { int N, i, fib;

int a,b;

a=0; b=1;

printf("Introduire un nombre 0 <= N <= 46\n");

/* printf("On obtient par exaemple (en 32 bits) */

/* printf(" Fibonacci[46] = 1836311903 */

/* printf(" Fibonacci[47] = -1323752223 */

scanf("%d",&N);

if(N==0) fib=0;

if(N==1) fib=1;

/* On n’entre pas dans la boucle si N=0 ou 1 */

for(i=1; i<=N; i=i+1) { fib= a+b;

b=a;

a=fib;

}

printf("\n");

printf("Resultat:\t Fibonacci[%d] = %d \n",N,fib);

return(1);

}

2

Références

Documents relatifs

[r]

A est un réel strictement positif.. a) Montrer que la suite d est une suite géométrique.. Préciser

Sur le graphique donné en Annexe , construire en laissant visibles les traits de construction, les quatre premiers termes de la suite (u n ) sur l’axe des

[r]

Démontrer, en utilisant la définition de la suite donnée au départ, que

Ecrire une séquence d'instructions qui, étant donné un entier naturel non nul, fournit le tuple de ses chiffres dans son écriture en base 10.. On rajoute alors à gauche au tuple

[r]

Année universitaire 2011-2012 Licence 3 de mathématiques. Algorithmique algébrique 1 -