.OnlineGuruji

.OnlineGuruji

Provides E-Notes,Video Tutorials And Download Links For Students In hindi

*********************************************************

*********************************************************
********************************************************************************

Breaking

Ramchandicollege Saraipali

Technology Jobs

OnlineGuru Blog मे आपका स्वागत है ब्लॉग से संबन्धित जानकारी के लिए संपर्क करें मो ॰ नम ।-9826026747(सपन कुमार दास) अपने विषय से संबन्धित अपडेट प्राप्त करने के लिए ब्लॉग पे दिये गए Bell Icon को press करें कम्प्युटर,Science,English Grammer से संबन्धित विषय की अधिक जानकारी के लिए हमारे ब्लॉग अथवा यू ट्यूब चैनल को सब्क्राइब करे ..

Sunday, December 18, 2022

December 18, 2022

Void pointer क्या है?

 


Void pointer क्या है? (What is Void Pointer In C In Hindi) 

जैसे की हम जानते है एक पॉइंटर केवल उसी डेटा टाइप वाले वेरिएबल का एड्रेस स्टोर करता है जिस टाइप का वो होता है उदाहरण के लिए, यदि हम int पॉइंटर डिक्लेअर करते हैं, तो यह इंट पॉइंटर फ्लोट वेरिएबल या किसी अन्य प्रकार के वेरिएबल को point नहीं कर सकता है, यानी इस पॉइंटर की मदद से हम केवल int टाइप वेरिएबल को पॉइंट कर सकता है। 

ऐसे में इस समस्या को दूर करने के लिए सी लैंग्वेज में void pointer का कांसेप्ट आया । 

Void pointer एक generic पॉइंटर है जिसका किसी भी डेटा टाइप से कोई सम्बन्ध नहीं होता यह किसी भी टाइप के वेरिएबल का एड्रेस स्टोर कर सकता है और इसे आसानी से किसी भी डेटा टाइप में टाइप-कास्ट किया जा सकता है।

Void pointer का डिक्लेरेशन साधारण पॉइंटर की ही तरह होता है मगर void pointer डिक्लेअर करते समय void कीवर्ड का उपयोग किया जाता है

इसका सिंटेक्स कुछ ऐसा होता है -:

Syntax 

void *pointer_name; 

Example :-

void *ptr;  

यहाँ void एक कीवर्ड है जिसका उपयोग करते हुए हम void pointer डिक्लेअर कर रहे है और ptr, एक void pointer है

Why we use void pointers?

हम void pointers का उपयोग इसकी reusability के कारण करते है | Void pointers  किसी भी टाइप के ऑब्जेक्ट का एड्रेस स्टोर कर सकता है और हम indirection operator का उपयोग करके उचित टाइपकास्टिंग के साथ किसी भी टाइप के ऑब्जेक्ट को पुनः प्राप्त कर सकते हैं।

Example -:

#include<stdio.h>   
void main()   
{   
//Declaration & initialization of different pointers
  int a=6; 
  float b=5.2;  
  char c='J';
   void *ptr;
 
   // assigning the address of variable 'a' 
   ptr=&a;  
   printf("value of 'a' is : %d",*((int*)ptr));  
 
   // assigning the address of variable 'b'  
   ptr=&b;  
   printf("\nvalue of 'b' is : %f",*((float*)ptr));  
 
   // assigning the address of variable 'c'  
   ptr=&c;  
    printf("\nvalue of 'c' is : %c",*((char*)ptr));  
  
}  

Output -:

value of 'a' is : 6
value of 'b' is : 5.200000
value of 'c' is : J

 

 

Explanation  -: 

ऊपर दिए गए प्रोग्राम को आप सबसे पहले एक बार अच्छे से देखे! इस प्रोग्राम में हमने एक void पॉइंटर ptr नाम से बनाया है जो अलग अलग टाइप (int, char, float) वाले वेरिएबल्स (a, b, c) का एड्रेस बारी बारी पॉइंट करता है और indirection operator तथा उचित टीपकास्टिंग का उपयोग करते हुए इनके वैल्यूज को वापस लौटता है

