C-and-C++/C2/Scope-Of-Variables/Punjabi

From Script | Spoken-Tutorial
Revision as of 15:57, 5 November 2013 by Khoslak (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Timing Narration


00.01 C ਅਤੇ C++ ਦੇ ਵੈਰੀਏਬਲਸ ਦੇ ਸਕੋਪ (Scope of variables) ਦੇ ਸਪੋਕਨ ਟਯੂਟੋਰਿਅਲ ਵਿਚ ਤੁਹਾਡਾ ਸੁਆਗਤ ਹੈ।
00.08 ਇਸ ਟਯੂਟੋਰੀਅਲ ਵਿਚ ਅਸੀਂ ਸਿਖਾਂਗੇ,
00.11 ਵੈਰੀਏਬਲ ਦੇ ਸਕੋਪ (Scope of variable) ਕੀ ਹੈ?
00.13 ਗਲੋਬਲ ਵੈਰੀਏਬਲ ਕੀ ਹੈ?
00.16 ਲੋਕਲ ਵੈਰੀਏਬਲ ਕੀ ਹੈ?
00.19 ਕੁਝ ਉਦਾਹਰਣ,
00.22 ਅਸੀਂ ਕੁਝ ਆਮ ਗ਼ਲਤੀਆਂ ਅਤੇ ਉਹਨਾਂ ਦੇ ਹੱਲ ਵੀ ਦੇਖਾਂਗੇ।
00.27 ਇਸ ਟਯੂਟੋਰਿਅਲ ਨੂੰ ਰਿਕਾਰਡ ਕਰਨ ਲਈ, ਮੈਂ ਵਰਤ ਰਹੀ ਹਾਂ
00.30 ਊਬੰਤੂ ਅੋਪਰੇਟਿੰਗ ਸਿਸਟਮ ਵਰਜ਼ਨ 11.04,

gcc ਅਤੇ g++ ਕੰਪਾਇਲਰ ਵਰਜ਼ਨ 4.6.1 (Ubuntu operating system version 11.04, gcc and g++ Compiler version 4.6.1)

00.41 ਆਉ ਵੈਰੀਏਬਲਸ ਦੇ ਸਕੋਪ (scope of variables) ਦੀ ਇੰਟਰੋਡੇਕਸ਼ਨ ਨਾਲ ਸ਼ੁਰੂ ਕਰੀਏ।
00.47 ਇਹ ਕੋਡ ਦਾ ਰਿਜ਼ਨ ਹੈ ਜਿਸ ਵਿਚ ਵੈਰੀਏਬਲ ਅਕਸੈਸ (variable access) ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
00.54 ਟਾਈਪ ਅਤੇ ਡੇਕਲੇਰੇਸ਼ਨ ਦੀ ਜਗਾਹ ਤੇ ਨਿਰਭਰ ਕਰਦਿਆਂ ਇਸ ਨੂੰ ਦੋ ਕੈਟਾਗਰੀਸ (categories) ਵਿਚ ਵੰਡਿਆ ਗਿਆ ਹੈ :
00.59 ਗਲੋਬਲ ਵੈਰੀਏਬਲ (Global Variable) ਅਤੇ
01.02 ਲੋਕਲ ਵੈਰੀਏਬਲ (Local Variable.)
01.05 ਹੁਣ ਅਸੀਂ ਇਕ ਉਦਾਹਰਣ ਵੇਖਾਂਗੇ.
01.07 ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਐਡੀਟਰ ਤੇ ਪ੍ਰੋਗਰਾਮ ਟਾਈਪ ਕਰ ਚੁੱਕੀ ਹਾਂ।
01.10 ਮੈਨੂੰ ਇਹ ਖੋਲ੍ਹਣ ਦਿਉ
01.14 ਧਿਆਨ ਦਿਉ ਕਿ ਸਾਡੀ ਫਾਈਲ ਦਾ ਨਾਮ ਸਕੋਪ.ਸੀ (scope.c) ਹੈ।
01.19 ਮੈਂ ਹੁਣ ਕੋਡ ਦਸਾਂਗੀ ।
01.23 ਇਹ ਸਾਡੀ ਹੈਡਰ ਫਾਈਲ ਹੈ ।
01.26 ਇਥੇ ਅਸੀਂ ਦੋ ਗਲੋਬਲ ਵੈਰੀਏਬਲ a ਅਤੇ b ਘੋਸ਼ਿਤ (declare) ਕੀਤੇ ਹਨ।
01.32 ਅਤੇ ਅਸੀਂ ਇਹਨਾਂ ਨੂੰ 5 ਅਤੇ 2 ਵੈਲਯੂ ਦੇ ਕੇ ਸ਼ੁਰੂ (initialize) ਕਰ ਦਿਤਾ ਹੈ।
01.39 ਗਲੋਬਲ ਵੈਰੀਏਬਲ (global variable) ਤੁਹਾਡੇ ਪ੍ਰੋਗਰਾਮ ਵਿਚ ਸਾਰੇ ਫੰਕਸ਼ਨਸ ਲਈ ਉਪਲੱਭਦ ਹੁੰਦਾ ਹੈ।
01.44 ਇਹ ਫੰਕਸ਼ਨ ਮੇਨ () ਫੰਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਕਿਸੇ ਵੀ ਫੰਕਸ਼ਨ ਤੋਂ ਬਾਹਰ ਘੋਸ਼ਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
01.51 ਇਹਨਾਂ ਦਾ ਸਕੋਪ, ਗਲੋਬਲ ਹੁੰਦਾ ਹੈ।
01.53 ਇਥੇ ਅਸੀਂ ਫੰਕਸ਼ਨ ਐਡ ਵਿਦਾਆਉਟ ਆਰਗੁਮੈਨਟਸ (function add without arguments) ਘੋਸ਼ਿਤ ਕੀਤਾ ਹੈ ।
01.59 ਇਥੇ ਸਮ (sum) ਇਕ ਲੋਕਲ ਵੈਰੀਏਬਲ (local variable) ਹੈ ਜੋ ਕਿ ਐਡ ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਘੋਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।
02.07 ਲੋਕਲ ਵੈਰੀਏਬਲ (local variable) ਸਿਰਫ ਉਸੇ ਫੰਕਸ਼ਨ ਵਿਚ ੳਪਲੱਭਦ ਹੁੰਦਾ ਹੈ ਜਿਸ ਵਿਚ ਇਹ ਘੋਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।
02.13 ਇਹ ਵੈਰੀਏਬਲ, ਬਲੋਕ ਦੇ ਅੰਦਰ ਘੋਸ਼ਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
02.16 ਇਹਨਾਂ ਦਾ ਸਕੋਪ ਲੋਕਲ (scope local) ਹੁੰਦਾ ਹੈ।
02.19 a ਅਤੇ b ਦਾ ਜੋੜ, ਵੈਰੀਏਬਲ ਸਮ (sum) ਵਿਚ ਸਟੋਰ ਹੋ ਜਾਏਗਾ। ਇਥੇ ਅਸੀਂ ਸਮ (sum) ਨੂੰ ਪਰਿੰਟ ਕਰਾਂਗੇ ।
02.29 ਇਹ ਸਾਡਾ ਮੇਨ ਫੰਕਸ਼ਨ ਹੈ।
02.33 ਪਹਿਲਾਂ ਐਡ (add) ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ (call) ਕਰਨਾ ਅਤੇ ਫੇਰ ਇਸਨੂੰ ਐਕਜ਼ੀਕਿਯੂਟ ਕਰਨਾ ਹੈ।
02.38 ਅਤੇ ਇਹ ਰਿਟਰਨ ਸਟੇਟਮੈਂਟ ਹੈ।
02.40 ਹੁਣ ਸੇਵ ਤੇ ਕਲਿਕ ਕਰੋ
02.43 ਆਉ ਅਸੀਂ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਐਕਜ਼ੀਕਿਯੂਟ ਕਰੀਏ।
02.45 ਟਰਮਿਨਲ ਵਿੰਡੋ ਖੋਲ੍ਹਣ ਲਈ ਆਪਣੇ ਕੀ-ਬੋਰਡ ’ਤੇ Ctrl, Alt ਅਤੇ T ਬਟਨ ਇੱਕਠੇ ਦਬਾਉ।
02.55 ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਟਾਈਪ ਕਰੋ
02.56 ਜੀਸੀਸੀ ਸਕੋਪ.ਸੀ -ਅੋ ਐਸਸੀਓ

(gcc scope.c -o sco) ਅਤੇ ਐਂਟਰ ਦਬਾਉ ।

03.05 ਐਕਜ਼ੀਕਿਯੂਟ ਕਰਨ ਲਈ
03.06 ./sco ਟਾਈਪ ਕਰਕੇ ਐਂਟਰ ਦਬਾਉ
03.10 ਆਉਟਪੁਟ ਇੰਝ ਦਰਸਾਏਗਾ
03.13 a ਅਤੇ b ਦਾ ਜੋੜ 7 ਹੈ।

Sum of a and b is 7

03.16 ਆਉ ਹੁਣ ਅਸੀਂ ਵੇਖੀਏ ਕਿ ਇਹੀ ਪ੍ਰੋਗਰਾਮ, C++ ਵਿਚ ਕਿਵੇਂ ਐਕਜ਼ੀਕਿਯੂਟ ਹੁੰਦਾ ਹੈ।
03.20 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਸ ਆਉ। ਪਹਿਲਾਂ ਆਪਣੇ ਕੀ-ਬੋਰਡ ’ਤੇ Shift Ctrl' & S ਬਟਨ ਇੱਕਠੇ ਦਬਾਉ।
03.31 ਹੁਣ ਐਕਸਟੈਨਸ਼ਨ .cpp ਨਾਲ ਫਾਈਲਸੇਵ ਕਰੋ ਅਤੇ ਸੇਵ ਤੇ ਕਲਿਕ ਕਰੋ।
03.41 ਆਉ ਹੈਡਰ ਫਾਈਲਨੂੰ ਬਦਲ ਕੇ ਆਈਓਸਟਰੀਮ (iostream) ਪਾਈਏ
03.47 ਹੁਣ ਯੂਜ਼ੀਂਗ ਸਟੇਟਮੈਂਟ ਸ਼ਾਮਿਲ ਕਰੋ। ਸੇਵ ਤੇ ਕਲਿਕ ਕਰੋ।
03.58 C++ ਵਿਚ ਵੀ ਗਲੋਬਲ ਵੈਰੀਏਬਲ ਅਤੇ ਲੋਕਲ ਵੈਰੀਏਬਲ ਡੇਕਲੇਰੇਸ਼ਨ ਉਸ ਤਰ੍ਹਾਂ ਹੀ ਹੈ।
04.03 ਇਸ ਲਈ ਇਥੇ ਕੁਝ ਵੀ ਬਦਲਣ ਦੀ ਜਰੂਰਤ ਨਹੀਂ ਹੈ।
04.07 ਹੁਣ printf ਸਟੇਟਮੈਂਟ ਦੀ ਜਗਾ੍ਹ ਤੇ ਸੀਆਉਟ (cout) ਸਟੇਟਮੈਂਟ ਕਰੋ ।
04.13 ਫੋਰਮੇਟ ਸਪੇਸੀਫਾਇਰ (format specifier) ਅਤੇ \n ਨੂੰ ਡਿਲੀਟ ਕਰੋ
04.17 ਕੋਮਾ, ਡਿਲੀਟ ਕਰੋ
04.19 ਦੋ ਔਪਨਿੰਗ ਐਂਗਲ ਬਰੈਕਟਸ ਟਾਈਪ ਕਰੋ।
04.22 ਇਥੇ ਕਲੋਜ਼ਿੰਗ ਬਰੈਕਟਸ, ਡਿਲੀਟ ਕਰ ਦਿਉ। ਦੁਬਾਰਾ ਦੋ ਔਪਨਿੰਗ ਐਂਗਲ ਬਰੈਕਟਸ ਟਾਈਪ ਕਰੋ
04.26 ਅਤੇ ਡਬਲ ਕੋਟਸ ਵਿਚ ਬੈਕਸਲੈਸ਼ ਐਨ (backslash n) ਟਾਈਪ ਕਰੋ। ਹੁਣ ਸੇਵ ਤੇ ਕਲਿਕ ਕਰੋ
04.35 ਆਉ ਪ੍ਰੋਗਰਾਮ ਐਕਜ਼ੀਕਿਯੂਟ ਕਰੀਏ
04.39 ਟਰਮਿਨਲ ਤੇ ਵਾਪਸ ਆਉ
04.42 ਕੰਪਾਇਲ ਕਰਨ ਲਈ, ਜੀ++ ਸਕੋਪ. ਸੀਪੀਪੀ ਹਾਈਫਨ ਅੋ ਐਸਸੀਓ1 (g++ scope.cpp -o sco1)

ਟਾਈਪ ਕਰੋ

04.52 ਇਥੇ ਅਸੀਂ ,./sco1, ਕੀਤਾ ਹੈ ਕਿਉਂਕਿ ਅਸੀਂ ਸਕੋਪ.ਸੀ ਦੇ ਫਾਈਲ (file sco1) ਦੇ ਆਉਟਪੁਟ ਪੈਰਾਮੀਟਰ ਨੂੰ ਅੋਵਰ-ਰਾਈਟ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ। ਹੁਣ ਐਂਟਰ ਦਬਾਉ
05.07 ਐਕਜ਼ੀਕਿਯੂਟ ਕਰਨ ਲਈ ./sco1 ਟਾਈਪ ਕਰੋ ਅਤੇ ਐਂਟਰ ਦਬਾਉ ਆਉਟਪੁਟ ਇੰਝ ਦਰਸਾਏਗਾ :
05.17 a ਅਤੇ b ਦਾ ਜੋੜ 7 ਹੈ।

Sum of a and b is 7.

05.19 ਅਸੀਂ ਵੇਖਦੇ ਹਾਂ ਕਿ ਆਉਟਪੁਟ ਸਾਡੇ C ਕੋਡ ਵਰਗੀ ਹੀ ਹੈ ਆਉ ਅਸੀਂ ਉਹ ਆਮ ਗਲਤੀਆਂ ਵੇਖੀਏ ਜਿਹੜੀਆਂ ਅਸੀਂ ਅਕਸਰ ਕਰ ਦਿੰਦੇ ਹਾਂ।
05.31 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ’ਤੇ ਵਾਪਸ ਆਉ। ਮੰਨ ਲਉ ਕਿ ਇਥੇ ਮੈਂ ਵੈਰੀਏਬਲ a ਦੁਬਾਰਾ ਘੋਸ਼ਿਤ ਕਰਦੀ ਹਾਂ
05.41 int a ; ਟਾਈਪ ਕਰੋ
05.45 ਸੇਵ ਤੇ ਕਲਿਕ ਕਰੋ। ਅਸੀਂ ਵੈਰੀਏਬਲ a, ਮੇਨ ਫੰਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਐਡ ਫੰਕਸ਼ਨ ਤੋਂ ਬਾਅਦ ਘੋਸ਼ਿਤ ਕੀਤਾ ਹੈ, ਆਉ ਵੇਖੀਏ ਕੀ ਹੁੰਦਾ ਹੈ,
05.57 ਆਪਣੇ ਟਰਮਿਨਲ ਤੇ ਵਾਪਸ ਆਉ
06.01 ਪਹਿਲਾਂ ਵਾਂਗ ਕੰਪਾਇਲ ਕਰੋ,
06.05 ਅਸੀਂ ਗਲਤੀਆਂ ਵੇਖੀਏ: ਆਈਐਨਟੀ ਦੀ ਰੀਡੈਫੀਨੇਸ਼ਨ, ਆਈਐਨਟੀ ਪਹਿਲਾਂ ਇਥੇ ਡਿਫਾਈਨ ਕੀਤਾ ਗਿਆ (Redefinition of int a, int a previously defined here) । ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਸ ਆਉ।
06.18 a ਇਕ ਗਲੋਬਲ ਵੈਰੀਏਬਲ ਹੈ।
06.20 ਇਸਦਾ ਸਕੋਪ ਗਲੋਬਲ ਹੈ।
06.22 ਅਸੀਂ ਵੈਰੀਏਬਲ ਦੋ ਵਾਰ ਘੋਸ਼ਿਤ ਨਹੀਂ ਕਰ ਸਕਦੇ ਕਿਉਂਕਿ ਇਹ ਪਹਿਲਾਂ ਹੀ ਗਲੋਬਲ ਘੋਸ਼ਿਤ ਹੋ ਚੁੱਕਾ ਹੈ।
06.27 ਅਸੀਂ ਵੈਰੀਏਬਲ a ਨੂੰ ਸਿਰਫ ਲੋਕਲ ਵੈਰੀਏਬਲ

ਦੀ ਤਰ੍ਹਾਂ ਘੋਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ।

06.34 ਆਉ ਗਲਤੀ ਨੂੰ ਠੀਕ ਕਰੀਏ।
06.36 ਇਸ ਨੂੰ ਡਿਲੀਟ ਕਰ ਦਿਉ ।
06.39 ਸੇਵ ਤੇ ਕਲਿਕ ਕਰੋ।
06.41 ਚਲੋ ਐਕਜ਼ੀਕਿਯੂਟ ਕਰੀਏ।
06.42 ਆਪਣੇ ਟਰਮਿਨਲ ਤੇ ਵਾਪਸ ਆਉ।
06.45 ਹੁਣ ਪਹਿਲਾਂ ਵਾਂਗ ਕੰਪਾਇਲ ਕਰੋ, ਪਹਿਲਾਂ ਵਾਂਗ ਐਕਜ਼ੀਕਿਯੂਟ ਕਰੋ।
06.49 ਹਾਂ ਇਹ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ।
06.52 ਇਹ ਸਾਨੂ ਇਸ ਟਿਯੂਟੋਰਿਅਲ ਦੇ ਅੰਤ ’ਤੇ ਲੈ ਆਇਆ ਹੈ।
06.56 ਆਉ ਸੰਖੇਪ ਕਰੀਏ
06.58 ਇਸ ਟਿਯੂਟੋਰਿਅਲ ਵਿਚ ਅਸੀਂ ਸਿੱਖਿਆ ਹੈ,
07.00 ਵੈਰੀਏਬਲ ਦਾ ਸਕੋਪ,
07.02 ਗਲੋਬਲ ਵੈਰੀਏਬਲ, e.g : int a=s &
07.07 ਅਤੇ ਲੋਕਲ ਵੈਰੀਏਬਲ ,e.g:int sum
07.12 ਇਕ ਅਸਾਈਨਮੈਂਟ ਵਜੋਂ
07.14 ਦੋ ਨੰਬਰ ਦੇ ਅੰਤਰ (difference) ਨੂੰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਇਕ ਪ੍ਰੋਗਰਾਮ ਲਿਖੋ।
07.19 ਨੀਚੇ ਦੱਸੇ ਗਏ ਲਿੰਕ ’ਤੇ ਦਿਤੀ ਗਈ ਵੀਡੀਊ ਵੇਖੋ ।
07.22 ਇਹ ਸਪੋਕਨ ਟਿਯੂਟੋਰਿਅਲ ਪੋ੍ਰਜੈਕਟ ਨੂੰ ਸੰਖੇਪ ਕਰਦਾ ਹੈ ।
07.25 ਜੇ ਤੁਹਾਡੇ ਇੰਟਰਨੈਟ ਦੀ ਸਪੀਡ ਚੰਗੀ ਨਹੀਂ ਹੈ ਤਾਂ ਤੁਸੀਂ ਇਸ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਕੇ ਦੇਖ ਸਕਦੇ ਹੋ।
07.30 ਸਪੋਕਨ ਟਿਯੂਟੋਰਿਅਲ ਪੋ੍ਜੈਕਟ ਟੀਮ
07.32 ਸਪੋਕਨ ਟਿਯੂਟੋਰਿਅਲ ਦੀ ਵਰਤੋਂ ਨਾਲ ਵਰਕਸ਼ਾਪ ਲਗਾਉਂਦੀ ਹੈ ।
07.35 ਔਨਲਾਈਨ ਟੈਸਟ ਪਾਸ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਸਰਟੀਫਿਕੇਟ ਦਿਤਾ ਜਾਂਦਾ ਹੈ ।
07.40 ਜਿਆਦਾ ਜਾਣਕਾਰੀ ਲਈ, contact @spoken-tutorial.org ਤੇ ਲਿਖ ਕੇ ਸੰਪਰਕ ਕਰੋ।
07.47 ਸਪੋਕਨ ਟਿਯੂਟੋਰਿਅਲ ਪੋ੍ਰਜੈਕਟ “ਟਾਕ ਟੂ ਏ ਟੀਚਰ ਪੋ੍ਜੈਕਟ” (Talk to a Teacher project) ਦਾ ਇਕ ਹਿੱਸਾ ਹੈ।
07.52 ਇਸ ਦਾ ਸਮਰੱਥਨ ਆਈ.ਸੀ.ਟੀ.( ICT), ਐਮ. ਐਚ.ਆਰ.ਡੀ.(MHRD), ਭਾਰਤ ਸਰਕਾਰ ਦੇ ਨੈਸ਼ਨਲ ਮਿਸ਼ਨ ਅੋਨ ਏਜੂਕੈਸ਼ਨ (National Mission on Education) ਕਰਦਾ ਹੈ।
08.00 ਇਸ ਮਿਸ਼ਨ ਦੀ ਹੋਰ ਜਾਣਕਾਰੀ ਇਸ ਲਿੰਕ ’ਤੇ ਉਪਲੱਭਦ ਹੈ : http://spoken-tutorial.org\NMEICT-Intro
08.04 ਇਸ ਸਕਰਿਪਟ ਦਾ ਅਨੁਵਾਦ ਮਹਿੰਦਰ ਰਿਸ਼ਮ ਨੇ ਕੀਤਾ ਹੈ।
08.08 ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਧੰਨਵਾਦ ।

Contributors and Content Editors

Gagan, Khoslak, PoojaMoolya, Pratik kamble