მაქსიმალური სიგრძის კლებადი ქვესეგმენტი
დაწერე ფუნქცია max-decreasing-subsegment, რომელსაც არგუმენტად გადაეცემა რიცხვებისგან შემდგარი მიმდევრობა. ფუნქციამ უნდა იპოვნოს მაქსიმალური სიგრძის კლებადი ქვემიმდევრობა, მიმდევრობის წევრები აუცილებლად უნდა იყვნენ მეზობლემი. მაგალითად:
(max-decreasing-subsegment ‘(1 2 3 4 3 2 1)) –> ‘(4 3 2 1)
თუ მაქსიმალური სიგრძის ქვემიმდევრობა შეგხვდა ერთზე მეტი, მაშინ ფუნქციამ უნდა დააბრუნოს მიმდევრობა რომლის ელემენტებიც არის უდიდესი. მაგალითად:
(max-decreasing-subsegment ‘(8 7 9 4 6 5)) –> ‘(9 4) (max-decreasing-subsegment ‘(5 4 3 2 4 3 2 1)) –> ‘(5 4 3 2)
მიმდევრობა უნდა იყოს მკაცრად კლებადი. არ უნდა მეორდებოდეს რომელიმე ელემენტი. მაგალითად: (max-decreasing-subsegment ‘(2 2 2 2 1 1 1 1 1)) –> ‘(2 1)
კოდი დაწერე ფაილში max-decreasing-subsegment.scm; ამავე ფაილში მოცემულია ტესტები და მათი სწორი პასუხები; თითოეული ტესტი აბრუნებს #t ან #f შედეგს.
Kawa-ს გამოყენება გაუშვით დესკტოპზე არსებული Kawa-ს გამშვები ფაილი. თუ გსურთ დესკტოპზე არსებულ some-dir დირექტორიაში არსებული foo.scm ფაილის ჩატვირთვა ინტერპრეტატორში აკრიფეთ: (load “some-dir/foo.scm”)