Flowgorithm
Graphical authoring tool with flowcharts
From Wikipedia, the free encyclopedia
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.[1] The flowchart can be converted to several major programming languages. Flowgorithm was created at Sacramento State University.[2]
| Flowgorithm | |
|---|---|
| Paradigm | Structured, imperative |
| Designed by | Devin Cook |
| First appeared | 2014 |
| Stable release | 4.5.0
/ October 8, 2024 |
| Typing discipline | Static, strong, safe |
| Implementation language | C# |
| OS | Windows |
| License | Freeware |
| Filename extensions | .fprg |
| Website | flowgorithm |
| Influenced by | |
| Flowcharts | |
Origin of name
The name is a portmanteau of "flowchart" and "algorithm".[3]
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:[4]
Multilingual support
Flowgorithm supports the following languages:[5]
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.
- 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
