c programming

Concept of Flowcharts

Flow Chart

किसी Problem को Graphical shape का use करके Solve करने के Method को Flow Chart कहा जाता है| Flowchart एक Program के Logic और Multiple Component के माध्यम से Control के Flow का एक Visual Representation Provide करता है। इसका उपयोग Program के Structure को Small तथा Easly Understandble Parts में Break करके Program को समझने, Debug करने और Maintain रखने में Support करने के लिए किया जाता है।

Flowchart में  Symbol और Arrow होते हैं, जो Process में विभिन्न Step और उनके बीच Control के Flow को Represent करते हैं। Example- एक Symbol. एक Process, Decision या एक Input/Output Operation को Represent कर सकता है, और एक Arrow, एक Step से दूसरे Step में Control के Flow को Represent कर सकता है।

Program के Logic को Organize और Clarify करने में सहायता के लिए Flowchart ज़्यादातर Program Design के Starting Step में Use किए जाते हैं। Code में Problem को Detect करने और उन्हें Fix करने में Support के लिए Flowchart का Use Development के बाद के Stage में भी किया जा सकता है।

C Programming में, Flowchart का use Control Statements के Logic को Represent करने के लिए किया जाता है| जैसे कि if/else Statement, Loop और switch Statemet| Flowchart का use Function और Subroutine को Routines करने के लिए और Program के विभिन्न भागों के बीच Relation दिखाने के लिए भी किया जा सकता है।

Flow Chart Symbols

Flowchart में आवश्यक Operation को Indicate करने के लिए केवल कुछ Symbol की आवश्यकता होती है। ANSI (American National Standards Institute) ने Basic Flowchart Symbol का Standardized किया है। जो की निम्नलिखित है –

Start/Stop

यह Symbol Flowchart के Start तथा End में use किया जाता है, इसे Terminal Symbol भी कहा जाता है|

Input/Output

Input/Output Symbol का use किसी भी Input Device और Output Device के लिए Program में प्रत्येक Function के लिए use किया जाता है| Program में किसी भी Input Device से Input type के Instruction Read करने के लिए Flowchart में Input/Output symbol का use किया जाता है| इसी प्रकार Output type के Instruction Write करने के लिए Input/Output Symbol का use किया जाता है|

Processing

Processing Symbol, Arithmetic और Data Movement, Instructions को Represents करता है। Flowchart में एक Processing Symbol द्वारा Addition, Substraction, Multiplication और Division करने की सभी Arithmetic Process को Indicate किया जाता है। Data को Main Memory के एक Location से दूसरे Location (Assignment Statement) तक Tranfer करने की Logical Process को भी इस Symbol द्वारा Represent किया जाता है।

Decision

Decision Symbol एक Decision Point को Indicate करता है|अर्थात एक Point जिस पर दो या दो से अधिक Condition में से एक True होना Possible हो|इस प्रकार के Statement को Branching Statement तथा Branch को Conditional Branches कहा जाता है |

Connector

Flowchart Symbols को आपस में Connect करने के लिए Connetor का Use किया जाता है|

Flow Lines

यह Program के Exact Sequence को Represents करता है| जिसमें Instructions Execute किए जाते हैं। Flow chart में Flow line का Represent करने के लिए Arrows का use किया जाता है।

Advantage of Flowchart

  • Communication: एक Flowchart किसी Program के Logic को Communicate करने का एक बेहतर तरीका है।
  • Synthesis: Flowchart का use Program और Software System Design करने में Working Model के रूप में किया जाता है।
  • Efficient Coding: Flowchart High-Level Language में Actual Code लिखने में Programmer के लिए एक Guide के रूप में कार्य करते हैं।
  • Proper Debugging: Flowchart, Debugging Process में Support करते हैं।
  • Effective Analysis: Related Flowchart की सहायता से Logical Program का Effective Analysis आसानी से किया जा सकता है।
  • Proper Documentation: Flowchart बेहतर और Proper Documentation Provide करता है। इसमें विभिन्न Activities शामिल हैं- जैसे कि सभी Related Program Records Collect, Organize, Store करना और Maintanamnce बनाये  रखना।
  • Testing: Flowchart Testing Process में Support करता है।

Disadvantage of Flowchart

  • Time-consuming: Flowchart Designing, एक Time Consuming Process है।
  • Complex: बड़े और Complex Programs के लिए Flowchart बनाना आसान नहीं है।
c programming

Steps in the Development of a Program

Steps in the Development of a Program

Programming Language में  C Program Writing से Run करने तक Process को 6 Steps में Divide किया गया है|

Program

Write Program

C Programming Language में सबसे पहले Program को Editor का use करके लिखा जाता है |इसके बाद एक File Name से  Save किया जाता है| जिसका File Extension (.c) होना चाहिए |Example– welcome.c, computer.c notes123.c आदि|इस प्रकार लिखे Code को Source Code अथवा Source Program कहते है |

