décevant (mode console...). Je pense qu'une phase intermédiaire
(Pyhthon, par exemple) permettrait d'acquérir rapidement les principes
de bases dans la programmation (valeurs, variables, opérateurs,
fonctions, décision, itérations, etc.) sans plonger le nez dans les
détails scabreux du C qui existent par ce que c'est le plus bas des
langages de haut niveau.
Dans la mesure où, en C, on sait pas passer un tableau à une fonction,
les pointeurs sont indispensable dès que les données d'un tableau
doivent être traitées (remplissage, tri, affichage etc.).
Ce qui est troublant en C, c'est que, pour un paramètre,, les syntaxes
T *a et T a[] sont équivalentes :
f(T *a) ou f(T a[])
décevant (mode console...). Je pense qu'une phase intermédiaire
(Pyhthon, par exemple) permettrait d'acquérir rapidement les principes
de bases dans la programmation (valeurs, variables, opérateurs,
fonctions, décision, itérations, etc.) sans plonger le nez dans les
détails scabreux du C qui existent par ce que c'est le plus bas des
langages de haut niveau.
Dans la mesure où, en C, on sait pas passer un tableau à une fonction,
les pointeurs sont indispensable dès que les données d'un tableau
doivent être traitées (remplissage, tri, affichage etc.).
Ce qui est troublant en C, c'est que, pour un paramètre,, les syntaxes
T *a et T a[] sont équivalentes :
f(T *a) ou f(T a[])
décevant (mode console...). Je pense qu'une phase intermédiaire
(Pyhthon, par exemple) permettrait d'acquérir rapidement les principes
de bases dans la programmation (valeurs, variables, opérateurs,
fonctions, décision, itérations, etc.) sans plonger le nez dans les
détails scabreux du C qui existent par ce que c'est le plus bas des
langages de haut niveau.
Dans la mesure où, en C, on sait pas passer un tableau à une fonction,
les pointeurs sont indispensable dès que les données d'un tableau
doivent être traitées (remplissage, tri, affichage etc.).
Ce qui est troublant en C, c'est que, pour un paramètre,, les syntaxes
T *a et T a[] sont équivalentes :
f(T *a) ou f(T a[])
C'est en effet un problème: dans une promo classique,
il y a 20% qui comprend du premier coup (et à du mal à
comprendre que les autres puissent ne pas comprendre),
et les autres.
Que fait-on des autres ?
C'est en effet un problème: dans une promo classique,
il y a 20% qui comprend du premier coup (et à du mal à
comprendre que les autres puissent ne pas comprendre),
et les autres.
Que fait-on des autres ?
C'est en effet un problème: dans une promo classique,
il y a 20% qui comprend du premier coup (et à du mal à
comprendre que les autres puissent ne pas comprendre),
et les autres.
Que fait-on des autres ?
Je pense avoir acquis les principes de base avec un site :
"algorithmes pour non-matheux" fait par un prof de Jussieux. Je suis
intéressé par python mais je considère C en premier parce que on pe ut
faire appel à C dans d'autres langages alors que on ne peut pas faire
appel à d'autres langage dans C et il semble que C est à la base et
que c'est un langage qui se compile rapidement.
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Cependant, je crois comprendre que pour les fonctions ils n'y a pas
beaucoup d'alternatives notamment quand il faut passer les arguments
par valeur ou adresse. C'est ça que je dois comprendre quand tu
dis ..."la seule façon de contenir une adresse est d'utiliser une
variable de type pointeur".
Il n'y a pas une alternative possible à l'exposé ci-dessous (que j'ai
compilé des différents ouvrages et tutoriel bien que je n'ai pas
encore commencé avec le chapitre des fonctions) :
void PERMUTER (int A, int B)
{
int AIDE;
AIDE = A;
A = B;
B = AIDE;
}
Nous appelons la fonction pour deux variables X et Y par:
int main(void)
int x, y ;
printf("Enter 2 integers : ") ;
scanf("%d %d", &x, &y) ;
PERMUTER(X, Y);
printf("nRslt : x : %dt y : %d ", x, y ) ;
Résultat: X et Y restent inchangés !
void PERMUTER (int *A, int *B)
{
int AIDE;
AIDE = *A;
*A = *B;
*B = AIDE;
}
Nous appelons la fonction par:
PERMUTER(&X, &Y);
Résultat: Le contenu des variables X et Y est échangé !
Question sans rapport avec ci-dessus :
J'ai lu une critique du langage pascal de Kernighan, et il dit que la
phase de compilation de pascal se fait du bas vers le haut et que les
fonctions doivent être définies après la procédure principale (je ne
connais pas ce langage alors je ne suis pas sûre des termes). Alors
que le C se compile du haut vers le bas.
Je crois comprendre qu'un informaticien de formation et même d'autres
métiers apprennent le langage pascal ou ont une initiation pour une
intro à la programmation.
Alors pourquoi en C, ca marche sous windows (gcc - djgpp) il me semble
mais pas sous linux (gcc) on ne peut pas déclarer :
int n ;
int Tableau[n] ;
Le fait que C compile du haut vers le bas devrait favoriser ce genre
de déclaration ?
Je pense avoir acquis les principes de base avec un site :
"algorithmes pour non-matheux" fait par un prof de Jussieux. Je suis
intéressé par python mais je considère C en premier parce que on pe ut
faire appel à C dans d'autres langages alors que on ne peut pas faire
appel à d'autres langage dans C et il semble que C est à la base et
que c'est un langage qui se compile rapidement.
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Cependant, je crois comprendre que pour les fonctions ils n'y a pas
beaucoup d'alternatives notamment quand il faut passer les arguments
par valeur ou adresse. C'est ça que je dois comprendre quand tu
dis ..."la seule façon de contenir une adresse est d'utiliser une
variable de type pointeur".
Il n'y a pas une alternative possible à l'exposé ci-dessous (que j'ai
compilé des différents ouvrages et tutoriel bien que je n'ai pas
encore commencé avec le chapitre des fonctions) :
void PERMUTER (int A, int B)
{
int AIDE;
AIDE = A;
A = B;
B = AIDE;
}
Nous appelons la fonction pour deux variables X et Y par:
int main(void)
int x, y ;
printf("Enter 2 integers : ") ;
scanf("%d %d", &x, &y) ;
PERMUTER(X, Y);
printf("nRslt : x : %dt y : %d ", x, y ) ;
Résultat: X et Y restent inchangés !
void PERMUTER (int *A, int *B)
{
int AIDE;
AIDE = *A;
*A = *B;
*B = AIDE;
}
Nous appelons la fonction par:
PERMUTER(&X, &Y);
Résultat: Le contenu des variables X et Y est échangé !
Question sans rapport avec ci-dessus :
J'ai lu une critique du langage pascal de Kernighan, et il dit que la
phase de compilation de pascal se fait du bas vers le haut et que les
fonctions doivent être définies après la procédure principale (je ne
connais pas ce langage alors je ne suis pas sûre des termes). Alors
que le C se compile du haut vers le bas.
Je crois comprendre qu'un informaticien de formation et même d'autres
métiers apprennent le langage pascal ou ont une initiation pour une
intro à la programmation.
Alors pourquoi en C, ca marche sous windows (gcc - djgpp) il me semble
mais pas sous linux (gcc) on ne peut pas déclarer :
int n ;
int Tableau[n] ;
Le fait que C compile du haut vers le bas devrait favoriser ce genre
de déclaration ?
Je pense avoir acquis les principes de base avec un site :
"algorithmes pour non-matheux" fait par un prof de Jussieux. Je suis
intéressé par python mais je considère C en premier parce que on pe ut
faire appel à C dans d'autres langages alors que on ne peut pas faire
appel à d'autres langage dans C et il semble que C est à la base et
que c'est un langage qui se compile rapidement.
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Cependant, je crois comprendre que pour les fonctions ils n'y a pas
beaucoup d'alternatives notamment quand il faut passer les arguments
par valeur ou adresse. C'est ça que je dois comprendre quand tu
dis ..."la seule façon de contenir une adresse est d'utiliser une
variable de type pointeur".
Il n'y a pas une alternative possible à l'exposé ci-dessous (que j'ai
compilé des différents ouvrages et tutoriel bien que je n'ai pas
encore commencé avec le chapitre des fonctions) :
void PERMUTER (int A, int B)
{
int AIDE;
AIDE = A;
A = B;
B = AIDE;
}
Nous appelons la fonction pour deux variables X et Y par:
int main(void)
int x, y ;
printf("Enter 2 integers : ") ;
scanf("%d %d", &x, &y) ;
PERMUTER(X, Y);
printf("nRslt : x : %dt y : %d ", x, y ) ;
Résultat: X et Y restent inchangés !
void PERMUTER (int *A, int *B)
{
int AIDE;
AIDE = *A;
*A = *B;
*B = AIDE;
}
Nous appelons la fonction par:
PERMUTER(&X, &Y);
Résultat: Le contenu des variables X et Y est échangé !
Question sans rapport avec ci-dessus :
J'ai lu une critique du langage pascal de Kernighan, et il dit que la
phase de compilation de pascal se fait du bas vers le haut et que les
fonctions doivent être définies après la procédure principale (je ne
connais pas ce langage alors je ne suis pas sûre des termes). Alors
que le C se compile du haut vers le bas.
Je crois comprendre qu'un informaticien de formation et même d'autres
métiers apprennent le langage pascal ou ont une initiation pour une
intro à la programmation.
Alors pourquoi en C, ca marche sous windows (gcc - djgpp) il me semble
mais pas sous linux (gcc) on ne peut pas déclarer :
int n ;
int Tableau[n] ;
Le fait que C compile du haut vers le bas devrait favoriser ce genre
de déclaration ?
J'avais oublié dans le post précédent ; on ne peut pas définir de s
paramètres avec des valeurs qui seront échangées autrement qu'en
déclarant des pointeurs?
J'avais oublié dans le post précédent ; on ne peut pas définir de s
paramètres avec des valeurs qui seront échangées autrement qu'en
déclarant des pointeurs?
J'avais oublié dans le post précédent ; on ne peut pas définir de s
paramètres avec des valeurs qui seront échangées autrement qu'en
déclarant des pointeurs?
> Dans la mesure où, en C, on ne sait pas passer un tableau à une fon ction,
> les pointeurs sont indispensable dès que les données d'un tableau
> doivent être traitées (remplissage, tri, affichage etc.).
Non, les pointeurs ne sont absolument pas indispensables pour ça (rempl ir un
tableau, trier un tableau, afficher un tableau, même un tableau 2D)
> Ce qui est troublant en C, c'est que, pour un paramètre,, les syntaxe s
> T *a et T a[] sont équivalentes :
> f(T *a) ou f(T a[])
Ah exactement le genre de truc qu'il faut dire à un débutant ! Que ces syntaxes
soient équivalentes est totalement anecdotique et n'a AUCUNE implicatio n
pratique, c'est quelque chose qui ne sert quasiment jamais <...>
> Dans la mesure où, en C, on ne sait pas passer un tableau à une fon ction,
> les pointeurs sont indispensable dès que les données d'un tableau
> doivent être traitées (remplissage, tri, affichage etc.).
Non, les pointeurs ne sont absolument pas indispensables pour ça (rempl ir un
tableau, trier un tableau, afficher un tableau, même un tableau 2D)
> Ce qui est troublant en C, c'est que, pour un paramètre,, les syntaxe s
> T *a et T a[] sont équivalentes :
> f(T *a) ou f(T a[])
Ah exactement le genre de truc qu'il faut dire à un débutant ! Que ces syntaxes
soient équivalentes est totalement anecdotique et n'a AUCUNE implicatio n
pratique, c'est quelque chose qui ne sert quasiment jamais <...>
> Dans la mesure où, en C, on ne sait pas passer un tableau à une fon ction,
> les pointeurs sont indispensable dès que les données d'un tableau
> doivent être traitées (remplissage, tri, affichage etc.).
Non, les pointeurs ne sont absolument pas indispensables pour ça (rempl ir un
tableau, trier un tableau, afficher un tableau, même un tableau 2D)
> Ce qui est troublant en C, c'est que, pour un paramètre,, les syntaxe s
> T *a et T a[] sont équivalentes :
> f(T *a) ou f(T a[])
Ah exactement le genre de truc qu'il faut dire à un débutant ! Que ces syntaxes
soient équivalentes est totalement anecdotique et n'a AUCUNE implicatio n
pratique, c'est quelque chose qui ne sert quasiment jamais <...>
"Marc Boyer" a écrit dans le message denews: h8di13$tb__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$ .cict.fr...
> C'est en effet un problème: dans une promo classique,
> il y a 20% qui comprend du premier coup (et à du mal à
> comprendre que les autres puissent ne pas comprendre),
> et les autres.
> Que fait-on des autres ?
peut etre un changement dans l'approche...
j'ai toujours vu le prof : bon maintenant on va aborder
les pointeurs... froncement de sourcil, regards inquiets
des étudiants...
le truc ce serait de commencer par ça.... 1ère heure :
le C : les types, les variables, les pointeurs, les adresses...
le reste du C aux cours suivants...
"Marc Boyer" <Marc.Bo...@cert.onera.fr.invalid> a écrit dans le message denews: h8di13$tb__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$z__@news .cict.fr...
> C'est en effet un problème: dans une promo classique,
> il y a 20% qui comprend du premier coup (et à du mal à
> comprendre que les autres puissent ne pas comprendre),
> et les autres.
> Que fait-on des autres ?
peut etre un changement dans l'approche...
j'ai toujours vu le prof : bon maintenant on va aborder
les pointeurs... froncement de sourcil, regards inquiets
des étudiants...
le truc ce serait de commencer par ça.... 1ère heure :
le C : les types, les variables, les pointeurs, les adresses...
le reste du C aux cours suivants...
"Marc Boyer" a écrit dans le message denews: h8di13$tb__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$ .cict.fr...
> C'est en effet un problème: dans une promo classique,
> il y a 20% qui comprend du premier coup (et à du mal à
> comprendre que les autres puissent ne pas comprendre),
> et les autres.
> Que fait-on des autres ?
peut etre un changement dans l'approche...
j'ai toujours vu le prof : bon maintenant on va aborder
les pointeurs... froncement de sourcil, regards inquiets
des étudiants...
le truc ce serait de commencer par ça.... 1ère heure :
le C : les types, les variables, les pointeurs, les adresses...
le reste du C aux cours suivants...
> A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
> pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
> appel aux pointeurs quand c'est possible quand je code.
Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
> A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
> pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
> appel aux pointeurs quand c'est possible quand je code.
Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
> A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
> pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
> appel aux pointeurs quand c'est possible quand je code.
Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
On 13 sep, 10:52, -ed- wrote:
> > A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis d es
> > pointeurs. C'est volontaire. Mon point de vue sera d'éviter de fair e
> > appel aux pointeurs quand c'est possible quand je code.
> Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
Je suis tombé là-dessus ce matin:
http://fr.web-2-site.net/content/grand-d%C3%A9calage-entre-universit%...
intéressant sujet de réflexion...
On 13 sep, 10:52, -ed- <emmanuel.delah...@gmail.com> wrote:
> > A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis d es
> > pointeurs. C'est volontaire. Mon point de vue sera d'éviter de fair e
> > appel aux pointeurs quand c'est possible quand je code.
> Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
Je suis tombé là-dessus ce matin:
http://fr.web-2-site.net/content/grand-d%C3%A9calage-entre-universit%...
intéressant sujet de réflexion...
On 13 sep, 10:52, -ed- wrote:
> > A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis d es
> > pointeurs. C'est volontaire. Mon point de vue sera d'éviter de fair e
> > appel aux pointeurs quand c'est possible quand je code.
> Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
Je suis tombé là-dessus ce matin:
http://fr.web-2-site.net/content/grand-d%C3%A9calage-entre-universit%...
intéressant sujet de réflexion...
On 13 sep, 10:52, -ed- wrote:A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
Je suis tombé là-dessus ce matin:
http://fr.web-2-site.net/content/grand-d%C3%A9calage-entre-universit%C3%A9-et-r%C3%A9alit%C3%A9
intéressant sujet de réflexion...
On 13 sep, 10:52, -ed- <emmanuel.delah...@gmail.com> wrote:
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
Je suis tombé là-dessus ce matin:
http://fr.web-2-site.net/content/grand-d%C3%A9calage-entre-universit%C3%A9-et-r%C3%A9alit%C3%A9
intéressant sujet de réflexion...
On 13 sep, 10:52, -ed- wrote:A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Quand aux pointeurs, rien qu'en C++, il existe une manière simple de
Je suis tombé là-dessus ce matin:
http://fr.web-2-site.net/content/grand-d%C3%A9calage-entre-universit%C3%A9-et-r%C3%A9alit%C3%A9
intéressant sujet de réflexion...
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Cependant, je crois comprendre que pour les fonctions ils n'y a pas
beaucoup d'alternatives notamment quand il faut passer les arguments
par valeur ou adresse. C'est ça que je dois comprendre quand tu
dis ..."la seule façon de contenir une adresse est d'utiliser une
variable de type pointeur".
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Cependant, je crois comprendre que pour les fonctions ils n'y a pas
beaucoup d'alternatives notamment quand il faut passer les arguments
par valeur ou adresse. C'est ça que je dois comprendre quand tu
dis ..."la seule façon de contenir une adresse est d'utiliser une
variable de type pointeur".
A vrai dire, je vous "rentre dedans" avec mon sentiment vis-à-vis des
pointeurs. C'est volontaire. Mon point de vue sera d'éviter de faire
appel aux pointeurs quand c'est possible quand je code.
Cependant, je crois comprendre que pour les fonctions ils n'y a pas
beaucoup d'alternatives notamment quand il faut passer les arguments
par valeur ou adresse. C'est ça que je dois comprendre quand tu
dis ..."la seule façon de contenir une adresse est d'utiliser une
variable de type pointeur".