Paramètres d'une checkbox - Page 2

  1. bonjour,
    voila un exp, ça c'est mon propre programme
    comme vous voyez le programme calcule la moyenne ,
    j'ai utiliser la boucle pour que le programme sera pas limiter pour un sel utilisateur

    program calcule_moyenne;
    uses crt;
    var i,Nbmod,note,cof,p,s,scof :integer;
    moy :real;
    M :char;
    begin
    clrscr;
    textcolor(12);
    gotoxy(20,4);writeln('Bien Venue dans Notre Programme');
    writeln('');
    textcolor(15);
    writeln('entrer le nombre de module');
    writeln('');
    write('Nembre de module:');
    readln(Nbmod);
    i:=1;
    p:=1;
    s:=0;
    scof:=0;
    for i:=1 to NBmod do
    begin
    writeln('');
    textcolor(10);
    writeln('Nom du module:');
    writeln('');
    readln(M);
    writeln('');
    textcolor(15);
    write(' note:=');
    readln(note);
    write(' cof:=');
    readln(cof);
    p:=note*cof;
    s:=s+p;
    scof:=scof+cof;
    moy:=s/scof;
    end;
    writeln('');
    textcolor(3);
    writeln('la moyenne est:',moy:0:2);
    writeln('');
    if (moy>=10) then
    write('eleve admet')
    else
    begin
    if (moy<10) and (moy >5) then
    write('eleve doit passer par rattrapage') else
    if moy<5 then
    write('eleve exclus');
    end;
    end.

    après exécution on obtient ça

    Bien Venue dans Notre Programme

    entrer le nombre de module

    Nembre de module:3

    Nom du module:
    FICHIER
    note:=13
    cof:=2

    Nom du module:
    note:=15
    cof:=5

    Nom du module:
    PASCAL
    note:=14
    cof:=5

    la moyenne est:14.25

    élève admet

    donc moi je veut imprimer ce statut ..
    0
    1. Bonjour,

      En lisant le programme, on peut le decomposer en 3 parties
      - Saisie des données
      - Calcul de la moyenne
      - Impression des resultats

      Tu as déjà les deux premières, il manque la troisième qui va réutiliser les données saisies et le resultat de la moyenne.
      Pour cela tu dois mémoriser les données saisies dans des tableaux différents pour chaque données: Tab_Module; Tab_Note; Tab_Coef.

      Est-ce tu à déja appris les tableaux? Si oui, tu peux bien structurer le programme.

      Sinon, tu dois poser la question 'Voulez-vous une Impresion? Oui/Non:' avant de commencer la saisie et faire les impressions ecran et imprimante en même temps.

      A+
      0
      1. j'ai pas encore appris ça ,
        et votre deuxième proposition sincèrement j'ai pas arriver de le faire
        il me faut un départ avec un exemple préalablement fait et a partir de la je me développe, même pour les tableaux je sais comment faire déclarer un tableaux t: array [1..100] of integer;

        et comment faire la somme de deux tableau ...ect , mais je sais pas comment tracer un tableau dans pascal je veux bien le savoir,
        et a part ça comme tu veut m'aider je vais vous expliquer ma situation , cette formation je le fait sous forme cours de soir , je suis fonctionnaire dans une société prive, je vous contacte de mon bureau ,j'ai pas le temps pour assister tous les heurs c'est pourquoi je compte et- je cherche sur le forum pour l'aide,
        le proverbe dit deux n'apprend jamais l'arrogant et le timide.
        0
        1. Ton programme avec des tableaux dimensionnés pour 10 notes maxi.

          Par contre la sortie sur imprimante ne marche pas chez moi, je ne sais pas pourquoi, je vais chercher, si je trouve je te dirais.

          en attendant l'impression se fera dans le fichier c:\fich1.txt que tu peux ouvrir et imprimer le manière classique.

          Si tu veux voir l'autre méthode sans tableaux dis le moi.

          A+

          program calcule_moyenne; 
          uses crt; 
          var
          	i,Nbmod,note,cof,p,s,scof :integer;
          	Tab_Module : array [1..10,0..20] of char;
          	Tab_Note, Tab_coef : array [1..10] of integer;
          	moy :real; 
          	M :char; 
          	f: text; 
          
          begin 
          	clrscr; 
          	textcolor(12); 
          	gotoxy(20,4);writeln('Bien Venue dans Notre Programme'); 
          	writeln(''); 
          	textcolor(15); 
          	writeln('entrer le nombre de module'); 
          	writeln(''); 
          	write('Nembre de module:'); 
          	readln(Nbmod); 
          	i:=1; 
          	p:=1; 
          	s:=0; 
          	scof:=0;
          {Saisie des données}	
          	for i:=1 to NBmod do 
          	begin 
          		writeln(''); 
          		textcolor(10); 
          		writeln('Nom du module:'); 
          		writeln(''); 
          		{readln(M);}
          		readln (Tab_Module[i]);
          		writeln(''); 
          		textcolor(15); 
          		write(' note:='); 
          		{readln(note); }
          		readln (Tab_Note[i]);
          		write(' coef:='); 
          		{readln(cof); }
          		readln (Tab_coef[i]);
          	end;
          {Calcul de la moyenne}
          	for i:=1 to NBmod do 
          	begin 
          		{p:=note*cof; }
          		p:=Tab_Note[i]*Tab_coef[i];
          		s:=s+p; 
          		{scof:=scof+cof; }
          		scof:=scof+Tab_coef[i];
          		moy:=s/scof; 
          	end;
          {Impression des resultats}
          	writeln(''); 
          	textcolor(3); 
          	writeln('la moyenne est:',moy:0:2); 
          	writeln(''); 
          	if (moy>=10) then 
          		write('eleve admet')
          	else
          	begin 
          		if (moy<10) and (moy >5) then 
          			write('eleve doit passer par rattrapage') else 
          			if moy<5 then 
          			write('eleve exclus');
          	end;
          {Impression sur Imprimante}
                  writeln('');
          	write ('Voulez-vous une impression sur l''imprimante (O/N) :');
          	readln (M);
          	if (M='O') or (M='o') then
          	begin
          		{assign(f,'prn:');}
                          assign(f,'c:\fich1.txt');
          		rewrite(f); 
          		writeln(f,'Bien Venue dans Notre Programme');
          		writeln(f,'');
          		writeln(f,'Nombre de module:',Nbmod);
          		writeln(f,'');
          		for i:=1 to NBmod do
          		begin
          			writeln(f,'Nom du module:',Tab_Module[i]);
          			writeln (f,'Note:',Tab_Note[i]);
          			writeln (f,'Coef:',Tab_coef[i]);
          			writeln(f,'');
          		end;
          		writeln(f,'La moyenne est:',moy:0:2);
          		writeln(f,''); 
          		if (moy>=10) then 
          			writeln(f,'eleve admis') 
          		else 
          		begin 
          			if (moy<10) and (moy >5) then 
          			writeln(f,'eleve doit passer par rattrapage') else 
          			if moy<5 then 
          			writeln(f,'eleve exclus'); 
          		end;
          		close(f);
          	end;
          	writeln('Fin du Programme');
          
          end. 
          0
          1. merci
            ça marcher bien, et comment le faire dans un tableau dimensionner comme on le fait en excel .
            0
            1. Désolé, je ne comprends pas.
              Reformule ta question.

              Y.
              0
          2. un tableau avec des lignes et des colonnes , et les données seront saisir dedans
            0
            1. Ah bon! Oui tout est possible, c'est juste plus long et compliqué à programmer.

              Il faut connaitre les codes ASCII et la fonction Ord(), la fonction ReadChar() et la commande GotoXY(). Avec ça on peut déplacer le curseur sur l'ecran (ou le tableau) avec les fleches et controler les touches que l'on frappe.

              Il y a aussi des fonctions qui controlent la souris, mais chaque chose en son temps.
              Documentes-toi déjà sur les fonctions que je t'ai indiqué.

              Y.
              0
          Précédent
          • 1
          • 2