Pre-Process

Pre Processing, Compilation से पहले की Process है| इसके अंतर्गत Code को एक Temporary File में रखा जाता है| इसके बाद इसे Compile किया जाता है| सामान्यतः यह Step, Compilation Step के साथ Connected होता है |

Compilation

Source Program को Compiler के द्वारा Compile किया जाता है| इस Process के दौरान पूरे Code को Check किया जाता है, तथा इसे Computer Understandble Code में Convert किया जाता है| इसके बाद इसे एक अन्य File में रखा जाता है, जिसे Object code कहते हैं| Object File का Name वही रहता है, परंतु इसका Extension Name (.obj) होता है| और यदि Program में कोई Error होती है, तब Source Code में Changes करके फिर से Compile करते हैं| यह Process तब तक चलती रहती है, जब तक Program Compile नहीं हो जाता है|

Link

इस Step के अंतर्गत सभी Code को Function के Definition के साथ एक Location पर Store किया जाता है| Program File का Object Code तथा Program में प्रयोग किए गए Liberary Function का Object Code एक साथ एक File में रखा जाता है| इसके बाद एक Executable File Generate होती है| जिसे Computer पर Directly Run किया जाता है| इस File का Extension name (.exe) होता है| परंतु File का Name वही होता है, जो Source Code File का Name होता है |

Load

Program को Run करने से पहले उसे Hard Disk से Memory में Load किया जाता है| इसके लिए Loader Program का use किया जाता है| इस Step के बाद Program को Run किया जाता है|

Execute

यह सबसे Last Step है, इसके अंतर्गत (.exe) File को Run किया जाता है| यह File अपने आप में Independent File होती है, जिसे किसी अन्य File की Help के बिना Run किया जा सकता है| अर्थात Source File अथवा Object File के अलावा एक Final Executable File बनती है, जिसमें Program Code  के साथ-साथ Program में use की गई Function की Definition आदि कि Information Include होती है| इस File को किसी अन्य Computer पर Copy करके आसानी से Run किया जा सकता है|

Algorithm Development

What is an Algorithm

Algorithm एक Specific Problem को Solve करने अथवा एक Specific Task को करने के लिए Use किए जाने वाले Well-Defined Instruction का एक Set है। यह Limited Time में किसी Problem को Solve करने के लिए Step-by-Step Procedure होता है। एक Algorithm Efficient, Accurate, और Implement करने में आसान होना चाहिए।

Algorithm को  ऐसे Functions के रूप में Implement किया जाता है| जो Input लेते हैं, Input पर Operations Perform करते हैं, और एक Output Return करता हैं। Operation में Arithmetic Calculation, Comparison और Conditional Statement Include हो सकते हैं।

Algorithm Simple, Straightforward Procedures से लेकर Complex Procedure तक हो सकते हैं| जिनमें कई Data Structure, Algorithm और Advance Programming Concept Include होती हैं। वे किसी भी C Program का Building Block Create करते हैं|

Rules for Writing Algorithm

  • किसी भी Algorithm को START Keyword से Start किया जाता है|
  • Algorithm को End करने के लिए END Keywaord का use किया जाता है|
  • एक Instruction को एक Line में लिखा जाता है|
  • प्रत्येक Line को पहचाननें के लिए Lines को एक निश्चित क्रम (Fixed Order) में Number से Represent किया जाता है|
  • Variable को Meaningful Words में लिखा जाता है, जो किसी भी Language के लिए Reserve नहीं होता है|
  • किसी Variable में Value assign करने के लिए Symbol का use किया जाता है| Ex- num -> 6| जहां 6 value को num  Variable में Assign किया जा रहा है|
  • किसी भी Expresssion को Represent करने के लिए (<–) Symbol का use किया जाता है| Ex- (num <– num +1) जहां num की Present Value में (1) Add करने के बाद num में वापस Assign किया जा रहा है|
  • Standard Arithmatic अथवा Logical Oeprators को उनके General Meaning में ही use किया जाता है |
  • Input तथा Output Instructions के लिए READ व PRINT Keyword का use किया जाता है|

Advantage of Algorithm

Problem को छोटे-छोटे Part में जैसे Input, Output एवं Processing के आधार पर Divide करके उन्हें एक Series में लिखा जाता है| जिसे Algorithm कहते है| Algorithm के निम्नलिखित Advantage होते है- 

  • प्रत्येक instruction Clear व Concise होना चाहिए|
  • Algorithm Fixed Step के बाद End होना चाहिए|
  • Instruction Infinite Order में Execute नहीं होने चाहिए|
  • Algorithm End होने के बाद Results जरुर मिलना चाहिए|