switch-case Anweisung

Gast #4319360
Lesenswert?

Hallo,

ich habe eine kurze Frage zur switch-case Funktion in C.

Zum Beispiel nehme ich folgendes:

char a = 100;
switch (a)
{
case 1:
case 2:
   a += 17;
case 10:
case 11:
   a -= 36;
default:
   a += 14;
}
printf("%d", a);
}

Was ist der Endwert von a  ? Springt die Funktion nicht sofort zu 
default, weil case 100 nicht vorhanden ist?
#4319363
Lesenswert?

peter schrieb:

> Was ist der Endwert von a  ? Springt die Funktion nicht sofort zu
> default, weil case 100 nicht vorhanden ist?

Ja natürlich.
Wenn a den Wert 100 hat, dann ist der erwartete Wert 114.
Das ist in dem Fall sogar unabhängig davon, wie der Compiler die ihm 
überlassene Entscheidung ob ein simpler char ein Vorzeichen haben soll 
oder nicht bewertet.
Gast #4319406
Lesenswert?

Hallo Karl-Heinz,

ein komplettes Programm gibt es nicht, das ist das einzige was ich habe.

Die Aufgabe besteht darin, zu bestimmen, welcher Wert ausgegeben werden 
soll.
Ich war mir ziemlich sicher, dass es 114 sein muss ( der Meinung bist du 
ja auch), im Bewertungsbogen steht allerdings, dies sei falsch, es steht 
aber auch nicht die angeblich richtige Antwort dabei.
Ich wollte nur sehen, ob der Fehler bei mir oder evtl im Bewertungsbogen 
liegt.
Gast #4319411
Lesenswert?

genau wie bei dieser Aufgabe:

Welcher Wert wird ausgegeben?

int x = -2;

void main(){

schleife:
if (++x % 2)
goto schleife;

printf("%i", harry);
}

Ist der Endwert nicht -1 ?
In der Schleifenbedingung wird dieser ja um 1 erhöht, also -1,
somit ist er nicht mehr durch 2 teilbar und das goto wird nicht mehr 
berücksichtigt, folglich müsste das ergebnis doch -1 sein?
#4319444
Lesenswert?

peter schrieb:
> Danke Karl-Heinz,
>
> der Meinung war ich auch, allerdings wird mir angezeigt, 114 sei eine
> falsche Antwort.

Wer sagt das?

Ein minimal lauffähiges Programm:

1
#include <stdio.h>
2

3
int main()
4
{
5
    char a = 100;
6
    switch (a)
7
    {
8
        case 1:
9
        case 2:
10
           a += 17;
11
        case 10:
12
        case 11:
13
           a -= 36;
14
        default:
15
           a += 14;
16
    }
17
    printf("%d", a);
18
    
19
    return 0;
20
}

ergibt genau das Ergebnis wie von Karl Heinz genannt:
1
D:\Dateien\C\switch_case>gcc -Wall switch_case.c -o switch_case.exe
2

3
D:\Dateien\C\switch_case>switch_case.exe
4
114
#4319449
Lesenswert?

Daniel A. schrieb:
> Ich denke x ist 0, ++x ist kein postincrement, (-2+1)%2 ergibt -1, -1
> ist wahr,die schleife wird erneut durchlaufen und (-1+1)%2 ist 0,
> ausgabe ist 0.

Exakt.

1
#include <stdio.h>
2

3
int x = -2;
4

5
void main(){
6

7
schleife:
8
if (++x % 2)
9
goto schleife;
10

11
printf("%i", x);
12
}

