

Félicitations! Vous avez réussi votre examen d’admission à la
prestigieuse université «University for Computers Landbehrt of
America» (UCLA)! Cette université virtuelle est située à
Blainville, mais elle peut être itinérante à l’occasion.
Je suis Landbehrt, votre professeur pour tous les cours que vous
aurez à suivre jusqu’à l’atteinte de votre diplôme. Tous les cours
seront donnés en français, heureusement pour vous mes étudiants
Québécois, et se termineront chacun par un examen final qui vous
permettra de trouver une cache.
Alors bienvenue à votre premier cours, «Informatique 101 –
Logique de programmation». Nous allons apprendre et mettre en
pratique ici quelques notions de logique et de programmation qui
vous permettront de réussir ce premier cours. Le langage de
programmation qui sera utilisé pour ce cours est le BASIC (francisé
pour les besoins du cours).
Voici la théorie:
Opérateurs de base:
| Opérateurs logiques |
| < : Plus petit que (1 < 2) |
| > : Plus grand que (2 > 1) |
| <= : Plus petit ou égal à (1 <= 2 et 2
<= 2) |
| >= : Plus grand ou égal à (2 >= 1 et 2
>= 2) |
| = : Égal à (1 = 1) |
| <> : Différent de (1 <>
2) |
| OU : L’une ou l’autre des conditions doit
être vraie pour que l’énoncé soit vrai (si 1 > 2 ou 3 > 2,
cette condition est vraie car l'une des conditions est
vraie) |
| ET : Les deux conditions doivent être vraies
pour que l’énoncé soit vrai (si 2 > 1 et 3 > 2, cette
condition est vraie car les deux conditions sont vraies) |
| NON : Inverse le résultat de la condition
(si la condition est NON vrai, alors elle est fausse et si
la condition est NON fausse, alors elle est vraie) |
| |
| Opérateurs mathématiques |
| + : Addition (si a = 1, b = 2 et c = a + b,
alors c = 3) |
| - : Soustraction (si a = 8, b = 2 et c = a -
b, alors c = 6) |
| * : Multiplication (si a = 8, b = 2 et c = a
* b, alors c = 16) |
| / : Division (si a = 8, b = 2 et c = a / b,
alors c = 4) |
| ^ : Exposant (si a = 8, b = 2 et c = a ^ b,
alors c = 64) |
| |
| Autres opérateurs |
| - : Opérateur unaire (si a = 1, alors -a =
-1) |
| = : Opérateur d'assignation (a = b, donc a
prend la valeur de b) |
| ( ) : Opérateur de préséance (si c * (a +
b), alors il faut additionner a et b en premier, puis multiplier le
résultat par c) |
Notions de base du langage BASIC:
| - Le programme s'exécute selon l'ordre croissant
des numéros de ligne, sauf si le verbe ALLER À indique
autrement. Exemple : 10, 20, 30, etc. |
| - Une variable est une zone de mémoire dans
laquelle on stocke une valeur. |
| - Le nom d'une variable est composé d'un caractère
alphabétique, suivi si désiré d'un ou de plusieurs caractères
alphanumériques, et parfois terminé par un signe de dollar ($).
Exemple : a, Somme, v1$, etc. |
| - Une variable peut contenir du texte ou un
nombre. Si elle contient du texte, son nom se terminera par
un signe de dollar ($) et sa valeur sera entre guillemets. Exemple
: a = 1, v1$ = "Allo!", etc. |
Verbes de base du langage BASIC:
| LAISSE : Indique l'assignation d'une valeur
dans une variable. Exemple : LAISSE a = 1 place la valeur
"1" dans la variable "a". |
| SI (condition) ALORS (verbes)
SINON (verbes) FINSI : Évalue une condition. Si le
résultat de la condition qui suit le SI est vrai, les verbes
(séparés les uns des autres par des points-virgules) après le
ALORS sont exécutés. Si la condition est fausse, les verbes
(séparés les uns des autres par des points-virgules) après le
SINON sont exécutés. Le SINON est optionnel. Le
FINSI indique la fin de la condition. Exemple: SI a
<> 0 ALORS b = 1 SINON c = b FINSI place
la valeur "1" dans la variable "b" si la valeur de la variable "a"
est différente de "0". Sinon, donc si la valeur de "a" est "0", la
valeur de la variable "b" est placé dans la variable "c". |
| ALLER À (numéro de ligne) : Permet de
poursuivre le traitement au numéro de ligne qui suit le verbe.
Exemple : ALLER À 50 indique de poursuivre le traitement à
la ligne 50. |
| IMPRIME : Permet d'afficher du texte entre
guillemets ou le contenu d'une variable. Exemple : IMPRIME
"La somme est : ",a |
| FIN : Indique la fin du
programme. |
Voici la pratique:
10 LAISSE a = 1
20 LAISSE b = 9
30 LAISSE c = 76
40 LAISSE d = 4
50 LAISSE e = 10
60 SI e > a + b ALORS LAISSE z = a; ALLER À 260 FINSI
70 LAISSE DegresLatitude = d * e + d + a
80 LAISSE DegresLongitude = c - d + a
90 SI DegresLatitude <> DegresLongitude ALORS LAISSE
MinutesLatitude = 4 ^ 3 - e - e - d + a; ALLER À 150 SINON LAISSE
MinutesLatitude = d * e + d FINSI
100 LAISSE MinutesLongitude = d * e + b + a
110 LAISSE MilliemesLatitude = e ^ 2 * d + c
120 LAISSE MilliemesLongitude = b * d * 2 * e + a
130 LAISSE z = b - d - d
140 ALLER À 250
150 LAISSE MinutesLongitude = c / d
160 LAISSE MinutesLongitude = b * d + MinutesLongitude - a -
a
170 LAISSE MilliemesLatitude = e ^ 2 * d + c
180 SI MilliemesLatitude <= 450 OU (DegresLatitude -
MinutesLatitude) / d = 1 ALORS ALLER À 220
190 LAISSE MilliemesLongitude = c * e + e + b
200 LAISSE z = e - b
210 ALLER À 250
220 LAISSE MilliemesLatitude = ((MilliemesLatitude / d) - (d + d))
* d
230 SI MilliemesLatitude - d - (d * 10) - (d * (e ^ 2)) = 0 ET
MinutesLongitude - MinutesLatitude - (d * 3) = 0 ALORS LAISSE
MilliemesLongitude = c * e + d SINON LAISSE MilliemesLongitude = c
* e - b; LAISSE z = e - d - d - a; ALLER À 250 FINSI
240 LAISSE z = DegresLatitude - MinutesLatitude
250 IMPRIME "Les coordonnées de la cache sont :
N",DegresLatitude,"° ",MinutesLatitude,".",MilliemesLatitude,"
W",DegresLongitude,"°
",MinutesLongitude,".",MilliemesLongitude
260 SI z = 1 ALORS IMPRIME "Tes chances de réussir ce cours sont
nulles!" SINON IMPRIME "Tes chances de réussir ce cours sont très
bonnes!" FINSI
270 FIN
Pour réussir ce cours, vous devez simplement résoudre l'énigme
ci-dessus et signer le registre de visites situé quelque part le
long d’une piste cyclable de Blainville. Soyez très discret s'il
vous plaît.
Le contenu initial de la cache est:
- Efface dauphin bleu
- Efface coeur
- Registre de visites
Cette cache ne contient pas de crayon. Prévoyez en amener un
pour signer le registre de visites.
Testez vos coordonnées ici!
Indice d'accessibilité : H12212