Header Ads

ad728
  • New Updates

    if Statement

    if Statement

    सभी Control Statements में से if Statement सबसे शक्तिशाली Statement है , जिसके द्वारा हम Statements के Execution के Flow को Control कर सकते हैं | यह एक द्विमार्गी (Two Way) Statement है , जिसमें Condition के सत्य या असत्य होने के आधार पर निर्भर करते हुए प्रोग्राम का Control दो अलग – अलग बिंदुओं पर पहुँचता है |

    इस तरह If Statement के अनुसार प्रोग्राम के पास दो रास्ते होते है , एक Condition के सत्य होने की स्थिति वाला रास्ता व दूसरा Condition के असत्य होने की स्थिति वाला रास्ता | जब हमें Condition के सत्य होने पर केवल एक Statement का Execution करना होता है , तब हम निम्न प्रकार के Syntax में If Condition को Use कर सकते हैं , जिसमें जब if Condition सत्य होती है तब Statement 1 Execute हो जाता है

    जब हमें किसी Condition के सत्य होने पर एक से अधिक Statements का Execution करना होता है , तब हमें सभी Statements मंजले कोष्टक में लिखने पड़ते है | यदि हम ऐसा नहीं करते व ऊपर बताये Syntax के अनुसार ही प्रोग्राम लिख देते है , तो Condition के सत्य होने पर “C” Compiler पहले Statement का तो Execution कर देता है , लेकिन शेष Statements को Program की Condition के अनुसार Execute नहीं करता बल्कि उन्हें Program के Normal Flow के अनुसार Execute करता है |

    इस स्थिति में पहले Statement को छोडकर बाकी के सभी Statement हमेशा Execute होते है , चाहे If Condition सत्य हो चाहे असत्य | इसलिए यदि if Condition के प्रोग्राम में एक से अधिक Statements का Execution करना हो तो हमें निम्न if Syntax Use करना पड़ता है |

    इसमें जब Condition सत्य होती है , तो Block के अंदर , लिखे सारे Statement का Execution हो जाता है , उसके बाद Other Statements का यानी Block से बाहर के Statements का Execution होता है | लेकिन यदि Condition असत्य होती है , तो प्रोग्राम Control , if Condition के Block को छोड़ कर सीधे ही Other Statements यानी Block के बाहर  के Statements  का Execution कर देता है | Condition सत्य हो या असत्य फिर भी Other Statements यानी Block से बाहर के  Statement  का Execution होता ही है , क्योंकि ये Statement Sequential Flow में होते है |

     

    Example

    यदि कोई Employee 25 दिन से अधिक काम करता है , तो उसे उसकी Payment का 10% Bonus प्राप्त होगा | Employee को प्राप्त होने वाला फल पैसा ज्ञात करो | इस प्रोग्राम में निम्न Variable Define करने होंगे |

    1. Employee की Payment का मान Float Integer प्रकार का Variable मान Payment

    2. प्राप्त Bonus को Store करने के लिए एक Float प्रकार का Variable माना bonus

    3. कुल कितने दिन काम किया इसे Store करने के लिए एक int प्रकार के Variable माना days

     

    Algorithm

    1. Payment days Read करेंगे |

    2. यदि काम 25 दिन से अधिक किया है , तो 10 प्रतिशत bonus दिया जाएगा और  bonus को Payment में जोड़ कर कुल Payment Output में Print किया जाएगा |

    3. यदि काम 25 से कम किया है , तो केवल Payment को Output में Print किया जाएगा |

    4. समाप्त |

     

    Program

      
    /* If Condition Example */
    
    #include<stdio.h>
    main()
    {
    	float payment = 0, bonus =0;
    	int days;
    	
    	printf("\n Enter Payment of Employee");
    	scanf("%f",&payment);
    	printf("\n Total Working Days");
    	scanf("%d",&days);
    	
    	if(days >=25)
    	
    	{
    		bonus = payment  *10/100;
    		payment = payment +bonus;
    	}
    	printf("\n Total Payment of The Employee is %6.2f\t",payment);
    	printf("\n Bonus Gained By Employee is %6.2f\t", bonus);
    	
    	getch();
    }
    
    

    इस प्रोग्राम में जब Input किए गए दिन 25 से ज्यादा होते है , तो if Condition सत्य हो जाती है | तब if Statement Block का Execution होता है और bonus की गणना होती है तथा  bonus payment में जुड जाता है | जब if Condition Block से Program Control बाहर आता है , तब  Total Payment bonus Print हो जाते है |

    यदि Input किए दिन 25 से कम होते है , तो if Condition असत्य हो जाती है व प्रोग्राम Control , if Block में नहीं जाता , बल्कि सीधे ही Input की गई Payment bonus को Print कर देता है , जिसमें bonus सुन्य होता है | इस प्रोग्राम में Control String के साथ Flags का प्रयोग किया गया है , जिससे Output में प्राप्त होने वाला परिणाम दशमलव के बाद दो अंकों तक का ही मान प्रदान करता है | हम if Statement में एक साथ दो Condition भी दे सकते हैं |

    इसे समझने के लिए हम उपरोक्त प्रोग्राम में ही थोड़ा सा बदलाव कर रहे है | जिसमें किसी Employee को Bonus तब प्राप्त होना चाहिए , जब उसकी Payment 3000 से अधिक हो व Employee कम से कम 25 दिन काम करता है |

    इस प्रश्न में दो शर्ते हो गई हैं | पहली ये , कि उसी Employee को 10% Bonus प्राप्त होगा , जिसकी Payment  कम से कम 3000 हो और दूसरी ये कि Employee के कम से कम 25 दिन काम करना होगा |

    इस समस्या को हल करने के लिए हम if Condition कोष्टक में Logical Operator तभी प्रोग्राम Control को दूसरे बिन्दु पर भेजता है , जब दी गई दोनों शर्तों सत्य हो | अब if Condition तभी सत्य होगी जब Employee की Payment 3000 या 3000 से अधिक हो और Employee 25 या 25 से अधिक दिन काम करे |

    Logical Operator के सम्बन्ध में हमने बताया था कि AND Operator का प्रयोग करने पर यदि Input की गई दोनों Condition सत्य हो तो प्रोग्राम 1 Return करता है अन्यथा प्रोग्राम 0 Return करता है | 1 Return करने का मतलब है कि Condition सत्य है और पहले वह काम होगा जिस काम के लिए Conditional Operator का प्रयोग किया गया है , और 0 Return होने का मतलब है कि जिस काम के लिए शर्त राखी गई है , वह कम नहीं होगा बल्कि उसके आगे के Statements का Execution होगा | इस Modified प्रोग्राम को आगे दिखाया गया है |

     

    Program

      
    /* If Condition Example */
    
    #include<stdio.h>
    main()
    {
    	float payment = 0, bonus = 0;
    	int days;
    	
    	printf("\n Enter Payment of Employee");
    	scanf("%f",&payment);
    	printf("\n Total Working Days");
    	scanf("%d",&days);
    	
    	if(days >=25 && payment >=3000)
    	{
    		bonus = payment *10/100;
    		payment = payment + bonus;
    	}
    	
    	printf("\n Total Payment of The Employee is %6.2f\t",payment);
    	printf("\n Bonus Gained By Employee is %6.2f\t",bonus);
    	
    	getch();
    }
    

    हम if Condition Block में OR NOT Condition का भी अपनी आवश्यकता के अनुसार प्रयोग कर सकते है और अपनी जरुरत के अनुसार विभन्न प्रकार के Expressions if के कोष्टक में प्रयोग कर सकते हैं |



     

     

    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728