programming techniques 3
TRANSCRIPT
-
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