Upcoming SlideShare
×

# DRAKON Visual Language: Tutorial. Part 1

27,965 views

Published on

Getting started with DRAKON flowcharts

Published in: Education, Technology, Spiritual
1 Comment
7 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Thanks for the awesome slideshow! I set it to music! https://www.youtube.com/watch?v=i2_vlXi6TzM&amp;feature=youtu.be

Are you sure you want to  Yes  No
Views
Total views
27,965
On SlideShare
0
From Embeds
0
Number of Embeds
21,245
Actions
Shares
0
92
1
Likes
7
Embeds 0
No embeds

No notes for slide

### DRAKON Visual Language: Tutorial. Part 1

1. 1. DRAKON VisualLanguageTutorial. Part 1:How to draw DRAKON flowcharts
2. 2. Types of DRAKON diagramsPrimitiveSilhouetteUsed for the most simplealgorithmsRecommended for allother algorithms
3. 3. Primitive
4. 4. What does a primitive consist of?
5. 5. What does a primitive consist of?A vertical skewer
6. 6. What does a primitive consist of?The header
7. 7. What does a primitive consist of?The algorithm
8. 8. What does a primitive consist of?The “End” icon
9. 9. “Action” iconAn “Action” icon
10. 10. “Action” iconan order to dosomething
11. 11. The skewer must be vertical
12. 12. Wrong!
13. 13. Wrong again●Use lines instead of arrows●Arrows create visual noiseIn DRAKON,the next icon is always below
14. 14. Even worse●It is not allowed to break the skewer
15. 15. “Insertion” iconIt is a referenceto an algorithmthat is defined elsewhere
16. 16. “Insertion” icon
17. 17. “If” icon
18. 18. “If” iconContains a questionthat can be answered“yes” or “no”
19. 19. The happy path goes straightThe happy pathis the most successfuland desirable route
20. 20. The unlucky scenario goes to the right
21. 21. The further to the right,the worse it is
23. 23. WrongThe happy pathis broken
24. 24. RightThe happy pathis straight
25. 25. Visual noise is badToo many angles
26. 26. Horizontal joiningThe problem is solved
28. 28. Vertical joiningRemoves repetition
29. 29. Line intersectionsare forbidden
31. 31. SilhouetteThe recommended type of diagrams
32. 32. What can silhouette do?●It can cleanly split the diagram into logicalparts●It can represent a finite automaton (statemachine)●It helps get rid of line intersections in complexalgorithms
33. 33. What does a silhouette consist of?
35. 35. The branches
36. 36. What does a branch consist of?A header withthe branch name
37. 37. What does a branch consist of?The algorithmof the branch
38. 38. What does a branch consist of?The addressof the next branch
39. 39. Silhouette answersthe three questions of the king:1. What is the name of the problem?2. How many parts does the problem have?3. What are the names of the parts?
40. 40. 1. What is the name of the problem?
41. 41. 2. How many problems does the problem have?
42. 42. 3. What are the names of the parts?
43. 43. The leftmost branch is run first
44. 44. Then follow the other branches
45. 45. The rightmost branch goes last
46. 46. There can be only one“End” iconon the DRAKON diagram
47. 47. The order of branches is defined in the “Address” icons
48. 48. The branches should by sorted left-to-right
49. 49. When is it allowed to go to the left?1. When some branches need to be repeated.2. When the diagram represents a finiteautomaton (state machine).
50. 50. A branch can have several “Address” iconsThe algorithm of such branchdecides which branch to run next
51. 51. A direct jump from one branch to another isforbidden
52. 52. Icon “Select”Contains a question:●that cannot be answered “yes” or “no”●that can have several answers
53. 53. Icon “Select”
54. 54. How to arrange the answers?●Following the principle “The further to the right, theworse it is”or●Following the principle “The further to the right, thelarger it is”or●Following the principle “The further to the right, thehigher it is”or...The key thing is to sort the answers
55. 55. The further to the right, the larger it is
56. 56. Loops
57. 57. Lift the weight while not tired
58. 58. The body of this loopis run at least once
59. 59. Hungry?If yes, theneat a hamburgerstart from thebeginningIf no, then leave
60. 60. This loop is skipped if the condition is not met
61. 61. The loop condition is inside the loop body
62. 62. “For each” loop
63. 63. There can be several exits from a loop
64. 64. There can be only ONE ENTRANCEinto a loopWrong!A secondentrance isnot allowed
65. 65. Silhouette loop: some branches are run several times
66. 66. Silhouette loop: some branches are run several timesLoop branches are markedwith black triangles
67. 67. “Select” loop
68. 68. Stepan Mitkinstipan.mitkin@gmail.comThe diagrams on the slides were made withDRAKON Editorhttp://drakon-editor.sourceforge.net/June 2013End