Mergi la conținut

Esperanta komputila programlingvo

de MiMalamasLaAnglan, 8 septembrie 2019

Contribuții/Mesaje: 135

Limbă: Esperanto

abc_vz (Arată profil) 15 septembrie 2019, 12:49:39

SE n=0 NU
Fact:=1;
ALIE
Fact := n*Fact(n-1);
Miaopinie, pli bone estas tiel:
SE n=0 TIAM
...

MiMalamasLaAnglan (Arată profil) 15 septembrie 2019, 16:48:31

abc_vz:
SE n=0 NU
Fact:=1;
ALIE
Fact := n*Fact(n-1);
Miaopinie, pli bone estas tiel:
SE n=0 TIAM
...
Miaopinie, pli bonus tio, kvankam ĝi ne estas la sama programlingvo:

funkcio Fakt(n:ent) {
se n == 0 {
fakt = 1;
} alie {
fakt = n * Fakt(n-1)
}
}

sergejm (Arată profil) 15 septembrie 2019, 18:20:49

Fakt(n:ent):ent {
n == 0 ? {
returni 1;
} : {
returni Fakt(n-1);
}
}

Mi ne trovis kiel Esperante estos return, sed vi povas anstatavi ĝin per iu puntuacio.
Restas ent = entjero - vi povas anstataŭi ĝin per matematika simbolo de entjero - sed ĝi ofte mankas sur klavaro.

sergejm (Arată profil) 16 septembrie 2019, 01:23:49

Sed verŝajne tamen iu ŝlosilvortoj restas. Tiam vi povas defini lokalon., ekz.:
@locale("eo", "ru", "en")
kaj povas uzi ŝlosilvortojn en ajna definita lingvo.

MiMalamasLaAnglan (Arată profil) 16 septembrie 2019, 19:05:57

sergejm:Fakt(n:ent):ent {
n == 0 ? {
returni 1;
} : {
returni Fakt(n-1);
}
}

Mi ne trovis kiel Esperante estos return, sed vi povas anstatavi ĝin per iu puntuacio.
Restas ent = entjero - vi povas anstataŭi ĝin per matematika simbolo de entjero - sed ĝi ofte mankas sur klavaro.
Eble "redonu" aŭ nur "donu" signifas "return".

sergejm (Arată profil) 16 septembrie 2019, 19:32:59

En komputeko.net oni proponas "liveri" kaj "revenigi" kiel tradukoj de "return".
Verŝajne, "liveru n;" signifas "return n;" kaj "reven(ig)u;" signifas "return;"

Altebrilas (Arată profil) 16 septembrie 2019, 22:30:09

Kiam mi laboris, mi uzis programlingvon APL kiu ne bezonis ŝlosilvortojn. Ĝi anstataŭe uzis specialajn simbolojn, kiuj postulis specialan klavaron, litertipojn, ktp, ktp. Estis tre efika programlingvo, sed la kondiĉoj estis malfacile kunigeblaj.

Metsis (Arată profil) 17 septembrie 2019, 07:08:56

Pardonu, eble mi ne rimarkis, sed antaŭ vi parolas pri sintakso, ĉu vi jam decidis sur kiu paradigmo bazi la lingvon?

Altebrilas (Arată profil) 17 septembrie 2019, 13:05:26

APL estas funkcia programlingvo, kiu tamen toleras flankefikojn. Ĝi estis kreita de K. Iverson en la sesdekaj jaroj, kaj estis uzita por priskribi arkitekturon de la IBM-360. Tiuepoke ne temis pri paradigmoj.

MiMalamasLaAnglan (Arată profil) 17 septembrie 2019, 19:08:23

Metsis:Pardonu, eble mi ne rimarkis, sed antaŭ vi parolas pri sintakso, ĉu vi jam decidis sur kiu paradigmo bazi la lingvon?
Ne, mi ne decidis. Kion vi proponas?

Înapoi mai sus