GammaTestBilateralBeta0=function(A0,B0,Taille,Seuil) # appel de la fonction avec les paramètres de la loi de Gamma permettant de tester H0 : b=B0 contre # H1 : b!= B0, avec le paramètre A0 est connu, la Taille de l'échantillon observé et le Seuil du test ; { NA0=Taille*A0 # premier paramètre loi Gamma de la statistique T=somme des observations ; Arret=FALSE # variable logique qui arrête la boucle du calcul des valeurs critiques ; c2=qgamma(.999999,NN0,B0) # première valeur critique supérieure ; while(Arret==FALSE) # boucle calculant les valeurs critiques ; { c1=qgamma(pgamma(c2,NA0,B0)-(1-Seuil),NA0,B0) # valeur critque inférieure calculée à partir de la valeur critique supérieure et la première condition ; proba2=pgamma(c2,NA0+1,B0)-pgamma(c1,NA0+1,B0) # probabilité de l'intervalle d'acceptation pour la deuxièpe condition if(abs(proba2-(1-Seuil))<=0.0001) # test sur le fait que la probabilité de l'intervalle d'acceptation ne dépasse pas 1-Seuil pour la deuxième condition à 0,0001 près; { Arret=TRUE # les valeurs critiques ont été déterminées ; } else # calcul des nouvelles valeurs critiques ; { c2=c2-0.01 # nouvelle valeur critique supérieure ; } } cat("L'intervalle d'acceptation est [ ",c1," ; ",c2," ]","\n") # affichage des r&sultats ; }