Ausgabe:
1
D:\Dateien\C\schleife>gcc -Wall schleife.c -o schleife.exe
2
schleife.c:5:6: warning: return type of 'main' is not 'int' [-Wmain]
3
 void main(){
4
      ^
5

6
D:\Dateien\C\schleife>schleife.exe
7
0
Gast #4319451
Lesenswert?

Daniel A. schrieb:
> Ich denke x ist 0, ++x ist kein postincrement, (-2+1)%2 ergibt -1, -1
> ist wahr,die schleife wird erneut durchlaufen und (-1+1)%2 ist 0,
> ausgabe ist 0.

Sehe ich auch so.

Das switch case in der ersten Aufgabe ist mit Vorsicht zu geniessen, 
weil es keine breaks enthält. Da aber der erste Wert (100) in keinem 
case ist, sollte er direkt zu default gehen und 114 reauskommen.
Steht die Aufgabe so wirklich in einer (Prüfungs)Aufgabe?
Mit den nicht passenden geschweiften Klammern?
Dann sollte man den Author der Frage in einen C Anfängerkurs schicken.
#4319507
Lesenswert?

Loog schrieb:
> Für solche "Probleme" kann man schnell den Quelltext online testen

Mich würde es gar nicht wundern, wenn die Leute diesen Quelltext in 
verschiedene Kompiler einfügen und vollkommen unterschiedliche 
Ergebnisse bekommen. Darüber hinaus ist es auch möglich, daß die Antwort 
auf dem Lösungsbogen falsch ist. Ich habe das bei 
Facharbeiter-Prüfungsbögen zum Energieelektroniker erlebt und die IHK 
hat 2 Jahre gebraucht, um das zu berichtigen.
:-(

MfG Paul
Gast #4319560
Lesenswert?

xXx schrieb:
>> if (++x % 2)
>
> Ich programmiere seit ueber 20 Jahren in C & C++ und ich bin stolz
> darauf, dass ich diese Frage nicht beantworten kann.

Ich sehe ein preincrement, das hat Precedence Klasse 2 und ein %, das 
hat Precedence Klasse 3

Quelle: http://en.cppreference.com/w/c/language/operator_precedence

Vieleicht erklärst du uns mir warum das deiner Meinung nach nicht 
eindeutig ist, für mein begrenztes Wissen sieht das recht eindeutig aus.
Gast #4319567
Lesenswert?

> Vieleicht erklärst du uns mir warum das deiner Meinung nach nicht
> eindeutig ist, ...

Nicht eindeutig? Davon schreibt er nichts.

> xXx schrieb:
>>> if (++x % 2)
>>
>> Ich programmiere seit ueber 20 Jahren in C & C++ und ich bin stolz
>> darauf, dass ich diese Frage nicht beantworten kann.
Gast #4319571
Lesenswert?

Der Andere schrieb:

> Vieleicht erklärst du uns mir warum das deiner Meinung nach nicht
> eindeutig ist, für mein begrenztes Wissen sieht das recht eindeutig aus.

Wo habe ich geschrieben, es waere nicht eindeutig? Ich habe mich nur vor 
vielen Jahren von elitaerem Code ab- und leicht lesbarem Code 
zugewandt. Damit beeindruckt man seine durchschnittlichen Kollegen zwar 
kurzfristig weniger, aber langfristig ist es besser fuer Produktivitaet 
und fuer's Klima, wenn man sich und seinen Kollegen die Arbeit einfacher 
macht.

Vorteile von solchen Konstrukten sehe ich praktisch keine, Nachteile 
dagegen viele.
#4319579
Lesenswert?

xXx schrieb:

> Wo habe ich geschrieben, es waere nicht eindeutig? Ich habe mich nur vor
> vielen Jahren von elitaerem Code ab- und leicht lesbarem Code
> zugewandt.

Wobei 'leicht lesbar' immer im Auge des Betrachters liegt.

> Damit beeindruckt man seine durchschnittlichen Kollegen zwar
> kurzfristig weniger, aber langfristig ist es besser fuer Produktivitaet
> und fuer's Klima, wenn man sich und seinen Kollegen die Arbeit einfacher
> macht.

Und genau das ist auch der Weg vom Amateur zum Profi. Amateure glauben 
immer, man müsse in C möglichst kryptisch programmieren; möglichst viel 
in eine Zeile quetschen; möglichst undurchschaubare Sonderzeichenorgien 
kreieren um bei den Profis anerkannt zu werden. Ein Profi hat längst 
gelernt, dass genau das der sichere Weg ins Desaster ist. Wer ein und 
denselben Source Code 5 Jahre oder noch länger in der Wartung hat, der 
ist darauf angewiesen die Dinge schnell wieder neu erfassen zu können.
Was natürlich nicht heisst, dass man hilflos daneben stehen darf, wenn 
einem solche Dinge unterkommen. Klar kann man das alles auflösen. Und 
dann so umschreiben, dass man beim nächsten mal nicht wieder in dieselbe 
Verlegenheit kommt :-) Denn das nächste mal kommt bestimmt.
Gast #4319607
Lesenswert?

Rufus Τ. F. schrieb:
> xXx schrieb:
>> Ich habe mich nur vor vielen Jahren von elitaerem Code ab- und leicht
>> lesbarem Code zugewandt.
> Was ist daran "elitär"? Spricht hier der Anti-C-Troll?

So eine Antwort halte ich eigentlich fuer Trolling, aber weil's von 
einem Moderator kommt, nehme ich es mal ernst.

Wie kommst du auf Anti-C? Aehnliche Konstrukte kann man in vielen 
Sprachen produzieren. Dass es hier um C geht, ist nur Zufall und bisher 
wurde das nicht zum Thema gemacht. Java 8 bietet da zum Beispiel auch 
viele Moeglichkeiten, seinen Kollegen zu zeigen, wo der Hammer haengt. 
Und Perl erst...

Elitaer: Wenn ich Code schreibe, der von 80% meiner Kollegen nicht auf 
Anhieb verstanden werden kann, dann ist das elitaer. Ich bin toll, die 
anderen nicht, sie sollen halt ihre Hausaufgaben machen. Der 
Projektleiter sieht es etwas anders: Er sieht einen Querulanten, der 
sein Koennen nicht fuer das Projekt einsetzt, sondern gegen seine 
Kollegen. Und da der Nachschub an Superentwicklern begrenzt ist, geht 
Teamplay vor Talent.

Uebrigens werden auch Superentwickler aelter, oder muessen sich mal 
abseits ihrer ausgetretenen Pfade umschauen...
#4319629
Lesenswert?

Mark B. schrieb:
> Niemand wird ernsthaft behaupten wollen, dass das Inkrementieren einer
> Variablen innerhalb einer if-clause sinnvollen und guten Code darstellt.

wie macht man das sinnvoller und gut?

wenn ich schon vor der if ein inc brauche nutze ich das, klar kann ich 
vorher inc machen oder sogar eine neue Zeile einsetzen.

Das inc davorzusetzen oder eine neue Zeile davor zu schreiben, macht es 
das besser?
Mir wir dann immer der Moni zu kurz, sei es in Spaltenbreite oder in 
Zeilenlänge was ist daran nun besser?
Gast #4319636
Lesenswert?

xXx schrieb:
> Wo habe ich geschrieben, es waere nicht eindeutig? Ich habe mich nur vor
> vielen Jahren von elitaerem Code ab- und leicht lesbarem Code
> zugewandt.

Das hatte ich anders interpretiert, weil ich nicht stolz darauf wäre 
einen Code der gerade mal aus 2 Operatoren und einer Variablen besteht 
nicht zumindest mit etwas genauer hinschauen zu analysieren zu können.

Karl H. schrieb:
> Wer ein und
> denselben Source Code 5 Jahre oder noch länger in der Wartung hat, der
> ist darauf angewiesen die Dinge schnell wieder neu erfassen zu können.
> Was natürlich nicht heisst, dass man hilflos daneben stehen darf, wenn
> einem solche Dinge unterkommen. Klar kann man das alles auflösen.

Das ist der Punkt. 70% des Codes mit dem ich zu tun habe ist nicht von 
mir, also muss ich in der Lage sein auch solchen Code zu verstehen.
Das man den dann mit dem Prinzip KISS ggf. vereinfacht ist auch klar.
#4319668
Lesenswert?

Peter D. schrieb:
> xXx schrieb:
>>> if (++x % 2)
>
> Das Increment muß man nicht notwendig im Vergleich machen.
> Ganz anders sieht es schon hier aus:
>
1
>   if (x && (++x % 2))
2
>
> Da ist die Lesbarkeit besser als mit ner Kette von ifs.

Da bin ich anderer Meinung.

In eine if-Anweisung gehört ein Vergleich bzw. mehrere Vergleiche. 
Vergleiche sind boolscher Natur bezüglich des Ergebnisses, das sie 
produzieren. Also solche Operationen wie:

größer als
kleiner als
gleich
ungleich

etc.

sowie zur Verknüpfung mehrerer Vergleiche Operatoren wie logisches UND 
und ODER. Arithmetische Operationen gehören dort nicht hin. Also auch 
kein Inkrement, keine Division oder dergleichen.

Der Vorteil davon ist bessere Lesbarkeit und bessere Testbarkeit des 
Codes.
#4319674
Lesenswert?

Joachim B. schrieb:
> wie macht man das sinnvoller und gut?
>
> wenn ich schon vor der if ein inc brauche nutze ich das, klar kann ich
> vorher inc machen oder sogar eine neue Zeile einsetzen.
>
> Das inc davorzusetzen oder eine neue Zeile davor zu schreiben, macht es
> das besser?
> Mir wir dann immer der Moni zu kurz, sei es in Spaltenbreite oder in
> Zeilenlänge was ist daran nun besser?

Code richtet sich immer nach der Anforderung, die er erfüllen soll.

Was genau wollte man hier implementieren?
Persönliche Seite #4319693
Lesenswert?

xXx schrieb:
> Wenn ich Code schreibe, der von 80% meiner Kollegen nicht auf Anhieb
> verstanden werden kann, dann ist das elitaer.

Wenn Deine Kollegen nicht in C programmieren können, ist das nicht 
"elitär".  Und wenn sie in C programmieren können, aber solche 
Codestellen nicht auf Anhieb verstehen -- wer um alles in der Welt hat 
die eingestellt? Und wofür?
#4319835
Lesenswert?

Rufus Τ. F. schrieb:
> xXx schrieb:
>> Wenn ich Code schreibe, der von 80% meiner Kollegen nicht auf Anhieb
>> verstanden werden kann, dann ist das elitaer.
>
> Wenn Deine Kollegen nicht in C programmieren können, ist das nicht
> "elitär".  Und wenn sie in C programmieren können, aber solche
> Codestellen nicht auf Anhieb verstehen -- wer um alles in der Welt hat
> die eingestellt? Und wofür?

In einer Firma kann nicht jeder so entwickeln, wie es ihm persönlich 
gerade in den Kram passt. Das kann man zuhause privat gerne machen, aber 
nicht wenn man dafür bezahlt wird.

Wenn man Softwareentwicklung ernsthaft betreibt, dann gibt es 
Programmierrichtlinien an die man sich zu halten hat. Wer das nicht 
will, der kann sich gerne beim IOCCC austoben, dafür ist er da.

Und selbst der hat manche Regeln. ;-)

