[Algorithmes] Débutant
Bonjour,
Me voilà lancée dans la programmation. Je n'y connais pas grand chose malheuresement. Je n'ai que des bases dans les langages dits "internet" ...
J'ai essayé de lire des cours sur l'algorithme mais j'ai beau essayé de comprendre, je n'y arrive point. Par quoi faut t-il vraiment commencé? D'abord un langage type C, Pascal ect? Ou je peux directement commencé par l'Algorithme sans avoir des bases.
Merci d'avance. Je fais tout ceci pour un concours !! Je ne suis que dans la maintenance informatique et je voudrais changer de direction.
Me voilà lancée dans la programmation. Je n'y connais pas grand chose malheuresement. Je n'ai que des bases dans les langages dits "internet" ...
J'ai essayé de lire des cours sur l'algorithme mais j'ai beau essayé de comprendre, je n'y arrive point. Par quoi faut t-il vraiment commencé? D'abord un langage type C, Pascal ect? Ou je peux directement commencé par l'Algorithme sans avoir des bases.
Merci d'avance. Je fais tout ceci pour un concours !! Je ne suis que dans la maintenance informatique et je voudrais changer de direction.
A voir également:
- [Algorithmes] Débutant
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
1 réponse
A priori les notions d'algorithmique sont générique et ensuite tu apprends la syntaxe et les spécificités de chaque langage. A mon avis pour débuter pascal est peut être le plus accessible ou même une bonne vieille calculatrice programmable comme tu avais au lycée !
Les langages que tu donnes sont généralement programmés à l'aide de plusieurs fonctions. Typiquement en C, le programme commence lance la fonction "main()", et celle ci se charge d'appeler les différentes fonctions du programmes, qui elles-même peuvent appeler d'autres fonction. L'idée c'est de toujours avoir un découpage de fonction représentant quelque chose qui a un sens (par exemple additionner une matrice, inverser une matrice etc...). En général la fonction main appelle des fonctions très générique et ces fonctions appellent des fonction plus précises.
et ainsi de suite....
Ce qui est vraiment important en algorithmique c'est de comprendre le rôle de chaque boucle, la manière de les imbriquer etc. Il faut imaginer un curseur qui parcourt chaque ligne du programme et remonte en début de boucle quand c'est nécessaire.
Exemples
1) écrire une ligne d'étoile horizontale :
donne :
2) écrire un ligne verticale
3) Ecrire un rectangle 5x4
va donner
4) écrire un triangle inférieur
donne :
Et ainsi de suite. Si tu as compris ça tu as compris. Après tu peux t'exercer avec des matrices (par exemple écrire le produit matriciel, l'addition matricielle etc...) c'est exactement le même principe.
Exemple
Je sais pas si ca t'éclaire un peu :s
Bonne chance en tout cas
Les langages que tu donnes sont généralement programmés à l'aide de plusieurs fonctions. Typiquement en C, le programme commence lance la fonction "main()", et celle ci se charge d'appeler les différentes fonctions du programmes, qui elles-même peuvent appeler d'autres fonction. L'idée c'est de toujours avoir un découpage de fonction représentant quelque chose qui a un sens (par exemple additionner une matrice, inverser une matrice etc...). En général la fonction main appelle des fonctions très générique et ces fonctions appellent des fonction plus précises.
Fonction Reparer_crevaison() Arreter_voiture() Changer_roue() Redemarrer_voiture() FinFonction Fonction Changer_route Sortir_cric() Demonter_route_crevee() Monter_roue_de_secours() Ranger_roue_crevee() Ranger_cric() FinFonction
et ainsi de suite....
Ce qui est vraiment important en algorithmique c'est de comprendre le rôle de chaque boucle, la manière de les imbriquer etc. Il faut imaginer un curseur qui parcourt chaque ligne du programme et remonte en début de boucle quand c'est nécessaire.
Exemples
1) écrire une ligne d'étoile horizontale :
Pour i=1...10 Ecrire '*' Fin pour
donne :
**********
2) écrire un ligne verticale
Pour i=1...10 Ecrire '*' Passer à la ligne Fin pour
3) Ecrire un rectangle 5x4
Pour i=1...5 Pour i=1...4 Ecrire '*' Fin pour Passer à la ligne Fin pour
va donner
**** **** **** **** ****
4) écrire un triangle inférieur
Pour i=1...4 Pour j=1...i Ecrire '*' Fin pour Passer à la ligne Fin pour
donne :
* ** *** ****
Et ainsi de suite. Si tu as compris ça tu as compris. Après tu peux t'exercer avec des matrices (par exemple écrire le produit matriciel, l'addition matricielle etc...) c'est exactement le même principe.
Exemple
Fonction additionner(matrice A,matrice B) Precondition L = nb_ligne(A) = nb_ligne(B) Precondition C = nb_colonne(A) = nb_colonne(B) C = matrice de taille L*C Pour i = 1 ... L Pour j = 1 ... C C(i,j) = A(i,j) + B(i,j) Fin pour Fin pour Retourner C Fin fonction
Je sais pas si ca t'éclaire un peu :s
Bonne chance en tout cas