close

FreeBASIC

Siirry navigointiin Siirry hakuun
FreeBasic
Fblogo.gif
FreeBasic help.png
Kehittäjä(t)
FreeBASIC-kehitystiimi
http://www.freebasic.net/ ja https://www.freebasic.net/
Yleistä tietoa
Yleiset laajennukset bas ja bi
Paradigma Proseduurillinen , oliosuuntautunut
Esiintyi 2004
Suunnitellut Andrew Victor
Uusin vakaa versio 1.09 (21. toukokuuta 2022 (4 kuukautta ja 27 päivää))
tyyppinen järjestelmä Vahva
Toteutukset GCbasic
vaikuttanut QuickBasic , C
Käyttöjärjestelmä DOS , FreeBSD , GNU/Linux , Microsoft Windows
Lisenssi GNU GPL , GNU LGPL :n alaiset kirjastot

FreeBASIC on ilmainen, avoimen lähdekoodin ( GPL -lisensoitu ) BASIC -kielen kääntäjä- ja ohjelmointikieli . Se on suunniteltu syntaksiyhteensopivaksi QuickBASICin kanssa , mikä tuo uusia ominaisuuksia. Se voidaan kääntää DOS- , Microsoft Windows- , Linux- ja XBOX-käyttöjärjestelmille, ja se siirretään muille alustoille.

FreeBASICia tukevat GNU binutils -ohjelmointityökalut , ja se voi luoda konsoli- ja GUI-suoritustiedostoja sekä dynaamisia ja staattisia kirjastoja .

FreeBASICiin on lisätty QuickBasicille ominaiset ominaisuudet, kuten grafiikkakirjasto ja laitteistoportin käyttö. Joitakin uusia ominaisuuksia ovat osoittimet ja inline assembler; objektit ja Unicode- tuki ovat pian saatavilla .

GNU-C-kirjastoja voidaan käyttää FreeBasicin kanssa; otsikot ovat jo saatavilla wxWidgetsille , Gtk :lle , GSL :lle , SDL :lle , Allegrolle , Lualle , OpenGL :lle ja MySQL :lle . Lista kasvaa jokaisen painoksen myötä.

FreeBASICia käytetään tärkeissä sovelluksissa. Kääntäjä on yli 57 000 riviä pitkä ja se on kirjoitettu FreeBASICilla. Käyttäjät itse kirjoittavat dokumentaation Wikin kautta .

Syntaksi

Syntaksi on erittäin samanlainen kuin Microsoftin QuickBASIC - tuotteessa , vaikka se sisältää monia parannuksia, jotka liittyvät nykyaikaisempaan koodaustekniikkaan, kuten jäsentelyyn ja käyttäjän määrittämien tyyppien, kuten objektien, käyttöön.

Kommentit

Kommentit voidaan kirjoittaa heittomerkeillä [ 1 ]

'' Tämä on yksirivinen kommentti

Tulosta "Hello World" -kommentti lausunnon jälkeen  

Muuttujat

Muuttujat on ilmoitettava määrittämällä niiden tyyppi Dim [ 2 ]

'' Esimerkki muuttujamäärityksestä

Yksi muuttuja Dim-lausetta kohden 
Dim text As String Dim x As Double   
   

Useamman kuin yhden erityyppisen muuttujan ilmoitus 
Dim k As Single , factor As Double , s As String         

'' Useamman kuin yhden samantyyppisen muuttujan ilmoitus 
Dim As Integer mx , my , mz , mb      

Ehdot

Ehdollinen lauseke ( If ) suorittaa sisäisen koodilohkonsa vain, jos tietty ehto täyttyy. Se määritellään käyttämällä avainsanaa If, jota seuraa ehto ja koodilohko. Mahdolliset lisäehdot syötetään käyttämällä ElseIfehtoa ja sen koodilohkoa. Kaikki ehdot arvioidaan peräkkäin, kunnes löydetään ensimmäinen, joka on tosi, ja siihen liittyvä koodilohko on ainoa, joka suoritetaan. Valinnaisesti voi olla viimeinen lohko (avainsana Else, jota seuraa koodilohko), joka suoritetaan vain, kun kaikki ehdot olivat vääriä. [ 3 ]

