[java] som+=(float)1/i;

domxaline -  
 domxaline -
Bonjour,
package Application1;
import java.util.Scanner;
public class Racine
{
  public static void main (String[] args)
  {
    Scanner sc=new Scanner(System.in);
    int nt;   //nombre de termes de la serie harmonique
    int i;
    float som;//pour la somme de la serie
    do
	 {
	  System.out.println("combien de termes:");
        nt=sc.nextInt();
	 }
	 while(nt<1);
       for(i=1,som=0;i<=nt;i++)som+=(float)1/i;
	 System.out.println("Somme des: "+nt+" premiers termes="+som);
  }
}


dans ces codes quelqu'un peut expliquer la ligne suivantes
for(i=1,som=0;i<=nt;i++)som+=(float)1/i;

surtout ceci
som+=(float)1/i;
Configuration: Windows Vista / Firefox 3.5.8

3 réponses

  1. Vinc
     
    som+=(float)1/i;
    revient a faire :
    som = som + (float)1/i
    0
  2. latoopa Messages postés 278 Date d'inscription   Statut Membre Dernière intervention   32
     
    for(i=1,som=0;i<=nt;i++)


    Alors ca c'est une déclaration de boucle for, les conditions étant séparée par des ;

    i=1 => c'est l'initialisation de ta variable de boucle (som=0 met som a 0 mais j'ai jamais vu une double opération au départ...)

    i<=nt => la boucle "reboucle" tant que i est inférieur ou égal à nt

    i++ => in ajoute 1 à la valeur de i a chaque fois qu'on reboucle

    som+=(float)1/i;


    Ca c'est (comme dit précédemment) : som = som + (float)1/i
    0
  3. domxaline
     
    ça veut dire
    le som converti en float et puis fait l'opération 1/i n'est ce pas?
    0