Home Dossiers et tutos Programmation Initiation a la programmation : première partie

17

Mai

2005

Initiation a la programmation : première partie

Écrit par Grimgor   
Hits

ProgrammationNotre programmeur maison, Floyd nous propose ici, l'initiation première partie. Vous trouverez dans ce tutorial les bases de la programmation.

"Ce tutorial n'a pas pour but de faire de vous des super développeurs, mais de vous initier à la logique de la programmation, en quelques sortes les bases."

 

INTRODUCTION A LA PROGRAMMATION

PREMI?RE PARTIE

Ce tutorial n?a pas pour but de faire de vous des super d?veloppeurs, mais de vous initier ? la logique de la programmation, en quelques sortes les bases. C?est pour cela que dans ce tuto vous ne verrez aucune ligne de code.
Nous ?tudierons les variables : les comportements, les affectations, les diff?rents types et la mani?re de les lire et de les ?crire.
Nous ?tudierons aussi quelques instructions simples comme les boucles, les conditions et d?autres.

  •  LES VARIABLES

1)Qu?est-ce qu?une variable ?

Lorsque que l?on cr?? un programme, c?est pour traiter des donn?es. Ces donn?es peuvent de 2 sortes : constantes ou variables. Les constantes, comme leurs noms l?indiquent, sont constantes et ne peuvent ?tre chang?es (pi=3,14, 1?=6,55957, etc.). Quel est l?int?r?t de cr?er un logiciel o? toutes les valeurs seraient constantes et qu?il faudrait un autre logiciel pour traiter une autre valeur ? Si pour un convertisseur euro, il fallait ? chaque fois que l?on veut son ?quivalent en francs, refaire un programme, ?a serait du bonheur pour les d?veloppeurs.

D?o? l?importance des (donn?es) variables. Ces variables pourront ?tre calcul?, saisi par l?utilisateur, venir d?un autre programme, venir d?une autre source (disquette, cd-rom, lecteur de bande).

2)Typage des variables

Toutes les variables sont typ?es. Ce typage on le retrouve dans notre vie de tous les jours : une abeille est de ? type ? insecte, un singe est de ? type ? mammif?re. Pour les variables c?est pareil (sauf qu?il n?y a pas d?insecte), ils peuvent de types :

  • num?rique : 2, 8, 2864, 2.987
  • caract?re : A, a, Stephane.

Pour des raisons de compr?hension pour ce tuto, je simplifie volontairement le typage, mais dans le prochain tuto qui sera d?di? au C, nous verrons tous les types en d?tail.
Nous allons maintenant commencer ? rentrer dans le vif du sujet en commen?ant ? ?tablir une sorte de langage pour pouvoir interpr?ter. Par exemple :

  • variable nom : caract?res (= variable de type caract?re qui s?appelle nom)
  • variable age : num?rique (=  variable de type num?rique qui s?appelle age)
    mais aussi
  • variable pr?nom, adresse : caract?res (= 2 variables de type caract?re qui  s?appelle pr?nom et adresse).

Attention :
Il faut ?viter ce genre de chose : Nom, nom, NoM ou NOM car je n?ai rencontr? aucun langage ? l?heure actuelle qui sache faire la diff?rence donc au pire, incr?ment? le nom des variables (nom, nom1, nom2, etc) ?a vous simplifiera la vie.

{mospagebreak title=Affectation des variables}

3)Affectation des variables

Il va falloir mettre des donn?es dans ces variables, on appelle cela l?affectation. Car le fait de cr?er une variable, ne veut pas dire qu?il y a quelque chose dedans (c?est souvent le d?faut du d?butant, et pose beaucoup de probl?mes dans certain langage).
Pour affecter une variable, nous n?allons pas utiliser le signe d??galit? (=) qui pourrait par la suite porter ? confusion mais plut?t la fl?che  (←), qui me semble est beaucoup plus facile pour comprendre.
Exemple :

  • nom ← stephane : mettre dans la variable nom stephane
  • age ← 32 : mettre 32  dans la variable ?ge
  • pr?nom ← dupont : mettre dupont dans pr?nom
    mais aussi
  • pr?nom ← nom : mettre stephane dans pr?nom

Si on observe la derni?re instruction, on voit que les variables nom et pr?nom ont la m?me valeur : stephane, et la valeur de la variable pr?nom (dupont) a ?t? purement et simplement ?cras?.

