Difference between revisions of "Script | Spoken-Tutorial:About"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 180: Line 180:
 
     5th row is 0 -1 0 -1 0 -1 because 5th constraint has variables x1,2, x2,2 and x3,2.
 
     5th row is 0 -1 0 -1 0 -1 because 5th constraint has variables x1,2, x2,2 and x3,2.
 
|-
 
|-
| 00:52
+
| Slide 15
|ਇਸ ਦੇ ਲਈ ਸਿੰਟੈਕਸ (syntax) ਇਹ ਹੈ
+
Input Parameters
 +
 
 +
|  
 +
    * The  vector of right hand side of constraints is b 45 60 35 -50 -60.
 +
 
 +
    * lb is equal to zero for all variables as all xi,j are greater than or equal to zero.
 +
 
 +
    * In our example, we do not require Aeq, beq and ub.
 
|-
 
|-
 
| 00:55
 
| 00:55

Revision as of 17:04, 28 May 2015

Time Narration
Slide 1

Welcome

Welcome to the spoken tutorial on solving Linear programming problems with two-index variables in Scilab.
Slide 2

Objective

In this tutorial, we will learn how to:
 * Solve a Linear Programming problem having variables with two indices in Scilab.
 * Use Karmarkar function. 
 * Use Transportation Problem as an example of Linear Programming.
Slide 3

Prerequisites

In order to understand this tutorial:
  * You should have gone through the spoken tutorial on 'Optimization Using Karmarkar Function'.
  * This tutorial is available on the Spoken Tutorial website.
  * You should be familiar with Linear Programming.
  * And have Scilab installed on your system.
Slide 4

Terminology

In this tutorial, we will refer to:
  * Linear Programming as LP. And 
  * Transportation Problem as TP.
Slide 5

What is two-index variable?

 * If a variable has two indices in LP, then it is called a two-index variable.
 * For example x one comma two. Here x has two indices 1 and 2.
 * An example of  LP with two-index variables is the TP.
Slide 6

What is Transportation Problem?

To understand the transportation problem, we consider the following network as an example

This network has three supply nodes - plant P1, plant P2 and plant P3, two demand nodes - site S1 and site S2

We can transport goods from P1 node to S1 and S2 with transporting cost c1,1 and c1,2.

Similarly, goods from P2 to S1 and S2 with transporting cost c2,1 and c2,2.

Goods from P3 to S1 and S2 with transporting cost c3,1 and c3,2, respectively.

 * The aim is to supply goods from the plants to the sites, with total minimum transportation cost. 
 * Supply nodes cannot transport more than their capacity. 
 * Note that all the demand at the sites must be met. 
 * Supply capacities, demands and transportation costs are known. 
Slide 7

Transportation Problem Example

  * A cement company transports cement from plants 1, 2 and 3 to construction sites 1 and 2.
  * The available supply at each plant is: 
      plant-1: 45 tons, plant-2: 60 tons and
      plant-3: 35 tons.
  * The demands of sites are: 
      site-1: 50 tons and
      site-2: 60 tons.
Slide 8

Transportation Problem Example

Point to the table
  * The  cost of transporting 1 ton of cement from each plant to each site, is given in the table:

Transporting cost from plant one to site one and site two is three and two respectively.

Similarly, other plants have transporting cost.

Each plant has Available Supply.

Each site has Demand.

  * We will formulate it as LP problem and find its optimal solution. 
Slide 9

Decision Variable

  * Two-index decision variable: xi,j is the number of tons transported from plant i to site j.
Slide 10

Formulation

Formulation of this problem is:
  * Objective function:
    Minimize
    3 x1,1 plus 2x1,2 plus x2,1 plus 5x2,2 plus 5x3,1 plus 4x3,2.
  * Constraints:
    Since plant-1 can not supply more than its capacity, therefore we have
    x1,1 plus x1,2  is less than or equal to  forty five
    Similary for plant-2, we have
    x2,1 plus x2,2  is less than or equal to  sixty
    Similary for plant-3, we have
    x3,1 plus x3,2 is less than or equal to  thirty five
  * Demand at the site-1 must be met, therefore we have
    x1,1 plus x2,1 plus x3,1  is greater than or equal (>=) to  fifty. It is equivalent to minus x1,1 minus x2,1 minus x3,1 is less than or     equal (<=)to minus fifty(-50). 
    Both constraints are equivalent to each other. 
    We multiplied with -1 to make inequality constraints in 'less than or equal to' form for Karmarkar function.
    Similarly at site-2, we have
   x1,2  plus x2,2  plus x3,2  is greater than or equal to (>=) sixty. It is equivalent to minus x1,2  minus x2,2  minus x32 is less than or       equal (<=) to minus sixty(-60). 


 * xi,j is greater than or equal to zero (This is because transported quantity can not be negative). 
   i is 1, 2, 3 because we have 3 supply nodes in this example.
   And j is 1, 2 because we have two demand nodes.