Dim As Integer num , arvaa    

Randomize 
num = Int ( Rnd * 10 ) + 1 'Luo satunnaisluku väliltä 1 ja 10... Tulosta "Arvaa luku väliltä 1 - 10"       
                
 

Syötä "Syötä numero" ; Arvaus   

Jos arvaus > 10 TAI arvaa < 1 Sitten 'Käyttäjä syötti lukualueen ulkopuolella Tulosta "Luvun on oltava pienempi kuin 10 tai suurempi kuin 1!" ElseIf arvaus > num Then 'Erittäin korkea Tulosta "Erittäin suuri" ElseIf arvaa < num Then 'Erittäin lyhyt Tulosta "Erittäin pieni" Else 'Oikea Tulosta "Oikein!" Lopeta jos          
     
      
     
      
     
                     
     
 

For/Seuraava silmukka

For- silmukka on samanlainen kuin foreach muissa kielissä. Selaa iteroitavan objektin läpi ja suorita jokaiselle elementille sisäinen koodilohko: [ 4 ]

Himmeä kokonaislukuna i , j , k j = 9 : k = 1 _     
     

Jos i = 0 - j Vaihe k Tulosta i ; Seuraava i         
         
 

While/Wend silmukka

While- silmukka arvioi ehdon ja, jos se on tosi, suorittaa sisäisen koodilohkon. Se jatkaa arviointia ja suorittamista niin kauan kuin ehto on totta. Se määritellään avainsanalla While, jota seuraa ehto ja sitten sisäinen koodilohko: [ 5 ]

Dim As Integer numero numero = 0   


Vaikka ( numero < 10 ) tulosta numero ; numero = numero + 1 Wend                               
            
    

Tee/silmukka

Do - käsky suorittaa lauseet seuraavassa lausekkeessa, kunnes/kun ehto, jos sellainen on, evaluoituu tosi: [ 6 ]

Dim As Integer n = 1 '' tarkistettava numero Dim As Integer yhteensä_pariton = 0 '' parittomat luvut yhteensä Tee asti ( n > 10 ) Jos ( ( n Mod 2 ) > 0 ) Sitten yhteensä_pariton += 1 '' lisää kokonaismäärää jos n on pariton n += 1 Loop Tulosta "Parittomat luvut yhteensä: " ; yhteensä_pariton                                 
                         
     
                   
    

   

Valitse tapausselvitys

Select Case -käsky suorittaa tietyn koodin lausekkeen arvon perusteella. Lauseke arvioidaan kerran ja sitä verrataan kuhunkin tapaukseen järjestyksessä, kunnes vastaavuus löytyy. Vastaavan Case -haaran koodi suoritetaan ja ohjelma hyppää Select Case -lohkon loppuun. Jos mikään tapausehdoista ei täyty, Case Else -haarassa oleva koodi suoritetaan , jos sellainen on olemassa. [ 7 ]

Himmeä valinta Kokonaislukuna _   

Syötä "Valitse numero väliltä 1 ja 10:" ; valinta  

Valitse tapaus vakiovalinnaksi Tapaus 1 Tulosta "Numero on 1" Tapaus 2 Tulosta "Numero on 2" Tapaus 3 , 4 Tulosta "Numero on 3 tai 4" Tapaus 5 - 10 Tulosta " Numero on välillä 5 to 10" Case Else Print "Numero on alueen 1 - 10 ulkopuolella" End Select    
 
     
 
     
  
     
   
     
 
     
 

Factorial-funktio

Funktion tekijä ( n kokonaislukuna ) kokonaislukuna , jos n = 0 , sitten palautus 1 loppu , jos palautus n * tekijä ( n - 1 ) loppufunktio     
         
         
     
         
 

Viitteet

Ulkoiset linkit