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: myPhone 2240 LTE
Soft: -
Operator: Orange
Location: Kraków

Joined: 5 Jun 2019
Online: 8d 3h 12m 22s
Posts: 352Topics: 140
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 -> Nokia C5-00.2 -> Nokia N79[/size[/color]
Telefony

Nokia N8, Nokia E6, Nokia 6300, Nokia 6303ci, Nokia 3410, Nokia 1100, Nokia C1-01, Nokia E72, Samsung SGH-X660, S Sony Ericsson V600i, Huawei P40 Lite E, Samsung Galaxy A5 2017, Nokia Lumia 930, Nokia Lumia 535, Samsung Diva, HTC Desire 620, Sony Xperia L1, Sony Ericsson W20i, Sony Ericsson W385i, Nokia E71
Odbiorniki Radiowe

Unitra Eltra Julia Stereo, Unitra Eltra Marta RM-405, Unitra ZRK Kasprzak RM-121,Eltra Lena 3, Unitra Lena MOT-772, SABA RCR 560, Unitra Eltra Halina R-802, Unitra Eltra Hania RMS-401, Eltra Edyta RMS-8320
NieprzebijalnyN8 Male
Silnik Predom-Dezamet 023
Uploader

User avatar
 
Offline
 
Telefon: Nokia N79
Soft: 32.001.53.1
Operator: Orange
Age: 15
Location: Zakłady Radiowe Im. Marcina Kasprzaka w Warszawie

Joined: 9 Aug 2021
Online: 6d 13h 13m 59s
Posts: 299Topics: 40
Reputation point: 109
    Windows 10 Chrome


Return to Programowanie

Who is online

Users browsing this forum: No registered users and 0 guests