CellularBASIC - programowanie

Dyskusje o językach programowania, przykładowe programy.

Post by Manna5 » 28 Jul 2023, o 21:05

CellularBASIC to aplikacja na telefony komórkowe (obsługujące Javę ME) pozwalająca uruchamiać programy pisane w dialekcie języka BASIC (kompatybilnym z popularniejszym QBASIC-em na komputery osobiste w wersji 1.1). Aplikacja ta dostępna jest w serwisach z aplikacjami - Mobyware, Phoneky - została również kiedyś wrzucona przeze mnie na to forum (choć zapewne link wygasł), ogólnie z jej zdobyciem i instalacją nie powinno być problemów. Dzięki niej możemy pisać programy używając jedynie telefonu: w pociągu lub tramwaju, w szkole, na wczasach bez laptopa itd. Nawet jeśli programowanie nie jest naszym hobby, zyskujemy możliwość samodzielnego tworzenia programów na własny użytek, gdy nie znajdziemy odpowiedniej gotowej aplikacji w Internecie. Tutaj krok po kroku opowiem, jak programować w CellularBASIC-u.

Najpierw - rzecz jasna - otwieramy aplikację. Widzimy listę opcji. Opcja New służy do rozpoczęcia pisania nowego programu. W trakcie pisania wrócimy do głównej listy opcji opcją Menu. Opcja Run powoduje uruchomienie naszego programu. Pole out zawierać będzie wszystko, co wyświetli nasz program, oraz napis READY. po zakończeniu działania. Znów opcja Menu umożliwia powrót. W razie zawieszenia się programu możemy skorzystać z opcji Stop. Do edycji programu służy opcja Source. Wreszcie możemy zamknąć interpreter opcją Exit. Tak więc omówiliśmy już samą obsługę i pora na naukę pisania programów.

Podstawy

Instrukcja Print wyświetla zapisany po niej (w podwójnych cudzysłowach) tekst, np. powitanie.
Code: Select all
Please Login or Register, to see this Content


Wiele instrukcji możemy umieszczać w kolejnych linijkach. Zostaną one wykonane z góry na dół. Nową linię na telefonie wpisuje się wciskając dwukrotnie zero.
Code: Select all
Please Login or Register, to see this Content

Ten program wyświetli po kolei dwa napisy.

Wszystkie instrukcje, tzn. polecenia składające się na program, w tym Print, można pisać zarówno dużymi, jak i małymi literami.
Code: Select all
Please Login or Register, to see this Content

Tutaj będę korzystał z wariantu nr 2.

Można stosować spacje na początku linii (czyli tzw. wcięcia) oraz puste linie.
Code: Select all
Please Login or Register, to see this Content

Code: Select all
Please Login or Register, to see this Content

Takie dodatki nie mają wpływu na działanie programu, ale stosowane rozważnie mogą uczynić go bardziej czytelnym.

Zmienne tekstowe

Teksty można zapisywać w tzw. zmiennych, oznaczonych literami i później je przywoływać. Nazwę zmiennej wpisujemy bez cudzysłowów.
Code: Select all
Please Login or Register, to see this Content


Jednej zmiennej można użyć wiele razy.
Code: Select all
Please Login or Register, to see this Content


Zawartość zmiennej można przypisać innej zmiennej.
Code: Select all
Please Login or Register, to see this Content


Tej samej zmiennej można przypisać nową zawartość.
Code: Select all
Please Login or Register, to see this Content


Program może zażądać wpisania tekstu do umieszczenia w zmiennej w trakcie działania, za pomocą instrukcji Input. Tekst ten należy potem wpisać w górnym polu tekstowym i wybrać opcję enter.
Code: Select all
Please Login or Register, to see this Content


Teksty można łączyć znakiem +.
Code: Select all
Please Login or Register, to see this Content


Połączony tekst można zapisać w zmiennej celem późniejszego wykorzystania.
Code: Select all
Please Login or Register, to see this Content


Liczby i działania na nich

Poza tekstami możemy przetwarzać także liczby. Dla liczb nie stosujemy cudzysłowów.
Code: Select all
Please Login or Register, to see this Content


Można dodawać liczby stosując znak +.
Code: Select all
Please Login or Register, to see this Content


Różnica pomiędzy przetwarzaniem liczb a tekstów polega na tym, że 12+34 da 46 tj. sumę tych liczb, natomiast "12"+"34" to połączenie ze sobą dwóch tekstów dające "1234".

Odejmowanie wykonamy minusem, mnożenie gwiazdką, a dzielenie ukośnikiem.
Code: Select all
Please Login or Register, to see this Content


Również liczby i wyniki działań można przechowywać w zmiennych.
Code: Select all
Please Login or Register, to see this Content


Przy obliczaniu nowej wartości zmiennej można odwołać się do jej starej wartości, np. zwiększając ją o 1.
Code: Select all
Please Login or Register, to see this Content


Dostępne są także liczby ujemne oraz ułamki, które to wyświetlane są zawsze jako rozwinięcie dziesiętne. Dokładność obliczeń ułamkowych jest ograniczona.
Code: Select all
Please Login or Register, to see this Content


Dane liczbowe również mogą być podawane na bieżąco, tak jak teksty. Oto program wyznaczający pole trójkąta.
Code: Select all
Please Login or Register, to see this Content


Sterowanie przepływem

Część programu może być wykonywana tylko pod pewnym warunkiem, dzięki instrukcji If-Then-End If. Warunkami mogą być nierówności i równania.
Code: Select all
Please Login or Register, to see this Content

