Etude des tableaux

Cette semaine a été riche en notions abordées. Pour rappel nous sommes au Cambodge afin d’apporter au CKN quelques rudiments de la programmation, mis en pratique avec Arduino. Même si les premiers articles ont un air de « vacances » il est temps de vous présenter l’avancement du projet.

En début de semaine nous avons abordé les tableau 1 et 2 dimensions. Notions très importantes de la programmation que nous avons voulus mettre en pratique avec des exercices malheureusement assez théoriques au début.

Pour s’exercer avec les tableaux 1 dimension, les formateurs ont pus s’entraîner avec la suppression d’une lettre dans un tableau avec le décalage que cela entraîne dans le tableau.

#include
using namespace std;
 
const int N=10;
 
int main()
{
int t[N],i,j,V;
bool trouve;
for(i=0;i<n;i++){cout<<"tapez un="" entier="" ";cin="">>t[i];}
cout<<"Tapez la valeur de V : ";cin>>V;
 
trouve=false;
i=0;
while(!trouve && i<n) if(t[i]="=V)trouve=true;" else="" i++;="" if(trouve)="" {="" for(j="i;j<N-1;j++)t[j]=t[j+1];" t[n-1]="0;" }="" for(i="0;i<N;i++)cout<<t[i]<<endl;" return="" 0;="" }<="" pre="">

D’autres exercices ont suivis sur les tableaux 1 dimensions par exemple l’échange de 2 lettre dans un tableaux, vérifier si un tableau est vide(ne contient que des 0)… Pour cette première partie théorique nous avons travailler sur CodeBlocks. En effet ceci a permis aux formateurs de découvrir cette environnement nouveau pour eux.
La première mise en pratique des tableaux simple a été le fait de déclarer des tableaux de LED dans les programmes Arduino. Ainsi en déclarant:

int led[3];

Ceci les obligent à faire une petite boucle for afin de faire les pinMode():

backlitfruitint i;
for(i=0;i<;3;i++)
   pinMode(led[i],OUTPUT);

Ensuite la seconde partie des TPs a été l’étude de tableaux 2 dimensions. Un sujet un peu difficile au début à cause d’une longue coupure de courant qui a déclenché une hécatombe des PC, de l’extinction des lumières et de l’indispensable ventilo en pleine nuit. C’est regroupés devant la lumière de 2 PCs, dans une salle a 35 degrés entourés des formateurs à la motivation inébranlable que nous avons pus aborder ce sujet que nous pensions difficile! Après 2,3 exemples il semblait que la notion ne posait aucun problème de compréhension. Même la double boucle for pour le parcours du tableau semblait intuitif.
Le lendemain nous avons donc abordés les exercices afin de consolider tout ca. Objectif du jour afficher une croix et un X à l’écran:
projettab

Exercices qui s’est avéré très utile car il a soulevé beaucoup de questions des formateurs autant au niveau de l’algorithme que sur les tableaux.
Petit bout de code mais grosse réflexion!

#include 

using namespace std;
const int MAXC=10;
const int MAXL=10;
int main()
{
    int i,j;
    char tab[MAXL][MAXC];


    //Demande de i
    do{
    cout<<"Entrez un nombre i: ";
    cin>>i;
    }while(i>MAXL || i<0);

    do{
    cout<<"Entrez un nombre j: ";
    cin>>j;
    }while(j>MAXC || j<0);

    int a,b;
    for(a=0;a<i;a++){ for(b="0;b<j;b++){" if(a="=b)" tab[a][b]="*" ;="" else="" if((a+b)="=j-1)" }="" for(a="0;a<i;a++){" cout="" <<tab[a][b]<<"="" ";="" <<endl;="" return="" 0;="" <="" pre=""></i;a++){>
</n)></n;i++){cout<<"tapez>