26. juli 2003 - 13:54Der er
12 kommentarer og 3 løsninger
Bedste sprog til at arbejde med tal
Hej Eksperter,
Hvilket programmeringssprog er det, der er bedst og hurtigst til at arbejde med tal - altså både mht. hastighed, men også, hvor mange funktioner, der er til rådighed.
Du må vist lige sige noget mere. Alle de sædvanlige sprog C++, C#, VB6.0, VB.net, Java arbejder fint med tal. Java kan endda arbejde med tal med et nærmest ubegrænset antal cifre. Alle sprogene haralle de sædvanlige matematiske funktioner implementeret. Hvis det er for at løse matematiske problemer, skal du hellere bruge et programmer som Derive eller Maple, der er lavet til specielt at klare matematiske problemer. Diis programmer regner sy,bolsk, så så f.eks. udregning af stamfunktioner af stort set enhver art kan de klare (hvis der ellersfindes en stamfunktion, der kan udtrykkes med sædvanlige funktionstegn)
Et af de programmeringssprog som bruges mest indenfor vidensakb, baade fysik, matematik og biologisk modleering er Fortran. Der findes en del versioner, hvor Fortran 77 (ja denne udgave blev udviklet i 1977) kan findes gratis rundt om paa nettet. Der findes et par nyere versioner ogsaa Fotran 90 og 95 som udnytter nyere ting paa operativesystemer. Generelt findes der en masse biblioteker med funktioner til Fortran hvor du kan finde alt fra statistiske test til atronomiske beregniner osv. Der er dog flere og flere der gaar over til at bruge Matlab, eller OSS versionen Octave istedet. Her du du bruge C/C++ syntaks mens du stadig kan traekke paa store biblioteker med funktioner, matrice-beregninger osv.
Svaret er ubetinget APL, som jeg tilfældigvis er ekspert i. Du vil imidlertid ssv. ikke kunne lide det, for det er fyldt med græske symboler i st. f. tekst. Bedste APL fås hos www.dyalog.com. APL udmærker sig ved at kunne udtrykke ualmindelig mange (matematiske) ting med få tegn/kommandoer.
APL. Hmm. jeg har engang set en lille smule til det,og det er ret specielt. Nu bliver det spændende at høre, hvad det er, mikl-dk egentlig er ude på at kunne lave.
Det jeg tænker på er kryptering. Så det skal være en masse talbehandling - binært som deciamaltal. Og jeg skal bruge det både til at lave kryptering og dekryptering. Jeg vil især prøve at lave en smart algoritme til primtalsopløsning (ved godt, at det siges at være umuligt - men man kan jo prøve - det lærer man jo også af). Ved ikke helt, om det er godt nok forklaret.
Ja det kan jo være du kan finde på noget nyt mikl-dk. For ca. et halvt år siden var der nogle der offentliggjorde en algoritme, der i polynomial tid kunne afgøre, om et tal var et primtal. Som den var formuleret havde den dog kun teoretisk interesse.
Java kan som sagt arbejde med tal med næsten vilkårlig mange cifre, men der er nok ikke det letteste at starte med.
Du kan jo øve dig med et sprog, der er lettere at komme i gang med til at begynde med.
Jeg vil helt klart anbefale dig at kigge paa Octave til denne slags loesninger. Octave er gratis og daekker en stor del af de samme funktionaliteter som Matlab:
>>nmh Det var artikelen om den algoritme jeg linkede til, og en køretid på O(log^12 n), er da fin! *S* (Java er da for resten ikke det værste at starte med)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.