Informations

Aller en bas

Informations

Message  Admin le Sam 20 Sep - 12:19

Salut à tous,

Le cours de langage C... Votre premier cours de programmation, pour la plupart. C'est un cours à réussir absolument pour le passage en deuxième année.

Je vous conseille très fortement d'aller aux cours, mais surtout au labos, et d'y travailler ! Les laboratoires comptent dans la note finale et il nous faut pas les rater.

Si vous avez des questions, nous y répondrons volontiers. (Vous pouvez même venir me trouver à l'école pour m'en poser sur ce cours si c'est plus facile pour vous. ;o) ).
avatar
Admin
Admin

Messages : 428
Date d'inscription : 11/09/2008
Age : 29
Localisation : Mortroux

Voir le profil de l'utilisateur http://info-gestion.1fr1.net

Revenir en haut Aller en bas

Re: Informations

Message  jul!en le Sam 22 Nov - 19:13

justement j ai une petite question!
lundi nous avons test en lagage C portant sur le 1er et 2eme chapitre de notre magnifique sylabus cyclops est ce que qulqu'un de 2ème ou 3ème (ou meme un doublant Razz ) aurait la grande gentillesse de me dire quelle genre de questions on risque de choper ou de me dire ce que vous avez eu lorsque vous étiez un petit de 1ère?? scratch
avatar
jul!en

Messages : 112
Date d'inscription : 18/09/2008
Age : 28
Localisation : verviers (stembert)

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Informations

Message  Admin le Sam 22 Nov - 21:41

Salut,

Vous avez test ? Ce lundi ? Et bin merci de me prévenir M. Gerday...

Bon, tout d'abord vous n'avez pas tout à fait le même cours que nous l'an dernier, il me semble plus... décousu. Pourriez-vous me dire quels sont les concepts que vous avez vu EN C, pas en concepts et méthodes dans la liste suivante:

  • Boucles : while - do while - for
  • tableau à 1 dimension
  • tableau à 2 dimensions
  • structure de données (struct)
  • pointeur
  • allocation dynamique
  • Utilisation de fichiers
avatar
Admin
Admin

Messages : 428
Date d'inscription : 11/09/2008
Age : 29
Localisation : Mortroux

Voir le profil de l'utilisateur http://info-gestion.1fr1.net

Revenir en haut Aller en bas

Re: Informations

Message  Misterkiller le Dim 23 Nov - 12:56

On a vu les 3 premiers donc:

# Boucles : while - do while - for
# tableau à 1 dimension
# tableau à 2 dimensions

Je pense que c'est tout
avatar
Misterkiller

Messages : 169
Date d'inscription : 05/10/2008
Age : 28
Localisation : Waremme

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Informations

Message  Admin le Dim 23 Nov - 14:19

Salut,

Alors je pense que l'interrogation va être assez bateau. Vous allez surement devoir écrire un programme (sur papier) qui se sert de tableau à une ou deux dimensions et parcourir ces tableaux de la bonne manière.

Exemple:

  • Parcourir un tableau d'entiers à une dimension :
    Code:
    int tab[10];
    int i=0; // compteur de boucle

    for (i=0 ; i<10 ; i++)
    {
            // traitement sur tab[i]
    }
  • Parcourir un tableau d'entiers à deux dimensions :
    Code:
    int tab[10][5];
    int i=0; // compteur pour les lignes
    int j=0; // compteur pour les colonnes

    for (i=0 ; i<10 ; i++)
    {
          for (j=0 ; j<5 ; j++)
          {
                  // traitement sur tab[i][j]
          }
          // autre traitement, en fonction de la valeur de i, et en pensant que j vaut toujours 5 ici.
    }
  • Remarque : on peut faire de même pour les float, double, char ...
  • Cependant, pour parcourir un tableau de char à une dimension, il faut savoir qu'on parcourt les caractères un à un.
  • Pour le parcours de tableau de char à deux dimensions, on parcours plusieurs chaines différentes mais toujours caractères un à un. Pour parcourir simplement chaine par chaine, il faut utiliser la première méthode, et donc avec un seul compteur, et ne considérer que les lignes. Exemple:
    Code:
    char tab[5][11];
    int i=0; // compteur de chaines
    int j=0; // compteur de caractères

    for (i=0 ; i< 5 ; i++)
    {
          printf("%s\n",tab[i]); // affichera la chaine suivie d'un retour a la ligne
          for (j=0 ; j<10 ; j++)
          {
                  printf("%c - ",tab[i][j]); // affichera chaque caractère de la chaine i séparé par un "-" .
          }
    }
avatar
Admin
Admin

Messages : 428
Date d'inscription : 11/09/2008
Age : 29
Localisation : Mortroux

Voir le profil de l'utilisateur http://info-gestion.1fr1.net

Revenir en haut Aller en bas

Re: Informations

Message  Zoners le Dim 23 Nov - 16:31

Merci pour ces indications:) mais on a aussi vu les pointeurs:)
Sinon quelqu'un peut confirmer que le test est bien a 8h45?
avatar
Zoners

