User Manual - Flowgramming
User Manual - Flowgramming
Flowgramming
Why Flowgramming?
For the novice programmer, it is usually difficult to de-link the programming logic from the
syntax of the programming language. This often leads to students memorizing code rather
than understanding the logic and designing solutions. Flowgramming was built in an effort
for beginner and novice programmers to understand programming logic and develop
algorithmic thinking & problem solving skills without the hassle of learning the code syntax.
This site serves as an user manual on how to use the Flowgramming web application.
Features
Contact
[email protected]
Mentor
Ritwik M
Contributors
Harshit Agarwal
Rajkumar S
Sanjana G
Pranesh S
Adithi Narayan
Ganapathi
Vishvakar S
https://flowgrammers-org.github.io/flowgramming-manual/print.html 2/38
6/8/23, 2:48 PM User Manual | Flowgramming
To add a block to the flowgram graph, you need to double click on the link (arrow).
A pop up will appear where in you can choose the type of block you want to add.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 3/38
6/8/23, 2:48 PM User Manual | Flowgramming
When you add a block to the graph, the next thing you would want to do is set some
properties on the block. For the same, you need to double-click on the block.
You will get a pop-up to edit the properties of the block, depending on its type. For instance,
if you double-click on a declaration block, you would see fields to enter the variable name,
its type, and length if it is an array.
After entering the values, when you press OK, you will see the block updated with its
properties on the flowgram.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 4/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 5/38
6/8/23, 2:48 PM User Manual | Flowgramming
For example, declaring a,b,c of type integer will look like this.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 6/38
6/8/23, 2:48 PM User Manual | Flowgramming
Deleting a block
If you want to delete a block, first double-click on the block [Say the assigment block].
You will get a pop-up to edit the properties of the block, depending on its type. On the
bottom left, a delete button is present. Click on it to delete the block.
Once clicked, you will see the block taken out of the flowgram.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 7/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 8/38
6/8/23, 2:48 PM User Manual | Flowgramming
For selecting the data type, choose declaration block and expand the datatype dropdown
If the variable needs to be an array, you will need to mark the checkbox as shown in the
picture, and choose the appropriate dimensions.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 9/38
6/8/23, 2:48 PM User Manual | Flowgramming
Declare strings x, y, z
2. Substring
Declare strings x, y
3. String compare
https://flowgrammers-org.github.io/flowgramming-manual/print.html 10/38
6/8/23, 2:48 PM User Manual | Flowgramming
4. String length
5. To Ascii
6. To Char
https://flowgrammers-org.github.io/flowgramming-manual/print.html 11/38
6/8/23, 2:48 PM User Manual | Flowgramming
7. To lower case
Declare strings x, y
8. To upper case
Declare strings x, y
https://flowgrammers-org.github.io/flowgramming-manual/print.html 12/38
6/8/23, 2:48 PM User Manual | Flowgramming
Declare integers x, y
2. Power
3. Square Root
Declare integers x, y
https://flowgrammers-org.github.io/flowgramming-manual/print.html 13/38
6/8/23, 2:48 PM User Manual | Flowgramming
4. Signum
Declare integers x, y
Take input for x, y
Choose assignment block and write the code x = sgn(y)
5. Natural Log
Declare integers x, y
Take input for x, y
Choose assignment block and write the code x = ln(y)
6. Log
https://flowgrammers-org.github.io/flowgramming-manual/print.html 14/38
6/8/23, 2:48 PM User Manual | Flowgramming
7. Sin
Declare integers x, y
8. Cos
Declare integers x, y
9. Tan
Declare integers x, y
https://flowgrammers-org.github.io/flowgramming-manual/print.html 15/38
6/8/23, 2:48 PM User Manual | Flowgramming
10. Arcsin
Declare integers x, y
11. Arccos
Declare integers x, y
12. Arctan
Declare integers x, y
https://flowgrammers-org.github.io/flowgramming-manual/print.html 16/38
6/8/23, 2:48 PM User Manual | Flowgramming
13. Ceil
14. Floor
15. Round
https://flowgrammers-org.github.io/flowgramming-manual/print.html 17/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 18/38
6/8/23, 2:48 PM User Manual | Flowgramming
Operators
Flowgramming supports different math operations such as '+', '-', '*', '/', '%'
https://flowgrammers-org.github.io/flowgramming-manual/print.html 19/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 21/38
6/8/23, 2:48 PM User Manual | Flowgramming
Add multiple parameters by entering the variable name and variable type.
2. Uploading a Function
https://flowgrammers-org.github.io/flowgramming-manual/print.html 22/38
6/8/23, 2:48 PM User Manual | Flowgramming
3. Updating a Function
To update an existing function, click the edit button in the function manager.
4. Downloading a Function
5. Deleting a Function
https://flowgrammers-org.github.io/flowgramming-manual/print.html 23/38
6/8/23, 2:48 PM User Manual | Flowgramming
Keywords
These are in-built keywords in Flowgramming. Ensure that variable names aren't one of
these.
1. array
2. auto
3. break
4. case
5. catch
6. char
7. cin
8. const
9. continue
10. cout
11. default
12. do
13. else
14. enum
15. false
16. float
17. for
18. foreach
19. if
20. in
21. int
22. input
23. let
24. list
25. long
26. new
27. None
28. not
29. null
30. print
31. printf
32. register
33. return
34. scanf
35. scanner
36. short
37. signed
38. sizeof
https://flowgrammers-org.github.io/flowgramming-manual/print.html 24/38
6/8/23, 2:48 PM User Manual | Flowgramming
39. static
40. string
41. struct
42. switch
43. throw
44. true
45. typedef
46. union
47. unsigned
48. var
49. void
50. volatile
51. while
https://flowgrammers-org.github.io/flowgramming-manual/print.html 25/38
6/8/23, 2:48 PM User Manual | Flowgramming
Select the '.fgmin' file of your preference to upload into the website.
By default, '.fgmin' files are untitled and will be saved as 'Untitled.fgmin'. In order to save
them by a different name, please follow the instructions as per your current browser.
1. Google Chrome
Click on the icon on the top right corner and choose Settings from the dropdown
list.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 26/38
6/8/23, 2:48 PM User Manual | Flowgramming
This will expand the settings list. Scroll down to the Downloads section. Then
check the box next to Ask where to save each file before downloading.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 27/38
6/8/23, 2:48 PM User Manual | Flowgramming
Google Chrome will then be updated to open a Browse Window each time a file is
downloaded.
2. Mozilla Firefox
Click on the icon in the top right corner and choose Options.
Then check the circle next to Always ask me where to save files.
https://flowgrammers-org.github.io/flowgramming-manual/print.html 28/38
6/8/23, 2:48 PM User Manual | Flowgramming
Examples
https://flowgrammers-org.github.io/flowgramming-manual/print.html 29/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 30/38
6/8/23, 2:48 PM User Manual | Flowgramming
5. Sum of Array
https://flowgrammers-org.github.io/flowgramming-manual/print.html 31/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 32/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 33/38
6/8/23, 2:48 PM User Manual | Flowgramming
8. Recursion
https://flowgrammers-org.github.io/flowgramming-manual/print.html 34/38
6/8/23, 2:48 PM User Manual | Flowgramming
9. Loops
https://flowgrammers-org.github.io/flowgramming-manual/print.html 35/38
6/8/23, 2:48 PM User Manual | Flowgramming
10. 1d Array
https://flowgrammers-org.github.io/flowgramming-manual/print.html 36/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 37/38
6/8/23, 2:48 PM User Manual | Flowgramming
https://flowgrammers-org.github.io/flowgramming-manual/print.html 38/38