Ang flowchart ay isang visual na representasyon ng pagkakasunud-sunod ng mga hakbang at pagpapasya na kailangan upang maisagawa ang isang proseso. Ang bawat hakbang sa proseso ay kinakatawan ng isang natatanging simbolo at konektado sa mga arrow na nagpapakita ng daloy ng operasyon. Ang mga flowchart ay ginagamit sa pagsusuri, pagdidisenyo, pagdodokumento, o pamamahala ng isang proseso o programa sa iba't ibang larangan, kabilang ang computer science. Sa computer science, ang mga flowchart ay isang paunang hakbang sa pagbuo ng programa, na tumutulong sa mga programmer na mailarawan ang lohika ng mga algorithm bago mag-coding.
Ang mga flowchart ay binubuo ng iba't ibang mga simbolo, bawat isa ay kumakatawan sa isang iba't ibang uri ng pagtuturo:
Ang mga simbolo na ito ay konektado gamit ang mga arrow upang ipahiwatig ang daloy mula sa isang hakbang patungo sa isa pa.
Isaalang-alang natin ang paggawa ng flowchart para sa isang simpleng proseso: pagpapasya kung ano ang isusuot batay sa lagay ng panahon.
Ang simpleng halimbawang ito ay nagpapakita kung paano makakatulong ang isang flowchart na gumawa ng mga desisyon batay sa iba't ibang kundisyon.
Ang mga flowchart ay nag-aalok ng ilang mga benepisyo sa parehong computer science at iba pang mga disiplina:
Ang isa sa mga pangunahing paggamit ng mga flowchart sa computer science ay sa disenyo ng mga algorithm. Ang isang algorithm ay isang hakbang-hakbang na pamamaraan upang malutas ang isang problema o magsagawa ng isang gawain. Bago magsulat ng code, ang isang programmer ay maaaring gumamit ng isang flowchart upang i-konsepto ang lohika ng algorithm. Nakakatulong ito na matiyak na ang lahat ng mga sitwasyon ay isinasaalang-alang at ang pinaka mahusay na landas ay pinili.
Isaalang-alang ang problema sa paghahanap ng pinakamalaking numero sa isang listahan ng mga numero. Ang flowchart para sa algorithm na ito ay maaaring kabilang ang:
Ang Flowcharts ay isang makapangyarihang tool para sa pagpapakita ng daloy ng mga proseso, lalo na sa larangan ng computer science. Tumutulong sila sa disenyo ng algorithm, paglutas ng problema, at paglilinaw ng mga kumplikadong proseso. Sa pamamagitan ng paggamit ng isang hanay ng mga karaniwang simbolo at arrow upang tukuyin ang iba't ibang mga hakbang at ang daloy ng mga operasyon, ginagawang mas madali ng mga flowchart na maunawaan at maiparating ang lohika sa likod ng parehong simple at kumplikadong mga proseso.