Rechercher : dans
Par :

Exercice impliquant des tableaux

Dernière réponse le 26 mar 2009 à 14:59:54 adibou92, le 3 nov 2004 à 19:13:28 
 Signaler ce message aux modérateurs

Bonjours voila g doit faire un programme pour mon cour d'info et g trop du mal....
le sujet est :creer un programme qui saisi des notes d'eleves les ranges ds un tableau et ki calcul la moyenne d'un éléve dont le nombre de note est saisi??
Hors g bocoup de mal avec linfo et encore plus avec les tableaux et g c vraiment pas comment m'y prendre si quelq'un pouvai m'aider merci beaucoup d'avance


adi

Meilleures réponses pour « exercice impliquant des tableaux » dans :
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Exercice assembleur x86 inversion de chaîne VoirIntroduction Notions abordées dans cet exercice Énoncé Rappel Indices Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un...
Tablet PC : pour les nomades pressés VoirQu'est-ce qu'une Tablet PC ? Plus ergonomique et performante que le PDA, la Tablet PC fait partie de la catégorie des ordinateurs ultraportables. Son écran tactile utilise la reconnaissance manuscrite ou orale, et intègre ou non un clavier...
SQL - Modification de table VoirModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible...
Tableaux HTML VoirUtilisation de tableaux Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes. Un...
Javascript - Les tableaux VoirIntroduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...

1

Galsungen, le 4 nov 2004 à 07:32:26

Voici une petite aide, mais il s'agit d'un algo, à toi ensuite de le traduire dans le language voulu :

Classique :

PROGRAMME MOYENNES

tableau chaîne : noms(36), matieres(4)
tableau réel : moyennes(36,4)
tableau réel : moy_genes(36)
chaîne : eleve
réel : total
entier : i, mat, nbnotes
booléen : trouve
enreg : enr_eleve
	   { entier : num_eleve
	     chaine : nom_eleve }
enreg : enr_note
	   { entier : num_eleve
	     entier : num_matiere
	     réel : moyenne }
fichier de enr_note : f_note
fichier de enr_eleve : f_eleve
enr_note : vnote
enr_eleve : veleve

Début
      ouvrir (f_note, f_eleve)
      matieres (1) = "Français"
      matieres (2) = "Math"
      matieres (3) = "Langue"
      matieres (4) = "Sciences"
      Pour (i = 1 à 36)
           noms(i) = ""
	   moy_genes(i) = -1
	   Pour (mat = 1 à 4)
	         moyennes(i, mat) = -1
	   Fpour
      Fpour

      Lire(f_eleve, veleve)
      Tant que (NON FF(f_eleve))
           Si (veleve.num_eleve >= 1 ET veleve.num_eleve <= 36)
	      noms (veleve.num_eleve) = veleve.nom_eleve
	   Fsi
	   Lire (f_eleve, veleve)
      Ftq
      
      Lire(f_note, vnote)
      Tant que (NON FF(f_note))
           Si(vnote.num_eleve >= 1 ET vnote.num_eleve <= 36 ET vnote.num_matiere >= 1 ET vnote.num_matiere <= 4)
	      moyennes(vnote.num_eleve,vnote.num_matiere)=vnote.moyenne
	   Fsi
	   Lire(f_note,vnote)
      Ftq
      fermer(f_note,f_eleve)

      nbnotes = 0
      Pour (i = 1 à 36)
          total = 0
	  Pour (j = 1 à 4)
	       Si (moyennes(i,j) > -1)
	          total = total+moyennes(i,j)
	          nbnotes = nbnotes + 1
	       Fsi
	  Fpour
	  moy_genes(i) = total / nbnotes -1
      Fpour

      Saisir(eleve)
      Tant que (eleve <> "")
          i = 1
	  trouve = FAUX
	  Tant que (trouve = FAUX ET i <= 36)
	      Si (noms(i) = eleve)
	         trouve = VRAI
	      Sinon
	         i = i + 1
	      Fsi
	  Ftq
	  Si (trouve = VRAI)
	     Pour (mat = 1 à 4)
	         Afficher (matieres(mat), moyennes (i,mat))
	     Fpour
	     Afficher ("Moyenne générale", moy_genes(i))
	  Sinon
	     Afficher ("nom inexistant")
	  Fsi
	  Saisir(eleve)
      Ftq

Fin


et maintenant revoici le même , mais avec des procédures et des fonctions :

PROGRAMME MOYENNES

constante : FIN 36


enreg : enr_eleve
	   { entier : num_eleve
	     chaine : nom_eleve }

enreg : enr_note
	   { entier : num_eleve
	     entier : num_matiere
	     réel : moyenne }