Advantages of Void Pointers

  • malloc() और calloc() फ़ंक्शन void pointer रिटर्न करते हैं, इसलिए इन functions का उपयोग किसी भी डेटा टाइप की मेमोरी allocate करने के लिए किया जाता है।
  • Generic functions के कांसेप्ट को implement करने के लिए सी लैंग्वेज में void pointer का उपयोग किया जाता है
  • Void pointer का उपयोग करके हम एक generic linked list भी create कर सकते हैं।

Important points 

  • Void pointer के साथ पॉइंटर अरिथमेटिक ऑपरेशन्स परफॉर्म नहीं किया जा सकता |
  • इसे dereferenced के रूप में उपयोग नहीं किया जा सकता है।

आइये इन दोनों बातों को हम उदाहरण के एक द्वारा समझते है

Dereferencing a void pointer in C

अन्य पॉइंटर्स की तरह, हम void pointers को dereference नहीं कर सकते क्योंकि कंपाइलर के पास पॉइंट ऑब्जेक्ट के बारे में कोई जानकारी नहीं होती । यदि हम नीचे दिए गए कोड को Compile करने का प्रयास करते हैं तो हमें कंपाइलर error मिलेगी।

#include <stdio.h> 

void main() 

{ 

   int a=90; 

   void *ptr; 

   ptr=&a; 

   printf("Value which is pointed by ptr pointer : %d",*ptr); 

} 

 

Monday, November 29, 2021

November 29, 2021

Loops In C Language By:-Sapan Das

Loops In C Language

इस ब्लॉग में हम c language में पाए जाने वाले विभिन्न लूप के बारे में पढेंगे

What Is Loops In C :-----

लूप कि सहायता से हम प्रोग्राम में sequence ऑफ़ statement को तब तक एक्सीक्यूट करा सकते है जब तक कि वह स्टेटमेंट दिए गए शर्त अथवा condition को पूरा नहीं करता 

प्रोग्रामिंग लूप के दो भाग होते है पहला body of loop और दूसरा control statement  जिसमे control स्टेटमेंट दिए गए condition को चेक  करता है अगर condition सही होता है तो body of loop execute होते रहता है |

लूप में control के स्थिति के आधार पर इसे दो वर्गों में विभाजित किया गया है 

1. Entry level Loop 

एंट्री control लूप में पहले condition टेस्ट होता है अगर condition सही होता है तभी body of loop एक्सीक्यूट होता है इसे हम top tested loop के नाम से भी जानते है 

2. Exit level Loop

एग्जिट  control लूप में पहले body of loop एक्सीक्यूट होता है फिर condition टेस्ट होता है अगर condition सही होता है तो फिर से body of loop एक्सीक्यूट होता है   इसे हम Bottom  tested loop के नाम से भी जानते है 


 






किसी Looping Process में मुख्यतः चार  स्टेप होते है 

1. कंडीशनल अथवा काउंटर variable को set तथा इनिशियलाइज़ करना

2. specified value को  दिए गए कंडीशन के साथ टेस्ट करते है 

3.body of loop को एक्सीक्यूट करते है 

4. Counter वेरिएबल को    Increament/ Decreament  कर update करते है 

C Language में मुख्यतः टीम प्रकार के loop पाए जाते है 

1 FOR LOOP

2. While loop

3. Do While Loop

1. for loop :--

for loop क लैंग्वेज में entry controlled loop के अंतर्गत आता है यह तीनो loop में shortest loop है क्यूंकि

इसमें loop के सभी स्टेप सिंगल लाइन में हो जाता है अर्थात initialization ,increment/ decrement और test condition एक ही लाइन में होता है 

Syntax;-

for( initialization; test-condition; increment/decrement)
{
body of the loop;
}











Prog:- Write a program to print the series from o to 10 using for loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i;

clrscr();

for(i=0;i<=10;i++)

{

printf("%d\n",i);

}

getch();

}










Prog:- Write a programe to calculate the factorial of given number

#include<stdio.h>

#include<conio.h>

void main()

{

int n,i;

int fact=1;

printf("Enter any number");

scanf("%d",&n);

if(n<=0)

{

printf("Error!Factorial of Negative or zero Number does not exist");

}

else

{

for(i=1;i<=n;i++)

{

fact=fact*i;

}

printf("factorial of %d=%d",n,fact);

}

getch();

}

Output:--





Saturday, November 27, 2021

November 27, 2021

Switch Case Statement By: Sapan Das

 


C लैंग्वेज में स्विच केस स्टेटमेंट का उपयोग दिए गए विकल्पों में से किसी एक विकल्प को चुनने के लिए किया जाता है | यह एक कण्ट्रोल स्टेटमेंट स्टेटमेंट है जो हमें कई विकल्पों में से चुनने का सुविधा प्रदान करता है |

स्विच में एक expression पास किया जाता है जिसे भिन्न भिन्न केस में दिए गए विकल्पों के साथ तुलना किया जाता है और जिस भी केस विकल्प के साथ स्विच का expression match होता है उसी केस का स्टेटमेंट एक्सीक्यूट होता है यदि कोई भी केस वैल्यू स्विच expression से match नहीं होता है तो डिफ़ॉल्ट स्टेटमेंट एक्सीक्यूट होता है |

syntax:-

switch(expression)

{

case constant-1:

statement-1;

break;

case constant-2:

statement-2;

break;

case constant-3:

statement-3;

break;

-----------

..............

case constant-n:

statement-n;

break;

default :

statement;

}

उपर दिए गए syntax में constant या तो character हो सकता है या integer हो सकता है |

जब स्विच स्टेटमेंट को एक्सीक्यूट किया जाता है तो expression का मूल्यांकन किया जाता है और जिसका केस वैल्यू expression से match होता है  कण्ट्रोल को सीधे उस  स्टेटमेंट के समूह में ट्रान्सफर किया जाता है |

अगर कोई भी केस वैल्यू expression से match नहीं करता है तो default ब्लाक execute होता है  और अगर कोई भी केस वैल्यू expression से match नहीं खता है और साथ में default ब्लाक भी नहीं है तो switch द्वारा कोई भी action नहीं लिया जाता है और control स्विच से बहार ट्रान्सफर हो जाता है |

Flowchart:-



Example:-
#include<stdio.h>

#include<conio.h>

void main()

{

int n1,n2;

char oper;

printf("Enter Any Arithmatic Operator\n");

scanf("%c",&oper);

printf("Enter Any Number");

scanf("%d%d",&n1,&n2);

switch(oper)

{

 case '+':

 printf("%d+%d= %d",n1,n2,n1+n2);

 break;

case '-':

 printf("%d-%d=%d",n1,n2,n1-n2);

 break;

case '*':

 printf("%d*%d=%d",n1,n2,n1*n2);

 break;


case '/':

 printf("%d/%d=%d",n1,n2,n1/n2);

 break;

   default:

   printf("Invalid Operator");

}

getch();

}

OUTPUT:-






Prog:-Write a Menu Driven Program using Switch case for find sum of two number, area of circle and simple interest through user choice

#include<stdio.h>

#include<conio.h>

void main()

{

int choice;

Float rd,area;

int n1,n2,n;

int si,p,r,t;

clrscr();

printf("Press 1 for addition of two number\n");

printf("Press 2 for Simple Interest\n");

printf("Press 3 for Area of Circle\n");

switch(choice)

{

 case 1:

 printf("Enter any two number");

 scanf("%d%d",&n1,&n2);

 n=n1+n2;

 printf("Sum of two number=%d",n);

 break;

 case 2:

 printf("Enter any two number");

 scanf("%d%d%d",&p,&r,&t);

 si=(p*r*t)/100;

 printf("Simple Interest=%d",si);

 break;

Case 3:

printf (" Enter Radious");

scanf ("%f",&rd);

area=3.14*rd*rd;

printf ("Area of Circle=%f",area);

Break;

default:

printf("Invalid Entry");

}

 getch();

}







Prog 3:- Wriite a program to calculate consonent and vowel for given character using switch case

#include<stdio.h>

#include<conio.h>

void main()

{

 char c;

 clrscr();

 printf("Enter any character\n");

 scanf("%c",&c);

 switch(c)

{

 case 'a':

 case 'A' :

 printf("Enter character is vowel");

 break;

  case 'e' :

  case 'E' :

 printf("Enter character is vowel");

 break;

 case 'i':

 case 'I' :

 printf("Enter character is vowel");

 break;

 case 'o':

 case 'O' :

 printf("Enter character is vowel");

 break;

 case 'u':

 case 'U' :

 printf("Enter character is vowel");

break;


 default :

 printf("Enter character is consonent");

}

 getch();

 }




 


Wednesday, August 4, 2021

August 04, 2021

History of Computer in Hindi By :- Vijay Pradhan Sir

 


कंप्यूटर का इतिहास (History of Computer in Hindi) लगभग 300 ई.पू. पहले का माना जाता है, जब मनुष्य गिनती (Counting) करने के लिये लकड़ी, पत्थर, उंगलियों और हड्डियों का उपयोग करते थे। असल मे एक Calculating Device की खोज में ही मनुष्य ने Computer का अविष्कार किया। दिलचस्प बात ये है, कि शब्द कंप्यूटरका प्रयोग 16 वीं शताब्दी में ऐसे व्यक्ति के लिये होता था जो गणितिय गणना करने में माहिर हो।

कंप्यूटर का इतिहास – Brief History of Computer in Hindi

जैसा हमने अभी पढ़ा कि कई सौ साल पहले Computer शब्द का प्रयोग मशीन के लिये नही बल्कि उन व्यक्तियों के लिये किया जाता था जो जटिल गणितीय गणनाओं (Mathematical Calculation) को हल करने में सक्षम होते थे। इन्ही महान गणितज्ञों ने कैलकुलेशन को आसान बनाने के लिये कई प्रकार की संख्या प्रणालियों (Number Systems) को जन्म दिया।

Abacus

 

प्राचीन काल मे गणना करने के लिये कई प्रकार की Calculating Machine का उपयोग किया गया परन्तु Abacus उनमें सबसे प्रमुख रहा जिसका Asia के कई देशों में आज भी इस्तेमाल होता है। हालांकि Abacus का अविष्कार Babylonian में 2400 ई.पू. हो गया था। परन्तु जिस रूप से हम सबसे अधिक परिचित है, उसे China में पहली बार लगभग 500 ई.पू. में विकसित किया गया था। चीन में इसे “Suanpan” अर्थात Calculating Pan कहा जाता है।

ये डिवाइस आमतौर पर लकड़ी से बनी होती है। जिसमे कई धातु की छड़े लगी होती है, जिन पर लकड़ी या मिट्टी से बने मोतियों को पिरोया गया होता है। इसके चित्र में आप देखेंगे मोतियों को एक केंद्र छड़ी जिसे ‘Bar’ कहते है कि मदद से विभाजित किया गया है। इन मोतियों को नियम के हिसाब से ऊपर-नीचे करके ही बुनयादी अंकगणितीय गणनाएं (Arithmetic Operations) जैसे जोड़ और घटाना किये जाते थे।

 

 

ABC Computer लगभग 30 निर्देश प्रति सेकंड निष्पादित करने में सक्षम था। इसके साथ ही इसमें कई महत्वपूर्ण चीजे कंप्यूटर इतिहास में पहली बार लागू की गई थी जो आज भी आधुनिक Computer में मौजूद है जैसे:

·         दिए गए डेटा में सभी संख्याओं को प्रदर्शित करने के लिये Binary Digit (1 और 0) का उपयोग किया गया।

·         मैकेनिकल उपकरणों (Switches और Wheels) के बजाए इलेक्ट्रॉनिक्स का उपयोग करके कैलकुलेशन की गयी।

·         वॉन न्यूमैन आर्किटेक्चर (Von Neumann Architecture) के सिद्धांत का उपयोग किया गया जिसमे मेमोरी और गणना अलग-अलग थे।

ENIAC (Electronic Numerical Integrator and Calculator) जिसे 1973 से पहले दुनिया का पहला इलेक्ट्रॉनिक कंप्यूटर माना जाता था, परन्तु बाद में U.S District Court ने अपने फैसले में ENIAC patent को अमान्य ठहरा दिया। हालांकि इसे दुनिया के पहले सामान्य उद्देशीय इलेक्ट्रॉनिक कंप्यूटर (First General Purpose-Electronic Computer) की उपाधि मिली हुई है।

सन 1945 में जे. प्रेसपेर एकर्ट (J. Presper Eckert) और जॉन मौचली (John Mauchly) द्वारा ENIAC को विकसित किया गया था। इसका उपयोग प्रथम बार U.S Army द्वारा जटिल गणनाएं करने के लिए किया गया। इसमें हजारों इलेक्ट्रॉनिक कॉम्पोनेन्ट का उपयोग किया गया था जिसमे: vacuum tubes, resistors, capacitors और relays शामिल है।

इसी वजह से एनियक का आकार बहुत बड़ा था। इसे रखने के लिये एक पूरे कमरे की आवश्यकता होती थी। चूंकि ये 5000 गणनाएं प्रति सेकंड कर सकता था इसलिए इसे उस समय के सबसे तेज Computer की उपाधि मिली। हालांकि आज के आधुनिक कम्प्यूटरों की तुलना में ये कुछ भी नही है। इसी युग मे कई और महत्वपूर्ण इलेक्ट्रॉनिक कंप्यूटर विकसित किये गए जिन्होंने कम्प्यूटरों के इतिहास में महत्वपूर्ण योगदान दिया जिसमें:

·         UNIAC (Universal Automatic Computer) जिसे जे. प्रेसपेर एकर्ट (J. Presper Eckert) और जॉन मौचली (John Mauchly) द्वारा 1949 में बनाया गया था और ये पहला व्यासायिक कंप्यूटर (First Commercial Computer) था।

·         EDVAC (Electronic Discrete Variable Automatic Computer) एक इलेक्ट्रॉनिक कंप्यूटर था जिसे मौचली और एकर्ट ने वॉन न्यूमैन (Von Neumann) की सहायता से सन 1952 में विकसित किया था। इसे भी दुनिया के शुरुआती प्रोग्राममेबल कंप्यूटर में गिना जाता है।

·         EDSAC (Electronic Delay Storage Automatic Calculator) को एक ब्रिटिश कंप्यूटर वैज्ञानिक सर मौरिस विल्किस (Maurice Wilkes) और उनकी टीम ने यूनिवर्सिटी ऑफ कैंब्रिज में विकसित किया था। यह दुनिया का पहला व्यवहारिक सामान्य उद्देशीय संग्रहित-प्रोग्राम इलेक्ट्रॉनिक कंप्यूटर (Practical general purpose stored-program electronic computer) था।

·         हालांकि आधुनिक कंप्यूटर की कल्पना बहुत पहले ही एलन ट्यूरिंग (Alan Turing) द्वारा की जा चुकी थी। उन्होंने एक ‘Universal Turing Machine’ के अपने आईडिया को प्रस्तुत करते हुए ये साबित किया कि ऐसी मशीन किसी भी चीज की गणना करने में सक्षम है, जिसकी गणना की जा सकती है। उन्ही की इस सोच के आधार पर Computer के निरन्तर विकास में काफी सहायता मिली।

·         लेकिन आज Computer को हम जिस रूप में देखते है उसकी शुरुआत 1950 से हुई जब विलियम शॉकले (William Shockley), जॉन बारडीन (John Bardeen), और वाल्टर बराटीन (Walter Brattain) ने बेल लैब में “Transistor” का अविष्कार किया। इससे पहले Computers में vacuum tubes का उपयोग किया जाता था। चूंकि transistors आकार में छोटे और बिजली की खपत कम करते है। इसलिए जब इन्हें vacuum tube की जगह इस्तेमाल किया गया तो Computers पहले की तुलना में छोटे, तेज और अधिक कुशल हो गए।

·         इसी दौरान सन 1953 में दुनिया की पहली कंप्यूटर भाषा कोबोल (First Computer Language -Cobol) को ग्रेस हॉपर (Grace Hopper) द्वारा विकसित किया गया। हालांकि इसके कुछ ही सालों बाद 1956 में एक और प्रोग्रामिंग भाषा फोरट्रान (Fortran) को भी लांच किया गया। आधुनिक कंप्यूटर के इतिहास में एक महत्वपूर्ण मोड़ तब आया जब 1959 में Integrated Circuit या IC chipका अविष्कार हुआ। इसे जैक किलबी (Jack Kilby) और रोबर्ट नॉएस (Robert Noyce) द्वारा बनाया गया था।

·         इसकी खासियत ये थी कि इस एक चिप में कुई सारे इलेक्ट्रॉनिक घटकों जैसे, ट्रांजिस्टर, रजिस्टर और कैपिसिटर को आपस मे जोड़ दिया गया। जिस कारण Computer पहले के मुकाबले आकार में काफी छोटे और अधिक शक्तिशाली हो गए। Integrated Circuit के विकसित होने से ही PC, Laptop और Mobile Phones जैसे कई इलेक्ट्रॉनिक उपकरण के बनने का रास्ता साफ हो सका।

·         इसके कई सालों बाद लगभग 1980 में MS-Dos (Microsoft Disk Operating System) जिसे उप्पर चित्र में दर्शाया गया है, को विकसित किया गया। जिसे IBM के पहले Personal Computer (IBM Model 5150) के साथ उपयोग किया गया था। इस समय तक Computers काफी आधुनिक हो चुके थे और अब वे गणनाएं करने के अलावा भी कई तरह के कार्य करने में सक्षम थे।

·         आगे भी Computer तकनीक में कई सारे बदलाव हुए जिसके फलस्वरूप आज ये इलेक्ट्रॉनिक डिवाइस इतनी उपयोगी बन पायी। इसकी उपयोगिता का अंदाजा आप इस बात से लगा सकते है, कि आज लगभग हर क्षेत्र में कंप्यूटर का उपयोग विभिन्न कार्यो के लिए किया जाता है।

·         कंप्यूटर का इतिहास संक्षेप में

·         कंप्यूटर का इतिहास (History of Computer in Hindi) एक कैलक्युलेटिंग डिवाइस को विकसित करने की सोच से शुरू होता है। हमने आपको गणना मशीन से आधुनिक कंप्यूटर के बनने तक का इतिहास उप्पर बताया। उम्मीद है, इस पोस्ट के माध्यम से आप विषय को बेहतर तरिके से समझ पाए होंगे। अगर आपके पास कंप्यूटर इतिहास से सम्बंधित कोई सवाल या सुझाव हो तो कृपिया कमेंट में हमे जरूर बताये। कंप्यूटर फंडामेंटल्स से सम्बंधित अधिक जानकारी के लिए निचे दिए पोस्ट पढ़े।

·         अंत में पोस्ट ज्ञानवर्धक लगी हो तो कृपया इसे Social Media पर Share जरूर करे, ताकि आपके माध्यम से अन्य लोगों तक यह जानकारी पहुंच पाए।

 

Tuesday, August 3, 2021

August 03, 2021

vb.net Introduction

VB.Net एक सरल, आधुनिक, ऑब्जेक्ट-ओरिएंटेड कंप्यूटर प्रोग्रामिंग भाषा है जिसे Microsoft द्वारा power of .NET Framework और common language runtime की विशेषताओं के साथ मिलाकर बनाया गया है |VB.Net प्रोग्रामिंग काफी हद तक बेसिक और विजुअल बेसिक प्रोग्रामिंग भाषाओं पर आधारित है Visual Basic .NET (VB.NET) एक ऑब्जेक्ट-ओरिएंटेड कंप्यूटर प्रोग्रामिंग भाषा है जिसे .NET फ्रेमवर्क पर लागू किया गया है। यद्यपि यह क्लासिक विजुअल बेसिक भाषा का विकास है, यह VB6 लिखा गया कोई भी कोड VB.NET के अंतर्गत नहीं होता है। इसमें प्रत्येक कार्य object के माध्यम से किया जाता है तथा प्रत्येक ऑब्जेक्टों बेस क्लास से इन्हेरिट होता है
 VB.NET object-oriented concepts को पूर्णरूप से सपोर्ट करता है .
 Everything in VB.NET is an object, including all of the primitive types (Short, Integer, Long, String, Boolean, etc.) and user-defined types, events, and even assemblies. All objects inherits from the base class Object. VB.NET को Microsoft's .NET framework के द्वारा implement किया गया है अतः सभी libraries को पूर्ण रूप से एक्सेस कर सकता है 
 The following reasons make
 VB.Net a widely used professional language − 
 Modern, general purpose. 

 Object oriented. Component oriented. 

 Easy to learn. 

 Structured language. 

 It produces efficient programs. 

 It can be compiled on a variety of computer platforms.

 Part of .Net Framework. 

  Strong Programming Features VB.Net 

 Boolean Conditions 

 Automatic Garbage Collection 

 Standard Library 

 Assembly Versioning Properties and Events

 Easy-to-use 

 Conditional Compilation 

 Simple Multithreading