Was ist wahrscheinlicher:
1.) Dass einer genial ist und supertollen Code schreibt und alle anderen 
zu doof sind um ihm zu verstehen?
2.) Dass jemand die eigenen Fähigkeiten im Programmieren überschätzt und 
in Wahrheit Code verzapft, der unnötig schwer zu lesen und zu warten 
ist?

Im realen Berufsleben habe ich 2.) viel öfter erlebt als 1.). Sehr, 
sehr, sehr, sehr, sehr viel öfter.
#4320589
Lesenswert?

Paul B. schrieb:
> Darüber hinaus ist es auch möglich, daß die Antwort auf dem Lösungsbogen
> falsch ist.

Ja. Ich kann mich aus meinem Studium auch noch daran erinnern, daß der 
Professor das ANSI-C, das er gelehrt hat, offenbar schlechter kannte als 
ich. In den Prüfungen waren da gerne mal Fragen nach dem Ergebnis eines 
bestimmten Stücks Code enthalten, das eigentlich undefiniertes Verhalten 
und damit kein eindeutiges Ergebnis hat. Und nein, "undefiniert" wurde 
nicht als korrekt gewertet, sondern nur das Ergebnis, das der Compiler, 
den der Prof normalerweise benutzt, produziert.

Mark B. schrieb:
> Code richtet sich immer nach der Anforderung, die er erfüllen soll.

