LCME Вторник, 16.04.2024, 22:15
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: anatoliy  
Форум » Домашние задания » Программирование » Классная работа от 26.01 (Двоичный поиск аргумента функции)
Классная работа от 26.01
freidomДата: Вторник, 26.01.2010, 12:36 | Сообщение # 1
Главный тут
Группа: Администраторы
Сообщений: 273
Репутация: 20
Статус: Offline
=)
Прикрепления: earch.ml (1.0 Kb)
 
anatoliyДата: Вторник, 26.01.2010, 13:07 | Сообщение # 2
Captain BWAAAAAH!!!
Группа: Модераторы
Сообщений: 32
Репутация: 1
Статус: Offline
1
Прикрепления: 6068281.ml (0.7 Kb)
 
froci9rgevkaДата: Вторник, 26.01.2010, 13:54 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 71
Репутация: 1
Статус: Offline
moi VARIANT biggrin smile biggrin

type 'a lazy_list = Cons of 'a * 'a lazy_list Lazy.t | Nil;;

let rec element m n =
(n+.m)/.2.;;
let f x = x*.x;;

let rec poisk2 k m n =
let i = element m n in
let z = f i in
Cons (i, lazy (if z<=k then (poisk2 k i n) else
poisk2 k m i)) ;;

(*let primer = [|1;3;5;7;9;12|];;
print_int (Array.length (primer)-1);;
poisk 7 primer;;
*)

let rec vibor f n l =
if (n>0) then
( match l with
Cons (l1,ls)-> f l1; vibor f (n-1) (Lazy.force ls)
|Nil -> []) else [];;

let rec vicheslit f e n l =
match l with
Cons (l1,ls) -> print_float l1;print_string "\n"; if abs_float (n-.(f l1))>e then (vicheslit f e n (Lazy.force ls))
|Nil->print_string "ki";;

vicheslit (fun x -> x*.x) 0.2 52. (poisk2 52. 0. 76.376)
конечно не самый лучший вариант, но все же ... smile


Саня - тащщи! XD

"If you have time to panic, you have time to be doing something productive" © Josh Whipple

You’re standing on your Bridle. Idiot! =)
© Roland “Slim” Simpson

Сообщение отредактировал froci9rgevka - Пятница, 29.01.2010, 22:21
 
Форум » Домашние задания » Программирование » Классная работа от 26.01 (Двоичный поиск аргумента функции)
  • Страница 1 из 1
  • 1
Поиск:

Copyright Freidom © 2024 Хостинг от uCoz