Attention :

  • nom, prenom ← stephane : est interdit il faut toujours d?composer les affectations
    m?me chose
  • age ← nom : est interdit car age est de type num?rique et nom de type caract?re donc de type diff?rent.


Comme sur tous num?rique, il est possible de faire des op?rations, il est donc possible de faire :

  • age ← age + 5 : mettre 37 dans la variable age (32+5)

{mospagebreak title=La lecture et l'?criture}

4)La lecture et l??criture

Il faut maintenant penser ? communiquer avec l?utilisateur (?a pourrait ?tre pratique), surtout si les variables doivent ?tre saisies par l?utilisateur, comme son nom, son pr?nom, son age, son adresse, etc.
Pour simplifier la suite, nous allons supposer que toutes les informations qui seront attendus, viendront du clavier, mais nous verrons plus tard qu?elles peuvent venir d?autres p?riph?riques.
 Pour lire une variable (c'est-?-dire attendre que l?utilisateur frappe au clavier ce qu?on lui demande), nous allons utilis? l?instruction suivante :

Lire lenomdelavariable

Exemple :

  • Lire nom
  • Lire age

Maintenant que nous avons lu l?information, nous allons maintenant voir comment on va pouvoir l?afficher (plus pr?cis?ment la ? sortir ?, car si on a des p?riph?riques d?entr?s comme le clavier, on peut avoir des p?riph?rique de sortis comme un ?cran, mais aussi un fichier pour cr?er une base de donn?es).
Pour ?crire une variable, nous n'allons pas compliquer plus les choses :

Ecrire lenomdelavariable

Exemple :

  • Ecrire nom
  • Ecrire pr?nom

Mais aussi

  •  Ecrire nom, pr?nom

Si on  prend le premier exemple, et avec les valeurs comme andr? et stephane on obtient:

  • andr?
  • stephane

on ne sait pas si andr? est le nom ou le pr?nom, d?o? cette fois ci l?int?r?t des constantes car :

  • ecrire ? votre nom est ?, nom
  • ecrire ? votre prenom est ?, pr?nom

donne :

  • votre nom est andr?
  • votre pr?nom est stephane

C?est tout de m?me plus lisible, n?est ce pas ???

Et voil? nous en avons finis avec les variables, nous allons voir maintenant comment travailler avec mais avant quelques petits exercices pour se familiariser avec ce pseudo langage.

{mospagebreak title=Exercices}

Exercice 1
Dans le cadre d?une biblioth?que, on vous demande d?enregistrer des livres qui sont constitu?s d?un code, d?un titre et d?un auteur. Ecrire, selon le proc?der ci-dessus, le programme qui permet de saisir un livre, et d?en faire une relecture ? l??cran ? la fin de la saisie.

Exercice 1

  • variable titre,auteur : caract?re
  • variable code : numerique
  • ecrire "quel est le code du livre : "
    lire code
  • ecrire "quel est le titre du livre : "
    lire titre
  • ecrire "quel est l'auteur du livre : "
    lire auteur
  • ecrire "vous avez enregistr? le livre n?",code
  • ecrire "le titre est", titre
  • ecrire l'auteur est",auteur

Exercice 2

Faites la m?me chose pour un adh?rent. Ces caract?ristiques sont : un code, un nom, un pr?nom, une adresse et un t?l?phone.

Pour vous aidez, voici un imprime ?cran (ce que l?on voit ? l??cran) pour l?exercice n?1

  • quel est le code du livre : 01 (saisie par le clavier)
  • quel est le titre du livre :  l?algo pour les nuls (saisie par le clavier)
  • quel est l?auteur du livre : Moi (saisie par le clavier)

Vous avez enregistr? le livre n?1
Le titre est l?algo pour les nuls
L?auteur est Moi

{mospagebreak title=Les instructions (1)}

  • LES INSTRUCTIONS

1)Le choix et les conditions du choix

Dans le vie de tous les jours, nous faisons des choix : est-ce que je prend ? droite ou ? gauche. Ces choix peuvent d?termin?s par des conditions : si je veux aller ? la pharmacie alors je prend ? gauche, sinon je prend ? droite. En informatique, c?est pareil.
Tous les programmes que vous allez cr?er par la suite, contiendront un ? si ?, donc un choix.
Nous allons maintenant voir la syntaxe de ce choix :

  • Si (condition) Alors (instruction)
  • Sinon (autre instruction)
  • Fin Si (fin de la condition)

Exemple :

  • Variables a, b, c : num?riques
  • Ecrire ? entrez un chiffre ?
  • Lire a
  • Ecrire ? entrez un autre chiffre ?
  • Lire b
  • C ← a+b
  • Si c<10 alors ?crire ? la somme des 2 chiffres est inf?rieur ? 10 ?
    Sinon ?crire ? la somme des 2 chiffres est sup?rieur ou ?gal ? 10 ?
  • Fin si

Pour plus de lisibilit? on peut aussi ?crire :

  • Si c<10
    Alors ?crire ? la somme des 2 chiffres est inf?rieur ? 10 ?
    Sinon ?crire ? la somme des 2 chiffres est sup?rieur ou ?gal ? 10 ?

Notez bien le d?calage du ? si ? des autres instructions, tr?s important, nous verrons pourquoi par la suite.


Autre exemple :

  • Variables choix : caract?res
  • Ecrire ? quelle est la couleur de votre voiture : bleu (choix A) ou rouge (choix B) : ?
  • Lire choix
  • Si choix = a
    Alors ?crire ? Vous avez choisi  la couleur bleu ?
    Sinon ?crire ? Vous avez choisi la couleur rouge ?
  • Fin si

2) Des conditions plus complexes

Dans le premier exemple, on demande ? une personne de saisir 2 chiffres, sans pr?ciser si les chiffres doivent ?tre positif ou n?gatif, mais gr?ce aux op?rateurs de logique ? et ? et ? ou ? on peut obliger la personne ? saisir 2 chiffres positif.
Exemple :

  • Variables a, b, c : num?riques
  • Ecrire ? entrez un chiffre ?
  • Lire a
  • Ecrire ? entrez un autre chiffre ?
  • Lire b
  • Si a<0 et b<0
    Alors ?crire ? les chiffres doivent ?tre positifs ?
    Sinon continuer
    ......

{mospagebreak title=Les instructions (2)}

Je n?ai volontairement pas fini le code, car il y a un autre concept derri?re ces pointill?s, on le vois tout de suite apr?s, mais pour le moment continuons.
Si on ?tudie bien ce code les valeurs de A et de B doivent ?tre positives sinon le traitement s?arr?te. Mais si l?on ?crit :

  • Variables a, b, c : num?riques
  • Ecrire ? entrez un chiffre ?
  • Lire a
  • Ecrire ? entrez un autre chiffre ?
  • Lire b
  • Si a<0 ou b<0
    Alors ?crire ? les chiffres doivent ?tre positifs ?
    Sinon continuer
    .......

Il suffit que l?une des 2 valeurs soit n?gative (c?est ? dire soit A, soit B, et non les deux), pour que le traitement s?arr?te.

3) Les imbrications

Comme promis, nous allons voir maintenant pourquoi je n?ai pas fini le code pr?c?dent. Une imbrication est, en fait, un choix dans un choix.
Exemple :

  • Si (condition) Alors (instruction)
          
    Sinon Si (condition) Alors (instruction)
          
  • Sinon (autre instruction)
    Fin Si (fin de la condition)
  • (autre instruction)

Fin Si (fin de la condition)

Mais si on veut respecter la syntaxe que l?on utilise depuis tout ? l?heure, il vaut mieux ?crire :

  • Si (condition)
               Alors (instruction)
               Sinon Si (condition)
                          Alors (instruction)
                          Sinon (autre instruction)
                          Fin Si (fin du 2? SI)
     
  • Fin Si (fin du 1er SI)

Pour mieux vous rep?rer, je vous conseille de d?caler au fur et ? mesure, car les imbrications peuvent se faire ? l?infinie (je plaisante bien sur, mais on peut quand m?me en mettre un certain nombre), donc sans d?calage, ?a devient vite illisible.

Exemple :

  • Variables a, b, c : num?riques
  • Ecrire ? entrez un chiffre ?
    Lire a
  • Ecrire ? entrez un autre chiffre ?
    Lire b
  • Si a<0 et b<0
    Alors ?crire ? les chiffres doivent ?tre positifs ?
    Sinon C ← a+b
  • Si c<10
    Alors ?crire ? la somme des 2 chiffres est inf?rieur ? 10 ?
    Sinon ?crire ? la somme des 2 chiffres est sup?rieur ou ?gal ? 10 ?
  • Fin si
  • Fin si

Pas tr?s lisible, n?est ce pas ??
Tandis que ce code est beaucoup plus facile ? suivre.

  • Variables a, b, c : num?riques
  • Ecrire ? entrez un chiffre ?
    Lire a
  • Ecrire ? entrez un autre chiffre ?
    Lire b
  • Si a<0 et b<0                                                        (d?but premier SI)
    Alors ?crire ? les chiffres doivent ?tre positifs ?
    Sinon C ← a+b
  • Si c<10                                                                 (d?but deuxi?me SI)
    Alors ?crire ? la somme des 2 chiffres est inf?rieur ? 10 ?
    Sinon ?crire ? la somme des 2 chiffres est sup?rieur ou ?gal ? 10 ?
  • Fin si                                                                    (fin deuxi?me SI)
  • Fin si                                                                    (fin premier SI)

Explication :

Au test ? Si a<0 et b<0 ?, on regarde les valeurs de A et de B. Si elles sont toutes les deux n?gatives, on traite le ? alors ? du premier SI (? Alors ?crire ? les chiffres doivent ?tre positifs ?), puis on va directement au ? Fin si ? du premier SI.

Mais si les valeurs de A et de B sont positives, alors on ex?cute le ? sinon ? du premier SI (? Sinon C ← a+b ?), puis on teste la somme des deux chiffres comme pr?c?demment pour savoir si c?est inf?rieur ou sup?rieur ? 10, et cette fois ci, on passe par le ? Fin Si ? du deuxi?me Si avant de terminer le programme.
Je sais c?est pas tr?s clair du premier coup, mais un petit exercice va d?m?ler tous ?a.

{mospagebreak title=Exercices et fin de la premi?re partie}

Exercice 3

  • Dans un premier temps, lors de la saisie d?un livre, v?rifier si le code existe d?j? ou pas. S?il existe, afficher un message d?erreur.

Dans un premier temps, lors de la saisie d?un livre, v?rifier si le code existe d?j? ou pas. S?il existe, afficher un message d?erreur.

Exercice 4

  • Compl?ter le code de l?exercice 3 en v?rifiant le code ou le titre.

Exercice 5

  • Faite la m?me chose pour la saisie d?un adh?rent, en v?rifiant que le code et le nom et le pr?nom ne sont pas d?j? enregistr?s.

Aide : Pour savoir si un des ?l?ments existe d?j?, on va utiliser une fonction qui va s?appeler ? existe d?j? ?.
Exemple :

  • Si nom existe d?j?
    Alors ?..
    Sinon ?..

Ceci est la fin de la premi?re partie, qui me semble ? ?tre un peu dur ? dig?rer. Je vous laisse pour un petit moment et je vous pr?pare le prochain le plus rapidement possible. Pour les r?ponses aux exercices, je les mets en ligne le plus rapidement possible, sinon vous pouvez m?envoyer vos r?ponses sur le forum d?veloppement  ou ? 

Floyd , et je pourrais r?pondre de fa?on plus personnalis?e.

Commentaires (2)

Flux RSS pour les commentaires
Affichez les commentaires
...
0
Inutile comme précision, mais juste pour le fun ;-)
XML aussi fait la différence !

je continue la critique sur l'idée et la façon, que tu met en avant, pour appréhender le développement : tout simplement sympa et plutôt pédagogue...

je souhaite voir rapidement une suite
Fox15145 , 10 mai, 2007
...
0
"C#" fait la différence.
test bateau :
{
string Val;
string vaL;

Val = "12";
vaL = "re";
MessageBox.Show(Val " " vaL);
}
et même si il est certain que delphi ne l'a fait pas cette différence, je me méfirai bien de VB...
Ci j'ai bien compris tes propos, C, C et PHP ne le font pas...
Fox15145 , 10 mai, 2007

Écrivez un commentaire


busy
 

Articles

Test Danger Den Double Wide Tower - 21 Black Series Edition

Test Danger Den Double Wide Tower - 21 Black Series Edition

Aujourd'hui nous allons tester le boîtier Danger Den Double Wide Tower...

Lire la suite

Test Asus Sabertooth X58

Test Asus Sabertooth X58

Asus que l’on ne présente plus, met à jour sa gamme...

Lire la suite

GOOC 2010 France : La Finale !

GOOC 2010 France : La Finale !

C'est la finale du GOOC 2010 France. Et c'est parti ! Notre...

Lire la suite
HitParade