Richtig. Deshalb verwehre ich mich auch gegen so pauschale Sachen wie:

Mark B. schrieb:
> In eine if-Anweisung gehört ein Vergleich bzw. mehrere Vergleiche.
> Vergleiche sind boolscher Natur bezüglich des Ergebnisses, das sie
> produzieren.
[...]
> Der Vorteil davon ist bessere Lesbarkeit und bessere Testbarkeit des
> Codes.

Was besser lesbar ist, hängt nicht nur von dieser einen Zeile ab. Solche 
pauschalen Regeln sind für den Anfänger sicher als Orientierung gut, und 
in den meisten Fällen passen sie ja auch. Aber der Profi erkennt die 
(wenigen) Stellen, an denen er die Lesbarkeit verbessern kann, wenn er 
mal davon abweicht, ohne dass der Code dadurch "elitär" wird (ja, auch 
goto kann sinnvoll sein und die Lesbarkeit verbessern).
Man muss ja nicht gleich hochkomplexe Ausdrücke hinschreiben, bei denen 
man sämtliche Regeln der integer promotion, operator precedence und wer 
weiß was noch alles auswenig kennen muss. Auf der anderen Seite erwarte 
ich von einem professionellen Programmierer aber auch, dass er nicht 
gleich verzweifelt, nur weil ein Konstrukt mal eine Stufe komplizierter 
ist als der Trivialfall. Schließlich kriegt auch der Geld dafür.

