< Wróć do bazy wiedzy

Jak rysować algorytmy w Edytorze Graftec?

 

Program napisany w Graftec składa się z kilku podstawowych elementów:

– bloków (duże prostokąty, ang. Step)

– bloku początkowego (duży prostokąt z dodatkową linią po lewej stronie, ang. IStep)

– przejść (krótka prostopadła linia, ang. Transition)

– linii łączących powyższe

– makr (duży prostokąt, makro zawiera w sobie kolejny algorytm Graftec)

 

Bloki i przejścia mogą zawierać w sobie program napisany w Fupli lub w Liście Instrukcji (ale nie muszą – mogą być puste) .

Podstawową zasadą dotyczącą Grafteca jest to, że zawsze, niezależnie od stworzonego algorytmu, zachowana musi być naprzemienność bloków i przejść.

Najwygodniejszym narzędziem służącym do rysowania algorytmów jest tryb “Smart Mode”. W trybie tym, w zależności od miejsca na ekranie na które użytkownik najedzie myszką, po kliknięciu wykonana będzie inna akcja. Akcję która zostanie wykonana sugeruje zmieniający się kursor myszy.

Rysowanie funkcji

Funkcja polega na tym, że rysowana jest więcej niż jedna gałąź, którą może podążyć program. Na początku każdej gałęzi znajduje się przejście, którego spełnienie spowoduje, że sterownik przetwarzając program “wejdzie” w przetwarzanie danej gałęzi. Jeśli żadne z przejść nie jest spełnione, program będzie czekał aż którykolwiek warunek zostanie spełniony.

Początek i koniec funkcji oznaczony jest pojedynczą linią.

Rysowanie zadań równoległych

Zadanie równoczesne również posiada więcej niż jedną gałąź (podobnie jak funkcja), jednak w tym przypadku na początku gałęzi nie ma przejścia. Każda z takich gałęzi zostanie wykonana.

Początek i koniec zadania równoległego oznaczony jest podwójną linią.

Rysowanie pętli

Pętle umożliwiają wykonanie fragmentów kodu wielokrotnie.

 

ACF: none

Array ( [post_type] => Array ( [0] => tribe_events ) [post_status] => publish [posts_per_page] => 5 [tax_query] => Array ( [relation] => AND [0] => Array ( [0] => Array ( [relation] => OR [0] => Array ( [taxonomy] => tribe_events_category [field] => id [terms] => Array ( ) ) ) ) ) [post__not_in] => Array ( [0] => 12175 ) [orderby] => Array ( [date] => ASC ) [meta_query] => Array ( [0] => Array ( ) ) )
0.064037084579468 seconds
Nasz serwis wykorzystuje pliki cookies. Korzystając z witryny wyrażasz zgodę na ich zapis lub wykorzystanie. Zgoda na wykorzystanie plików cookies jest jednoznaczna z zapoznaniem się i przyjęciem treści polityki cookies.
Akceptuję