URGENT: Travail à faire en Javascript pour exam le 07/12/06? Help Please ;-)

Discussion dans 'Web, design' créé par tanguy_warny, 7 Décembre 2006.

Statut de la discussion:
Fermée.
  1. Offline
    tanguy_warny ex membre
    Bonjour à tous et à toutes,
    je suis étudiant ingénieur en deuxième bachelier et demain j'ai un test sur le javascript... Nous devons pouvoir corriger ces 6 petits programmes en javascript.
    Seulmeent je ne omprends rien alors je compte sur votre aide...

    Voici les 6 programmes:

    n°1:
    Ce programme est censé rajouter 10 à tout nomùbre entrer. Or quand j'écris 121 çà n'écrit pas 131 pk?


    <html>
    <head>
    <script>
    function Main()
    var valeur;
    valeur=document.formulaire.boite.value;
    document.formulaire.boite.value=valeur+1O;
    </script>
    </head>
    <body>
    <form name= formulaire>
    <input name="boite" type="text" value="0">
    <input type="Button" value="+10" onclick="Main();">
    </form>
    </body>
    </html>


    n°2
    Dans certains cas çà ne fonctionne pas! Le quel?


    function motdepasse ()
    {
    var code;
    var essai;
    var levraicode "password";

    code=O
    essai=prompt(”Entrez le code secret : ","") ;
    for(code=O ;code==O ;)
    {
    if( essai == levraicode){ code=l;}
    }
    }


    n°3:
    Dans internet explorer çà indique une erreur, laquelle? Et comment corriger?



    function encode ()
    {
    var cl;
    var c2;
    cl=prompt ("entrez le premier mot : ",") ;
    c2=prompt("entrez le deuxième mot ",") ;
    }
    function triMots ()
    {
    var C;
    if(c1>c2)
    {
    c=cl;
    cl=c2;
    c2=c;
    }
    }
    function Main()
    {
    encode ();
    triMots ();
    alert("Mots triés "+c1+" "+c2);
    }


    n°4:
    Choix multiple:
    1. ne passera pas par la boucle
    2.boucle infinie
    3. programme impossible
    4. ne fonctionnera qu'une seule fois

    Expliquer...


    function motdepasse()
    {
    var code;
    var essai;
    var levraicode = "password";
    for(code=0 ;code==0 ;)
    essai=prompt("Entrez le code secret : ","") ;
    if( essai == levraicode) { code=1 ;}
    }


    n°5:
    Expliquer comment ce programme fonctionne. QUel instruction logique manque-t-il?


    var param;
    function trigo ()
    {
    document.write("Calculs en cours. Veuillez patienter. ")
    param = Math.sin(Math.acos(param+10));
    }

    function Main()
    {
    param=parseFloat(prompt("Entrez un nombre : ","")) ;
    trigo() ;
    }



    n°6:

    Rajouter les commantaires 1 et 2 plus terminer le programme de façon à calculer et ecrire les ecarts entre la note et la moyenne!
    var n,compteur;
    var somme,moyenne,ecart;
    var note= new Array();
    function Main ()
    {
    for (n=0:beuh:n<1)||(n>l00);)
    {
    n=parseInt(prompt(”nb notes (100 maxi)?",""));
    }
    //Commentaire 1
    somme0;
    for(compteur=O ;compteur<n; compteur=compteur+1)
    {
    note[compteur]=parseFloat(prompt((compteur+1)+"è cote ?"));
    somme=somme+note[compteur] ;
    }
    //Commentaire 2
    moyenne=somme/n;
    document.write("moyenne : "+moyenne);
    //calcul et affichage des écarts

    .......

    Merci mille fois à ceux qui seront m'aider....

    Amuser vous bien


    Tanguy
    tanguy_warny, 7 Décembre 2006
    #1
  2. Offline
    makiavili ex membre
    Voici pourle 1er

    <html>
    <head>
    <script type="text/javascript">
    function Main(){
    var valeur;

    valeur = document.formulaire.boite.value;
    document.formulaire.boite.value = (valeur * 1) + 10;

    }
    </script>
    </head>
    <body>
    <form name="formulaire">
    <input name="boite" type="text" value="0">
    <input type="Button" value="+10" onclick="Main()">
    </form>
    </body>
    </html>
    makiavili, 7 Décembre 2006
    #2
  3. Offline
    null ose();
    Numéro 2 :

    Les fautes en recopiant :

    Après avoir rentré son mot de passe, si celui-ci est faux, il va tourner en boucle car on ne lui redemande pas (plus de lecture pour modifier la variable essai et pas de partie "ForUpdate").

    Numéro 3 :

    Les fautes en recopiant :

    En fait, tu as mis "cl" au lieu de "c1", ça change rien à ma réponse finale mais c'est juste pour que ça soit plus clair : on parle bien de c1 et c2

    Dans ta fonction encode(), tu lis deux valeurs que tu mets dans des variables locales (donc à la fonction encode()). Ensuite, tu utilises triMots() qui fait appel à c1 et c2 qui ont été utilisés dans encode() mais avec une portée locale, ce qui veut dire qu'elles sont détruites à la fin de encode(), et tu fais appel à des variables inexistantes.

    Numéro 4 :

    Il va boucler indéfiniment (donc la réponse 2) mais ça dépend de ce qu'on nomme "programme impossible" car c'est bien un programme qui va jamais fonctionner :-D

    ! Vérifie bien si tu n'as pas mal recopié car ça changerait la réponse.

    Tu fais une boucle, mais seulement tu fais qui initialise code à 0 et qui a comme condition "code==0" (qui vaut "vrai"). Cependant, code ne sera jamais modifié car il ne fait pas partie du bloc for. Si tu regardes bien, tu remarqueras qu'il n'y a pas d'accolades à ton for, ce qui veut dire qu'il n'y a qu'une instruction à ta boucle qui est la demande du mot de passe. Le test conditionnel qui pourrait changer la valeur de code (vérification du mot de passe) se fait en dehors de la boucle mais celle-ci ne se terminera jamais car code n'aura jamais la possibilité de changer de valeur.

    Numéro 5 :

    Le "programme" demande à l'utilisateur un nombre qui est transformé en "float". Ensuite la fonction trigo() va afficher "Calculs en cours. Veuillez patienter." et le programme va faire le sinus de l'arc cosinus de la valeur d'entrée plus 10.

    Cependant, je pense que la valeur pour l'arc cosinus doit être comprise entre "-1" et "1", sinon ça n'ira pas. Le problème c'est qu'il fait le "+10", ce qui fait qu'il faudrait ajouter la condition :

    ! Ca me semble hyper tordu, donc il faudrait que tu demandes à quelqu'un autre, ou alors si vous avez appris une technique spéciale avec les arc cosinus & co =]

    Numéro 6 :

    Les fautes en recopiant :

    Les <br> servent uniquement à aller à la ligne d'en dessous.

    ! Il y a cependant un petit problème avec ce code ! A cause des document.write(), ils n'arrivent plus à utiliser les variables n, compteur, note mais si je remplace les document.write() par des alert(), ça fonctionne. Je ne sais absolument pas pourquoi mais je n'avais jamais remarqué ce problème auparavant. Je pense pas qu'il verra le problème mais essaye quand même de trouver une parade (copie des valeurs, en local, ...).

    Bonne chance :)
    null, 7 Décembre 2006
    #3
Statut de la discussion:
Fermée.