> Was ist wahrscheinlicher:
> 1.) Dass einer genial ist und supertollen Code schreibt und alle anderen
> zu doof sind um ihm zu verstehen?

Einstein galt als schlechter Professor, weil seine Studenten seine 
Vorlesungen nicht verstanden haben. ;-)

> 2.) Dass jemand die eigenen Fähigkeiten im Programmieren überschätzt und
> in Wahrheit Code verzapft, der unnötig schwer zu lesen und zu warten
> ist?

Kann auch eine Mischung aus beidem sein. Er ist ein genialer 
Programmierer, der aber leider seinen Code trotzdem für andere schwer 
verständlich schreibt, ohne dass diese deshalb zu doof sein müssen. Er 
merkt vielleicht nicht mal, dass der Code zu kompliziert ist.
Gast #4320665
Lesenswert?

Wer Seite 21 dieser Präsentation gesehen hat 
http://www.vaxman.de/publications/apl_slides.pdf findet plötzlich, dass 
C oder Perl extrem langweilige und lesbare Programmiersprachen sind.

Ich erinnere mich auch noch an REC. Ein Beispielprogramm aus 
http://delta.cs.cinvestav.mx/~mcintosh/cellularautomata/REC_files/rec25.pdf
sieht so aus
1
([-2]J,([-2]K,
2
(VV*UU*+PPPP****VV*UU*[-1]*+V*U*[8]*P*[-1]*+
3
(N".W;" W;),V[.054]+K,!74!:;)
4
"←-W"↓WU[.08]+J,!50!:;);)

Nein, das ist kein Modem-Rauschen.
#4321223
Lesenswert?

