Comment débuter en programmation ?

  • Auteur de la discussion frequi
  • Date de début

frequi

Habitué
Je voudrait apprendre la programmation, mais je ne sais pas par ou commencer.
Logiciel ? lesquels ? editeurs de texte, compilateur, langages.

Pourriez vous m'aiguiller pour mes premiers pas?
j'ai lu pas mal de faq sur ce site.


Merci,
 

Emmanuel Delahaye

Expert

Pour démarrer l'apprentissage de la programmation, il faut un peu de culture informatique (il y a pas mal de vocabulaire). Ensuite, il faut mener de front 2 aspects :
■L'étude de l'algorithmie et des structures de données
■L'étude d'un langage de programmation

L'algorithmie est une science théorique qu'il faut rapidement concrétiser par la mise en oeuvre de la théorie (à moins d'avoir des capacités d'abstraction phénoménales), ce qui passe par l'utilisation d'un langage de programmatin.

Un langage est simple au début, mais il met rapidement en oeuvre des principes vus en 'algorithime'. Donc les deux sont intimement liés.

Reste à choisir un bon cours d'algo (livres, sites) et un langage adapté. Je ne suis pas sûr que le C soit un langage pour un débutant absolu. Trop de subtilités... De mon temps (années 80), on commençait par le Pascal... (FreePascal, TurboPascal...)
 

frequi

Habitué
merci pour tout ces renseignements,
j'ai quelques notions (vraiment trés petite) en C
dois je continuer sur ce langage ou bien laisser tomber et choisir python ou pascal ?
connaissez vous quelques livres ou site de réference ?
 

williamxbox

Habitué

http://www.cppfrance.com/ :D
 

frequi

Habitué
J'ai failli oublier.
J'ai partitionner mon disque dur et j'ai les deux système d'exploitation suivant : XP famillial - opensuse 10.0
sous quel système me conseillez vous de travailler ?
 

KangOl

Grand Maître

nom mais tu vas arreter de dire des conneries toi !

Frequi > je te conseil d'apprendre le python qui est portable et est assez facile d'acces (surtout avec le cours que je t'ai donné)
 

williamxbox

Habitué
nom mais tu vas arreter de dire des conneries toi !

Frequi > je te conseil d'apprendre le python qui est portable et est assez facile d'acces (surtout avec le cours que je t'ai donné)
:whistle:
 

frequi

Habitué
Je suis allé voir ton lien et j'ai télécharger les cours, les exemples, et les exercices. je vais maintenant m'y mettre, merci beaucoup
 

Emmanuel Delahaye

Expert

Franchement non.

Je conseille plutôt

http://www.developpez.com/
 

zeb

Modérateur
Je me permets de te conseiller le C. Puisque tu es électricien, tu auras sans doute à coeur de vouloir brancher des trucs sur ton PC ;) Or le langage le plus adapté est le C.
 

frequi

Habitué
Finalement j'ai choisi le C pour commencer, c'est pas difficile avec un bon tuto.

Merci a tous.
( en attendant les eventuelles correction de mes codes sources )
 

frequi

Habitué
Voila mon premier programme :
La division est toujours égale à 0
Pourquoi?
#include <stdlib.h>

int main(int argc, char *argv[])
{
long plus = 0,moins = 0,multi = 0, nombre1 = 0, nombre2 = 0;
float div = 0;
// On demande les nombres 1 et 2 à l'utilisateur :

printf("Entrez le nombre 1 : ");
scanf("%ld", &nombre1);
printf("Entrez le nombre 2 : ");
scanf("%ld", &nombre2);

// On fait le calcul :

plus = nombre1 + nombre2;
moins = nombre1 - nombre2;
multi = nombre1 * nombre2;
div = nombre1 / nombre2;
// Et on affiche les opérations à l'écran :
printf ("L'addition nous donne :\t");
printf ("%ld + %ld = %ld\n", nombre1, nombre2, plus);
printf ("La soustraction nous donne :\t");
printf ("%ld - %ld = %ld\n", nombre1,nombre2, moins);
printf ("La multiplication nous donne :\t");
printf ("%ld * %ld = %ld\n", nombre1, nombre2, multi);
printf ("La division nous donne :\t");
printf ("%ld / %ld = %ld\n", nombre1, nombre2, div);
system("PAUSE");
return 0;
}

 

KangOl

Grand Maître
et utilise Code::Blocks, tu auras pas besoin du system("PAUSE") qui polue le code :o
 

Emmanuel Delahaye

Expert

Alors premières choses à apprendre :

■Mettre les balises code
■Ne pas utiliser scanf() qui est une fonction trop difficile pour les débutants (et même les autres)


http://mapage.noos.fr/emdel/notes.htm#fichiers
La division est toujours égale à 0
Pourquoi?
■Pour scanf() et printf(), il manque <stdio.h>, c'est à dire les prototypes. Sans prototypes, le compilateur fait des hypothèses (int), et elles sont fausses (long, float).
■Les paramètres de main() ne sont pas utilisés. int main(void) aurait suffit...
■Les nombres utilisés dans la division sont des entiers. La division est donc entière. (2 / 3 -> 0)
■Avec printf(), "%ld" attend un long. Parfois, tu lui passes un float(div). Il faudrait un "%f".

Tout cela relève du B.A. BA que l'on trouve dans les livres de C. Il y a des références sur mon site (qui t'a déjà été conseillé).
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 060
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut