VisualAlgorithmEditor - edytor schematów blokowych

9

W nawiązaniu do tematu http://4programmers.net/Forum/Off-Topic/Oceny_i_recenzje/176570-javablock_-_edytor_schematow_blokowych - ja też się pochwalę swoim, podobnym projektem :].

Podobnie, jak w tamtym przypadku, jest to mój pierwszy projekt we Flashu, napisany jako projekt na jeden z przedmiotów na studiach.

W odróżnieniu od JavaBlock, tutaj edytor (i całość GUI) jest najmniej istotną częścią projektu. Właściwie służy głównie do prezentacji możliwości dwóch innych komponentów: kompilatora (generuje schemat blokowy z kodu C-podobnego) oraz dekompilatora (proces odwrotny).

user image

Programik można wypróbować pod adresem: http://tom.civ.pl/studia/flash2/VisualAlgorithmEditor.swf

Parę ciekawostek/szczegółów technicznych:

  • stworzony z wykorzystaniem jedynie darmowych i otwartych narzędzi (Open Source Flex SDK 4.1/4.5, OpenSuSE linux)
  • kod w ActionScript 3 zajął ponad 11k wierszy i 280kB kodu
  • w AS3 da się pisać obiektowo, a nawet używać statycznego typowania!
  • do napisania tego projektu (przede wszystkim kompilatora od zera) potrzebna była wiedza wyniesiona z teoretycznego przedmiotu, na który narzeka u nas najwięcej studentów
  • dekompilacja jest procesem niejednoznacznym, polega na "zgadywaniu" kodu źródłowego; jeszcze trochę mam zamiar nad tym popracować
0

Fajnie to wygląda, przyjrzałem się wprawdzie tylko pobieżnie. Nie trawie i chyba nigdy nie przetrawie C++, a sam za leniwy jestem aby napisać taki edytor w Delphi i z odczytem składni Pascala. Mi schematy blokowe zawsze wydają się zbędne. Jednak wiem, że są często wymagane na uczelniach i tym podobnych. Tak czy siak dałem +1 punkt dla Ciebie. I fajnie, że działa toto online pewnie pod większością przeglądarek www, nie potrzeba instalować na przykład dodatkowych .net bzdetów pod starszymi systemami i inne takie kombinacje. Widze, że doświadczony z Ciebie Użytwkonik forum i jesteś tutaj od dawna (ja nie zaglądałem od początku swojego przystąpienia do forum do innych działów niż Delphi / Pascal i Newbie, więc wielu osób mogę nie kojarzyć dobrze, w końcu sporo nas tutaj jest :)), także pewnie nie popełniłeś wielu błędów tworząc ten program, ale niech się wypowiedzą inni, co częściej musieli przygotowywać schematy blokowe do projektów. Ja w tym mam praktycznie niestety zerowe doświadczenie. Myślę jednak, że po wyeliminowaniu ewentualnych błędów, można by dodać angielską wersję językową, uprościć jakimś przekierowaniem albo domeną adres strony i puścić w Świat, pewnie wielu osobom się to może przydać.

0

@olesio: Na mojej uczelni z kolei schematy blokowe są uznawane za zło, nacisk jest kładziony na schematy NS :-)

Bardzo fajne. Brzydko generuje te skoki, bo przelatują przez inne bloczki, ale działa bardzo ładnie i sprawnie.

0

Całkiem nieźle, lecz u mnie występuje błąd (a raczej źle wyświetla):
Screenshot.png
(kod po lewej)

0

Na wszelki wypadek podkreślę: to nie jest tak, że studia na mojej uczelni opierają się o zapis algorytmów w postaci schematów blokowych ;). W praktyce rzadko na nie się trafia. Właściwie, to bardziej myślałem o tym projekcie w kontekście nowej pomocy dydaktycznej dla uczniów gimnazjum/liceum, którzy poznali już schematy blokowe i zaczynają poznawać programowanie strukturalne. Ewentualnie studentów uczących się konstrukcji kompilatorów ;).

Ad angielska wersja językowa i "brzydkie strzałki" (chyba o nie chodziło ze skokami?) - obie kwestie są pracochłonne i niestety prawdopodobnie nie znajdę na nie czasu (to jak na razie nie jest projekt komercyjny). Jeżeli już coś będę w tym grzebał, to wolę się skupić na udoskonalaniu wspomnianego dekompilatora.

@Patryk27: masz najnowszą wersję flasha? Pod innymi przeglądarkami jest to samo?

1

Tak, najnowsza wersja (specjalnie ściągnąłem ;))

Opera 11.50 | Firefox 4.0.1 | Google Chrome | Internet Explorer
źle | ok | ok | ok

Czyli błąd jest tylko na Operze 11.50

0

Bardzo fajny :)

Podoba mi się szczególnie to przesuwanie bloczków, tylko z tym też wiąże się mały błąd. A mianowicie ja bym proponował zrobić tak by bloczki nie mogły na siebie nachodzić. Taka opcja "idiotoodporna", aby nie można było kłaść na siebie elementów.
I może jeszcze dodatkowo każdy bloczek innym kolorem? Ogólnie coś z kolorami wymyślić by było ładniej.

0

...i te strzałki mogłyby wracać do "normalności po wyciągnięciu.
fajna by była możliwość edytowania tych strzałek albo gdyby automatycznie przyjmowały jakiś estetyczny wygląd.
Ponadto opcja dla idiotoodpornych jest jak najbardziej na miejscu. Co by było gdyby nie dało się "zepsuć" tego schematu pod względem wizualnym ? (retoryczne:) bo na razie równie dobrze może służyć jako artystyczny środek wyrazu.
pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1