Jay schrieb:
> Wer Seite 21 dieser Präsentation gesehen hat
> http://www.vaxman.de/publications/apl_slides.pdf findet plötzlich, dass
> C oder Perl extrem langweilige und lesbare Programmiersprachen sind.

Ja ja:
* Being able to write APL programs does not normally imply
  that you are able to read APL programs – not even your own!
* This has APL earned the notation of being a write only
  language

> Ich erinnere mich auch noch an REC. Ein Beispielprogramm aus
> http://delta.cs.cinvestav.mx/~mcintosh/cellularautomata/REC_files/rec25.pdf
> sieht so aus
>
>
1
> ([-2]J,([-2]K,
2
> (VV*UU*+PPPP****VV*UU*[-1]*+V*U*[8]*P*[-1]*+
3
> (N".W;" W;),V[.054]+K,!74!:;)
4
> "←-W"↓WU[.08]+J,!50!:;);)
5
>
>
> Nein, das ist kein Modem-Rauschen.

Mja, Brainfuck und Whitespace sind da auch nicht viel besser ;-)
#4321265
Lesenswert?

Rolf M. schrieb:
> Auf der anderen Seite erwarte
> ich von einem professionellen Programmierer aber auch, dass er nicht
> gleich verzweifelt, nur weil ein Konstrukt mal eine Stufe komplizierter
> ist als der Trivialfall. Schließlich kriegt auch der Geld dafür.

Kein wirklicher Profi wird an einer solchen Zeile
1
if (x && (++x % 2))
verzweifeln oder gar dran scheitern ... aber darüber den Kopf schütteln 
- und gerade deshalb ist er sein Geld wert ;)
Moderator #4321350
Lesenswert?

Jay schrieb:
> Ich erinnere mich auch noch an REC.

Ich höre heute zum erstan Mal davon.

Hast du dich tatsächlich einmal damit beschäftigt? Wenn ja, in welchem
Zusammenhang?

> Ein Beispielprogramm aus
> http://delta.cs.cinvestav.mx/~mcintosh/cellularautomata/REC_files/rec25.pdf
> sieht so aus
>
> ([-2]J,([-2]K,
> (VV*UU*+PPPP****VV*UU*[-1]*+V*U*[8]*P*[-1]*+
> (N".W;" W;),V[.054]+K,!74!:;)
> "←-W"↓WU[.08]+J,!50!:;);)
>
> Nein, das ist kein Modem-Rauschen.

Natürlich nicht. Das Programm ist absolut selbsterklärend, auch für
einen wie mich, der von der Sprache noch nie etwas gehört hat.

Naja, fast selbsterklärend ;-)

Ich habe es spaßeshalber mal in C umgeschrieben:

1
#include <stdio.h>
2
#include <math.h>
3

4
int main(void) {
5
  double v, u;
6
  int j, k;
7

8
  u = -2;
9
  for(j=0; j<50; j++) {
10
    v = -2;
11
    for(k=0; k<74; k++) {
12
      if(pow(v*v+u*u, 5) - pow((v*v-u*u)*v*u*8, 2) < 0)
13
        putchar('.');
14
      else
15
        putchar(' ');
16
      v += 0.054;
17
    }
18
    putchar('\n');
19
    u += 0.08;
20
  }
21
  return 0;
22
}

Lustig zu lesen ist auch dieser Artikel zu REC:

  http://arxiv.org/pdf/0905.0737

Auszüge daraus:

1
REC (Regular Expression Compiler) is a concise programming language
2
development in mayor Mexican Universities at end of 60's which allows
3
students to write programs without knowledge of the complicated syntax
4
of languages like FORTRAN and ALGOL.

1
... the interpreter REC Fortran was writing for Gerardo Cisneros at the
2
beginning of computing in Mexico, which marks a milestone in software
3
development in Mexico, ...

