All pastes #912779 Raw Edit

Untitled

public text v1 · immutable
·published 2008-02-21 17:02 UTC
rendered paste body
Exercice 1



ITERATION 1



p <- crée.tableau n vrai;

premier <- []



pour k allant de 2 à n faire (* on parcourt le tableau pour tester chaque entier pour voir s'il est premier *)

	i<-2

	tant que i<k faire (* on avance dans le tableau jusqu'au prochain nombre premier *)

		tant que p.(i) = faux faire

			i <- i+1;

		fait

		si k mod i = 0 alors (* on regarde si le nombre est divisible par un nombre premier plus petit *)

			p.(k) <- faux;

		fin si

		i<- i+1

	fait

	si p.(k) = vrai alors

		premier <- premier + [k]; (* on ajoute le nombre au tableau s'il est premier *)

	fin si

fait



premier;



#Supposons que k n'appartienne pas au tableau "premier".

Alors p.(k) est faux, il a donc été modifié par la boucle "si k mod i = 0 alors..." donc il y a avait un i plus petit que k le divisant don l n'est pas premier.



#supposons que p n'est pas premier

Alors il admet un diviseur premier dans [0;p] Ainsi la boucle "si k mod i = 0 alors..." va s'executer une fois au moins et p.(k) sera mis à "faux" donc la boucle "si p.(k) = vrai alors..." ne va jamais s'executer pour lui.



###temps de calcul?###



ITERATION 2



###à faire###



Exercice 2



1.

typage de fon1: (int -> float) -> (int -> int) -> 'a vect -> int -> float

typage de fon2: ('a -> 'b) -> (string -> 'a) -> string

typage de fon3: ('a -> float) -> (float -> 'a) -> int -> 'a -> float

typage de fon4: (string -> bool) -> bool array -> string -> int -> bool



2.

voir autre feuille.



Exercice 3