hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
Calcule de sinus
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> Algorithmes d'approximations
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 710
Masculin
Point(s): 5 479
Moyenne de points: 0

Posté le: Ven 26 Fév - 14:34 (2010)    Sujet du message: Calcule de sinus Répondre en citant

PublicitéSupprimer les publicités ?
Sachant que sin(x) = x/1! - x3/3! + x5/5! - x7/7! + x9/9! - ...
x est un réel donné(-2 <= x <= 2)mesuré en radion.
Ecrire un programme Pascal qui permet d'afficher sin(x) en utilisant la formule ci-dessus.
La calcul s'arrête quand la différence entre deux termes consécutifs devient inférieure ou égale à 10-4. La dernière somme calculée est une valeur approchée de sin(x).
Exemple de vérification:
sin(1.57) = 1.0000
sin(0.5233) = 0.4997
sin(0) = 0

NB: Ces exemples sont des valeurs approchées.

correction
Code:

program CALCULE_SINUS;
uses wincrt;
var x:real;
 
function FN_fact(n:integer):longint;
var i:integer;
    s:longint;
begin
s := 1;
for i:=1 to n do
begin
s := s*i;
end;
FN_fact := s;
end;
 
{-----------------------------------}
 
function FN_puissance(x:real; p:integer):real;
var r:real;
    j:integer;
begin
r := 1;
for j:=1 to p do
begin
r := r*x;
end;
FN_puissance := r;
end;
 
{-----------------------------------}
 
function FN_sin(x:real):real;
var compt:integer;
    somme, prec:real;
begin
somme := 0;
compt := -1;
repeat
compt := compt+2;
prec := somme;
if (compt mod 4 = 1)
then somme := somme + ((FN_puissance(x, compt))/(FN_fact(compt)))
else somme := somme - ((FN_puissance(x, compt))/(FN_fact(compt)));
until abs(prec-somme) <= 0.0001;
FN_sin := somme;
end;
 
{-----------------------------------}
 
BEGIN
 
repeat
write('Entrez la valeur de x: ');
readln(x);
until (x <= 2) and (x >= -2);
 
writeln(FN_sin(x):2:4);
 
END.


 
Revenir en haut
Meday_tic


Hors ligne

Inscrit le: 01 Mar 2010
Messages: 3
Point(s): 3
Moyenne de points: 0

Posté le: Lun 1 Mar - 17:29 (2010)    Sujet du message: Calcule de sinus Répondre en citant

************Merci Karimos***** Okay

 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 04:54 (2016)    Sujet du message: Calcule de sinus

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> Algorithmes d'approximations Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation