add io related text
This commit is contained in:
parent
3bda7ea69b
commit
7e591fc958
@ -175,9 +175,10 @@ XXX\index{XXX}
|
||||
Pour faire simple, on accède à chaque unité de donnée l'une après l'autre,
|
||||
comme quand on déroule une bande 6250bpi. Ces unités peuvent être
|
||||
(restons simple pour commencer) des lignes entières de texte.
|
||||
Dans l'ancien temps\footnote{F77 rulz the world}, le format de ces
|
||||
lignes devait être précisement structure, avec des largeurs de champs
|
||||
fixés.
|
||||
Dans l'ancien temps\footnote{F66 rulz the world} des cartes
|
||||
à trous, le format de ces
|
||||
lignes devait être précisement structurées, avec des largeurs de champs
|
||||
dans la ligne fixés.
|
||||
|
||||
% --------------------------------------------------------
|
||||
|
||||
@ -186,7 +187,51 @@ fixés.
|
||||
XXX\index{XXX}
|
||||
|
||||
C'est pas pareil : d'abord les enregistrements sont tous de la même
|
||||
taille
|
||||
taille. Ensuite, on y accède par son rang, son numéro d'ordre dans le
|
||||
fichier. Dès que j'ai fini de planter les deux arbres en attente,
|
||||
je vous propose un exemple simple et aussi artificiel que les
|
||||
autres exemples de ce ouvrage.
|
||||
|
||||
% --------------------------------------------------------
|
||||
|
||||
\section{Read et Write}
|
||||
|
||||
Ces deux opérations (la lecture et l'écriture) sont contrôlables
|
||||
par plusieurs choses~: les paramètres à l'ouverture,
|
||||
du fichier, à XXX\index{XXX},
|
||||
et surtout les chaines de format.
|
||||
Bienvenue dans le monde du légendaire champ "Hollerith".
|
||||
|
||||
\subsection{Les chaines de format}
|
||||
|
||||
%
|
||||
% attention, il y a un hack pour l'affichage du mot "format" !
|
||||
% Attention, dans "{\small{\textsc{format}}}", les accolades
|
||||
% exterieures sont indispensables. Affaire à suivre...
|
||||
%
|
||||
La chaine de {\small{\textsc{format}}} contrôle la façon dont les
|
||||
données (nombres, textes ou booleans)
|
||||
seront présentées à l'affiche ou à l'impression.
|
||||
Une bonne connaissance, et une longue pratique des chaines de
|
||||
{\small{\textsc{format}}} est
|
||||
indispendable pour arriver à l'harmonie ultime bien que rigoureuse,
|
||||
de vos interminables listings de chiffres abscons.
|
||||
Nous verrons ensuite comment les utiliser pour faire de la saisie
|
||||
presque (mais pas complètement) utilisable en milieu
|
||||
\textsl{enduser}\index{enduser}.
|
||||
|
||||
Il y a deux manières de les utiliser~: en ligne de l'instruction
|
||||
d'écriture/lecture, ou séparément en tant que chaine de caractères.
|
||||
Pour la clarté de lecture, c'est la seconde que je vais utiliser.
|
||||
|
||||
%
|
||||
%
|
||||
%
|
||||
% INSERT BIG "TODO" HERE.
|
||||
%
|
||||
%
|
||||
\lstinputlisting{code/fortran/printty.f90}
|
||||
|
||||
|
||||
% --------------------------------------------------------
|
||||
|
||||
@ -216,7 +261,7 @@ end module
|
||||
|
||||
Rien de bien compliqué~:
|
||||
Un module peut être vu comme une boite qui contient (\texttt{contains})
|
||||
des procédures (\texttt{function} ou \texttt{subroutine},
|
||||
des procédures (\texttt{function} ou \texttt{subroutine}),
|
||||
et qui sera utilisé avec ce genre de petit programme~:
|
||||
|
||||
\begin{lstlisting}
|
||||
@ -228,9 +273,17 @@ program t
|
||||
end program
|
||||
\end{lstlisting}
|
||||
|
||||
La première ligne, \texttt{use dummy}, permet d'accéder aux fonctions disponibles
|
||||
dans le module dummy.
|
||||
Elle doit être suivie d'un \texttt{implicit none}, pour une raison à éclaircir.
|
||||
Et ensuite nous pouvons appeler notre procédure.
|
||||
|
||||
Mais les modules permettent de faire bien d'autre choses.
|
||||
|
||||
% --------------------------------------------------------
|
||||
\section{Random et Aléa}
|
||||
|
||||
Tentative de sranding faite à la rache.
|
||||
La dernière ligne va vous étonner.
|
||||
|
||||
\begin{lstlisting}
|
||||
@ -246,15 +299,22 @@ La dernière ligne va vous étonner.
|
||||
dummy = rand()
|
||||
\end{lstlisting}
|
||||
|
||||
Mais il y a d'autres manières plus rigoureuses d'utiliser les nombres
|
||||
pseudo-aléàtoires avec le fortan moderne.
|
||||
|
||||
% --------------------------------------------------------
|
||||
% new Thu 24 Nov 2022 02:27:05 AM CET
|
||||
|
||||
\section{Options de gfortran} \index{gfortran}
|
||||
|
||||
Comme d'habitude avec gcc\footnote{The Gnu Compiler Collection}, les
|
||||
Comme d'habitude avec gcc\footnote{Giant Complicated Compilords}, les
|
||||
options sont innombrables. J'ai essayé d'en dégager les plus importantes,
|
||||
mais ce ne sont probablement pas les seules.
|
||||
|
||||
Pour commencer, la plus obligatoire de toutes ces options est sans contexte
|
||||
le protecteur de base \texttt{-Wall} qui vous protégera de nombreux
|
||||
maléfices.
|
||||
|
||||
% --------------------------------------------------------
|
||||
|
||||
\section{Images}
|
||||
@ -339,7 +399,7 @@ immédiatement garnir de données pertinentes~:
|
||||
\end{verbatim}
|
||||
|
||||
Une fois en possession de ces données conceptuelles, que l'on peut
|
||||
aisément voire comme un cheminement, nous allons demander
|
||||
aisément voir comme un cheminement, nous allons demander
|
||||
au crayon de se promener sur notre feuille virtuelle en suivant
|
||||
ce chemin, et enfin de s'arreter de dessiner~:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user