{"id":2048,"date":"2017-03-18T00:41:38","date_gmt":"2017-03-17T22:41:38","guid":{"rendered":"http:\/\/saisa.eu\/blogs\/Guidance\/?p=2048"},"modified":"2017-03-18T00:43:54","modified_gmt":"2017-03-17T22:43:54","slug":"flowgorithm-a-visual-programming-tool-with-source-code-generation","status":"publish","type":"post","link":"https:\/\/saisa.eu\/blogs\/Guidance\/?p=2048","title":{"rendered":"Flowgorithm, a visual programming tool with source code generation"},"content":{"rendered":"<p><a href=\"http:\/\/www.flowgorithm.org\/\">Flowgorithm<\/a> is one of the visual programming tools available today.<\/p>\n<p>Positive:<\/p>\n<ul>\n<li>\n<div>visual programming, focus is more on the modelling on how to solve the problem than on the syntax of programing language like java, c# or python.<\/div>\n<\/li>\n<li>\n<div>can generate code in many programming languages<\/div>\n<\/li>\n<\/ul>\n<p>Negative:<\/p>\n<ul>\n<li>\n<div>so far there is no way to read and write files<\/div>\n<\/li>\n<\/ul>\n<p>The figure below shows when execution is ongoing in slow speed. One can see where the execution is, both in the big flowchart and in the source code window (in this case Java). In addition, there is variable window (lower left) showing that 2 lotto numbers had been generated so far. The console window on the lower right is used for input and output operations.<\/p>\n<p><a href=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/flowgorith-lottonumbers-execution.png\"><img loading=\"lazy\" alt=\"flowgorith-lottonumbers-execution\" src=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/flowgorith-lottonumbers-execution-small.png\" width=\"550\" height=\"369\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The figure below is the clipboard copy of the flowchart in flowgorithm. The tool can also export in emf and svg formats.<\/p>\n<p><a href=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/flowgorith-lottonumbers-flow-1.png\"><img loading=\"lazy\" alt=\"flowgorith-lottonumbers-flow\" src=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/flowgorith-lottonumbers-flow-1-small.png\" width=\"300\" height=\"703\" \/><\/a><\/p>\n<p><strong>Visual program file for lotto<\/strong><\/p>\n<p>This <a href=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/lotto.zip\">file<\/a> is zipped. unzip in order to get the &#8220;Lotto.fprg&#8221; file.<\/p>\n<p><strong>Testing the java source<\/strong><\/p>\n<p>The generated java code worked well, as can be seen in the figure below. <a href=\"http:\/\/www.drjava.org\/\">DrJava<\/a> (portable) was used to compile and run the code. There was only 1 minor tweak needed (ie. one needed to initialize the NewNumber variable, see line &#8220;int NewNumber = 0;&#8221;)<\/p>\n<p><a href=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/flowgorith-lottonumbers-compiled-java.png\"><img loading=\"lazy\" alt=\"flowgorith-lottonumbers-compiled-java\" src=\"http:\/\/saisa.eu\/blogs\/Guidance\/wp-content\/uploads\/2017\/03\/flowgorith-lottonumbers-compiled-java-small.png\" width=\"450\" height=\"228\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Links<\/strong><\/p>\n<ul>\n<li>Another similar tool is <a href=\"http:\/\/raptor.martincarlisle.com\/\">Raptor<\/a>, but with different features (read\/write files, some basic graphics)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Flowgorithm is one of the visual programming tools available today. Positive: visual programming, focus is more on the modelling on how to solve the problem than on the syntax of programing language like java, c# or python. can generate code &hellip; <a href=\"https:\/\/saisa.eu\/blogs\/Guidance\/?p=2048\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,74,34,51,7],"tags":[],"_links":{"self":[{"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=\/wp\/v2\/posts\/2048"}],"collection":[{"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2048"}],"version-history":[{"count":1,"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=\/wp\/v2\/posts\/2048\/revisions"}],"predecessor-version":[{"id":2050,"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=\/wp\/v2\/posts\/2048\/revisions\/2050"}],"wp:attachment":[{"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/saisa.eu\/blogs\/Guidance\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}