Instrukcje po End If nie są objęte warunkiem. Zastosowane tu wcięcie nie jest obowiązkowe.

Identyczność tekstów również może stanowić warunek.
Code: Select all
Please Login or Register, to see this Content


Warunek można odwrócić instrukcją Not.
Code: Select all
Please Login or Register, to see this Content


Instrukcja And pozwala postawić kilka warunków i sprawdzić je wszystkie.
Code: Select all
Please Login or Register, to see this Content


Instrukcja Or tym różni się od And, że wymaga spełnienia tylko conajmniej jednego z warunków.
Code: Select all
Please Login or Register, to see this Content


Można umieścić jedną instrukcję If w drugiej.
Code: Select all
Please Login or Register, to see this Content


Istnieje także instrukcja Else oznaczająca zestaw instrukcji wykonywanych w razie niespełnienia warunku If-a.
Code: Select all
Please Login or Register, to see this Content


Bardziej złożoną instrukcją wyboru jest nieomówiona tutaj Select.

Powtarzanie instrukcji

Chcąc wielokrotnie wykonać pewne działania użyć można m. in. instrukcji For-Next powtarzającej zestaw instrukcji dla kolejnych wartości liczbowych zmiennej z danego zakresu.
Code: Select all
Please Login or Register, to see this Content

Ten program obliczy i wyświetli kwadraty liczb od 1 do 10. Zwrócić uwagę należy na określenie zmiennej licznikowej na końcu pętli.

Słowem Step określić można krok, jeśli ma być inny niż 1, np. przy wypisywaniu ciągu liczb parzystych.
Code: Select all
Please Login or Register, to see this Content


Czasem prościej może być użyć instrukcji While-Wend zamiast tej wspomnianej powyżej. Powtarza ona kod dopóki spełniony będzie dany warunek (na tej samej zasadzie co w instrukcji If).
Code: Select all
Please Login or Register, to see this Content


Podprogramy

W celu skorzystania w dwóch miejscach w programie z tej samej sekwencji instrukcji bez jej kopiowania pomogą nam podprogramy, czyli części programu wielokrotnego użytku wywoływane na żądanie. Tworzymy je instrukcją Sub-End Sub, a wywołujemy instrukcją Call.
Code: Select all
Please Login or Register, to see this Content


I to już w zasadzie tyle, chociaż CellularBASIC ma oczywiście jeszcze więcej rozmaitych instrukcji.

Nadmienić należy jeszcze, że jeśli nie chce nam się za każdym razem wklepywać programów na klawiaturze telefonu, to możemy pisać je na komputerze (bądź w innym edytorze tekstu w telefonie) i zapisywać jako plik tekstowy z rozszerzeniem .ZAM w katalogu e:/zam (na karcie pamięci).

Miłego programowania!
Last edited by Manna5 on 28 Jul 2023, o 21:07, edited 1 time in total.

Manna5 otrzymał za ten post 6 punkty reputacji od 1 użytkowników:
+zibi305.
Manna5 Male
Sponsor

User avatar
 
Offline
 
Telefon: Nokia 6500 Slide, 3110 Classic, E65
Soft: S40v6, S40v5
Operator: Orange
Location: Kraków

Joined: 5 Jun 2019
Online: 7d 18h 29m 12s
Posts: 329Topics: 137
Reputation point: 233
    Windows XP Chrome

Post by adam111 » 27 kwi 2009, o 00:00

BoTs RoX! :D
adam111 Mężczyzna
Oddajcie mi cześć!
50%

Avatar użytkownika
 
Online
 
Telefon: Nokia 3110c
Soft: v. 05.50
Operator: -----

Joined: 30 mar 2009
Online:
Posts:   •  Topics: 
    Ubuntu  Firefox

Post by NieprzebijalnyN8 » 3 Aug 2023, o 21:58

Miałem troche problem ze znalezieniem. Wrzuciłem na mediafire.
Code: Select all
Please Login or Register, to see this Content
Niech zyje symbian!


https://digipassion.com/hack-symbian-phones-all-versions-using-nokia-cooker-phoenix/

[size=85]Samsung Mini II -> Samsung Galaxy Ace III ->Oppo A12 -> Nokia N95 -> Nokia C1-01/Nokia N8 -> Nokia N95 -> Nokia E72 -> Nokia 3410 -> Nokia E72[/size[/color]
Telefony

Nokia E72, Nokia N8 , Sony Xperia L1*, Nokia C1-01*, Nokia 1616** , Microsoft Lumia 535*,Nokia 6300 (x3) , Nokia 3410, Nokia 2610*(x2), Sony Ericsson W910i*, Sony Ericsson V600i, Samsung Xcover 4, HTC Desire 620**, Huawei P40 Lite E*, Samsung Galaxy J5*
Inne graty

PS3 Slim, PSP-3004 , Xbox 360 Slim E, IBM ThinkPad T42P,HP Elitebook 2560p*, Acer Nitro 5, Lenovo IBM ThinkPad R60, Unitra Eltra Halina R-802

Legenda

-* Uszkodzone,** Dead,*** Zgubione
NieprzebijalnyN8 Male
Upadłem z nieba na łeb
Uploader

User avatar
 
Offline
 
Telefon: Nokia 6300
Soft: V06.01
Operator: Orange
Age: 14
Location: dev/hdd0

Joined: 9 Aug 2021
Online: 6d 6h 54m 37s
Posts: 284Topics: 39
Reputation point: 104
    Windows 10 Chrome


Return to Programowanie

Who is online

Users browsing this forum: No registered users and 0 guests