XPodstawowy
Przejdź do nawigacji
Przejdź do wyszukiwania
Xbasic to darmowe środowisko programistyczne oparte na BASIC dla Windows i GNU/Linux. Obsługuje tryby konsoli i GUI . Xbasic został opracowany w 1988 roku przez Max Reason do użytku w środowisku Unix /m88k i przeniesiony do Windows NT od 1992 roku . Xbasic jest darmowy od 1999 roku .
Różnice w stosunku do Standard BASIC , QBASIC i Visual Basic
Składnia
- Xbasic jest językiem programowania strukturalnego i nie używa numerów wierszy. Akceptowane są typowe podstawowe funkcje, takie jak sufiksy typów danych (które znacznie się rozszerzają), ale unika się szczegółowości instrukcji BASIC, takich jak „OPEN ... FOR ... AS ...” na rzecz schematu opartego na funkcjach basic.
- Programy Xbasic są podzielone na trzy sekcje, w stylu programów Pascal: "PROLOG" (deklaracja typu), "Entry()" (funkcja główna) i funkcje dodatkowe.
Zmienne
- W przeciwieństwie do ANSI BASIC, ale w ramach obecnego standardu BASIC, akceptowane są zmienne o nazwach dowolnej długości.
- Stałe są identyfikowane przez prefiks „$$”
- Wiem
Operatorzy
- W przeciwieństwie do ANSI BASIC , QBASIC , czy Visual Basic , Xbasic ma operatory przesunięcia dla arytmetyki binarnej, co pozwala na większą kompatybilność z programowaniem na poziomie binarnym, takim jak obliczanie CRC. Rozróżnia również operatory logiczne i binarne operatory arytmetyczne.
- Xbasic używa operatorów podobnych do tych z języka C:
- „**” oznacza „podniesiony do”
- „^” jest synonimem XOR (nie oznacza „podniesiony do”).
- „&” oznacza AND (nie oznacza „konkatenacji”).
- "=" nie jest używane w klauzulach IF (a przynajmniej tak powinno być).
- "==" jest używane (zamiast "=") w klauzulach IF
Rozgałęzienia i podprogramy
- Xbasic, podobnie jak QBASIC i późniejsze, jest ustrukturyzowanym językiem programowania .
- Umożliwia SELECT, DO, DO WHILE i DO UNTIL oprócz GOTO
- Zezwalaj na deklaracje funkcji przez FUNCTION() inne niż GOSUB. W przeciwieństwie do QBASIC czy Visual Basic , nie rozróżnia funkcji (które generują wyjście) i podprogramów (które nie generują).
Instrukcje wejścia/wyjścia
- Xbasic używa własnego zestawu instrukcji wejścia/wyjścia .
- INLINE$() zastępuje INPUT, INPUT$ i INPUT#
- INKEY$ i INP() nie są dozwolone.
- Numery plików są wskazywane przez [numer] (XBasic) zamiast #numer ( BASICA / QBASIC / Visual Basic ).
- Xbasic używa numeru pliku =OPEN( nazwapliku$ , stała_trybu ) zamiast OTWÓRZ nazwapliku$ DLA trybu AS #numerpliku ( BASICA / QBASIC / Visual Basic ).
- READ [ numer_pliku ] jest używany zamiast GET #numer_pliku (( BASICA / QBASIC / Visual Basic ).
- Oprócz powyższego XBASIC obsługuje środowiska graficzne, dzięki czemu może akceptować wejścia/wyjścia poprzez zdarzenia generowane przez kontrolki umieszczone w oknach, w stylu Visual Basic
Podsumowanie
Poniższe wykresy porównują XBASIC z oryginalnym nieustrukturyzowanym Basic, używając przykładowego programu, który pojawia się w artykule Wikipedii na temat BASIC :
Przykład 1: Oryginalny niestrukturalny BASIC ( Applesoft BASIC )
10 INPUT „Jak się nazywasz?”; U$ 20 DRUK "Witam"; U$ 30 INPUT "Ile gwiazdek chcesz?"; N 35 zł = „” 40 DLA I = 1 DO N 50 S$ = S$ + „*” 55 NASTĘPNY I 60 DRUKUJ S$ 70 INPUT "Czy chciałbyś więcej gwiazdek?"; A$ 80 JEŚLI DŁ (A $) = 0 PRZEJDŹ 70 90 A $ = LEWO (A $, 1) 100 JEŚLI (A$ = "S") LUB (A$ = "s") TO GOTO 30 110 DRUKUJ "Do widzenia"; 120 DLA I = 1 DO 200 130 USD WYDRUK; „ ”; 140 NASTĘPNY I 150 DRUKUJ
Przykład 2: XBasic
FUNKCJA Wejście()
Nazwa użytkownika$=INLINE$( "Jak masz na imię?")
DRUKUJ "Witam"; Nazwa użytkownika$
ROBIĆ
NoAsterisks=SBYTE(INLINE$ ("Ile gwiazdek chcesz?"))
Gwiazdki$ = ""
Gwiazdki$ = CHR$('*', Bez gwiazdek)
DRUKUJ Gwiazdki$
ROBIĆ
Response$=INLINE$ ("Czy chcesz więcej gwiazdek?")
PĘTLA DO ODPOWIEDZI$ <> ""
PĘTLA PODCZAS PRZYPADKU$(LEWO$(Odpowiedź$, 1)) = "S"
DRUKUJ "Do widzenia";
DLA I = 1 DO 200
PRINT Nazwa użytkownika$; „ ”;
NASTĘPNY I
WYDRUKOWAĆ
FUNKCJA ZAKOŃCZENIA
Linki zewnętrzne
- Strony wsparcia XBASIC
- Wsparcie w języku hiszpańskim: lista xbasic_es
- Pomoc w języku angielskim:
- Strona oryginalna (nieobsługiwana)
- Oficjalna strona internetowa
- Kategoria:XBasic Zadania zaimplementowane w XBasic na rosettacode.org