new chapter: Basic
This commit is contained in:
parent
6546d1d5c0
commit
6c2d6476b8
65
chap/Basic.tex
Normal file
65
chap/Basic.tex
Normal file
@ -0,0 +1,65 @@
|
||||
% ----------------------------------------------------------
|
||||
\chapter{Basic}
|
||||
\index{dosbox}\label{chap:Basic}
|
||||
|
||||
% -------------------------------------------
|
||||
\section{BASIC} \index{BASIC}
|
||||
|
||||
C'est probablement un des premiers langages interactifs utilisable par le
|
||||
peuple et les gens. Déja, à ce titre, dénonce que ce langage
|
||||
demande un peu de curiosité, il a traversé soixante ans
|
||||
d'informatique, et il existe enore.
|
||||
Mais pour moi, le véritable intérèt
|
||||
est dans la multitude et la diversité des implémentations.
|
||||
Des minis catatoniques des années 60 aux micros-ordinateurs 8 bits,
|
||||
des dizaines de versions souvent incompatibles ont vues le jour.
|
||||
Un nom ? « Locomotive », ça ira ?
|
||||
|
||||
Dans un premier temps, je vais les lister sommairement, et
|
||||
ensuite j'aurais une idée sur lesquels seront les plus funs
|
||||
à explorer.
|
||||
|
||||
|
||||
% -------------------------------------------
|
||||
\section{Bywater} \index{bywater}
|
||||
|
||||
\begin{verbatim}
|
||||
Bywater BASIC Interpreter/Shell, version 2.10
|
||||
---------------------------------------------
|
||||
Copyright (c) 1993, Ted A. Campbell
|
||||
for bwBASIC version 2.10, 11 October 1993
|
||||
\end{verbatim}
|
||||
|
||||
Le mode interactif me semble un peu rustre, mais utilisable à l'ancienne.
|
||||
Les messages d'erreur sont du genre \textsc{bdos error on a}.
|
||||
Je n'ai pas réussi à faire une sauvegarde du programme\footnote{J'ai
|
||||
renoncé au bout de 30 secondes}, ce qui limite son \textsl{utilisability}.
|
||||
|
||||
Heureusement, on peut utiliser son éditeur de texte favori pour écrire
|
||||
le code source, et le lancer en mode batch. Voici un exemple rudimentaire
|
||||
mais canonique~:
|
||||
|
||||
\lstinputlisting{code/Basic/bywater-1.bas}
|
||||
|
||||
Première conclusion : affaire à suivre.
|
||||
|
||||
% -------------------------------------------
|
||||
\section{Yabasic} \index{yabasic}
|
||||
|
||||
Première innovation, les numéros de ligne ne sont plus obligatoires.
|
||||
|
||||
\lstinputlisting{code/Basic/yabasic-1.bas}
|
||||
|
||||
Et on peut faire des images qui clignotent :)
|
||||
|
||||
\lstinputlisting{code/Basic/yabasic-2.bas}
|
||||
|
||||
% -------------------------------------------
|
||||
\section{Et ailleurs ?}
|
||||
|
||||
L'interpréteur \texttt{Qbasic} de Microsoft fonctionne très bien
|
||||
dans Dosbox~: à lire en page \pageref{Qbasic}. Son prédécesseur,
|
||||
\texttt{GWBASIC} marche très bien aussi.
|
||||
|
||||
% -------------------------------------------
|
||||
% -------------------------------------------
|
@ -31,7 +31,9 @@ keyb fr
|
||||
|
||||
\section{In an Out}
|
||||
|
||||
\textbf{Q:} J'ai téléchargé un warez de Qbasic pour jouer avec,
|
||||
\textbf{Q:} J'ai téléchargé un warez de Qbasic\footnote{%
|
||||
cf. page \pageref{chap:Basic}}
|
||||
pour jouer avec,
|
||||
le l'archive 7z ne contient qu'un fichier \texttt{.img}.
|
||||
Que puis-je faire pour jouer enfin à snake ?
|
||||
|
||||
@ -75,6 +77,9 @@ juste pour constater que c'est un peu technique.
|
||||
merveilles de l'ancien temps.
|
||||
|
||||
|
||||
% ----------------------------------------------------------
|
||||
|
||||
\section{Qbasic} \index{Qbasic} \label{Qbasic}
|
||||
|
||||
% ----------------------------------------------------------
|
||||
|
||||
|
0
code/Basic/README.md
Normal file
0
code/Basic/README.md
Normal file
4
code/Basic/bywater-1.bas
Normal file
4
code/Basic/bywater-1.bas
Normal file
@ -0,0 +1,4 @@
|
||||
10 CLEAR
|
||||
20 FOR I=1 TO 10
|
||||
30 PRINT I, I*I
|
||||
40 NEXT I
|
3
code/Basic/yabasic-1.bas
Normal file
3
code/Basic/yabasic-1.bas
Normal file
@ -0,0 +1,3 @@
|
||||
for i=1 to 10
|
||||
print i, i*i
|
||||
next
|
5
code/Basic/yabasic-2.bas
Normal file
5
code/Basic/yabasic-2.bas
Normal file
@ -0,0 +1,5 @@
|
||||
open window 511,511
|
||||
for x=10 to 495 step 5:for y=10 to 495 step 5
|
||||
colour x/2,y/2,0
|
||||
fill rectangle x,y,x+5,y+5
|
||||
next y:next x
|
@ -26,7 +26,7 @@
|
||||
%------ reglages des 'listings'
|
||||
\lstset{frame=single} % dessin d'un cadre autour du listing
|
||||
\lstset{basicstyle=\ttfamily\small}
|
||||
\lstset{aboveskip=1.4em,belowskip=0.2em}
|
||||
\lstset{aboveskip=1.2em,belowskip=1.2em}
|
||||
|
||||
\setcounter{tocdepth}{1}
|
||||
\pagestyle{plain}
|
||||
@ -130,6 +130,7 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
|
||||
\input{chap/Fortran}
|
||||
\input{chap/scripting}
|
||||
\input{chap/Arduino}
|
||||
\input{chap/Basic}
|
||||
|
||||
% \input{chap/GMP}
|
||||
\input{chap/Python}
|
||||
|
Loading…
Reference in New Issue
Block a user