Header Ads

ad728
  • New Updates

    Arithmetical Instruction


    Arithmetical Instruction

    एक Arithmetical Instruction में हमेंशा एक Assignment Operator का प्रयोग करके किसी Calculation से प्राप्त परिणाम को किसी Variable में Store करना होता है | Assignment Operator के Left Side में हमेंशा एक Variable ही हो सकता है , जबकि इसको Right Side में Calculation में भाग लेने वाले Variable Constants का पूरा एक समूह हो सकता है |

    किसी Assignment Operator के Left Side में हम कभी भी किसी Constant Identifier को Place नहीं कर सकते है | यदि हम ऐसा करते है , तो Compiler हमें “L Value Required “ नाम का एक Error प्रदान करता है | यानी

    int x , y =10;

    x = y+2;

    यदि हम उपरोक्त Instruction लिखते हैं , तो Program में किसी तरह का कोई Error Generate नहीं होगा और y+z Expression से Generate होने वाला Resultant मान यदि हम इसी Instruction के मानों की Position को निम्नानुसार Exchange कर दे , तो हमें “L Value Required “ का Error Message प्राप्त होता है |

    int x , y =10;

    y+2 = x;              //Error : LValue required

    ये Error हमें इसलिए प्राप्त होता है , क्योंकि Assignment Operator (=) हमेंशा Right To Left Direction में Execute होता है और बाद पुरे Expression के Execute होने के बाद अपना काम अंतिम Operation के रूप में करता है |

    यानी जिस Expression में Assignment Operator का , प्रयोग किया जाता है , उस Expression में सबसे पहले Assignment Operator के Right Side के सभी Operations Perform होते है और इन Operations से जो Resultant मान Generate होता है , Assignment Operator उस मान को Expression के सबसे अंतिम Operation के रूप में अपने Left Side में Place किए गए Variable में Store कर देता है |

    अब यदि किसी Expression में Assignment Operator के Left Side में किसी Variable के स्थान पर कोई Constant हो तो Assignment Operator कभी भी किसी मान को किसी  Constant में Store नहीं हो सकता है , जबकि Assignment Operator अपने Left side Variable का मान Change करने का ही काम करता है |

    जब हम “C” Program में Division की प्रक्रिया को Perform करते है , तब प्राप्त होने वाले Result का चिन्ह निम्नानुसार होता है |

    -20 / 4  = - 5

     20 / -4 = +5

    यानी यदि हम किसी Negative Sign वाली संख्या में किसी Positive Sign वाली संख्या का भाग देते है ,  तो Resultant मान भी Negative ही प्राप्त होता है | जबकि यदि , हम किसी Positive Sign वाली संख्या में Negative Sign की संख्या का भाग देते हैं , तो प्राप्त होने वाला मान भी Positive Sign का होता है | सारांश ये है कि किसी “C” Program में भाग की प्रक्रिया करने पर Resultant मान का Sign Numerator या अंश के Sign के समान होता है |

    हम हमारी जरुरत के आधार  पर विभन्न Character को Computer की Memory में Store करते हैं | लेकिन Computer में कोई भी मान Character के रूप में Store नहीं होता है | हम जितने भी Character किसी भी Character Variable में Store करते हैं , वे सभी Character Computer की Memory में Integers के रूप में ही Store होते है |

    Computer में विभन्न Character को Represent करने के लिए एक Standard Code System Develop किया गया है | इस Code System में हर Character को एक Integer मान Assign किया गया है | हम जब भी किसी Character Identifier में  किसी Character को Store करते है , वह Character उस Integer मान से Replace हो जाता है , और Computer की Memory में उस Character को Represent करने वाला Integer मान Store हो जाता है |

    ठीक इसी तरह से जब  उस Identifier में Stored Character को Display करना चाहते है , तब उस Character Identifier की Memory Location पर Stored Integer Code फिर से Character में Convert हो जाता है और हमें उस Character से Associated Code के स्थान पर वही Character दिखाई देता है | हर Character के साथ Associated Code को उस Character का ASCII Code कहते है |

    उदाहरण के लिए यदि हम किसी Character प्रकार के Identifier में एक Character A Store करते हैं , तो वास्तव में Character A Computer की Memory में Store नहीं होता है , बल्कि ये Character A इसकी ASCII Code Value 65 से Replace हो जाता है और Identifier की Memory Location पर ये ASCII मान 65 Store हो जाता है |

    जब हम फिर से उस Character को Access करना चाहते है , तब Computer  इस ASCII Code 65 को Character A  से Replace कर देता है और हमें Screen पर Character A दिखाई देता है ना कि ASCII Code 65.

    वास्तव में एक Character प्रकार का Identifier एक छोटे Size के Integer मान को ही Computer की Memory में Store करता है | इसलिए यदि हम किसी Character Type के Identifier के मान को %c Control String  का प्रयोग करके Display करते है , तो हमें उस Identifier में Stored हम %d Control String का प्रयोग करके उस Identifier के मान को Display करते है , तो हमें उस Character का ASCII – Code Screen पर Display होता है | इस प्रक्रिया को हम निम्न Program द्वारा समझ सकते है |

     Program

       
    #include <stdio.h>
    #include <conio.h>
    main()
    {
    char x = 'A';
     printf("\n Character in the Identifier x is = %c ", x);
     printf("\n ASCII Code of the Character %c is = %d ", x, x);
     getch();
    }
    
    Output
     Character in the Identifier x is = A
     ASCII Code of the Character A is = 65
    

    हालांकि हम Integer Float प्रकार के Identifier के साथ विभन्न प्रकार की Calculations करते है , लेकिन हम किसी Character प्रकार के Identifier के साथ भी विभन्न प्रकार की प्रक्रियाएं कर सकते है | अंतर केवल इतना है , कि जब हम किसी किसी Character प्रकार के Identifier में किसी Character को Store करके उस पर किसी प्रकार की Calculation को Apply करते है , तो वह Calculation Character पर Perform नहीं होती है , बल्कि उस Character प्रकार के Identifier में Stored Character होती है | इस पूरी प्रक्रिया को हम निम्न Program द्वारा समझ सकते है :

    Program

      
    #include <stdio.h>
    main()
    {
    char x = 'A', y = 'p';
    printf("\n x - y = %c ", y - x);
    printf("\n x += 37 = %c ", x += 37);
    printf("\n (++y + 53)-(x += 12) = %c", (++y + 53)-(x += 12));
    printf("\n x * 2 - 60 = %c", x * 2 - 60);
    printf("\n y / 2 + 20 = %c", y / 2 + 20);
    }
    
    Output
     x - y = /
     x += 37 = f
     (++y + 53)-(x += 12) = 4
     x * 2 - 60 = ¿
     y / 2 + 20 = L
    

    हालांकि हम विभन्न प्रकार के Mathematical Calculations को एक Computer Program द्वारा Perform करते हैं , लेकिन जिस तरह से हम Real Life के Mathematical Expressions को लिखते है “C” Language में उस तरह से लिए गए Expression Run नहीं होते हैं | उदाहरण के लिए Real World Situation में निम्न Statement एक Valid Statement है |

    x=(p,n,y.3-2) (1.3/m+33)

    यदि इसी Expression को हमें “C” Program में लिखना हो ,तो हमें हर Symbol को Specify करना जरुरी होगा और इस Statement को निम्नानुसार लिखना पडेगा

    x = (p*n*y*3-2) * (1*3/m+33)

     


    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728