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}
|
\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}.
|
le l'archive 7z ne contient qu'un fichier \texttt{.img}.
|
||||||
Que puis-je faire pour jouer enfin à snake ?
|
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.
|
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'
|
%------ reglages des 'listings'
|
||||||
\lstset{frame=single} % dessin d'un cadre autour du listing
|
\lstset{frame=single} % dessin d'un cadre autour du listing
|
||||||
\lstset{basicstyle=\ttfamily\small}
|
\lstset{basicstyle=\ttfamily\small}
|
||||||
\lstset{aboveskip=1.4em,belowskip=0.2em}
|
\lstset{aboveskip=1.2em,belowskip=1.2em}
|
||||||
|
|
||||||
\setcounter{tocdepth}{1}
|
\setcounter{tocdepth}{1}
|
||||||
\pagestyle{plain}
|
\pagestyle{plain}
|
||||||
@ -130,6 +130,7 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
|
|||||||
\input{chap/Fortran}
|
\input{chap/Fortran}
|
||||||
\input{chap/scripting}
|
\input{chap/scripting}
|
||||||
\input{chap/Arduino}
|
\input{chap/Arduino}
|
||||||
|
\input{chap/Basic}
|
||||||
|
|
||||||
% \input{chap/GMP}
|
% \input{chap/GMP}
|
||||||
\input{chap/Python}
|
\input{chap/Python}
|
||||||
|
Loading…
Reference in New Issue
Block a user