Perus Vilna

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 25. lokakuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .
Perus Vilna
Kieliluokka algoritminen, menettelyllinen
Toteutustyyppi Kääntäjätyyppinen tulkki
Esiintyi 1985
Tiedostotunniste _ .BAS, COD
Tyyppijärjestelmä löysä
Vaikutettu MSX BASIC

BASIC Vilnius (tunnetaan myös nimellä BASIC-86 ) on BASIC - ohjelmointikielen toteutus 16-bittisille koti- ja koulutietokoneille , joissa on PDP-11- arkkitehtuuriprosessorit . Kehitetty alun perin Vilnan osavaltion yliopiston laskentakeskuksessa (VTsKP VGU) vuonna 1985 . Käytetään tietokoneissa: DVK , BK-0010/BK-0011 , UKNTS , Nemiga .

Ilmeisesti BASIC Vilnius kehitettiin MSX BASICin vahvan vaikutuksen alaisena : useimpien operaattoreiden ja toimintojen nimet ovat samat, samoin kuin virheilmoituskoodit. Mutta Basic Vilniusissa ei ole mahdollisuutta kirjoittaa useita lauseita yhdelle riville, ei ole operaattoria PLAY, ei ole operaattoreita muuttujien DEFINT, DEFDBL jne. asettamiseen, samoin kuin joitain muita ominaisuuksia.

Monissa Vilnius Basicia käyttäneissä tietokoneissa dollarin $ (koodi 36 10 =24 16 ) sijaan on yleistetty valuuttasymboli ¤ , jonka kautta kirjoitetaan kaikki merkkijonomuuttujat ja funktiot, esimerkiksi MID¤.

Suorituskyky

Kun ohjelma käynnistetään komennolla , ohjelma RUNkäännetään välikoodiksi , niin sanotuksi kierteitetyksi koodiksi. Säikeinen koodi on itse asiassa sarja alirutiinin puheluosoitteita ja puheluiden tietoja. Tässä tapauksessa kääntäjä ennen ohjelman suorittamista kääntää kaikki luvut sisäiseksi esitykseksi ja kaikki lausekkeet käänteisiksi suluissa oleviksi merkinnöiksi . Kun ohjelma suoritetaan, suorittava järjestelmä kutsuu määritettyjä aliohjelmia ja siirtää valmistetut tiedot niille. Siten säikeistetty koodi on nopeampi kuin tavallinen tulkinta (koska ohjelman suorittaminen ei vie aikaa muuttujien numeroiden ja nimien "tunnistamiseen", lausekkeiden muuntamiseen jne.), mutta hitaampi kuin ohjelma saadussa konekoodissa ulostulossa todellinen kääntäjä.

Katsaus kieleen

Esimerkki yksinkertaisesta ohjelmasta:

10 CLS 20 PRINT "Hei kaikille!" 30 LOPPU

Ohjelma koostuu joukosta numeroituja rivejä, jokaisella rivillä on yksi lause. Ohjelman tekstin muokkaaminen tapahtuu komentorivitilassa. Joukkueet:

Kielioperaattorit:

PIIP PUHELUYMPYRÄ TYHJENNÄ CLOSE CLS COLOR DATA DEF DEF FN DEF USR DIM DRAW END GOSUB GOTO, JOS SYÖTTÖAvain ANNA LINJA PAIKA LPRINT AVAA SEURAAVAKSI PAINT POKE PRESET PRINT PSET READ REM PALAUTA PALAUTUSNÄYTTÖ PYSÄYTÄ TROFF TRON

Operaattorit voidaan pienentää kolmeen merkkiin syöttäessä (esimerkiksi: CIRCLEvoit pienentää CIRmerkkiin ), ja jotkin, joiden kaksi ensimmäistä merkkiä eivät vastaa muita operaattoria, kahteen ( POKE - PO). Komento PRINTvoidaan korvata merkillä ?. On myös mahdollista käyttää ketjurakennetta IF - THEN - , ELSE IFsamalla kun käytetään lyhenteitä THja EL. ELIFOhjelman yhden rivin enimmäispituus on rajoitettu 254 merkkiin.

Toiminnot:

SQR SIN COS TAN ATN PI EXP LOG ABS FIX INT SGN RND FRE CINT CSNG CDBL PEEK INP BIN¤ OCT¤ HEX¤ CHR¤ ASC LEN STRING¤ INKEY¤ STR¤ VAL MID¤ CSRLIN POS LPOS EOF KOHTA

Basic Vilnius sisältää mahdollisuuden kutsua aliohjelmia konekoodissa . Tätä varten käytetään rakennetta DEF USR. Konekoodi voidaan ladata komennolla BLOADtai generoida operaattorin toimesta POKE.

Tämän BASICin puutteita ovat useiden komentojen puuttuminen, esimerkiksi INSTRmerkkijonon esiintymisen etsiminen merkkijonosta, DEC16. luvun kääntäminen 10:nneksi, työkalut virheiden käsittelyyn ohjelman suorittamisen aikana, komennot merkki merkiltä syöte tiedostosta.

Vaihtoehdot

Basic Vilnius for BK-0010/BK-0011 vie 24 kt ROM-muistia. Muistin säästämiseksi virhetekstejä ei tallennettu ROM:iin; virheitä ei anneta tekstinä, vaan koodeina, esimerkiksi: "Virhe 2 rivillä 10".

BK-0010:lle, jossa on Focal in ROM, luotiin yksinkertaistettu versio Vilnius BASICista, kooltaan vain 9 kt, ladattu RAM-muistiin nauhurista (ensimmäinen versio - vuonna 1985, toinen - vuonna 1987). Se ei tukenut erityyppisiä numeroita (vain yhden tarkkuuden realeja), samoin kuin joitain pääversion operaattoreita ja toimintoja, mutta BASIC-ominaisuuksien perussarja toteutettiin. Samanaikaisesti 87. vuoden versio salli useiden operaattoreiden käytön yhdellä rivillä sekä operaattoreiden kirjoitusasun lyhennyksen yhteen tai useampaan alkukirjaimeen. Lisäksi yhden tarkkuuden reaaliaritmetiikka kiihdytti työskentelyä reaalilukujen kanssa useita kertoja verrattuna BK-0010-01 ROM-versioon, mikä teki RAM-versiosta todella erittäin nopean BASIC-toteutuksen tämän muuttujien kanssa työskenneltäessä. tyyppi.

Basic Vilnius for UKNC -ohjelmasta on kolme versiota - ROM-kasetin versio kestää 24 kt, verkon (verkon) kautta ladattava versio - 28 kt, levyversio - 30 kt. Levy- ja verkkototeutukset eroavat tekstivirhesanomien esiintymisestä. Uusimmat versiot ovat peräisin syyskuulta 1988.

BASIC Vilnius -sovitus Nemiga-tietokoneeseen tehtiin ilmeisesti myöhemmin ja jo Valko-Venäjällä. Itse kieli erottuu operaattorin läsnäolosta, jonka PLAYavulla voit toistaa ääniä ja melodioita.

Mielenkiintoisia faktoja

Kirjallisuus

Muistiinpanot

  1. M. Maksimov. Ovatko satunnaisluvut satunnaisia? - Aikakauslehti "Science and Life", nro 10, 1986.
  2. https://www.youtube.com/watch?v=UJZpngjvCD8&list=PLiWLTRSJ9VmvBQHIEDEX6q8urb6Eqikwd&index=15 Arkistoitu 21. syyskuuta 2016 Wayback Machine UKSC:ssä: Täydennys 80-luvun PC Graphics Testiin, ei-Game

Linkit