{{Short description|Graphical authoring tool with flowcharts}} {{primary sources|date=July 2017}} {{Infobox programming language | name = Flowgorithm | logo = Flowgorithm Logo.svg | screenshot = Flowgorithm_Editor.png | paradigm = Structured, imperative | year = 2014 | designer = Devin Cook | latest_release_version = 4.5.0 | latest_release_date = October 8, 2024 | typing = Static, strong, safe | implementations = | programming_language = C# | dialects = | influenced_by = Flowcharts | influenced = | operating_system = Windows | license = Freeware | website = {{URL|http://flowgorithm.org/}} | file_ext = .fprg }}

'''Flowgorithm''' is a graphical authoring tool which allows users to write and execute programs using flowcharts. The approach is designed to emphasize the algorithm rather than the syntax of a specific programming language.<ref name=paper>{{cite web|title=ASEE PSW-2015 Conference Proceedings|url=http://psw.asee.org/AnnualConference/asee-psw2015ConfProceedings.pdf|page=158|website=asee.org|access-date=2016-05-04}}</ref> The flowchart can be converted to several major programming languages. Flowgorithm was created at Sacramento State University.<ref>{{cite web|last1=Kourouma|first1=Mathieu|title=Capabilities and Features of Raptor, Visual Logic, and Flowgorithm for Program Logic and Design|url=https://www.researchgate.net/publication/309354785|website=ResearchGate|access-date=16 July 2017|date=22 October 2016}}</ref>

==Origin of name== The name is a portmanteau of "flowchart" and "algorithm".<ref name=info>{{cite web|title=Info|url=http://www.flowgorithm.org/about/info.htm|website=Flowgorithm|access-date=2016-01-15|archive-date=2016-03-16|archive-url=https://web.archive.org/web/20160316213922/http://flowgorithm.org/about/info.htm|url-status=dead}}</ref>

==Supported programming languages== Flowgorithm can interactively translate flowchart programs into source code written in other programming languages. As the user steps through their flowchart, the related code in the translated program is automatically highlighted. The following programming languages are supported:<ref name=features>{{cite web|title=Features|url=http://www.flowgorithm.org/about/features.htm|website=Flowgorithm|access-date=2016-01-15|archive-date=2015-12-09|archive-url=https://web.archive.org/web/20151209113644/http://flowgorithm.org/about/features.htm|url-status=dead}}</ref> {{Columns-list| * C++ * C# * Delphi * Groovy * Java * JavaScript * Kotlin * Lua * Nim * Perl * PHP * PowerShell * Python * QBasic * Ruby * Swift 2 & 3 * TypeScript * Visual Basic for Applications * Visual Basic .NET }}

==Multilingual support== Flowgorithm supports the following languages:<ref>{{Cite web |title=Flowgorithm - Flowchart Programming Language |url=https://www.flowgorithm.org/ |archive-url=https://web.archive.org/web/20251101070522/https://www.flowgorithm.org/ |archive-date=2025-11-01 |access-date=2025-11-01 |website=flowgorithm.org |language=en}}</ref>

{{Columns-list | *Afrikaans * Arabic * Catalan * Chinese * Croatian * Czech * Dutch * English * Farsi * French * Galician * German * Hebrew * Hungarian * Indonesian * Italian * Japanese * Korean * Latvian * Malay * Mongolian * Polish * Portuguese * Romanian * Russian * Spanish * Swedish * Slovenian * Tamil * Thai * Turkish * Ukrainian }}

==Graphical shapes== Flowgorithm combines the classic flowchart symbols and those used by SDL diagrams. The color of each shape is shared by the associated generated code and the console window. The colors can be changed to several built-in themes.

File:Flowgorithm Shapes.png

#include <iostream> using namespace std; // Function to calculate percentage float calculatePercentage(int marks[], int size) { int sum = 0; for(int i = 0; i < size; i++) { sum += marks[i]; } return (float)sum / size; } // Function to check admission eligibility void checkAdmission(float percentage) { if(percentage >= 80) { cout << "Admission in Computer Science\n"; } else if(percentage >= 70) { cout << "Admission in Software Engineering\n"; } else if(percentage >= 60) { cout << "Admission in Information Technology\n"; } else if(percentage >= 50) { cout << "Admission in Business Studies\n"; } else { cout << "Sorry! Not eligible for admission\n"; } } // Function using pointer to display student data void displayStudent(string *name, float *percentage) { cout << "\n--- Student Result ---\n"; cout << "Name: " << *name << endl; cout << "Percentage: " << *percentage << "%" << endl; } int main() { int numStudents; cout << "Enter number of students: "; cin >> numStudents; string names[numStudents]; float percentages[numStudents];

for(int i = 0; i < numStudents; i++) { cout << "\nEnter name of student " << i+1 << ": "; cin >> names[i]; int marks[5]; cout << "Enter marks of 5 subjects:\n"; for(int j = 0; j < 5; j++) { cout << "Subject " << j+1 << ": "; cin >> marks[j]; } // Calculate percentage percentages[i] = calculatePercentage(marks, 5); // Display result using pointers displayStudent(&names[i], &percentages[i]); // Check admission checkAdmission(percentages[i]); } return 0; }

== See also ==

Other educational programming languages include:

* Alice * DRAKON * LARP * Microsoft Small Basic * Raptor * Scratch ** Blockly, interface used by Scratch to make the code blocks * Visual Logic

== References == {{reflist|colwidth=30em}}

== External links == {{Commons category|Flowgorithm}} * {{Official website|http://www.flowgorithm.org/}}

Category:Visual programming languages Category:Educational programming languages Category:Educational software Category:Freeware Category:Proprietary software Category:Windows-only software