fichier de enr_note : f_note
fichier de enr_eleve : f_eleve

enr_note : vnote
enr_eleve : veleve


Début
	Lancer
Fin


Procédure Lancer
tableau chaîne : noms(FIN), matieres(4)
tableau réel : moyennes(FIN,4)
tableau réel : moy_genes(FIN)
Début
	init_tableau (noms(), matieres(), moyennes(), moy_genes(),FIN)
	charger_tableau (noms(), matieres(), moyennes(), moy_genes(),FIN)
	calcul_moyennes (moyennes(), moy_genes(),FIN)
	recherche_tableau (noms(), matieres(), moyennes(), moy_genes(), FIN)
Fin


Procédure : init_tableau (adr.tableau chaîne : noms(), adr.tableau chaîne : matieres(), adr.tableau réel : moyennes(),
adr.tableau réel : moy_genes(), val.entier : maxi)
entier : i, mat
Début
     ouvrir(f_eleve, f_note)
     matieres (1) = "Français"
     matieres (2) = "Math"
     matieres (3) = "Langue"
     matieres (4) = "Sciences"

     Pour (i = 1 à maxi)
     noms(i) = ""
     moy_genes(i) = -1
	   Pour (mat = 1 à 4)
	         moyennes(i, mat) = -1
	   Fpour
      Fpour
Fin


Fonction entier : charger_tableau (adr.tableau chaîne : noms(), adr.tableau chaîne : matieres(), adr.tableau réel : moyennes(),
adr.tableau réel : moy_genes(), val.entier : maxi)
Début
      Lire(f_eleve, veleve)
      Tant que (NON FF(f_eleve))
           Si (veleve.num_eleve >= 1 ET veleve.num_eleve <= maxi)
	      noms (veleve.num_eleve) = veleve.nom_eleve
	   Fsi
	   Lire (f_eleve, veleve)
      Ftq
      
      Lire(f_note, vnote)
      Tant que (NON FF(f_note))
           Si(vnote.num_eleve >= 1 ET vnote.num_eleve <= maxi ET vnote.num_matiere >= 1 ET vnote.num_matiere <= 4)
	      moyennes(vnote.num_eleve,vnote.num_matiere)=vnote.moyenne
	   Fsi
	   Lire(f_note,vnote)
      Ftq
      fermer(f_note,f_eleve)
Fin


Fonction calcul_moyennes (val.tableau réel : moyennes(), adr.tableau réel : moy_genes(), val.entier : maxi)
entier : nbnotes, i, j, total 
Début
      nbnotes = 0
      Pour (i = 1 à maxi)
          total = 0
	  Pour (j = 1 à 4)
	       Si (moyennes(i,j) > -1)
	          total = total+moyennes(i,j)
	          nbnotes = nbnotes + 1
	       Fsi
	  Fpour
	  moy_genes(i) = total / nbnotes -1
      Fpour
Fin



Fonction recherche_tableau (val.tableau chaîne : noms(), val.tableau chaîne : matieres(), val.tableau réel : moyennes(),
val.tableau réel : moy_genes(), val.entier : maxi)
entier : i, mat
chaîne : eleve
booléen : trouve
Début
      Saisir(eleve)
      Tant que (eleve <> "")
          i = 1
	  trouve = FAUX
	  Tant que (trouve = FAUX ET i <= maxi)
	      Si (noms(i) = eleve)
	         trouve = VRAI
	      Sinon
	         i = i + 1
	      Fsi
	  Ftq
	  Si (trouve = VRAI)
	     Pour (mat = 1 à 4)
	         Afficher (matieres(mat), moyennes (i,mat))
	     Fpour
	     Afficher ("Moyenne générale", moy_genes(i))
	  Sinon
	     Afficher ("nom inexistant")
	  Fsi
	  Saisir(eleve)
      Ftq
Fin


à toi de transformer cela afin d'obtenir ce que tu souhaites, en fonction de ton enoncé que tu n'ais qu'une seule matière ou plusieurs ...etc... du language et autre.

Et un temps pour chaque chose sous le ciel ... ©A. McCaffrey

Répondre à Galsungen

2

dodoli, le 26 nov 2008 à 23:53:36

Salut galsugen et les autres vivant encore
je ne sais pas si tu existe tjrs ou tu ne plus sur terre mais quand meme je veux essayer de voir voir si tu es tjrs en vie.
j'ai un probleme mon frere de resoudre un probleme d'algo qui doit me constituer la table de muiltiplication d'un nombre de 1 a 10.

A ++
Que tu soit en vie

merci

Répondre à dodoli

3

 moooi, le 26 mar 2009 à 14:59:54
  • +1

Mistère...=)

Répondre à moooi
Collection CommentÇaMarche.net