(Pro Fx-1) Population processes
10-29-2019, 07:03 PM (This post was last modified: 10-29-2019 07:04 PM by SlideRule.)
Post: #1 SlideRule Senior Member Posts: 1,030 Joined: Dec 2013
(Pro Fx-1) Population processes
Excerpts from Simulation of population processes with a programmable pocket calculator, N. A. C. KIDD, Journal of Biological Education (1979) 13 (4) 284-290

"Abstract
A set of simulation models for use in teaching population dynamics is presented. One advantage of these models is that they are designed specifically for use with a programmable pocket calculator instead of a computer. They can be used to demonstrate growth of populations with discrete or overlapping generations and also to explore the effects of density dependent and density-independent mortality.

1. Introduction
This paper describes an adaptable simulation model which can be used in conjunction with a programmable calculator.

2. The calculator
Simulations were carried out using a Casio PRO fx-1 calculator … the programs provided in the Appendix are only applicable in their present form to the Casio calculators …

3. The model
… The pocket calculator can be programmed … to find the total number of immature individuals (larvae) and the total number of adults, and to display the answers for each day. The calculator will thus give a daily output of larvae and adults and cycle
the simulation over as many days as the operator requires.
4. Discrete and overlapping generations
(a) Discrete generations …
Code:
A. Program 1: Discrete generations      Program                     Notes (1)  ENT 1:2:3:4:5:              Enter the number in each age group. (2)  ST 1: 9 = 5xK2:             Calculate the number of offspring.  (3)        I = K6:               Put 6 in memory I. (4)  ST 2: I = I-K2:             Replace I with 2 less than the number held.  (5)        0 = IM:               Place in memory 0 the value stored in the memory                                   with the same number as held in I. (6)        I = I+K1:             I becomes 1 more than the value currently held. (7)        IM = 0:               Place the value in memory 0 in the memory with                                   the same number as held in I. (8)        IF I = K2:3:3:2:      If I is less than or equal to 2, go to                                   statement 3, otherwise go to statement 2. (9)  ST 3: 1 = 9:                Put offspring number in age group 1. (10)       7 = 1+2+3:            Add age groups 1, 2, and 3 to give larvae (mem 7). (11)       8 = 4+5:              Add age groups 4 and 5 to give adults (mem 8). (12)       ANS 7:8:              Display answers. (13)       GOTO 1:               Return to statement 1 to begin next cycle.
(b) Overlapping generations …
Code:
B. Program 2: Overlapping generations      Program                     Notes (1)  ENT 1:2:3:4:5:              In this case age groups 3, 4, and 5 are (2)  ST 1: 9=3+4+5xK2:            involved in the calculation of daily (3)        I = K6:                reproduction. (4)  ST 2: I = I-K2: (5)        0 = IM: (6)        I = I+K1: (7)        IM = 0: (8)        IF I = K2:3:3:2: (9)  ST 3: 1 = 9: (10)       7 = 1+2:             larvae = age groups 1 and 2 (11)       8 = 3+4+5:           adults = age groups 3, 4, and 5 (12)       ANS 7: 8: (13)       GOTO 1:
5. Population regulation
(a) Density-independent mortality …
Code:
C. Program 3: Density-independent mortality      Program                    Notes (1)  ENT 1:2:3:4:5: (2)  ST 1: 9 = 5xK2: (3)        I = K6: (4)  ST 2: I = I-K2: (5)        0 = IM: (6)        I = I+K1: (7)        IM = 0: (8)        IF I = K2:3:3:2:  (9)  ST 3: 1 = 9: (10)       1 = K0.8x1:          Multiply the number in memory 1 by 0.8.  (11)       7 = 1+2+3+4+5:       Only total numbers are computed in this program. (12)       ANS 7: (13)       GOTO 1:
(b) Density-dependent mortality …
Code:
D. Program 4: Density-dependent mortality      Program                    Notes (1)  ENT 1:2:3:4:5: (2)  ST 1: 9 = 5xK2: (3)        I = K6: (4)  ST 2: I = I-K2: (5)        0 = IM: (6)        I = I+Kl: 0)         IM = 0: (8)        IF I = K2:3:3:2: (9)  ST 3: 1 = 9: (10)       IF 1 = K10:5:5:4:    If there is less than 10 in age group 1 (ID  ST 4: 8 = K1.0+/-:         ignore the next 2 lines which calculate (12)       1 = lX^y8xK10xl:     the density-dependent mortality. (13) ST 5: 7 = 1+2+3+4+5:       1.0 in line 11 is the value determining the (14)       ANS 7:               degree of density-dependence and which can (15)       GOTO 1:              be varied in the simulations.
6. Conclusions and suggestions
The ideas presented in this paper demonstrate the potential of a simulation approach using programmable calculators in the teaching of population biology. While the programs can be used solely by the teacher to illustrate principles, their real value lies in the fact that they can be explored and experimented with by the student, either in an extended practical or in project work.

Appendix
The programs used in the simulation exercises are given below (Casio calculator). The steps refer to the sequence of buttons to be pressed when entering the program into the calculator. The numbers in brackets indicate the line numbers of the program and are present only to facilitate the program notes. They are not to be entered into the calculator.
The letter K prefixing a number indicates the use of a constant as opposed to a memory. The only programming difficulty lies in the daily ageing of the population. Instead of a series of separate commands to shift the value in memory 4 into memory 5, memory 3 into memory 4 and so on, the calculator uses only one set of commands for all of these operations (lines 4-8). This is done by using an independent memory I, which can store other memory numbers (IM being used instead of I in calculation steps).
By repeating the same set of commands in a series of loops, each time altering the values of I, the calculator achieves the desired result, but with economy of programming steps. For example, the first time round the loop I is 4 (line 4). The value in memory 4 is then stored in memory 0.1 then becomes 5 and the value in memory 0 is put into memory 5. In effect, the number in age group 4 is shifted into age group 5. The next time round the loop I is 3 (line 4) with the end result that the value in memory 3 gets put into memory 4. When I finally becomes 1, the ageing process is complete and the program moves on to statement 3.
"

The only url I could 'discover' was tandfonline, a pay-per-periodical site, sorry! Hope this is enough for Fx-1 aficionados.

BEST!
SlideRule

ps: hopefully, no transcribe errors!
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)