BasicC/Podstawowe procedury wejścia i wyjścia
Do obsługi wejścia-wyjścia wymagana jest biblioteka stdio.h, która jest domyślnie załączana w BasicC.
Input(S,I)
[edytuj]Definicja:{printf(#S" ");scanf("%lf",&VALUE);I=VALUE;}
Komenda najpierw wyświetla tekst S, który podajemy bez cudzysłowu, można go pominąć wpisując sam przecinek, za tekstem dodawana jest spacja. Następnie odczytywana jest liczba z klawiatury i zapisywana do zmiennej pomocniczej VALUE typu double. Następnie wartość zmiennej VALUE kopiowana jest do naszej zmiennej I, w razie potrzeby dokonywana jest niejawna konwersja do odpowiedniego typu. Oznacza to, że instrukcji tej można używać do wprowadzania z klawiatury liczby do zmiennej dowolnego typu liczbowego.
Input$(S,I)
[edytuj]Definicja:{printf(#S" ");fgets(I,STRLEN,stdin);I[strlen(I)-1]='\0';}
Komenda podobna do poprzedniej, tylko zamiast liczby odczytywany jest tekst. Długość tekstu jest ograniczana do STRLEN, na końcu dodawany jest znak '\0'. Zaleca się, by zmienna I była typu STRING.
Prt(S)
[edytuj]Definicja:printf(S);
Wyświetla tekst S.
Prn(N)
[edytuj]Definicja:printf("%.16LG ",(long double)N);
Wyświetla liczbę N skonwertowaną do long double, 16 miejsc po przecinku.
NL
[edytuj]Definicja:printf("\n");
Przejście do nowej linii.
Print ... ;"tekst"; liczba; $zmienna_tekstowa ...
[edytuj]Wyświetlanie w formacie basic. Wymaga B2C. Kolejne człony do wyświetlania - stałe i zmienne - oddzielamy średnikiem, zmienne lub funkcje tekstowe należy poprzedzić znakiem $, ; na końcu oznacza brak przejścia do nowej linii. Pomiędzy członami dodawana jest spacja.
Prr(T)
[edytuj]Definicja:CONSOLE.innerHTML=S;
Tylko w wersji WWW! Kasuje konsolę BasicC i wyświetla w niej tekst.
PrLog(T, ... )
[edytuj]Definicja:console.info(S);
Tylko w wersji WWW! Wyświetla tekst w konsoli przeglądarki. Może to być wiele wyrażeń oddzielonych przecinkami.
Przykład:
#include "Basic.h"
STRING tekst;
float liczba;
MAIN
Input$(,tekst)
Input(Podaj liczbe,liczba)
Prn (liczba)
Prt ("Dalej tekst ") Prt(tekst) Prt(" i do nowej linii\n")
Prt ("liczba w nowej linii ") Prn(liczba) NL
Prt ("liczba zamieniona na tekst: ") Prt(Str$(liczba)) NL
LetStr(tekst,liczba)
Prt(tekst)
ENDMAIN
BasicC 2:
#include "Basic.h"
STRING tekst
float liczba
MAIN
Input$ ,tekst
Input Podaj liczbe,liczba
Print liczba ;
Print "Dalej tekst" ;$ tekst ; "i do nowej linii"
Print "liczba w nowej linii" ; liczba
Print "liczba zamieniona na tekst:" ;$ Str$(liczba)
LetStr tekst,liczba
Print $ tekst
ENDMAIN
Komendy istniejące do wersji 1.3
[edytuj]Print l
[edytuj]Definicja:printf("%.16lG ",(double)
Komenda rozpoczyna ciąg danych do wyświetlenia na ekranie konsoli, którego pierwszym elementem jest liczba l, której ilość cyfr ograniczona jest do 16. Dalej mogą być podane kolejne elementy do wyświetlenia - liczby (lub zmienne liczbowe) albo tekst w cudzysłowie (lub zmienne tekstowe). Liczby poprzedza się znakiem " _ ", tekst znakiem " $ ". Ciąg kończy się symbolem ");" lub, gdy ma nastąpić przejście do nowej linii, "NL". Przed i za znakami "_" i "$" musi występować spacja. Złożone wyrażenia arytmetyczne zaleca się umieszczać w nawiasach, ich brak może powodować błąd.
UWAGA! Ciąg jest traktowany przez kompilator jak kilka instrukcji C, by był traktowany jak pojedyncza instrukcja należy całość umieścić w nawiasach klamrowych { }.
Print$ t
[edytuj]Definicja:printf("%s ",
Jak poprzednio, tylko pierwszym elementem wyświetlanego ciągu jest tekst t.
_
[edytuj]Definicja:);printf("%.12Lg ",(double)
Oznacza, że kolejnym elementem ciągu do wyświetlenia jest liczba, której ilość cyfr ograniczona jest do 12.
$
[edytuj]Definicja:);printf("%s ",
Oznacza, że kolejnym elementem ciągu do wyświetlenia jest tekst.
Jak widać z definicji - do wyświetlania wykorzystywana jest komenda printf. Z testów wynika, że komenda puts, mimo swej prostoty, wykonuje się wolniej.
Przykład:
#include "Basic.h"
STRING tekst;
float liczba;
MAIN
Input$(,tekst)
Input(Podaj liczbe,liczba)
Print liczba );
Print$ "Dalej tekst " $ tekst $ "i do nowej linii" NL
Print$ "liczba w nowej linii" _ liczba NL
Print$ "liczba zamieniona na tekst: " $ Str$(liczba) NL
LetStr(tekst,liczba)
Print$ tekst NL
ENDMAIN