REC ist also sozusagen eine Programmiersprache für Dummies und stellt
einen Meilenstein der Softwareentwicklung in Mexiko dar. Das Zeug, das
die damals rauchten, muss schon heftig gewesen sein ;-)
#4321483
Lesenswert?

Eric B. schrieb:
> Jay schrieb:
>> Wer Seite 21 dieser Präsentation gesehen hat
>> http://www.vaxman.de/publications/apl_slides.pdf findet plötzlich, dass
>> C oder Perl extrem langweilige und lesbare Programmiersprachen sind.
>
> Ja ja:
> * Being able to write APL programs does not normally imply
>   that you are able to read APL programs – not even your own!
> * This has APL earned the notation of being a write only
>   language

Da kommen Erinnerungen hoch.
Mit APL bin ich nie warm geworden. Und ja, ich hatte 1 Semester lang 
APL. Aber ehrlich, es war eine Qual. Und das sag ich als einer, der auf 
der Uni keine einzige angebotene Programmiersprache ausgelassen hat.
Gast #4325231
Lesenswert?

Eric B. schrieb:
> Mja, Brainfuck und Whitespace sind da auch nicht viel besser ;-)

Die sind aber als Spaß-Sprachen entstanden. Bei APL und z.B. REC meinen 
es die Entwickler ernst.


Yalu X. schrieb:
> Jay schrieb:
>> Ich erinnere mich auch noch an REC.
>
> Ich höre heute zum erstan Mal davon.
>
> Hast du dich tatsächlich einmal damit beschäftigt?

Ja, aber ...

> Wenn ja, in welchem Zusammenhang?

Ich habe es in den, ich glaube Anfang der 80ern, als eine 
Programmiersprache auf CP/M kennengelernt. Ich war auf der Suche nach 
was Kleinem, Feinen für CP/M um Steuerungsprogramme und Simulationen zu 
schreiben. Die C-Compiler für CM/M waren nicht prickelnd, Microsoft 
FORTRAN schon gar nicht, die BASICs (auch das von Microsoft) waren eher 
mau.

Ich habe von REC in Rekordgeschwindigkeit die Finger gelassen, und bin 
bei Z80 Assembler, FORTH, und Prospero FORTRAN 77 gelandet, je nach 
Anwendung. Es gab danach für mich noch eine kurze Zeit mit Turbo Pascal 
auf CP/M, aber das war's dann für mich auf CP/M.

>> Nein, das ist kein Modem-Rauschen.
>
> Natürlich nicht. Das Programm ist absolut selbsterklärend, auch für
> einen wie mich, der von der Sprache noch nie etwas gehört hat.
>
> Naja, fast selbsterklärend ;-)
>
> Ich habe es spaßeshalber mal in C umgeschrieben:

Applaus!

Wenn du es mal auf CP/M ausprobieren möchtest, die folgenden vier 
Disketten enthalten REC für CP/M:

http://www.retroarchive.org/cpm/cdrom/SIMTEL/SIGM/VOLS100/VOL164/
http://www.retroarchive.org/cpm/cdrom/SIMTEL/SIGM/VOLS100/VOL165/
http://www.retroarchive.org/cpm/cdrom/SIMTEL/SIGM/VOLS100/VOL166/
http://www.retroarchive.org/cpm/cdrom/SIMTEL/SIGM/VOLS100/VOL167/

Disk 166 enthält etwas "Dokumentation" 
(http://www.retroarchive.org/cpm/cdrom/SIMTEL/SIGM/VOLS100/VOL166/HOWTOUSE.DOC)

Disk 167 enthält sogar so eine Programm für ein PCB Layout einer 
Steckkarte.

> REC ist also sozusagen eine Programmiersprache für Dummies und stellt
> einen Meilenstein der Softwareentwicklung in Mexiko dar. Das Zeug, das
> die damals rauchten, muss schon heftig gewesen sein ;-)

Oder tranken. Tequila ¡Ay, caramba!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren