Składnia języka (makra) - tworzenie wielomianów

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
Archound
Posty: 1
Rejestracja: ndz gru 05, 2010 8:29 pm

Składnia języka (makra) - tworzenie wielomianów

Post autor: Archound »

Rozpocząłem próbę nauki tworzenia makr w OpenOffice Calc 3.2, ale idzie mi to strasznie topornie, znacznie gorzej niż w przypadku np. programowania w c.

Chciałbym na początek napisać makro pytające użytkownika o stopień wielomianu, następnie wszystkie współczynniki, dziedzinę i przeciwdziedzinę a także liczbę którą program będzie dodawał do argumentu x aż do osiągnięcia maksymalnej wartości określonej w dziedzinie.

Oczywiście jako rezultat chciałbym otrzymać okienko z informacją o wynikach.

Najlepiej uczę się przez analizowanie przykładów. Czy ktoś byłby tak miły i mógłby podać mi parę linków lub kodów?
Byłbym niezmiernie wdzięczny za wszelkie wskazówki - jakie komendy będą najefektywniejsze itp.

Liczę na waszą pomoc!
OpenOffice 3.2/Windows Vista
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Składnia języka (makra) - tworzenie wielomianów

Post autor: Jan_J »

Witaj,
Archound pisze:Rozpocząłem próbę nauki tworzenia makr w OpenOffice Calc 3.2
Zamysł to chwalebny i godny naśladowania.
ale idzie mi to strasznie topornie, znacznie gorzej niż w przypadku np. programowania w c.
Kwestia przyzwyczajenia. Na ogół języki kompilowane z ich rozbudowanymi regułami składni (deklaracje, zgodność typów, "syndrom średnika" itp.) mają opinię trudniejszych.

BASIC nie jest szczytem elegancji. Jest stary i był wielokrotnie poprawiany. Widać to wyraźnie w niejednorodności składni. Jednak nawet jego nazwa (od Beginners' All-purpose Symbolic Instruction Code) i zakres wykorzystania (np. jako namiastki systemu operacyjnego w Sinclair ZX i podobnych, a także jako główny język makr w aplikacjach windowsowych) wskazują, że nie może być bardzo trudny w użyciu.

Natomiast API OpenOffice'a, obejmujące narzędzia do współpracy języka ze środowiskiem, jest dokładnie takie samo dla C++, Javy, Pythona, JavaScriptu, a w BASIC-u używa się go bardzo podobnie, choć jest nieco uproszczone.
Chciałbym na początek napisać makro pytające użytkownika o stopień wielomianu, następnie wszystkie współczynniki, dziedzinę i przeciwdziedzinę a także liczbę którą program będzie dodawał do argumentu x aż do osiągnięcia maksymalnej wartości określonej w dziedzinie.
Hm... czy zadanie jest dobrze postawione? zdefiniować wielomian tzn. określić wartości jego współczynników. Dziedzina wielomianu nie ma żadnych ograniczeń. Zatem sam wielomian możesz reprezentować w postaci ciągu liczb (tablica? zakres w arkuszu?), jego wartości warto by obliczać za pomocą podprogramu (schemat Hornera?) w postaci funkcji albo równoważnej jej metody obiektowej, zaś reszta Twojej pracy polega na wykorzystaniu tak zadeklarowanych zasobów np. do przedstawienia tabeli wartości danego wielomianu albo jego wykresu.
Najlepiej uczę się przez analizowanie przykładów. Czy ktoś byłby tak miły i mógłby podać mi parę linków lub kodów?
Literatura dot. algorytmiki jest przebogata, ale skoro znasz C, to zapewne coś tam już czytałeś.
Sam BASIC przez lata istnienia również doczekał się wielu omówień. Z dokumentacją Star BASIC-a jest nieco gorzej, ale nie znaczy że beznadziejnie. Żadna (znana mi) książka wydana po polsku nie traktuje tematu dogłębnie. Materiałów w sieci jest sporo, ale większość w uniwersalnym języku en_US.

Dokumentacja
http://api.openoffice.org
w szczególności http://api.openoffice.org/docs/common/r ... le-ix.html

Coś w rodzaju podręcznika
http://wiki.services.openoffice.org/wik ... ASIC_Guide
(jest też wersja Sunowo-Oracle'owa http://docs.sun.com/app/docs/doc/819-0439)

Kolekcje przykładów
http://www.pitonyak.org/oo.php
http://codesnippets.services.openoffice.org/
http://www.ooomacros.org/

Mimo że piszę sporo krótkich programów, to na ogół nie są one ani makrami, ani w BASIC-u. Jednak ile razy potrzebuję współpracy z OOo, korzystam głównie z wskazanych wyżej pozycji, puls bezdenne zasoby przykładów z forów dyskusyjnych
http://www.oooforum.org
http://user.services.openoffice.org/en
i coraz częściej, choć wciąż w zakresie węższym niż poprzednie
http://user.services.openoffice.org/pl
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Raknor
Posty: 509
Rejestracja: pt lut 19, 2010 3:32 pm
Lokalizacja: Warszawa
Kontakt:

Re: Składnia języka (makra) - tworzenie wielomianów

Post autor: Raknor »

Jeszcze jeden przykład znalazłem:
Tworzymy i publikujemy blog z poziomu OpenOffice.org. -> http://openofficeorgpl.blogspot.com/201 ... ziomu.html
LibreOffice 5.1.6 (64bit)
Kubuntu 16.04 (64bit)
Wszelkie uwagi lub chęć udziału przy polonizacji LibreOffice proszę kierować na adres: pol_lo at pro.wp.pl
ODPOWIEDZ