Programming Techniques 3

  • Upload
    rvasu8

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 Programming Techniques 3

    1/120

    DEVELOPMENT OF PROGRAMMING LANGUAGES

    MACHINE LANGUAGE PROGRAMS

    ASSEMBLY LANGUAGES

    HIGH LEVEL LANGUAGES

    1. FORTRAN 1952

    2. COBOL 1953

    3. BASIC 19654. PASCAL 1976

    5. C 1977

    SPECIAL PURPOSE SOFTWARES

    WORDSTARSPREAD SHEETS

    DATA BASES

    DESK TOP PUBLICATION

    AUTOCAD

  • 8/14/2019 Programming Techniques 3

    2/120

    MACROS

    CAMCORDER

    IMAGE PROCESSING

    OPTICAL CHARACTER RECOGNITION

    OPTICAL MARK READER

    IMAGE ENHANCEMENTS

    DIGITAL PHOTOGRAPHS

    VOICE RECOGNITION

    ENTERPRISE RESOURCE PLANNING

    PROGRAMMING LOGIC CONTROLLERS

    DISTRIBUTED CONTROL SYSTEMS

    MICRO PROCESSORSz

  • 8/14/2019 Programming Techniques 3

    3/120

    SPECIAL PURPOSE SOFTWARES

    PAINT

    POWER POINT PRESENTATION

    VISUAL BASIC

    WINDOWS PROGRAMMING

    INTERNET

    HTML

    WEB DESIGN

    JAVA

    PICTURES ( JPG, BMP, GIF, TIF )SOUNDS

    ANIMATION, FLASH

    VIDEOS

    OBJECT LINKED ENVIRONMENT

  • 8/14/2019 Programming Techniques 3

    4/120

    . NetOpen sourcingLinuxjsp

    Snagit

  • 8/14/2019 Programming Techniques 3

    5/120

    FACILITIES OF A PROGRAMMINGLANGUAGE

    HEADER DECLARATIONSVARIABLES , ARRAYSCALCULATIONSSTORED INSTRUCTIONS (PROGRAMS )DECISION (IF, DO CASE )LOOPS ( FOR, DO WHILE )FUCTIONSSUBROUTINES

  • 8/14/2019 Programming Techniques 3

    6/120

    PROGRAMMING TECHNIQUES

    1. SUMMATION TECHNIQUE

    2. PRODUCT TECHNIQUE3. INTERCHANGE TECHNIQUE

    4. QUOTIENT

    5. REMINDER

    6. DIVISIBILITY

    7. ROUNDING TO 3 DIGIT ACCURACY

  • 8/14/2019 Programming Techniques 3

    7/120

    8. ISOLATING THE LAST DIGIT9. ISOLATING THE FIRST DIGIT10. ISOLATING THE LAST CHARACTER11. ISOLATING THE FIRST CHARACTER12. ADDING THE DIGIT TO THE REAR13. ADDING THE DIGIT TO THE FRONT14. ADDING THE CHARACTER TO THE REAR15. ADDING THE CHARACTER TO THE FRONT

  • 8/14/2019 Programming Techniques 3

    8/120

    16. REVERSING THE STRINGS, ARRAYS,17. TRANSPOSE OF 2 DIMENSIONAL ARRAY18. FINDING THE MAXIMUM / MINIMUM19. SORTING20. MERGING21. SEARCHING22. FORCEFUL ADDITIONS23. SERIES IDENTIFICTION23. SERIES SUMMATION ( SIN )24. STARS & TABLES25. RANDOM NUMBERS26. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

  • 8/14/2019 Programming Techniques 3

    9/120

    27. PRE ASSIGNMENT28. CHANGING CENTURY29. SELF INDEXING AND CUMULATING30. SIMPLIFIED DATA ENTRY31. CORRECTING THE ENTERED DATA32. PROGRAMMING S001, S002, S003

    (1000+N)33. UNIQUE NUMBER BUILDING SYSTEM34. NARROWED DOWN SEARCH PROGRAM35. APPLICATION OF DEMORGANS LAW

  • 8/14/2019 Programming Techniques 3

    10/120

    PROGRAMMING TECHNIQUES

    1. SUMMATION TECHNIQUE

    2. PRODUCT TECHNIQUE

    3. INTERCHANGE TECHNIQUE

  • 8/14/2019 Programming Techniques 3

    11/120

    1.SUMMATION TECHNIQUES

    FIND THE NUMBER OF STUDENTSSECURING FAIL MARKS

    M(1) = 50

    M(2) = 70

    M(3) = 23

    M(4) = 87

    M(5) = 76M(6) = 68

    M(7) = 12

    M(8) = 90

  • 8/14/2019 Programming Techniques 3

    12/120

    1.SUMMATION TECHNIQUES

    FIND THE SUM OF THE MARKS SECUREDBY THE STUDENTS SECURING PASS

    MARKS and also their number

    M(1) = 50

    M(2) = 70

    M(3) = 23

    M(4) = 87M(5) = 76

    M(6) = 68

    M(7) = 12

    M(8) = 90

  • 8/14/2019 Programming Techniques 3

    13/120

    PASSMARKS = 35

    SUM = 0

    nopass=0

    FOR I = 1 TO 8

    IF M(I) >= PASSMARKS

    SUM = SUM + M(I)nopass=nopass+1

    ENDIF

    NEXT I

    PRINT TOTAL MARKS = ; SUM

  • 8/14/2019 Programming Techniques 3

    14/120

    SUMMATION TECHNIQUE IS USED

    BOTH FOR

    1. COUNTING

    2. SUMMING

    HAVING

    1. SOME CONDITIONS

    2. WITH NO CONDITIONS

  • 8/14/2019 Programming Techniques 3

    15/120

    FIND THE NUMBER OF VOWELS IN THE

    FOLLOWOING SENTENCE

    A KNOWLEDGE OF COMPUTER USAGE IS

    HIGHLY DESIRABLE FOR STUDENTS OF

    ALL DISCIPLINES

  • 8/14/2019 Programming Techniques 3

    16/120

    novovel=0

    st= A KNOWLEDGE OF COMPUTER

    USAGE IS HIGHLY DESIRABLE FORSTUDENTS OF ALL DISCIPLINES

    ll = len(st)

    for j= 1 to ll

    alp= substr(st, j, 1 )if alp=A or alp=E or alp=I or alp=O

    or alp=U

    novovel=novovel+1

    endifnext j

    ? no of vovels = , novovel

  • 8/14/2019 Programming Techniques 3

    17/120

    INTEGRATE X^2 3*X +7 BETWEEN THE

    LIMITS X=1 AND X=3

    X^3 / 3 - 3*X^2 /2 + 7*X + C

    (9 13.5 + 21 +C ) (AT X =3)

    - (1/3 3/2 + 7 + C ) (AT X = 1 )

    (16.5 + C ) - (5.8333 + C)

    = 10.6667

  • 8/14/2019 Programming Techniques 3

    18/120

    1 3

    y1y2

    delta

    AREA OF TRAPHEZIUM =

    ( Y1 + Y2 ) / 2 * DELTA

  • 8/14/2019 Programming Techniques 3

    19/120

  • 8/14/2019 Programming Techniques 3

    20/120

  • 8/14/2019 Programming Techniques 3

    21/120

    AREA AS PER INTEGRATION FORMULA

    10.6667

    AREA AS PER SUMMATION OFTRAPHEZIUMS

    10.6668

  • 8/14/2019 Programming Techniques 3

    22/120

    2.PRODUCT TECHNIQUE

    FIND FACTORIAL 7

    1 * 2 * 3 * 4 * 5 * 6 * 7

  • 8/14/2019 Programming Techniques 3

    23/120

    F = 1

    FOR J = 1 TO 7

    F = F * J

    NEXT J

    PRINT FACTORIAL = ; F

  • 8/14/2019 Programming Techniques 3

    24/120

    3. INTERCHANGE TECHNIQUE

    A GLASS TUMBLER CONTAINS MANGO

    JUICE

    A STEEL TUMBLER HAS APPLE JUICE

    I WANT MANGO JUICE IN STEEL

    TUMBLER AND THE APPLE JUICE IN

    GLASS TUMBLER.

    HOW TO ACHIEVE THAT ?

  • 8/14/2019 Programming Techniques 3

    25/120

    A = 5

    B = 3

    A = B

    B = A

    A = B (A IS ASSIGNED THE VALUE OF B 3LATEST VALUE OF A IS 3 AND THE VALUE

    OF B WAS NOT CHANGED , (3)

    B = A

  • 8/14/2019 Programming Techniques 3

    26/120

    A = 5

    B = 3

    T = A

    A = B

    B = T

    SAW TOOTH INTERCHANGE

  • 8/14/2019 Programming Techniques 3

    27/120

    A = 9

    B = 6

    C = 7

    D = 8

    A TO GET BS VALUE 6

    B TO GET CS VALUE 7

    C TO GET DS VALUE 8

    D TO GET AS VALUE 9

    X=AA=B

    B=C

    C=D

    D=X

    A

    B

    C

    D 67

    8

    9

    TO INTERCHANGE A & B

  • 8/14/2019 Programming Techniques 3

    28/120

    TO INTERCHANGE A & BWITHOUT USING TA = 5

    B = 3

    Start with +

    A = 5B = 3A = A +B 8

    B = A B 5A = A B 3

    A 5 8 3

    B 3 5

    A 5

  • 8/14/2019 Programming Techniques 3

    29/120

    A = 5B = 3

    You can start with or *

    A = 5

    B = 3A = A - B 2B = A + B 5

    A = B A 3

    A 5 2 3

    B 3 5

    A 5

  • 8/14/2019 Programming Techniques 3

    30/120

    A = 5B = 3

    Start with *

    A = 5

    B = 3A = A * B 15B = A / B 5

    A = A / B 3

    A 5 15 3

    B 3 5

    A = 5

  • 8/14/2019 Programming Techniques 3

    31/120

    A = 5B = 3You cannot begin with / due to

    truncation errorA = 5B = 3A = A / B 1.66666B = A * B 4.99999A = B / A 3

    A 5 1.6666 3B 3 4.9999B is 4.9999 instead of 5. HenceNever start with /

    You can start with +, -, *

  • 8/14/2019 Programming Techniques 3

    32/120

    PROGRAMMING TECHNIQUES

    1. SUMMATION TECHNIQUE

    2. PRODUCT TECHNIQUE

    3. INTERCHANGE TECHNIQUE

    4. QUOTIENT

    5. REMINDER

    6. DIVISIBILITY

    7. ROUNDING TO 3 DIGIT ACCURACY

    4 QUOTIENT

  • 8/14/2019 Programming Techniques 3

    33/120

    4. QUOTIENT23/10 quotient 2

    Remainder 3A/BQuotient = int (A/B)

    Some languages may have divfunction (Pascal)Some may have integer div

    functionA/B ( C language)All languages will have int

    function

  • 8/14/2019 Programming Techniques 3

    34/120

    5. REMINDER

    23/10 quotient 2 ,remainder 3

    R (A/B) = A int(A/B)*B

    Some may have mod(A/B)

    Or A % B (modulo of

    Division)

  • 8/14/2019 Programming Techniques 3

    35/120

    6. DIVISIBILITY

    Is 47 divisible by 10 ?

    Technique 1

    Is the remainder Zero ?

    If mod(47/10)=0

    If (47 % 10)=0

    If 47 int(47/10)* 10 = 0

    Better Technique 2

    If ( A/B) = int (A/B)

  • 8/14/2019 Programming Techniques 3

    36/120

    6. DIVISIBILITY

    After printing every 5 names to

    leave a blank line

    for i=1 to 100

    print name(i)

    if (i/5) = int(i/5)

    Print

    endif

    next i

  • 8/14/2019 Programming Techniques 3

    37/120

    6. DIVISIBILITY

    To find whether 47 is prime

    If any number 2 to 46 (upto n-

    1) divides then not a prime

    A better technique

    If any number 2 to sqrt(47)

    divides then not a prime ( 2

    to 6 = 5 numbers instead of 2

    to 46 (45) numbers )

  • 8/14/2019 Programming Techniques 3

    38/120

    7. ROUNDING TO 3 DIGIT

    ACCURACY

    Round off to nearest digit

    ( not truncate)

    3.4 33.7 4

    Int (x+0.5)Int(3.9) = 3

    Int (4.2) = 4

    7 ROUNDING TO 3 DIGIT

  • 8/14/2019 Programming Techniques 3

    39/120

    7. ROUNDING TO 3 DIGITACCURACY

    Round off to 3 digit accuracy3.4123578 3.4123.7865432 3.787

    Int (x*10^3 + 0.5) 3412.8578 =34123787.0432 = 3787

    Int (x*10^3 + 0.5)/ 10^3For n digit accuracy

    Int (x*10^n) / 10^n

  • 8/14/2019 Programming Techniques 3

    40/120

    7. ROUNDING TO nearest 100

    Rs

    478523 = 478500

    478583 = 478600

    Int( x*10^(-2) +0.5 ) / 10^(-2)

    Or int(x/10^2+0.5) * 10^2

  • 8/14/2019 Programming Techniques 3

    41/120

    7. QUOTIENT

    8. REMINDER

    9. DIVISIBILITY

    10. ROUNDING TO 3 DIGIT ACCURACY

  • 8/14/2019 Programming Techniques 3

    42/120

    8. ISOLATING THE LAST DIGIT9. ISOLATING THE FIRST DIGIT10. ISOLATING THE LAST CHARACTER11. ISOLATING THE FIRST CHARACTER12. ADDING THE DIGIT TO THE REAR13. ADDING THE DIGIT TO THE FRONT14. ADDING THE CHARACTER TO THE REAR15. ADDING THE CHARACTER TO THE FRONT

  • 8/14/2019 Programming Techniques 3

    43/120

    8. ISOLATING THE LASTDIGIT

    4783n int (n/10) * 10Isolating the last 2 digitsn- int(n/100) * 100Another method is to convert

    the number as string andisolating the last character

  • 8/14/2019 Programming Techniques 3

    44/120

    9.ISOLATING THE FIRST DIGIT4783log(n)10 = 3.***integer portion of log10 will give

    number of digits - 1int (log(n)10 ) = 3d = 10^ int(log(n)10 ) = 10^3n n/ int(log(n)10 ) * int(log(n)10n int(n/d) * d

  • 8/14/2019 Programming Techniques 3

    45/120

    10. ISOLATING THELAST CHARACTER

    ll = len(st)substr ( st, ll, 1 )

  • 8/14/2019 Programming Techniques 3

    46/120

    11. ISOLATING THEFIRST CHARACTER

    xx= substr( st,1,1)

  • 8/14/2019 Programming Techniques 3

    47/120

    8. ISOLATING THE LAST DIGIT9. ISOLATING THE FIRST DIGIT10. ISOLATING THE LAST CHARACTER11. ISOLATING THE FIRST CHARACTER12. ADDING THE DIGIT TO THE REAR13. ADDING THE DIGIT TO THE FRONT14. ADDING THE CHARACTER TO THE REAR15. ADDING THE CHARACTER TO THE FRONT

  • 8/14/2019 Programming Techniques 3

    48/120

  • 8/14/2019 Programming Techniques 3

    49/120

    13. ADDING THE DIGITTO THE FRONTTo add any number n todn can be of 2,3, or anydigitsTo add 567 to 3

  • 8/14/2019 Programming Techniques 3

    50/120

  • 8/14/2019 Programming Techniques 3

    51/120

    15. ADDING THECHARACTER TO THEFRONT

    Adding R toamasamyfront=R

  • 8/14/2019 Programming Techniques 3

    52/120

    16. REVERSING THESTRINGS, ARRAYS,str = VASUDEVANreversed str =NAVEDUSAV ll = len (str)for n = 1 to ll / 2f = substr (str, n,1)r = substr (str, ll+1 n , 1)substr( str, n,1) = r

  • 8/14/2019 Programming Techniques 3

    53/120

    16. REVERSINGTHE STRINGS,ARRAYS,

    for i = 1 to n / 2t = a(i)a(i) = a(n+1- i)a (n+1 i ) = t

  • 8/14/2019 Programming Techniques 3

    54/120

    17. TRANSPOSE OF 2 DIMENSIONAL ARRAY18. FINDING THE MAXIMUM / MINIMUM19. SORTING20. MERGING21. SEARCHING22. FORCEFUL ADDITIONS23. SERIES IDENTIFICTION23. SERIES SUMMATION ( SIN )24. STARS & TABLES25. RANDOM NUMBERS26. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

  • 8/14/2019 Programming Techniques 3

    55/120

    17. TRANSPOSE OF 2 DIMENSIONAL ARRAY18. FINDING THE MAXIMUM / MINIMUM19. SORTING20. MERGING21. SEARCHING22. FORCEFUL ADDITIONS23. SERIES IDENTIFICTION24. SERIES SUMMATION ( SIN )25. STARS & TABLES26. RANDOM NUMBERS27. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

  • 8/14/2019 Programming Techniques 3

    56/120

    17. TRANSPOSE OF 2 DIMENSIONAL ARRAYfor i = 1 to mfor j = 1 to nb( j, i ) = a( i, j )next inext jHere we use another b array

  • 8/14/2019 Programming Techniques 3

    57/120

    17. TRANSPOSE OF 2 DIMENSIONAL ARRAYJor a square array of m * mtranspose can be done in situThe diagonal array will remain unaltereda( 1, 2 ) will become a (2, 1 )for i = 1 to m-1for j = i+1 to mt = a(I , j )a(I,j) = a(j,i)a(j,i) = tnext inext jHere we do not use another b array

  • 8/14/2019 Programming Techniques 3

    58/120

  • 8/14/2019 Programming Techniques 3

    59/120

    18. FINDING THE MAXIMUM /MINIMUMFIND MAXIMUM OF THE MARKS SECURED

    BY THE STUDENTS

    Assume the first value in array as

    maximum

    Some people assume 0 as maximum,which is to be avoided

    If all the values in the array are negative,

    the logic will fail

  • 8/14/2019 Programming Techniques 3

    60/120

    18. FINDING THE MAXIMUM /MINIMUMmax= m(1)for i = 2 to n

    if m(i) > max

    max = m(i)

    endif

    next Iprint maximum = , max

  • 8/14/2019 Programming Techniques 3

    61/120

    19. SORTING (bubble sort )for I = 1 to n-1for j = i+1 to nif a(j) < a(i)t=a(i)a(i)=a(j)a(j)=tendifnext jnext Iorder of sort is n*(n-1)very slow sort

  • 8/14/2019 Programming Techniques 3

    62/120

    19. SORTINGbinary sort is a fast sortorder n * log2nAssume n arrays each with only one element

    and hence they are sorted arraysmerge 2 sorted arrays and create a new

    array8 , 7 13, 5 4, 12 9,21 6, 17 5 4 9 18 13 12 21 6

  • 8/14/2019 Programming Techniques 3

    63/120

    8 , 7 13, 5 4, 12 9,21 6, 1

    7 5 4 9 18 13 12 21 65 4 17 9 68 1213 21

    5 4 1

  • 8/14/2019 Programming Techniques 3

    64/120

    7 9 68 1213 214 15 6789121321

    4 1

  • 8/14/2019 Programming Techniques 3

    65/120

    5 67891213211456789121321

  • 8/14/2019 Programming Techniques 3

    66/120

    TO SORT FILES IN DESCENDINGORDER

    FOX PRO DOESNOT HAVEDESCENDING INDEXFOR NUMERICAL VALUES INDEX

    ON MINUS NUMBERFOR ALPHABETICAL VALUES,

    INDEX ASCENDING BUTPROCESS THE FILS FROM ENDOF FILE TO BOF

    20. MERGING ( with forced addition of

  • 8/14/2019 Programming Techniques 3

    67/120

    maxint)a(m+1) = maxintb(n+1) = maxinti=1j=1for k = 1 to m+nif a(i) < b(j)c(k) = a(i)I = i+1elsec(k) = b(j)j=j+1endif

  • 8/14/2019 Programming Techniques 3

    68/120

    21. SEARCHINGIn searching we find the position of the

    searched number. If not present, the samehas to be indicated. The array is sortedM(1) = 5

    M(2) = 7M(3) = 12

    M(4) = 18

    M(5) = 21

    M(6) = 68

    M(7) = 71

    M(8) = 90

    What is the position of 68, 20, 500

  • 8/14/2019 Programming Techniques 3

    69/120

    21. SEARCHING ( Binary Search ) (orderlog2n )

    check whether the searched value is withinthe range or the end valueslow value l = a(1)high value h = a(n)mid value m = a( (n+1)/2 )low value array index = 1high value array index = nmid value array index = (n+1)/2.If value is higher than m

  • 8/14/2019 Programming Techniques 3

    70/120

    21. SEARCHINGIn searching we find the position of the

    searched number. If not present, the samehas to be indicated. The array is sortedM(1) = 5

    M(2) = 7M(3) = 12

    M(4) = 18

    M(5) = 21

    M(6) = 68

    M(7) = 71

    M(8) = 90

    What is the position of 68, 20, 500

    M(1) = 5

  • 8/14/2019 Programming Techniques 3

    71/120

    M(1) = 5

    M(2) = 7

    M(3) = 12

    M(4) = 18

    M(5) = 21

    M(6) = 68

    M(7) = 71M(8) = 90

    What is the position of 68

    lvai = 1; hvai = 8, mvai = (8+1)/2=4

    68 > (M(4) 18); lvai = 4; hvai-lvai=8-4 =4 >168 = ( M(6) -68 )Yes ; position is 6

    M(1) = 5

  • 8/14/2019 Programming Techniques 3

    72/120

    M(1) = 5

    M(2) = 7

    M(3) = 12

    M(4) = 18

    M(5) = 21

    M(6) = 68

    M(7) = 71M(8) = 90

    What is the position of 20

    lvai = 1; hvai = 8, mvai = (8+1)/2=4

    20 > (M(4) 18); lvai = 4; hvai-lvai=8-4 =4 >120 not > ( M(6) -68 ); hvai =6 hvai-lvai=220 not > ( M(5) -21 ); hvai =5 hvai-lvai=1

  • 8/14/2019 Programming Techniques 3

    73/120

    21. SEARCHINGRange detectionM(1) = 5M(2) = 7

    M(3) = 12

    M(4) = 18

    M(5) = 21M(6) = 68

    M(7) = 71

    M(8) = 90

    What is the position of 68, 90, 500{ (68-5)*(68-90) } is negative within therange

    { (90-5)*(90-90) } is zero edge value

  • 8/14/2019 Programming Techniques 3

    74/120

    21. SEARCHINGHashing is a powerful searching techniqueM(1) = 5M(2) = 7

    M(3) = 12

    M(4) = 18

    M(5) = 21M(6) = 68

    M(7) = 71

    M(8) = 90

    hashing table can have about 50 % more size1.5 * 8 = 12 H(12)

  • 8/14/2019 Programming Techniques 3

    75/120

    Building Hash table expected position vmod 12+1

    M(1) = 5M(2) = 7

    M(3) = 12

    M(4) = 19

    M(5) = 21M(6) = 68

    M(7) = 71

    M(8) = 90

    (5 mod 12 ) + 1 = 6 ; H(6) = 5(7 mod 12 )+ 1 = 8 ; H(8) = 7(12 mod 12 ) + 1 = 1 ; H(1) = 12(19 mod 12 ) +1 = 8; H(8) already fil led

  • 8/14/2019 Programming Techniques 3

    76/120

    Searching the Hash Table

  • 8/14/2019 Programming Techniques 3

    77/120

    Searching the Hash Table

    M(1) = 5

    M(2) = 7

    M(3) = 12M(4) = 19

    M(5) = 27

    M(6) = 68

    M(7) = 71

    M(8) = 90

    1 2 3 4 5 6 7 8 9 10 11 12

    12 - - 27 - 5 90 7 19 68 - 71

    Is 32 in the table Expected Positn = 9H9; No H10; No

    H11 blank Not in table

    Is 71 in table Expected Position 12 Yes

    Searching the Hash Table

  • 8/14/2019 Programming Techniques 3

    78/120

    Searching the Hash Table

    M(1) = 5

    M(2) = 7

    M(3) = 12

    M(4) = 19

    M(5) = 27

    M(6) = 68M(7) = 71

    M(8) = 90

    1 2 3 4 5 6 7 8 9 10 11

    1212 - - 27 - 5 90 7 19 68 - 71

    Is 19, 40, 25 in table ?

  • 8/14/2019 Programming Techniques 3

    79/120

    21. SEARCHING22. FORCEFUL ADDITIONS23. SERIES IDENTIFICTION24. SERIES SUMMATION ( SIN )25. STARS & TABLES26. RANDOM NUMBERS27. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

    22. FORCEFUL ADDITIONS

  • 8/14/2019 Programming Techniques 3

    80/120

    We already saw forceful addition in merginga(m+1) = maxintb(n+1) = maxinti=1j=1for k = 1 to m+nif a(i) < b(j)c(k) = a(i)I = i+1elsec(k) = b(j)j=j+1endifnext k

  • 8/14/2019 Programming Techniques 3

    81/120

    22. FORCEFUL ADDITIONSThis is done to simplify

    programming and avoidingso many other checks.

    Otherwise one table wouldhave exhausted and thenprocessing has to bedifferent. Copy the reminder

  • 8/14/2019 Programming Techniques 3

    82/120

    22. FORCEFUL ADDITIONSst= 12 , 356 , 43 , 56

    To isolate the numbersscan every 1 character. If ,

    the strings upto the , canbe selected and thenshorten the st without that

  • 8/14/2019 Programming Techniques 3

    83/120

    22. FORCEFUL ADDITIONSst= 12 , 356 , 43 , 56

    for j = 1 to llif substr(st,j,1) =,wd = substr(st,1,j-1)st = substr(st, j+1)ll = len(st)

    22. FORCEFUL ADDITIONS

  • 8/14/2019 Programming Techniques 3

    84/120

    st= 12 , 356 , 43 , 56After forceful addition of , st = st+ , st= 12 , 356 , 43 , 56, - for j = 1 to llif substr(st,j,1) =,wd = substr(st,1,j-1)st = substr(st, j+1)

  • 8/14/2019 Programming Techniques 3

    85/120

    23. SERIES IDENTIFICTION5, 7, 9, 111, 4, 9, 16, 25100, 99, 97, 94, 90, 851, 6, 15, 28, 45, 66Write the next 2 numbers

  • 8/14/2019 Programming Techniques 3

    86/120

  • 8/14/2019 Programming Techniques 3

    87/120

    23. SERIES IDENTIFICTION24. SERIES SUMMATION ( SIN )25. STARS & TABLES26. RANDOM NUMBERS27. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

  • 8/14/2019 Programming Techniques 3

    88/120

    23. SERIESIDENTIFICTION

    Find the first differenceif no clue second

    differenceif no clue third

  • 8/14/2019 Programming Techniques 3

    89/120

    24. SERIES SUMMATION ( SIN )25. STARS & TABLES26. RANDOM NUMBERS27. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

  • 8/14/2019 Programming Techniques 3

    90/120

  • 8/14/2019 Programming Techniques 3

    91/120

    24. SERIES SUMMATION ( SIN)

    sin x = x x^3/ 3! +x^5/5! x^7/7! ..

    If the last term added is - 40It is not insignificant, but

    less than 0.000001But abs(- 40) is not less than

  • 8/14/2019 Programming Techniques 3

    92/120

    24. SERIES SUMMATION ( SIN)

    sin x = x x^3/ 3! +x^5/5! x^7/7! take a term x^5/5!

    split into as many elementssign +Numerator x^5Bottom number 5

  • 8/14/2019 Programming Techniques 3

    93/120

    24. SERIES SUMMATION ( SIN)

    sin x = x x^3/ 3! +x^5/5! x^7/7! take a term x^5/5!

    Get every term from previousterm

    sign + sign=-signNumerator x^5 nu=nu* x^2Bottom number 5 bn = bn + 2

  • 8/14/2019 Programming Techniques 3

    94/120

    24. SERIES SUMMATION ( SIN)

    sin x = x x^3/ 3! +x^5/5! x^7/7! take a term x^5/5!

    Initialise the first term + x^1/1!sign +Numerator x^1 = xBottom number 1bott factorial 1! =1

  • 8/14/2019 Programming Techniques 3

    95/120

    initialisationsum=0sign = 1nu=xbn=1bf=1t = sign * nu / bnloop begins

  • 8/14/2019 Programming Techniques 3

    96/120

    loop beginsdo while abs(term) < 0.000001sign=-signnu=nu* x^2bn = bn+2bf = bf * (bn-1) * bnt =sign * nu / bfsum = sum + t

    24. SERIES SUMMATION ( SIN )

  • 8/14/2019 Programming Techniques 3

    97/120

    25. STARS & TABLES26. RANDOM NUMBERS27. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

    24. SERIES SUMMATION ( SIN )

  • 8/14/2019 Programming Techniques 3

    98/120

    25. STARS & TABLES26. RANDOM NUMBERS27. STRING MANIPULATIONS (VAL, LEN,

    STR,SUBSTR , INSTR )

    25. STARS & TABLES

  • 8/14/2019 Programming Techniques 3

    99/120

    Split into as many variables as possible1 7 12 11 10 9

    81 2 8 8 12 11 10 91 2 3 9 9 9 12

    11 101 2 3 4 10 10 10 10 12

    111 2 3 4 5 11 11 11 11 11 12*

    * *

    25. STARS & TABLES

  • 8/14/2019 Programming Techniques 3

    100/120

    78 8 9 9 9

    10 10 10 1011 11 11 11 11

    5 rowsrow 1 4 blanks no 7 1 timerow 2 3 blanks no 8 2 timerow 3 2 blanks no 9 3 timerow 4 1 blanks no 10 4 timerow 5 0 blanks no 11 5 time

  • 8/14/2019 Programming Techniques 3

    101/120

    for r = 1 to 5

  • 8/14/2019 Programming Techniques 3

    102/120

    for bl= 1 to 5-rprint next blv= 6+rfor va= 1 to rprint str(v) + next vanext r

    78 8

    9 9 910 10 10 10

    11 11 11 11 11

  • 8/14/2019 Programming Techniques 3

    103/120

    26. RANDOM NUMBERSHelps to select randomly like lottery

    ticketrandom number is generally in the

    range 0.000000 to 0.999999 butnever 1

    Hence (h-l+1)* rand will select arandom number between l to hinclusive. Ignore any repeatselection

    In the line 3 lines before, three gaps

    27. STRING MANIPULATIONS

  • 8/14/2019 Programming Techniques 3

    104/120

    (VAL, LEN, STR, SUBSTR ,INSTR )

    val(73) = 73len(Vasu) = 4str(7+3) = 10substr( vasu, 2,2) = asinstr(vasu,4,1) = evasu will change to vaseinstr fuction can be in the left as

  • 8/14/2019 Programming Techniques 3

    105/120

    27. PRE ASSIGNMENT

  • 8/14/2019 Programming Techniques 3

    106/120

    28. CHANGING CENTURY29. SELF INDEXING AND CUMULATING30. SIMPLIFIED DATA ENTRY31. CORRECTING THE ENTERED DATA32. PROGRAMMING S001, S002, S003

    (1000+N33. UNIQUE NUMBER BUILDING SYSTEM34. NARROWED DOWN SEARCH PROGRAM

  • 8/14/2019 Programming Techniques 3

    107/120

    28. CHANGING CENTURY

  • 8/14/2019 Programming Techniques 3

    108/120

    SOME TIMES LARGE DATA ON DATE MAY

    HAVE THE PREVIOUS CENTURY 1904INSTEAD OF 2004

    IN THOSE CASES ADD 36525

    DATE=DATE+36525

    27-OCT-2004 MINUS 27-OCT-1904 =36525

    DAYS

    29. SELF INDEXING

    How many are in age group 1-9, 10-19, 20-29

  • 8/14/2019 Programming Techniques 3

    109/120

    How many are in age group 1 9, 10 19, 20 29

    Ages 23,8,17,24,15,6,8,9,28

    Int(age/10)+1 will put in group 1,2,3

    Group(Int(age/10)+1 )=Group(Int(age/10)+1 )+1

    Will add to groups

    Total (Int(age/10)+1 ) = Total (Int(age/10)+1 )+Age

    Will add the ages of groups

    Average(1) = total (1) / group(1)

  • 8/14/2019 Programming Techniques 3

    110/120

    31. CORRECTING THE ENTERED DATA

  • 8/14/2019 Programming Techniques 3

    111/120

    Date (Brit) entered in ExcelConvert in another column as TextB2=text(A2, mm/dd/yy)7/4/04 we meant 7 th Apr.But by text(A2, mm/dd/yy), it thinksas July 4 th 04 which is a valid date.Hence it will convert to american date07/04/04, but as a text 07/04/04Had it been 27 th Apr (27/04/04), intext(A2, mm/dd/yy), since monthcannot be 27, it assumes the data astext and converts as simple text.The original data entry is retained assuch for dates 12

    31. CORRECTING THE ENTERED DATA

  • 8/14/2019 Programming Techniques 3

    112/120

    Date (Brit) entered in ExcelConvert in another column as TextB2=text(A2, mm/dd/yy)Convert the excel into a Database fileOpen a new field date and set datebritReplace date with ctod(B2)use addmodi stru ( ADD DATE FIELD)set date britrepl all date with ctod(dt)brow

  • 8/14/2019 Programming Techniques 3

    113/120

    31. CORRECTING THE ENTERED DATA

  • 8/14/2019 Programming Techniques 3

    114/120

    Shifting the initials to rearNames are to be entered first andinitials and Mr. Mrs, Dr etc in the rearIf notIf second character is . push to rear.Do it three timesIf Third character is . push to rear( Mr., dr. ). Do it three timesIf fourth character is . push to rear( Mrs., ). Do it three times

  • 8/14/2019 Programming Techniques 3

    115/120

    For jj=2 to 4

    For nn=1 to 3nm= trim(&FLD)

    if substr(nm,jj,1)="."

    NW= substr(nm,jj+1)+" "+substr(nm,1,jj-1)

    REPL &FLD WITH NWEndif

    Next nn

    Next jj

    JJ DOT MARK IN 2,3,4TH POSITIONS

    NN CORRECTING THRICE

    (N.P.K. RAMACHANDRAN)

  • 8/14/2019 Programming Techniques 3

    116/120

    32 To build numbers like S001, S002,S003

    S320

    For n= 1 to 320 1

    j= 1000+n 1001s= str(j,4) 1001

    k=S +substr(s,2,3) S001

    next n

    33 Unique Number Building System

    Point yes no

  • 8/14/2019 Programming Techniques 3

    117/120

    Point yes no

    1 1 0

    2 2 03 4 0

    4 8 0

    5 16 0

    If total is 13

    It is possible only as 8+4+1

    No other combination is possible

    Every possible combination builds

    up to a unique number

    Boys were in a hall- The correction in Q

    13 was not announced in that hall

  • 8/14/2019 Programming Techniques 3

    118/120

    13 was not announced in that hall

    If it is boy from science group andbelongs to 2004-06 batch and if he has

    not answered Q 13 give him 5

    additional marks

    Yes No

    Boy 1 0

    2004-06 Batch 2 0

    Science Group 4 0

    Not Answered Q 13 8 0

    If total is 15 that condition is satisfied

    34 NARROWED DOWN SEARCH

    PROGRAM

  • 8/14/2019 Programming Techniques 3

    119/120

    PROGRAM

    WHILE SEARCHING ON KEY WORDS, ITWILL BE NECESSARY TO NARROW

    DOWN THE SEARCH AS IN GOOGLE

    SEARCH

    OPEN A COLUMN NO IN THE DATA BASE

    FOR THE FIRST SEARCH N= N+1.

    AND SO ON

    THE ONE WITH THE MAXIMUM NUMBER

    IS THE NARROWED DOWN SEARCH

    34 NARROWED DOWN SEARCH

    PROGRAM

  • 8/14/2019 Programming Techniques 3

    120/120

    PROGRAM

    ACCN NO TITLE NO

    DO THE NARROWED DOWN SEARCH WITH

    FOLLOWING KEY WORDS

    PROJECT, BIOMASS, GASIFIER

    7O WITH PROJECT, 120 WITH GASIFIER,

    80 WITH BIOMASS

    ONLY 2 WITH PROJECT ON BIOMASS