On 26.10.16 18:57, Volker Englisch wrote:
> Thomas Koenig schrieb:
>> Volker Englisch <
lrz...@rsli.de> schrieb:
>>> Du bringst mich aber auf eine Idee, ich könnte mal meine ziemlich
>>> verstaubten Fortran-Kenntnisse auskramen. Ist ja eigentlich genau für
>>> Fortran prädestiniert.
>>
>> :-)
>
> Done. Heraus kam dabei folgendes (mein "Wissen" stammt noch von FORTRAN
> 77, wie man bestimmt sieht. Interessanterweise kommt ein brauchbares
> Ergebnis heraus. Auch wenn der Zweck des Programmes vielleicht etwas
> strange rüberkommt...
>
So jugendlichen Dialekte.
(Ich sollte eine App draus machen, mit einstellbaren "Eier Fertig!"-Sound.
Dazu eine revolutionäre Gewichts-Sensorik, hergestellt aus einem
neuen, fantastisch durchsichtigen, piezoelektrischen Material.
Man legt es auf den Bildschirm des Smartphones, darauf das Ei,
zum wiegen per kapazitiver Übertragung.)
Alte Skriptingsprache:
* PROGRAM EI
*
* ******************************************************************
* BERECHNUNG DER KOCHDAUER EINES HÜHNEREIS
* ANHAND SEINER MASSE IN GRAMM
* ******************************************************************
*
* TS = SIEDETEMPERATUR DES WASSERS
* T = ZEIT IN MINUTEN
* HOEHE = STANDORTHOEHE UEBER MEERESSPIEGEL
* M = MASSE
* TK = TEMPERATUR ZU BEGINN
* TI = TEMPERATUR ZU ENDE
* MIN = MINUTEN
* SEK = SEKUNDEN
* H = HAERTE
*
DEFINE('HOEHE()'); DEFINE('TK()')
DIGIT = "1234567890"
OUTPUT(.PROMPT,11, 'TW', '-') :(FORMAT)
*
L100 PROMPT = $'530'
H = TRIM(INPUT)
IDENT(H) :S(END)
H POS(0) ANY("123") RPOS(0) :S<CODE(' :(TI' H ')')>
TERMINAL = $'540'
TI = 0 :(TI)
TI1 TI = 62 :(TI)
TI2 TI = 67 :(TI)
TI3 TI = 82 :(TI)
TI EQ(TI, 0) :S(L100)
*
PROMPT = $'500'
INPUT POS(0) SPAN(DIGIT) . M :F(L100)
*
TS = 100. - (HOEHE() / 285.)
T = 0.465 * (M ** (2. / 3.)) * LOG(0.76 * ((TS - TK()) / (TS - TI)))
*
MIN = CONVERT(T, 'INTEGER')
SEK = (T - MIN) * 100.
SEK = CONVERT((SEK * 60. / 100.) + 0.5, 'INTEGER')
OUTPUT = $'510' LPAD(MIN, 2)
OUTPUT = $'520' LPAD(SEK, 2) :(END)
*
FORMAT $'500' = 'GEBEN SIE DIE MASSE DES EIS EIN: '
$'510' = 'MINUTEN .......................: '
$'520' = 'SEKUNDEN ......................: '
$'530' = '1=FLÜSSIG, 2=WEICH, 3=HART ....: '
$'540' = 'UNGÜLTIGE EINGABE'
+ :(L100)
*
HOEHE HOEHE = 405 :(RETURN)
TK TK = 8 :(RETURN)
END