Écrire des programmes BASIC simples
Vous voudrez probablement utiliser votre micro-ordinateur Commodore 64 pour effectuer des tâches plus complexes utilisant plusieurs instructions. Lorsque vous combinez un certain nombre d'instructions dans un programme, vous pouvez utiliser toute la puissance de votre Commodore 64. Pour voir à quel point il est facile d'écrire votre premier programme sur Commodore 64, procédez comme suit :
- Effacez l'écran en maintenant la touche enfoncée tout en appuyant sur la touche CLR/HOME.
- Entrez NEW et appuyez sur RETURN. Il efface les informations pouvant encore se trouver dans la mémoire de l'ordinateur après votre expérience.
- Saisissez les deux lignes suivantes exactement telles qu'elles apparaissent ici :
- N'oubliez pas d'appuyer sur la touche RETURN après chaque ligne. Après avoir tapé la première ligne et appuyé sur RETURN, vous remarquerez que l'ordinateur ne répond pas à la commande PRINT tout de suite comme il le faisait auparavant lorsque vous avez tapé le même type de commandes. C'est parce que vous commencez maintenant la commande avec un numéro de ligne (10). Lorsque vous utilisez des numéros de ligne, l'ordinateur sait que vous écrivez un programme, il attend donc que vous ayez fini de saisir l'ensemble du programme avant de suivre l'une de vos instructions.
- Entrez RUN et appuyez sur RETURN. La commande RUN indique au micro-ordinateur que vous avez fini de saisir les instructions du programme et que vous êtes prêt à suivre vos instructions. Voici ce qui se passe lorsque vous exécutez ce programme : GLADIR.COM !
- Arrêtez l'exécution du programme en appuyant sur la touche STOP. L'ordinateur continue de suivre vos commandes en affiche Commodore 64 encore et encore jusqu'à ce que vous interrompiez avec la touche STOP. Voici à quoi ressemble votre écran lorsque vous appuyez sur STOP. GLADIR.COM !
- Ce programme simple présente plusieurs concepts importants étant à la base de toute programmation.
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
BREAK IN 10
READY
Numéros de ligne
Nous avons déjà précédemment que les numéros de ligne indiquent à l'ordinateur que vous écrivez un programme. Ils indiquent également à l'ordinateur dans quel ordre vous voulez que les instructions de votre programme s'exécutent. Sans numéros de ligne pour indiquer à l'ordinateur quand suivre quelle instruction, l'ordinateur ne sait pas quoi faire en premier. Plus votre programme est long et complexe, plus il est important de se rappeler que l'ordinateur compte sur vous pour lui dire quand faire les choses, ainsi que quoi faire. Une bonne chose à ce sujet est que vous pouvez saisir la ligne 20 avant la ligne 10 car l'ordinateur vérifie simplement les numéros de ligne pour connaître l'ordre d'exécution du programme. L'ordinateur ne vérifie pas l'ordre dans lequel vos lignes apparaissent à l'écran. Un autre avantage des numéros de ligne est que vous pouvez utiliser le numéro pour faire référence à l'instruction sur la ligne. Lorsque vous souhaitez revenir en arrière et répéter l'exécution d'une instruction, il vous suffit de vous y référer par numéro de ligne dans une instruction GOTO, comme vous l'avez fait dans l'exemple ci-dessus.
L'instruction GOTO
Lorsque vous avez dit à l'ordinateur d'exécuter l'exemple de programme ci-dessus, le Commodore 64 a été affiché à plusieurs reprises au lieu d'une seule fois en raison de l'instruction GOTO à la ligne 20. L'instruction GOTO indique à l'ordinateur d'aller directement à une ligne spécifiée. Ensuite, l'ordinateur suit les instructions de la ligne spécifiée et passe à la ligne suivante. Vous pouvez utiliser une instruction GOTO pour dire à l'ordinateur de revenir à une ligne ayant déjà été exécutée. Ou GOTO peut dire à l'ordinateur de sauter en avant, même si cela signifie que certaines lignes du programme ne sont pas exécutées. Dans notre exemple, le programme PRINT le message de la ligne 10 et passe à la ligne 20. Là, l'instruction GOTO indique à l'ordinateur de revenir à la ligne 10 et de faire ce que la ligne 10 dit de faire. Ainsi, le programme affiche à nouveau le message à la ligne 10, puis passe à la ligne 20, renvoyant l'ordinateur à la ligne 10 et ainsi de suite. Cette répétition est appelée une boucle. Parce que l'exemple ne donne pas à l'ordinateur un moyen de sortir de la boucle, le cercle se répète sans fin. Vous devez arrêter le cycle en interrompant le programme avec la touche STOP. Il est préférable d'inclure une instruction dans votre programme terminant la boucle afin de ne pas avoir à utiliser la touche STOP.
Utilisation de la commande LIST
Maintenant que vous avez interrompu l'exécution de l'exemple de programme, tapez LIST et appuyez sur RETURN. Votre programme est maintenant affiché intact car il est toujours dans la mémoire de l'ordinateur, même si vous avez interrompu l'exécution du programme. La seule différence est que l'ordinateur a changé votre ? dans le mot PRINT. Cela n'affecte pas votre programme, c'est juste la façon dont l'ordinateur fait les choses. Lorsque vous utilisez la commande LIST, l'ordinateur affiche également les lignes du programme dans l'ordre numérique correct, même si vous avez entré les lignes dans le désordre. L'une des différences importantes entre l'écriture de programmes et la saisie de lignes uniques en mode immédiat / calculatrice est que vous perdez définitivement une instruction immédiate une fois que vous l'exécutez et effacez l'écran. Mais, jusqu'à ce que vous démarriez un nouveau programme, vous pouvez toujours le récupérer en tapant simplement LIST. À partir de là, vous pouvez modifier le programme, le SAVE ou le RUN.
Conseils d'édition
Lorsque vous faites une erreur dans une ligne que vous avez saisie, ou lorsque vous souhaitez simplement modifier une ligne, le Commodore 64 vous offre un certain nombre d'options d'édition.
- Vous pouvez retaper une ligne à tout moment et le micro-ordinateur remplace automatiquement la nouvelle ligne par l'ancienne. Tout ce que vous avez à faire pour remplacer une ligne est
d'utiliser le même numéro de ligne. Par exemple :
on obtiendra le résultat suivant :
MON NOM EST SYLVAIN
J'AIME LE QUEBECComme vous pouvez le voir, la première ligne 20 ne s'exécute jamais car elle est remplacée par la deuxième ligne 20. Si vous entrez maintenant une commande LIST, vous verrez que seule la deuxième ligne 20 fait toujours partie du programme.
- Vous pouvez facilement effacer une ligne dont vous ne voulez pas simplement en entrant le numéro de ligne et en appuyant sur la touche RETURN. Si vous saisissez maintenant LIST, vous verrez que la ligne a disparu, tout comme le numéro de ligne.
- Vous pouvez facilement modifier une ligne existante. Utilisez les touches CRSR pour ramener le curseur sur la ligne que vous souhaitez modifier, puis modifiez simplement la ligne comme vous le souhaitez. Dès que vous appuyez sur la touche RETURN, la ligne modifiée remplace l'ancienne ligne. N'oubliez pas d'utiliser la touche INST/DEL pour insérer ou supprimer.
Lorsque vous avez terminé l'édition, vous pouvez vérifier à nouveau votre programme pour vérifier les modifications en tapant la commande LIST. N'oubliez pas que LIST met également les lignes dans l'ordre numérique si vous les avez saisies dans le désordre. Essayez de modifier notre exemple de programme en ajoutant un point-virgule à la fin de la ligne et en omettant le Commodore 64. Une fois les modifications terminées, assurez-vous de déplacer le curseur au-delà de la ligne 20 avant d'exécuter le programme. Voici comment le programme fonctionne maintenant :
on obtiendra le résultat suivant :
GLADIR.COM GLADIR.COM GLADIR.COM GLADIR.COMGLADIR.COM GLADIR.COM GLADIR.COM GLADIR.COM
BREAK IN 10
READY
Comment utiliser les variables
Une variable est un symbole représentant une valeur. Parfois, la valeur d'une variable est inconnue avant d'exécuter un programme. L'un des objectifs d'un programme peut être de trouver une ou plusieurs valeurs pour une variable. Regardez cette ligne d'un programme :
- 20 LET X = 28 + Y
Le signe «=» signifie «devenir» ou «prendre la valeur de». L'instruction LET est facultative et peut être omise. Dans cette équation, X et Y sont des variables. Supposons que X représente le nombre de jours dans un mois. L'une des meilleures choses à propos d'une variable est que vous pouvez la réutiliser dans un programme, afin que X puisse représenter les jours de tous les mois, pas seulement un mois. C'est là que Y entre en jeu. Tous les mois ont 28 jours, donc Y représente les jours de plus de 28. Il y a un programme donnant des valeurs à ces deux variables. Le plus important maintenant est de comprendre le fonctionnement des variables, car les variables vous permettent d'effectuer des tâches complexes avec votre micro-ordinateur. Les variables vous permettent également d'écrire des programmes très réutilisables. Imaginez que votre micro-ordinateur contienne un tas de petites fentes, comme une banque de boîtes aux lettres. Lorsque vous écrivez un programme, vous pouvez utiliser certains de ces emplacements pour contenir des valeurs. Tout ce que vous faites est de donner un nom aux fentes dont vous avez besoin, et pendant le programme, vous pouvez mettre des valeurs dans chaque fente en utilisant le nom du fente. Par exemple, dans l'équation ci-dessus, nous avons utilisé deux emplacements en nommant un X et un Y. Au début d'un programme, ces emplacements ont des noms, mais ils sont vides. Voici ce qui se passe lorsque vous mettez une valeur dans l'emplacement de Y :
X | Y | |||
---|---|---|---|---|
3 |
Maintenant, la variable Y a la valeur 3. Vous pouvez donner cette valeur à Y simplement en écrivant cette instruction simple :
- 10 Y = 3
Puisque X est égal à 28 plus Y, lorsque vous exécutez, l'emplacement du programme X obtient également une valeur.
X | Y | |||
---|---|---|---|---|
31 | 3 |
Voici à quoi ressemble le programme :
Il affichera le message suivant :
LE NOMBRE DE JOUR DANS MAI EST 31Voici un autre programme utilisant des variables :
- 10 X% = 15
- 20 X = 23.5
- 30 X$ = "TOTAL:"
- 40 Y = X% + X
- 50 PRINT X$;Y
Lorsque vous exécutez le programme, les emplacements imaginaires ressemblent à ceci après l'exécution de la ligne 30 :
X% | X | X$ | Y | ||
---|---|---|---|---|---|
15 | 23.5 | TOTAL: |
À la fin du programme, Y a la valeur : 38,5. L'exemple ci-dessus utilise les trois types de variables :
Type | Symbole | Description | Exemples | Exemple de valeurs |
---|---|---|---|---|
Entier | % | Nombres entiers | X%, A1% | 15,102,3 |
Texte | $ | Chaîne de caractères | X$, AB$ | "TOTAL:", "JOUR 1" |
Point flottant | Réel | X, AB | 23.5, 12, 1.3E + 2 |
Assurez-vous d'utiliser les bons types de variables dans vos programmes. Si vous essayez de faire quelque chose comme assigner une chaîne de texte à une variable entière, votre programme ne fonctionnera pas. Il y a quelques autres choses à garder à l'esprit lorsque vous attribuez des noms à des variables :
- Un nom de variable peut avoir un ou deux caractères, sans compter le symbole spécial utilisé avec les variables de type entier et de chaîne de caractères texte.
- Vous pouvez utiliser plus de deux caractères alphabétiques dans un nom de variable, mais le micro-ordinateur ne reconnaît que les deux premiers. Ainsi, le micro-ordinateur penserait que PA, PARTNO et PAGENO sont la même variable faisant référence au même fente. Un programme est plus facile à lire pour les gens lorsque vous utilisez des noms de variables plus longs, mais lorsque vous utilisez plus de deux caractères dans un nom, assurez-vous que les deux premiers sont uniques.
- Vous pouvez utiliser X, X% et X$ dans un programme car les symboles spéciaux % et $ rendent chaque nom de variable unique. Il en va de même pour A2, A2% et A2$.
- Le premier caractère doit être alphabétique (de A à Z). Le deuxième et les caractères suivants peuvent être alphabétiques ou numériques (0 à 9). N'oubliez pas que l'ordinateur ignore tous les caractères après le second sauf s'il s'agit d'un % ou $ en troisième position. Les noms de variables ne peuvent pas contenir de mots clefs BASIC, également appelés mots réservés. Ce sont les mots comme PRINT et RUN faisant partie du langage BASIC.
Voici un autre exemple de programme montrant comment utiliser les variables :
On obtiendra le résultat suivant :
SIEGES DISPONIBLES: 300BILLETS DISPONIBLES: 315
POINT SUR RESERVATION: 301
Les lignes (10-30) attribuent des noms de variables. Les lignes 40 et 50 PRINT un message et la valeur actuelle des variables Y et Z. Notez qu'à la ligne 40, la valeur de Y est 300. La ligne 60 donne une nouvelle valeur à Y, et cette nouvelle valeur est PRINT à la ligne 70. La ligne 60 montre qu'une variable peut avoir plus d'une valeur dans un programme. La ligne 60 montre également une autre des fonctionnalités puissantes des variables : vous pouvez rendre une variable égale à elle-même et à une autre valeur. Cela n'est pas autorisé dans l'algèbre régulière, mais ce type de déclaration est couramment utilisé en programmation. Cela signifie : prenez la valeur actuelle d'une variable, combinez-la avec une autre valeur et remplacez la première valeur de la variable par cette nouvelle valeur. Vous pouvez également utiliser des instructions comme celles-ci :
- Y = Y - 1
- Y = Y + X
- Y = Y / 2
- Y = Y * (X + 2)
Utilisation des boucles FOR/NEXT
Lors de l'explication de l'instruction GOTO, vous vous en souvenez, les boucles sont des exécutions répétées d'une ou plusieurs lignes dans un programme. L'instruction FOR/NEXT vous permet de créer des boucles très utiles contrôlant le nombre d'exécutions d'un segment d'un programme. L'instruction FOR définit une limite sur le nombre d'exécutions de la boucle en affectant une intervalle de valeurs à une variable. Par exemple :
- FOR COMPTEUR=1 TO 4
L'instruction NEXT marque la fin d'une boucle FOR/NEXT. Lorsque le programme atteint une instruction NEXT, le micro-ordinateur vérifie l'instruction FOR pour voir si la limite de la boucle a été atteinte. Si la limite n'a pas été atteinte, la boucle continue et la variable dans l'instruction FOR est incrémentée de un. Par exemple, si vous ajoutez une boucle FOR/NEXT au programme au début de la page, voici ce qui se passe :
On obtiendra le résultat suivant :
GLADIR.COM !GLADIR.COM !
GLADIR.COM !
GLADIR.COM !
Maintenant que vous avez ajouté la boucle FOR/NEXT, vous n'avez pas à interrompre avec la touche STOP pour arrêter l'exécution du programme. Cette boucle FOR/NEXT fonctionne comme ceci :
- La ligne 10 donne à la variable I une intervalle de valeurs de 1 à 4 et indique au micro-ordinateur d'exécuter les lignes suivantes jusqu'à ce que I soit égal à 4.
- La ligne 20 indique au micro-ordinateur d'afficher «GLADIR.COM !».
- La ligne 30 indique au micro-ordinateur d'ajouter 1 à la valeur actuelle de I. Tant que la valeur de I reste dans l'intervalle de 1 à 4, le programme se répète et GLADIR.COM ! est à nouveau affiché. Lorsque I est égal à 4, la ligne 20 s'exécute une fois de plus. Lorsque la ligne 30 ajoute à nouveau 1 à I, le micro-ordinateur sait que I est maintenant hors de portée. Ainsi, le micro-ordinateur arrête d'exécuter la boucle et le programme se termine de lui-même.
Pour vous assurer que vous comprenez le fonctionnement de la boucle FOR/NEXT, nous ajouterons plus d'instructions PRINT à la ligne 20 vous permettant de suivre la valeur de I.
On obtiendra le résultat suivant :
GLADIR.COM ! COMPTEUR = 1GLADIR.COM ! COMPTEUR = 2
GLADIR.COM ! COMPTEUR = 3
GLADIR.COM ! COMPTEUR = 4