aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ch-1.cl29
-rw-r--r--ch-1.pl28
2 files changed, 57 insertions, 0 deletions
diff --git a/ch-1.cl b/ch-1.cl
new file mode 100644
index 0000000000..e78c8e53c1
--- /dev/null
+++ b/ch-1.cl
@@ -0,0 +1,29 @@
+;(setf *line* '(1 4 3 2 5 2))
+;(setf *K* 3)
+(setf *line* '(5 6 3 2 7 9))
+(setf *K* 6)
+
+(setf *small* nil)
+(setf *large* nil)
+
+(defun newas (R)
+ (append *small* (cons R nil))
+)
+
+(defun newal (R)
+ (append *large* (cons R nil))
+)
+
+(defun biway (R)
+ (if (> *K* R)
+ (setf *small* (newas R ))
+ (setf *large* (newal R ))
+ )
+)
+
+(loop for R in *line*
+ do (biway R)
+)
+
+(print (append *small* *large*))
+
diff --git a/ch-1.pl b/ch-1.pl
new file mode 100644
index 0000000000..3ade87fe43
--- /dev/null
+++ b/ch-1.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+use strict;
+use Test::Simple tests => 3;
+
+
+sub newlist {
+ my @small = ();
+ my @large = ();
+ my ($K, @line) = @_;
+ foreach(@line) {
+ if ($_ < $K) {
+ push @small, $_;
+ }
+ else {
+ push @large, $_;
+ }
+ }
+
+ return (@small, @large);
+}
+
+print join "," , newlist @ARGV;
+print "\n";
+
+ok (newlist(3, 1, 4, 3, 2, 5, 2))==(1, 2, 2, 4, 3, 5) , "bad condition";
+ok (newlist(6,5,6,3,2,7,9)) == (5,3,2,6,7,9), "bad";
+ok (newlist(2 , 3, 2, 1)) == (1, 3, 2), "too bad";
+