Affichage des articles dont le libellé est présentation. Afficher tous les articles
Affichage des articles dont le libellé est présentation. Afficher tous les articles

samedi 10 mars 2018

Les tableaux : Quoi et Pourquoi ?

Définition

Les tableaux sont des structures de données statiques.

Une structure de données est une manière d'organiser les données pour les traiter plus facilement (Wikipedia).

Statique désigne la taille fixe : un tableau est d'une taille (nombre de cellules) fixe.

Un tableau (array en anglais) est une structure de données qui consiste en un ensemble d'éléments ordonnés accessibles par leur indice (ou index) (Wikipedia).

Pourquoi utiliser un tableau ?

Un tableau est utilisé lorsque les données à manipuler satisfont les trois conditions suivantes :

  1. Nous voulons sauvegarder toutes les données,
  2. Nous avons des données de même types,
  3. Nous allons appliquer le même traitement sur toutes les données.
Exemple 1 : Utilisation des tableaux recommandée

Supposons que nous voulons saisir les notes de tous les étudiants d'un groupe pour ensuite calculer la moyenne et connaître le min et le max.

Dans ce cas, les trois conditions sons satisfaites :
  1. Nous voulons nous rappeler de toutes les notes,
  2. Les notes sont toutes de même nature et de même types,
  3. Le calcul de la moyenne et la recherche du min et de max nécessitent des traitement identiques sur chaque notes (addition et comparaison)
Exemple 2 : Utilisation des tableaux non recommandées

Supposons que nous avons les données suivantes : la taille (en m) d'une personne, son poids (en kg), son rythme cardiaque, sa tension et sa température au moment de la consultation médicale.

Ces données sont toutes des nombres (entiers ou réels). Nous voulons les sauvegarder dans le dossier médical du patient. Néanmoins, ces données ne peuvent pas subir des traitements identiques : la somme de la taille et du poids, la comparaison entre le poids et tension ou la multiplication de la tempértaure et du rythme cardiaque sont toutes des opérations qui n'ont aucun sens.

Ainsi, l'utilisation des tableaux n'est pas recommandée dans ce cas.

Déclaration et code : solution du premier exemple :


Program PremierExempleTableau;

Const
 N = 10;
 
Var 
 notes : Array [1..N] of Real; {toutes les données sont de même type, 
          la taille est fixe}
 i : Integer; {L'indice pour pouvoir accéder aux différentes valeurs}
 
 somme, max, min : Real;

Begin
 
 For i:= 1 to N Do
 Begin
  WriteLn('Donnez la ', i, 'ème valeur :');
  ReadLn(notes[i]);
 End;
 
 somme := notes[1];
 min := notes[1];
 max := notes[1];
 
 For i:= 2 to N Do
 Begin
  somme := somme + notes[i];
  
  If (notes[i] < min) Then
   min := notes[i];
   
  If (notes[i] > max) Then
   max := notes[i];
 End;
 
 WriteLn('Les notes saisies sont : ');
 For i:= 1 to N Do
 Begin
  Writeln('notes[', i, '] = ', notes[i]:2:2);
 End;
 
 WriteLn('La somme de ces notes est ', somme:2:2);
 WriteLn('La moyenne de ces notes est ', (somme / N):2:2);
 WriteLn('La plus grande note est ', max:2:2);
 WriteLn('La plus petite note est ', min:2:2);
 
End.



mercredi 8 novembre 2017

Présentation

Ce blog vise un seul objectif : la publication des codes les plus simples qui constituent l'introduction à l'algorithmique et la programmation. Les exemples plus complexes seront (PROBABLEMENT) publiés sur mon deuxième blog consacré aux activités d'enseignement (par ici).
Ces exemples sont des solutions pour les questions que je trouve périodiquement sur les forums de discussion. La différence est que j'essaierai de porter le chapeau de pédagogue et ainsi, travailler sur les exemples les plus basiques avec l'explication la plus détaillée que je peux donner. La chose que le "climat" de la plupart des forums ne le permet pas.
En effet, sur les forums, la plupart des questions basiques sont l'objet de raillerie. Et si cela ne suffisait pas, les solutions pédagogiques simples proposées sont vites critiquées et modifiées pour être plus optimales tant dit que le contexte de la question est un contexte d'introduction et d'apprentissage et non pas d'optimisation.
Ainsi, ce blog se présente comme un autre espace où un nouveau apprenant peut trouver des solutions à des exercices avec des explications simple.

Note : Tous les codes publiés sont les miens; vous pouvez les utiliser et les adapter. Néanmoins, les exercices ne sont pas les miens et, sauf autre indication, je ne les propose pas, mais je les trouve sur Internet et sur les forums. Pour me simplifier la vie, je ne metterai pas des liens vers des postes sur des forums. Si vous pensez qu'un exercice vous appartient ou bien que vous pensez que la solution doit être enlevée alors prière de me contacter.