Slide 11

Karmarkar Function in Scilab

 * Karmarkar function is LP solver in Scilab.
 * Karmarkar function solves the LP problem 
in the following form-
Slide 12

Karmarkar Function in Scilab

             Minimize c transpose X.
             subject to AeqX is equal to beq
             which means constraints have equality sign.
             AX less than or equal to b
             which means constraints with greater than or equal to sign must be by multiplied by -1.
             lb less than or equal to X less than or equal to ub.
             Where, lb stands for lower bounds and ub stands for upper bounds on the variables. 
  * c transpose,  Aeq, beq, A, b,  lb and ub are the known parameters.
  * x is the vector of decision variables.
Slide 13

Input Parameters

Coming back to our example.
  * The coefficient vector of objective function is c transpose 3 2 1 5 5 4.
    This vector size will change according to the example.In our example, it contains 6 numbers. 
Slide 14

Input Parameters

  * The coefficient matrix of constraints is capital A . 
    In the first row, we have 1 1 and rest of the values are zero.
    This is because in our 1st constraint only variables x1,1 and x1,2 are present, and rest of the variables have zero coefficient.
    Row 2 is 0 0 1 1 0 0 because 2nd constraint  has variables x2,1 and x2,2.
    And Row 3 is 0 0 0 0 1 1 because 3rd constraint  has variables x3,1 and x3,2.
    In fourth row, we have -1 0 -1 0 -1 0. 
    This because in our 4th constraint only variables are x1,1, x2,1 and x3,1 are present.
    5th row is 0 -1 0 -1 0 -1 because 5th constraint has variables x1,2, x2,2 and x3,2.
Slide 15

Input Parameters

   * The  vector of right hand side of constraints is b 45 60 35 -50 -60.
   * lb is equal to zero for all variables as all xi,j are greater than or equal to zero.
   * In our example, we do not require Aeq, beq and ub.
00:55 ’char’(ਕੈਰ), ‘name of string (‘ਨੇਮ ਆਫ ਸ੍ਟ੍ਰਿੰਗ) ਅਤੇ ‘size’(ਸਾਇਜ਼)
00:59 "char" ਇਕ ਡਾਟਾ ਟਾਇਪ ਹੈ, name of the ‘string’ ਸ੍ਟ੍ਰਿੰਗ’’ ਦਾ ਨਾਮ ਹੈ ਅਤੇ ਅਸੀਂ ਇਥੇ ਸਾਇਜ਼ ਦੇ ਸਕਦੇ ਹਾ
01:06 ਉਦਾਹਰਨ: ਇਥੇ ਅਸੀਂ ਇਕ ਕੈਰੈਕਟਰ ਸ੍ਟ੍ਰਿੰਗ (‘character string) “’name” ਡਿਕਲੇਅਰ ਕੀਤਾ ਹੈ ਜਿਸਦਾ ‘’ਸਾਇਜ਼ 10 ਹੈ ।
01:13 ਹੁਣ ਅਸੀਂ ਇਕ ਉਦਾਹਰਨ ਦੇਖਦੇ ਹਾ
01:15 ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਏਡੀਟਰ (editor) ਤੇ ਕੋਡ(code) ਨੂੰ ਲਿਖਿਆ ਹੈ, ਇਸ ਨੂੰ ਖੋਲ੍ਹਿਏ
01:19 ਯਾਦ ਰੱਖੋ ਕਿ ਸਾਡੀ ਫਾਇਲ ਦਾ ਨਾਮ ਹੈ ਸ੍ਟ੍ਰਿੰਗ ਡੌਟ ਸੀ ("string.c")
01:23 ਇਸ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਅਸੀਂ ‘’ਯੂਜ਼ਰ ਵੱਲੋ ਇਕ ਸ੍ਟ੍ਰਿੰਗ ਇਨਪੁਟ ਲਵਾਂਗੇ ਅਤੇ ਇਸਨੂ ਪ੍ਰਿੰਟ ਕਰਾਂਗੇ
01:29 ਹੁਣ ਮੈਨੂੰ ਕੋਡ(code) ਨੂੰ ਸਮਝਾਉਣ ਦਿਉ
01:32 ਇਹ ਸਾਡੀ "ਹੈਡਰ ਫਾਇਲ"( header file) ਹੈ
01:34 ਇਥੇ ਸ੍ਟ੍ਰਿੰਗ ਡੌਟ ਐਚ (‘string.h)’ ਵਿੱਚ ਡੇਕਲੇਰੇਸ਼ਨ, ਫੰਕਸ਼ਨਜ਼ (functions), ਕੌਨਸਟੈਂਟਸ (constants) ਅਤੇ ਸ੍ਟ੍ਰਿੰਗ ਹੈਂਡਲਿੰਗ ਯੁਟਿਲਟੀਜ਼ (‘string’ handling utilities) ਸ਼ਾਮਲ ਹਨ ।
01:43 ਜਦੋ ਵੀ ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ ਫੰਕਸ਼ਨਜ਼ ਨਾਲ ‘’ਕੰਮ ਕਰਦੇ ਹਾ, ਸਾਨੂੰ ਇਹ ਹੈਡਰ ਫਾਇਲ ਲਗਾਨੀ ਪੈਂਦੀ ਹੈ
01:47 ਇਹ ਸਾਡਾ "ਮੇਨ (main) ਫੰਕਸ਼ਨ" ਹੈ
01:49 ਇਥੇ ਅਸੀਂ ਸਾਇਜ਼ '30' ਦਾ ਇਕ ਸ੍ਟ੍ਰਿੰਗ ‘‘ ਡਿਕਲੇਅਰ ਕਰ ਰਹੇ ਹਾ
01:55 ਇਥੇ ਅਸੀਂ ਯੂਜ਼ਰ(user) ਤੋ ਸ੍ਟ੍ਰਿੰਗ ‘’ਲੈ ਰਹੇ ਹਾਂ
01:58 ਸ੍ਟ੍ਰਿੰਗ ਨੂ ਪੜ੍ਹਨ ਲਈ ਅਸੀਂ ਫੋਰ੍ਮੇਟ ਸ੍ਪੈਸਿਫਾਇਰ (format specifier) %s ਦੇ ਨਾਲ ਸਕੈਨ ਐਫ ‘(scanf()) ’ਫੰਕਸ਼ਨ ਵਰਤਿਆ ਹੈ
02:05 ਅਸੀਂ ਇਥੇ ਕੈਰਟ (^, caret) ਅਤੇ ਸਲੈਸ਼ ਐਨ (\n) ਚਿਨ੍ਹ ਦਾ ਸ੍ਟ੍ਰਿੰਗ ਵਿੱਚ ਸਪੇਸਿਜ਼ ਦੇਣ ਲਈ ਵਰਤ ਰਹੇ ਹਾ
02:11 ਫੇਰ ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਾਗੇ
02:13 ਇਹ ਸਾਡੀ ਰਿਟਰਨ ਸਟੇਟਮੇਂਟ’(return statement) ਹੈ
02:16 ਹੁਣ ‘’ਸੇਵ ਦਬਾਓ
02:18 ਹੁਣ, ਅਸੀਂ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਂਦੇ ਹਾਂ
02:20 ਪਹਿਲੇ ਆਪਣੇ ਕੀਬੋਰਡ ਤੇ ‘Ctrl, Alt ਅਤੇ T’ ਬਟਨ ਇਕੱਠੇ ਦਬਾ ਕੇ ‘ਟਰਮਿਨਲ’(terminal) ਵਿੰਡੋ ਖੋਲੋ
02:30 ਕਮਪਾਇਲ(compile) ਕਰਨ ਲਈ ਲਿਖੋ ‘gcc"' ਸਪੇਸ ‘string.c’ ਸਪੇਸ ‘-o’ ਸਪੇਸ ‘ str ‘
02:37 ਅਤੇ ‘‘ ਐਂਟਰ ਦਬਾਓ
02:40 ਚਲਾਉਨ ਲਈ ਲਿਖੋ ‘./str ‘ (ਡੋਟ ਸਲੈਸ਼ ਐਸ ਟੀ ਆਰ)
02:43 ਹੁਣ ‘’ ਐਂਟਰ ਦਬਾਓ
02:46 ਸਕ੍ਰੀਨ ਤੇ ਡਿਸਪਲੇ ਹੋਇਆ ਹੈ- ‘Enter the string ‘
02:49 ਮੈ ‘Talk To A Teacher ‘ ਲਿਖਦਾ ਹਾ
02:56 ਹੁਣ ਐਂਟਰ ਦਬਾਓ
02:58 ਇਸਦੀ ਆਉਟਪੁੱਟ ਵੇਖੋ ’ The string is Talk To A Teacher’
03:03 ਚਲੋ ਹੁਣ ਆਪਣੀ ਸਲਾਇਡਜ਼ ਤੇ ਵਾਪਿਸ ਆਉਂਦੇ ਹਾ
03:06 ਹੁਣ ਤਕ ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ ਦੇ ਡੇਕਲੇਰੇਸ਼ਨ (declaration) ਬਾਰੇ ਚਰਚਾ ਕੀਤੀ ਹੈ
03:10 ਹੁਣ ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ ਇਨੀਸ਼ਿਅਲਾਇਜ਼ (initialize) ਕਰਨ ਦੇ ਬਾਰੇ ਜਾਨਾਂ ਗੇ
03:13 ਇਸ ਲਈ ਸਿੰਟੈਕਸ ਇਹ ਹੈ
03:16 ’char var_name[size] = “string”; ‘
03:20 ਉਦਾਹਰਨ: ਇਥੇ ਅਸੀਂ ਇਕ ਕੈਰੈਕਟਰ ਸ੍ਟ੍ਰਿੰਗ ‘names’ ਡਿਕਲੇਅਰ ਕੀਤਾ ਹੈ ਜਿਸ ਦਾ ਸਾਇਜ਼ 10 ਹੈ, ਅਤੇ ਸ੍ਟ੍ਰਿੰਗ ਹੈ “Priya”
03:28 ਇਹ ਕਰਨ ਲਈ ਇਕ ਹੋਰ ਸਿੰਟੈਕਸ ਹੈ
03:31 ’char var_name[ ] = {'S', 't', 'r', 'i', 'n', 'g'}’ ਸਿੰਗਲ ਕੋਟਸ (single quotes) ਵਿੱਚ
03:36 ਉਦਾਹਰਨ: ‘char names[10] = {'P', 'r', 'i', 'y', 'a'}’ ਸਿੰਗਲ ਕੋਟਸ ਵਿੱਚ
03:42 ਮੈ ਤੁਹਾਨੂ ਪਹਿਲੇ ਸਿੰਟੈਕਸ ਦੀ ਵਰਤੋ ਇਕ ਉਦਾਹਰਨ ਨਾਲ ਦਸਦੀ ਹਾ
03:48 ਅਸੀਂ ਓਹੀ ਉਦਾਹਰਨ ਵਰਤਾਂ ਗੇ
03:52 ਪਹਿਲਾ ਆਪਣੇ ਕੀਬੋਰਡ ਤੇ ‘shift, ctrl ਅਤੇ s ‘ ਬਟਨ ਇਕੱਠੇ ਦਬਾਓ
03:58 ਹੁਣ ਫਾਇਲ ਨੂ 'stringinitialize’ ਦੇ ਨਾਮ ਦੇ ਕਰ ਸੇਵ ਕਰੋ
04:03 ਹੁਣ ‘’ਸੇਵ ਦਵਾਓ
04:06 ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ’ ਨੂ ਇਨੀਸ਼ਿਅਲਾਇਜ਼ ਕਰਨ ਲਗੇ ਹਾ
04:08 ਤੋ ਪੰਜਵੀ ਲਾਇਨ ਵਿੱਚ ਲਿਖੋ
04:11 ਈਕੁਅਲ ਟੂ (=) ਅਤੇ ਡਬਲ ਕੋਟਸ ਵਿੱਚ “Spoken- Tutorial”;
04:20 ਹੁਣ ਸੇਵ ਦਬਾਓ
04:22 ਹੁਣ ਇਹਨਾ ਦੋ ਲਾਇਨਾਂ ਨੂ ਹਟਾ ਦੇਵੋ ਕਿਓਕੀ ਅਸੀਂ ਸਿਰਫ਼ ਸ੍ਟ੍ਰਿੰਗ ਪ੍ਰਿੰਟ ਕਰਾਗੇ
04:27 ਹੁਣ ਸੇਵ ਦਬਾਓ
04:30 ਐਗਜ਼ੀਕਯੂਟ (execute) ਕਰੋ
04:31 ਆਪਣੇ ‘’ਟਰਮਿਨਲ ਤੇ ਵਾਪਿਸ ਆਓ
04:33 ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਲਿਖੋ
04:35 gcc ਸਪੇਸ (space) stringinitialize.c ਸਪੇਸ -o ਸਪੇਸ str2
04:44 ਇਥੇ ਸਾਡੇ ਕੋਲ str2 ਹੈ ਕਿਓਕਿ ਅਸੀਂ string.c ਫਾਇਲ ਦੇ ਆਉਟਪੁੱਟ ਪੈਰਾਮੀਟਰ str ਨੂ ਓਵਰਰਾਇਟ (overwrite)ਨਹੀ ਕਰਨਾ ਚਾਹੁੰਦੇ
04:54 ਹੁਣ ਐਂਟਰ ਦਬਾਓ
04:56 ਚਲਾਉਨ ਲਈ ਲਿਖੋ ਡੌਟ ਸਲੈਸ਼ ਐਸ ਟੀ ਆਰ ਟੂ(./str2)
05:00 ਆਉਟਪੁੱਟ ਇਹ ਆਉਂਦੀ ਹੈ - "The string is Spoken-Tutorial".
05:06 ਹੁਣ ਅਸੀਂ ਕੁਛ ਆਮ ਗਲਤੀਆਂ (common errors) ਬਾਰੇ ਜਾਨਾਂ ਗੇ
05:09 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਿਸ ਆਓ
05:11 ਮੰਨ ਲਓ ਕਿ ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ ਦੇ ਸਪੈਲਿੰਗ (spelling)ਐਸ ਟੀ ਆਈ ਐਨ ਜੀ (sting) ਲਿਖ ਦਿਤੇ ਹਨ
05:16 ਹੁਣ ਸੇਵ ਦਬਾਓ
05:18 ਐਗਜ਼ੀਕਯੂਟ (execute) ਕਰੋ
05:19 ਆਪਣੇ ਟਰਮਿਨਲ ਤੇ ਵਾਪਿਸ ਆਓ
05:21 ਪਹਿਲੇ ਦੀ ਤਰਹ ਕੰਪਾਇਲ ਕਰੋ
05:23 ਅਸੀਂ ਇਕ ਫੇਟੇਲ ਔਰਰ (fatal (ਘਾਤਕ) error) ਦੇਖਦੇ ਹਾ
05:25 ਜੋ ਹੈ, ‘sting.h: no such file or directory ‘
05:28 ’compilation terminated‘
05:30 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਿਸ ਆਓ
05:32 ਇਹ ਇਸ ਲਈ ਹੋਇਆ ਕਿਓਕਿ ਕੰਪਾਈਲਰ ਨੂੰ sting.h ਨਾਮ ਦੀ ਕੋਈ ਵੀ ਹੈੱਡਰ ਫਾਇਲ ਨਹੀ ਲੱਭੀ ਹੈ
05:39 ਜਿਸ ਕਰਕੇ ਇਹ ਐਰਰ ਦੇ ਰਿਹਾ ਹੈ
05:41 ਚਲੋ ਇਸ ਐਰਰ ਨੂੰ ਠੀਕ ਕਰੀਏ
05:43 ਇਥੇ r ਲਿਖੋ
05:45 ਹੁਣ ਸੇਵ ਦਬਾਓ
05:46 ਫੇਰ ਤੋ ਚਲਾਓ
05:47 ਆਪਣੇ ਟਰਨਿਮਲ ਤੇ ਵਾਪਿਸ ਆਓ'
05:50 ਪਹਿਲੇ ਦੀ ਤਰ੍ਹਾ ਕੰਪਾਇਲ ਕਰੋ ਅਤੇ ਚਲਾਓ
05:54 ਹਾਂ ਇਹ ਚਲ ਰਿਹਾ ਹੈ
05:56 ਹੁਣ ਇਕ ਹੋਰ ਆਮ ਐਰਰ ਵੇਖਦੇ ਹਾ
05:59 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਿਸ ਆਓ
06:02 ਮੰਨ ਲੋ ਕਿ ਇਥੇ ਮੈ char (ਕੈਰ) ਦੀ ਥਾਂ int (ਇੰਟ) ਲਿਖਦੀ ਹਾ
06:06 ਹੁਣ ਸੇਵ ਦਬਾਓ
06:07 ਦੇਖਿਏ ਕਿ ਹੁੰਦਾ ਹੈ
06:09 ਆਪਣੇ ਟਰਮਿਨਲ ਤੇ ਵਾਪਿਸ ਆਓ
06:11 ਮੈਨੂ ਪ੍ਰੋਮ੍ਪਟ ਕਲਿਯਰ (clear) ਕਰਨ ਦੇਓ
06:15 ਪਹਿਲੇ ਦੀ ਤਰਹ ਕੰਪਾਇਲ ਕਰੋ
06:17 ਅਸੀ ਇਕ ਐਰਰ ਦੇਖਦੇ ਹਾ
06:19 ’Wide character array initialized from non-wide string ‘
06:24 ਇਸ ਦਾ ਕਾਰਣ ਹੈ-  %s ਫਾਰਮੈਟ ਸਪੈਸੀਫਾਯਰ ਕੈਰ (char) ਟਾਇਪ ਆਰਗੂਮਿੰਟ (argument) ਲਈ ਹੁੰਦਾ ਹੈ, ਪਰ ਆਰਗੂਮਿੰਟ 2 ਦੀ ਟਾਇਪ ਇੰਟ ( 'int') ਹੈ
06:32 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਿਸ ਆਓ
06:36 ਇਸ ਦੀ ਵਜਹ ਹੈ ਕਿ ਅਸੀਂ ਸ੍ਟ੍ਰਿੰਗ ਲਈ  %s ਫਾਰਮੈਟ ਸਪੈਸਿਫਾਯਰ ਦੀ ਵਰਤੋ ਕੀਤੀ ਹੈ ।
06:42 ਪਰ ਅਸੀਂ ਓਹਨੂ ਇੰਟੀਜਰ ਡਾਟਾ ਟਾਇਪ ਨਾਲ ਇਨੀਸ਼ਅਲਾਇਜ਼ (initialize) ਕਰ ਰਹੇ ਹਾ
06:47 ਚਲੋ ਐਰਰ ਨੂੰ ਠੀਕ ਕਰੀਏ
06:49 ਇਥੇ char ਲਿਖੋ
06:51 ਸੇਵ ਦਬਾਓ
06:53 ਚਲੋ ਚਲਾਉਂਦੇ ਹਾ । ਆਪਣੇ ਟਰਮਿਨਲ ਤੇ ਵਾਪਿਸ ਆਓ
06:56 ਪਹਿਲੇ ਦੀ ਤਰ੍ਹਾ ਕੰਪਾਇਲ ਕਰੋ ਅਤੇ ਚਲਾਓ
07:00 ਹਾਂ ਇਹ ਚਲ ਰਿਹਾ ਹੈ ।
07:03 ਚਲੋ ਹੁਣ ਦੇਖਦੇ ਹਾ ਕਿ ਇੱਸੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ‘C++’ ਵਿੱਚ ਕਿਵੇ ਚਲਾਉਣਾ ਹੈ
07:08 ਆਪਣੇ ਪ੍ਰੋਗਰਾਮ ਤੇ ਵਾਪਿਸ ਆਓ
07:11 ਮੈਨੂ ਆਪਣੀ ਸ੍ਟ੍ਰਿੰਗ ਫਾਇਲ ਸ੍ਟ੍ਰਿਗ ਡੌਟ ਸੀ (‘string.c’) ਨੂ ਖੋਲਣ ਦਿਓ
07:15 ਇਥੇ ਅਸੀਂ ਕੋਡ ਏਡਿਟ ਕਰਾਂ ਗੇ
07:18 ਪਹਿਲਾ ਆਪਣੇ ਕੀਬੋਰਡ ਤੇ ‘shift’, ‘ctrl’ ਅਤੇ ‘s’ ਬਟਨ ਇਕੱਠੇ ਦਬਾਓ
07:25 ਹੁਣ ਫਾਇਲ ਨੂ ਡੌਟ ਸੀ ਪੀ ਪੀ (‘.cpp’) ਐਕ੍ਸਟੈਂਸ਼ਨ (extension) ਨਾਲ ਸੇਵ ਕਰੋ
07:29 ਅਤੇ ਸੇਵ ਦਬਾਓ
07:33 ਹੁਣ ਅਸੀਂ ਹੈਡਰ ਫਾਇਲ ਨੂ iostream ਨਾਲ ਬਦਲਾਂ ਗੇ
07:38 ਇਸ ਦੇ ਨਾਲ ਯੂਜ਼ਿੰਗ ਸਟੇਟਮੈਂਟ (‘using statement ‘) ਨੂੰ ਵੀ ਲਿਖੋ
07:43 ਹੁਣ ਸੇਵ ਦਬਾਓ
07:47 ਹੁਣ ਇਸ ਡੈਕਲੇਰੇਸ਼ਨ ਨੂੰ ਡਿਲੀਟ ਕਰਾਂ ਗੇ
07:50 ਇਕ ਸ੍ਟ੍ਰਿਗ ਵੇਰਿਏਬਲ ਡਿਕਲੇਅਰ ਕਰੋ
07:53 ਲਿਖੋ string ਸਪੇਸ strname ਅਤੇ ਇਕ semicolon
07:59 ਸੇਵ ਦਬਾਓ
08:02 printf ਸਟੇਟਮੇਂਟ ਨੂੰ cout ਸਟੇਟਮੇਂਟ ਨਾਲ ਬਦਲੋ
08:07 ਇਥੇ ਬੰਦ ਬਰੇਕਟ (closing bracket) ਨੂੰ ਡਿਲੀਟ ਕਰੋ
08:11 scanf ਸਟੇਟਮੇਂਟ ਨੂ ਡਿਲੀਟ ਕਰੋ ਅਤੇ ਲਿਖੋ getline ਬਰੈਕਟ ਸ਼ੁਰੂ ਅਤੇ ਬਰੈਕਟ ਬੰਦ । ਬਰੈਕਟ ਵਿੱਚ ਲਿਖੋ (cin, strname)
08:24 ਅੰਤ ਵਿੱਚ ਇਕ ਸੈਮਿਕੋਲਨ (;) ਟਾਇਪ ਕਰੋ ।
08:28 ਹੁਣ printf ਸਟੇਟਮੇਂਟ ਨੂੰ cout ਸਟੇਟਮੇਂਟ ਨਾਲ ਬਦਲੋ
08:36 ਫੌਰਮੈਟ ਸਪੈਸਿਫਾਇਰ (format specifier) ਅਤੇ ਸਲੈਸ਼ ਔਨ (\n) ਨੂ ਡਿਲੀਟ ਕਰੋ
08:40 ਹੁਣ ਕੌਮਾ(comma) ਡਿਲੀਟ ਕਰੋ
08:42 ਦੋ ਖੁੱਲਇਆ ਏੰਗ੍ਲ ਬਰੈਕਟਸ(opening angle brackets) ਲਿਖੋ । ਇਸ ਬਰੇਕਟ ਨੂੰ ਡਿਲੀਟ ਕਰੋ
08:49 ਦੋ ਖੁੱਲਇਆ ਏੰਗ੍ਲ ਬਰੇਕਟਸ ਲਿਖੋ ਅਤੇ ਦੋ ਕੌਟਸ ਵਿੱਚ ਸਲੈਸ਼ ਐਨ ( \n ) ਲਿਖੋ
08:54 ਅਤੇ ਸੇਵ ਦਬਾਓ
08:58 ਇਥੇ ਅਸੀਂ ਇਕ ਸ੍ਟ੍ਰਿੰਗ ਵੇਰਿਏਬਲ strname ਨੂੰ ਡਿਕਲੇਅਰ ਕੀਤਾ ਹੈ
09:03 C++ ਵਿੱਚ ਕਿਸੇ ਫੌਰਮੈਟ ਸਪੈਸਿਫਾਇਰ ਦੀ ਵਰਤੋ ਨਹੀ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ compiler ਨੂ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ strname ਇਕ ਸ੍ਟ੍ਰਿੰਗ ਵੇਰਿਏਬਲ ਹੈ
09:13 ਇਥੇ ‘getline’ (ਗੈਟਲਾਇਨ) ਦੀ ਵਰਤੋ ਇਨਪੁਟ ਲੜੀ ਵਿੱਚੋ ਕਰੇਕਟਰ ਕਢ਼ਣ ਲਈ ਹੋਈ ਹੈ
09:18 ਇਹ ਓਹਨਾ ਨੂੰ ਸ੍ਟ੍ਰਿੰਗ ਦੀ ਤਰਹ ਸਟੋਰ ਕਰੇਗਾ
09:22 ਹੁਣ ਮੈਨੂੰ ਪ੍ਰੋਗਰਾਮ ਚਲਾਉਨ ਦੇਓ । ਆਪਣੇ ਟਰਮਿਨਲ ਤੇ ਵਾਪਿਸ ਆਓ
09:27 ਪ੍ਰੋਮਪੱਟ ਕਲਿਅਰ (clear) ਕਰੋ
09:30 ਕਮਪਾਇਲ ਕਰਨ ਲਈ ਲਿਖੋ
09:32 g++ ਸਪੇਸ string.cpp ਸਪੋਸ -o ਸਪੇਸ str3
09:39 ਅਤੇ ਐੰਟਰ ਦਬਾਓ
09:41 ਚਲਾਉਨ ਲਈ ਲਿਖੋ ਡੌਟ ਸਲੈਸ਼ ਐਸ ਟੀ ਆਰ ਥ੍ਰੀ (./str3)
09:46 ਐੰਟਰ ਦਬਾਓ
09:47 ‘Enter the string’ ਡਿਸਪਲੇ ਹੋਇਆ ਹੈ
09:50 ਮੈ ਲਿਖਦੀ ਹਾ ‘Talk To A Teacher ‘
09:55 ਹੁਣ ਐੰਟਰ ਦਬਾਓ
09:57 ਤੇ ਆਉਟਪੁੱਟ ਆਉਂਦੀ ਹੈ
09:59 ’The string is Talk To A Teacher’
10:03 ਅਸੀਂ ਦੇਖ ਸਕਦੇ ਹਾ ਕਿ ਆਉਟਪੁੱਟ ਸੀ (C) ਕੋਡ ਦੀ ਤਰ੍ਹਾ ਹੀ ਹੈ
10:07 ਹੁਣ ਆਪਣੀਆ ਸਲਾਇਡਜ਼ ਤੇ ਵਾਪਿਸ ਆਓ
10:10 ਸਂਖੇਪ ਵਿੱਚ
10:11 ਇਸ ਟੁਟੋਰਿਯਲ ਵਿੱਚ ਅਸੀਂ ਸਿਖਿਆ ਹੈ
10:13 ਸ੍ਟ੍ਰਿੰਗਜ਼
10:14 ਸ੍ਟ੍ਰਿੰਗ ਨੂੰ ਡਿਕਲੇਅਰ ਕਰਨਾ
10:16 ਉਦਾਹਰਨ: ‘ char strname[30] ‘
10:20 ਸ੍ਟ੍ਰਿੰਗ ਨੂੰ ਇਨਿਸ਼ਿਅਲਾਇਜ਼ ਕਰਨਾ
10:21 ਉਦਾਹਰਨ: char strname[30] = “Talk To A Teacher”
10:26 ਅਸਾਇਨਮੇਂਟ (assignment, ਅਭਿਆਸ) ਲਈ
10:28 ਦੂਸਰੀ ਸਿੰਟੈਕਸ ਦੀ ਵਰਤੋ ਕਰਕੇ ਇਕ ਸ੍ਟ੍ਰਿੰਗ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਵਾਣ ਲਈ ਪ੍ਰੋਗਰਾਮ ਲਿਖੋ
10:34 ਹੇਂਠ ਦਿੱਤੇ ਲਿੰਕ ਤੇ ਦਿੱਤੀ ਵਿਡੀਓ ਵੇਖੋ
10:37 ਇਹ ਸਪੋਕਨ ਟਯੁਟੋਰਿਅਲ ਪ੍ਰੋਜੇਕਟ ਬਾਰੇ ਸਂਖੇਪ ਵਿੱਚ ਜਾਨਕਾਰੀ ਦੇਵੇ ਗਾ
10:40 ਅਗਰ ਤੁਹਾਡੇ ਕੋਲ ਪਰਯਾਪ੍ਤ ਬੈਡਵਿਡਥ ਨਾਂ ਹੋਵੇ ਤਾਂ ਤੁਸੀਂ ਡਾਉਨਲੋਡ ਕਰਕੇ ਵੀ ਦੇਖ ਸਕਦੇ ਹੋਣ
10:44 ਸਪੋਕਨ ਟਯੁਟੋਰਿਅਲ ਪ੍ਰੌਜੈਕਟ ਟੀਮ (spoken tutorial project team)
10:46 ਸਪੋਕਨ ਟਯੁਟੋਰਿਅਲ ਵੀਡਿਓ ਦਾ ਇਸਤੇਮਾਲ ਕਰਕੇ ਵਰ੍ਕਸ਼ਾਪਸ (workshop) ਚਲਾਉਂਦੀ ਹੈ
10:49 ਜੇਹੜੇ ਓਨਲਾਇਨ ਟੇਸਟ ਪਾਸ ਕਰਦੇ ਹਨ ਉਹਨਾ ਨੂੰ ਸਰਟੀਫਿਕੇਟ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ
10:54 ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ contact@spoken-tutorial.org ਨੂੰ ਲਿਖੋ
11:01 ਸਪੋਕੇਨ ਟਯੁਟੋਰਿਅਲ ਪ੍ਰੋਜੇਕਟ ਟਾਕ ਟੂ ਅ ਟੀਚਰ (Talk to a Teacher) ਪ੍ਰੋਜੇਕਟ ਦਾ ਹਿੱਸਾ ਹੈ
11:04 ਇਹ ਪ੍ਰੌਜੈਕਟ, ਨੈਸ਼ਨਲ ਮਿਸ਼ਨ ਆਨ ਏਜੁਕੇਸ਼ਨ‘, ਆਈ. ਸੀ. ਟੀ., ਐਮ. ਏਚ. ਆਰ. ਡੀ. (‘The National Mission on Education” ICT, MHRD,) ਭਾਰਤ ਸਰਕਾਰ(Government of India), ਦ੍ਵਾਰਾ ਸਮਰਥਿਤ(supported) ਹੈ
11:12 ਇਸ ਮਿਸ਼ਨ ਦੀ ਹੋਰ ਜਾਣਕਾਰੀ spoken-tutorial.org/NMEICT-Intro ਉੱਤੇ ਮੌਜੂਦ ਹੈ
11:16 ਸ਼ਿਵ ਗਰਗ ਦ੍ਵਾਰਾ ਲਿਖੀ ਸਕ੍ਰਿਪਟ (script) ਕਿਰਨ ਖੋਸਲਾ ਦੀ ਅਵਾਜ਼ ਵਿੱਚ ਹਾਜ਼ਿਰ ਹੋਈ
11:20 ਦੇਖਣ ਲਈ ਧੰਨਵਾਦ