Messages : 84
Date d'inscription : 28/09/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Informations

Message  jul!en le Dim 23 Nov - 18:00

je pense que c'est pendant son cours c'est à dire à 14h, non?? Question
avatar
jul!en

Messages : 112
Date d'inscription : 18/09/2008
Age : 28
Localisation : verviers (stembert)

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Informations

Message  dellC le Dim 23 Nov - 18:10

A 8:45 au local 04 ...
avatar
dellC

Messages : 120
Date d'inscription : 07/11/2008
Age : 29
Localisation : Herve

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Informations

Message  Misterkiller le Dim 23 Nov - 19:20

En effet 8h45 local 04.. ( n'oubliez pas l'audition en anglais pour ceux qui ont anglais demain )

Quand tu parle de traitement, c'est par exemple un truc comme j'ai mis en rouge ?

int tab[10][5];
int i=0; // compteur pour les lignes
int j=0; // compteur pour les colonnes

for (i=0 ; i<10 ; i++)
{
for (j=0 ; j<5 ; j++)
{
mult [i][j] =(i+1) * (j+1); Question // traitement sur tab[i][j] enfin c'est comme ca dans le syllabus Neutral
}
// autre traitement, en fonction de la valeur de i, et en pensant que j vaut toujours 5 ici.
}


Merci pour le temps que tu prend pour nous aider en tout cas Smile
avatar
Misterkiller

Messages : 169
Date d'inscription : 05/10/2008
Age : 28
Localisation : Waremme

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Informations

Message  Admin le Dim 23 Nov - 20:34

Salut,

Oui, c'est ce type de traitement, qui biensur dans mon exemple sera tab et pas mult. Un autre type de traitement serait une simple affectation (plutôt que ton calcul pas très facile à visualiser -merci M. Gerday), un affichage avec printf("%d ",tab[i][j]); , ou encore une entrée de valeur avec scanf("%d",&tab[i][j]);

mais on a aussi vu les pointeurs
Ok. Alors un méga résumé.

  • Un pointeur est une donnée qui contient l'adresse mémoire d'une autre donnée. Cela sert notamment à modifier des valeurs auquel on a pas accès dans des fonctions par leur nom, on se sert alors de leur adresse, qui sera contenue dans un pointeur.
  • Pour que le pointeur sache combien d'octets en mémoire il devra aller lire quand on l'appelera, il faut lui dire vers quel type de donnée il va pointer. Exemple:
    Code:
    int a = 1; /* déclaration d'une variable de nom a, de type int et a qui on affecte la valeur 1.*/

    int * ptr = &a; /* déclaration d'un pointeur de nom ptr et qui aura pour valeur l'adresse mémoire où se trouve la variable a. Par exemple: 0x37AB1900.*/

    printf("%d\n",a); /* affichera 1.*/

    *ptr = 3; /* la valeur de la variable dont l'adresse est pointée par ptr (0x37AB1900) va se voir affecter la valeur 3.*/

    printf("%d\n",a); /* affichera 3.*/

    printf("%d\n",*ptr); /* affichera 3, la valeur pointée par le pointeur, à savoir a.*/

    printf("%d\n",ptr); /* affichera 0x37AB1900 dans notre exemple, et donc l'adresse de a en mémoire.*/
    printf("%d\n",&a); /* vous devriez pouvoir dire ce que cela va afficher maintenant.*/

    printf("%d\n",&ptr); /* affichera l'adresse du pointeur en mémoire, l'endroit où le pointeur lui meme est stocké. Par exemple 0x78DA21B8*/

Vous devriez pouvoir le copier coller tel quel dans votre fonction main si vous voyez mal ou voulez faire d'autres essais...
avatar
Admin
Admin

Messages : 428
Date d'inscription : 11/09/2008
Age : 29
Localisation : Mortroux

Voir le profil de l'utilisateur http://info-gestion.1fr1.net

Revenir en haut Aller en bas

Re: Informations

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum