Lundi 23 février 2009

MODELE DE PROGRAMME A IMITER

On apprend mieux en imitant.

Objectif : Un programme est organisé en plusieurs parties : une partie principale (programme principal) appelle des sous-parties (sous-programmes) dans son fonctionnement. Chaque sous-programme est chargé d’exécuter une tâche unique dont elle transmet le résultat au programme principal appelant.

 

Remarques :

Gosub Cadre veut dire va à la partie du programme dont le nom est Cadre, puis après, tu reviens ici.  Le sous-programme prend fin avec la commande return.(Cadre est un sous-programme chargé de tracer des cadres sur l’écran)

 

Cls  veut dire : efface l’écran pour que je puisse afficher ce qui suit (Clear Screen)

 

Ink RGB(10,150,50),0  veut dire mélange du Rouge (Red = 10), du Vert (Green=150), Bleu (Blue=50). Les valeurs se situent entre 0 et 255

 

Set cursor (30,120) veut dire place le curseur à la position x = 30, y = 120 (La largeur de l’écran est de 640 et la hauteur est de 480). La position 0,0 est le coin supérieur gauche. On commence donc du haut vers le bas (pour les y dont les valeurs se situent entre 0 et 480) et de la gauche vers la droite (pour les x dont les valeurs se situent entre 0 et 640). Un point a pour cordonnées x,y.

 

Set text font « Verdana » veut dire la police du texte qui suit a pour nom Verdana.

Set text size 14 veut dire la police verdana a pour taille 14

 

Rem  veut dire commentaire du programme. Ce qui vient après la commande rem est en gris, c’est un texte simple que le programme ignore dans son fonctionnement.

 

BOX 10,20,630,470 : On dessine un grand RECTANGLE de fond

BOX Left,Top,Right,Bottom (on trace une ligne large : coin supérieur Gauche : X = 10, Y = 20) coin inférieur Droit : X=630, Y = 470

 

Goto ressemble à gosub. Goto comme gosub, saute pour aller à un endroit précis. Mais Goto ne ramène pas le curseur d’où il est parti comme le fait Gosub. Et puis Goto n’est pas limité par un return. Donc il exécute tout le code dans lequel il tombe.

 

Debut :

Il y a deux points à la fin du mot Debut. Pour cela il est appelé Label. Un Goto ou un Gosub tombe toujours sur un Label qui est en fait le nom et le commencement du programme appelé.

On aura d’autres labels ou noms de sous-programmes. Exemple Carre : ,  Rectangle : , Cadre : , Triangle :

 

Attention ! Quand on appelle un programme par son nom, on omet les deux points. Exemple :

Gosub Carre (Il n’y a pas les deux points)  Goto Debut,  Gosub Rectangle. Dans les noms de labels, il ne faut pas mettre des lettres accentuées. Il faut écrit Debut (sans accent sur le e).

 

Rem PROGRAMME CALCUL SURFACES

Rem Programme qui calcule la surface d’un rectangle, d’un carré et d’un triangle

 

 

 

rem ++++ PROGRAMME PRINCIPAL DEVANT APPELER DES SOUS-PROGRAMMES

 

Debut:

cls

gosub Cadre

 

rem déclaration de variables et de leur type

F as integer

ink RGB(10,150,50),0

set cursor 30,100

set text font "verdana"

set text size 14

print "CALCUL DE SURFACES"

set cursor 30,120

print "Il s'agit de calculer la surface soit d'un rectangle, soit d'un carre, soit d'un triangle."

set cursor 30,140

print "Pour un Rectangle, tapez 1:"

set cursor 30,160

print "Pour un Carre, tapez 2 "

set cursor 30,180

print "Pour un Triangle, tapez 3"

print

ink RGB(255,0,128),0

set cursor 30,240

print "Quelle figure ? ";

input F

IF F = 1 then gosub Rectangle                     rem appel du sous-programme Rectangle

IF F = 2 then gosub Carre                         rem appel du sous-programme Carre

IF F = 3 then gosub Triangle                      rem appel du sous-programme Triangle

IF F <> 1 AND F <> 2 AND F <> 3 Then gosub Erreur rem appel du sous-programme Erreur

goto Continuer                                    rem appel du sous-programme Continuer

 

rem +++++++++++  FIN DU PROGRAMME PRINCIPAL  ++++++++++++++

 

rem ------------------------------------------------------------

rem DEBUT DES SOUS-PROGRAMMES APPELES PAR LE PROGRAMME PRINCIPAL

rem ------------------------------------------------------------

 

rem Sous-Programme traitant du Rectangle

Rectangle:

cls

gosub Cadre

rem déclaration de variables et de leur type

Lon as float

Lar as float

Surf as float

ink RGB(10,150,50),0

set cursor 30,100

print "CALCUL DE LA SURFACE D'UN RECTANGLE"

ink RGB(255,0,128),0

set cursor 30,120

print "Longueur : ";

input Lon

set cursor 30,140

print "Largeur : ";

input Lar

IF Lon < Lar

ink RGB(225,225,0),0

set cursor 30,160

print "Erreur... ! La longueur doit être supérieure à la largeur ! "

wait key

goto Rectangle

else

Surf = Lon * Lar

ink RGB(10,150,50),0

set cursor 30,180

print "La surface du rectangle est : "; Surf

endif

wait key

return rem Fin du sous-programme Rectangle

rem ------------------------------------------------------

 

rem Sous-Programme traitant du Carré

Carre:

cls

gosub cadre

rem déclaration de variables et de leur type

C as float

Surf as float

ink RGB(10,150,50),0

set cursor 30,100

print "CALCUL DE LA SURFACE D'UN CARRE"

ink RGB(255,0,128),0

set cursor 30,120

print "Côté: ";

input C

Surf = C * C

ink RGB(10,150,50),0

set cursor 30,140

print "La surface du Carré est : "; Surf

wait key

return rem Fin du sous-programme Carré

rem -------------------------------------------------------

 

 

 

rem Sous-Programme traitant du triangle

Triangle:

cls

gosub Cadre

rem déclaration de variables et de leur type

B as float

H as float

Surf as float

ink RGB(10,150,50),0

set cursor 30,100

print "CALCUL DE LA SURFACE D'UN TRIANGLE"

ink RGB(255,0,128),0

set cursor 30,120

print "Base: ";

input B

set cursor 30,140

print "Hauteur : ";

input H

Surf = (B * H)/2

ink RGB(10,150,50),0

set cursor 30,160

print "La surface du Triangle est : "; Surf

wait key

return rem Fin du sous-programme Triangle

rem ------------------------------------------------------

 

rem sous-programme pour capturer les erreurs

Erreur:

ink RGB(255,255,0),0

set cursor 30,270

print "ERREUR....!"

set cursor 30,300

print "Veuillez saisir entre 1 et 3 ! "

wait key

return rem Fin sous-programme Erreur

rem -----------------------------------------------------

 

rem sous-programme traçant le cadre

Cadre:

ink rgb(255,128,0),0

BOX 10,10,630,15 rem ligne au-dessus

ink rgb(0,128,128),0 rem couleur blanche

BOX 10,20,630,470 rem RECTANGLE DE FOND

set cursor 190,30

set text size 18

set text to bold  rem le texte sera en Gras

ink rgb(225,225,255),0 rem bleu

print "PROGRAMME LE MAGICIEN DE VILNA"

ink rgb(0,0,0),0 rem couleur blanche

BOX 20,50,620,450 rem RECTANGLE INTERIEUR

return

 

rem Sous-Programme permettant de continuer ou non

Continuer:

rem déclaration de variables et de leur type (Integer = entier)

Rep as integer

print

ink RGB(225,0,128),0

set cursor 30,320

print "Voulez-vous continuer ? (1 pour continuer) ";

input Rep

IF Rep = 1 then goto Debut

print

ink RGB(255,255,0),0

set cursor 30,340

print "FIN ... MERCI ET A BIENTOT !"

wait key

end

Ecrire un commentaire
Recommander
Retour à l'accueil

TV - Zed

Présentation

Album photos

Archives

Commentaires

Recherche

Images célèbres

  • photo-0008.jpg
  • 0002.jpg
  • clip-3-0001.jpg
  • photo-0010.jpg
  • gbagbo-usa-27.jpg

Recommander

Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus