## Introduction

gold Here is an eTCL script on to estimate crater production on other planets. The crater production rate is used to estimate the geologic age of planet surface. For the push buttons, the recommended procedure is push testcase and fill frame, change entries , push solve, and then push report. Report allows copy and paste from console.

In planning any software, there is a need to develop testcases. The cum. number of craters per unit area (=>D) equals alpha times the diameter to the log factor (power law).

## Testcases

"Testcase1" 100. kilometers-2.5 .1 ans 1E-6cum.no.per km*km
"Testcase2" 10. kilometers-2. .1 ans .001 cum.no.per km*km
"Testcase3" 1000. kilometers-2.5 .1 ans 3E-9cum.no.per km*km

### *FIRST VERSION

```     # cumulative crater equation
# written on Windowws XP on eTCL
# working under TCL version 8.5.6 and eTCL 1.0.1
# gold on TCL WIKI , 24aug2010
frame .frame -relief flat -bg aquamarine4
pack .frame -side top -fill y -anchor center
set names {{} {crater diameter:} { log factor:} {alpha constant :} {not used:} {not used:} {not used:} {not used:} {
foreach i {1 2 3 4 5 6 7 8} {
label .frame.label\$i -text [lindex \$names \$i] -anchor e
entry .frame.entry\$i -width 35 -textvariable side\$i
}
set msg "Calculator for cumulative crater Equation.
from TCL WIKI,
written on eTCL "
}
proc intelligent5 { xx1   } {
global side1 side2 side3
global side4 side5 side6 side7 side8
set side8  [ expr {  1*\$side1*\$side2*\$side3*\$side4*\$side5*\$side6*\$side7 } ]
set side8  [ expr {  1*\$side3*pow(\$side1,\$side2)  } ]
return \$side8
}
proc calculate {     } {
global colorwarning
global colorback
global side1 side2 side3 side4 side5 side6 side7 side8
set answer2  [ intelligent5  \$side8     ]
}
proc fillup {aa bb cc dd ee ff gg hh} {
.frame.entry1 insert 0 "\$aa"
.frame.entry2 insert 0 "\$bb"
.frame.entry3 insert 0 "\$cc"
.frame.entry4 insert 0 "\$dd"
.frame.entry5 insert 0 "\$ee"
.frame.entry6 insert 0 "\$ff "
.frame.entry7 insert 0 "\$gg "
.frame.entry8 insert 0 "\$hh "
}
proc clearx {} {
foreach i {1 2 3 4 5 6 7 8} {
.frame.entry\$i delete 0 end
}
}
proc reportx {} {
global side1 side2 side3 side4 side5 side6 side7 side8
console show;
puts " \$side1     "
puts " \$side2    "
puts " \$side3    "
puts " \$side4     "
puts " \$side5     "
puts " \$side6    "
puts " \$side7    "
puts " \$side1    "
puts " \$side2    "
puts " \$side3    "
puts " \$side4    "
puts " \$side5    "
puts " \$side6    "
puts " \$side7    "
puts " \$side8    "
}
frame .buttons -bg aquamarine4
::ttk::button .calculator -text "Solve" -command { calculate   }
::ttk::button .test2 -text "Testcase1" -command {clearx;fillup 100. -2.5 .1  1.  1. 1. 1. 1E-6}
::ttk::button .test3 -text "Testcase2" -command {clearx;fillup 10. -2. .1 1.  1. 1. 1. .001 }
::ttk::button .test4 -text "Testcase3" -command {clearx;fillup 1000. -2.5 .1 1.  1. 1. 1. 3E-9  }
::ttk::button .clearallx -text clear -command {clearx  }
::ttk::button .cons -text report -command { reportx }
::ttk::button .exit -text exit -command {exit}
pack  .clearallx .cons .about .exit .test4 .test3  .test2   -side bottom -in .buttons
grid .frame .buttons -sticky ns -pady {0 10}
. configure -background aquamarine4 -highlightcolor brown -relief raised -border 30
wm title . "Cumulative Crater Equation Calculator "```

You have the following statement in almost all of your pages:

Report allows copy and paste from console, but takes away from computer "efficiency".

What do you mean by "takes away from computer 'efficiency'" in the context of allowing copy/paste?

How do you see allowing copy/paste as "taking away computer efficiency"?

 Category Numerical Analysis Category Toys Category Calculator Category Example Category Mathematics