powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Математика для программиста
25 сообщений из 238, страница 3 из 10
Математика для программиста
    #35374622
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю, надо говорить о наличии правильно организованного МЫШЛЕНИЯ.
а уж где его применить - в математике ли, в программировании ли, в управлении ли государством..
просто в математике наиболее просто проверить, гонит человек или нет.
даже разноязычные математики (например, китаец и русский) смогут однозначно друг друга понять, в принципе.

а вот в политике или философии..

в программировании отрицание истины есть ложь,
а в философии отрицание истины - это просто другая, не менее глубокая, истина :-)

----------
USA=США, NATO=ОСАС (организация северо-антлантического соглашения)
...
Рейтинг: 0 / 0
Математика для программиста
    #35374639
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonУ меня тоже по математике был не самый высший бал. Однако это не мешает мне сегодня использовать свои знания по математике в IT. Я-бы даже сказал, что эти знания только укрепились.

а можно ПРИМЕР применения знаний по МАТЕМАТИКЕ в IT?

я вот, например, тоже в свое время закончил матфак и разрабатывал в минатоме программы расчетов уранообогатительных каскадов, мне там кроме арифметики (ну, логарифмы, да) мало чего пригодилось. а вот привычка в сжатые сроки познавать и систематизировать в башкортостане новое - очень даже пригодилась. то же и при изучении иностранных языков.
как-то вот так..
...
Рейтинг: 0 / 0
Математика для программиста
    #35374648
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha borinмой одноклассник имел уверенное 2 по математике, русскому, и вообще закончил школу со справкой.Во-первых упоминание о русском тут лишнее. Во-вторых - я могу поверить еще в то, что ему было просто не интересно, но в то, что его мозг не был способен справиться с линейным уравнением, я вас умоляю. Любой талантливый программист не обязательно отличный математик, но способности к математике у него всегда будут как минимум выше способностей среднего заучки.

не скажите. если человек не владеет родным языком - это повод задуматься о многом
...
Рейтинг: 0 / 0
Математика для программиста
    #35374752
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borin
не скажите. если человек не владеет родным языком - это повод задуматься о многом
ничего это о нем, как о специалисте в своей области не говорит. Не хотел он свой чердак заставлять всякими "жи-ши". Тем более, что значит не владеет? Пишет с грамматическими ошибками? Так делают 99% местных посетителей, независимо от того, стоит у них проверка орфографии или нет, гении они или бездари. Не уж то это срывает с них некие покровы и заставляет "задуматься о многом" ;) ?
...
Рейтинг: 0 / 0
Математика для программиста
    #35374933
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
классический пример:
Шерлок Холмс знать не желал, что вокруг чего летает, Земля вокруг Солнца или наоборот.
"Мне, "- говорил он, "- для раскрытия преступлений это не важно"..

----------
USA=США, NATO=ОСАС (организация северо-антлантического соглашения)
...
Рейтинг: 0 / 0
Математика для программиста
    #35375037
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borinклассический пример:
Угу, пример классический и неудачный. Потому как без информации об этом факте уважаемому Шерлоку требовалось выучить без объяснения, по принципу "запомните, что это так" ряд других, имеющих значение при раскрытии преступлений - скажем, то, что расписание приливов-отливов непостоянно или то, что астрономический полдень не равен хронометрическому. Кстати, о последнем расхождении можно было бы сочинить прелестный детективчик в духе Агаты Кристи.

Мы все рано или поздно останавливаемся и говорим "нет, в этом направлении углубляться больше не буду". Но не потому, что это "не нужно", а потому, что "на все времени не хватает, приходится выбирать более часто нужное".
...
Рейтинг: 0 / 0
Математика для программиста
    #35375095
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borinклассический пример:
Шерлок Холмс знать не желал, что вокруг чего летает, Земля вокруг Солнца или наоборот.
да да. "чердак" мною был упомянут действительно не случайно. Как раз Шерлок и не хотел забивать голову лишней информацией (при чем выучив, сдав и благополучно забыв кучу херни на своем веку, я с ним вполне солидарен). Видимо ваш друг тоже решил не размениваться по-мелочам (тем более он видать как чувствовал, что придется учить другой язык )
...
Рейтинг: 0 / 0
Математика для программиста
    #35375338
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быдлокодеру Lepsik НедоматематикА сортировки, поиски.... тьфу, банальность туповатая... Чи не открытия.

а потом приходит такой супер программист - попросишь его удалить тень за обьектом в 3D модели, а у него даже не слышал ничего о стереометрии. Что он там накодирует ?
Стереометрии? Я сейчас просто под стол упаду, и буду там биться в истерике.

И давно это игрушки в стереометрии начали рисовать?


да мы родной моделирование химических помоек занимаемся. А там и скважены и разрезы во всех перспективах. Поищи в гугле VisualBorehole и у него 3D viewer оцени маштабы трагедии.
...
Рейтинг: 0 / 0
Математика для программиста
    #35375728
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_________
...
Рейтинг: 0 / 0
Математика для программиста
    #35375732
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря что программировать - вот Maple 9, MATLAB, Mathematica, ... многие САПР, многие игры, системы навигации, графические системы, ... без математики никак, ибо они сами и есть математика



__________
Крутые перцы?
Тушить на медленном огне.
...
Рейтинг: 0 / 0
Математика для программиста
    #35380405
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexandrPlusСмотря что программировать - вот Maple 9, MATLAB, Mathematica, ... многие САПР, многие игры, системы навигации, графические системы, ... без математики никак, ибо они сами и есть математика


перед клёном я вообще преклоняюсь как перед чудом.
НЕ ПОНИМАЮ, как железяку можно научить делать
Код: plaintext
аналитическое
дифференцирование-интегрирование, т.е. не численное, а именно на уровне буквенных формул.

и насчет языков тут очень грамотно подмечено.
работа программиста очень сильно напоминает работу переводчика:
сказать вещи, понятные тебе, понятным машине языком.

а отличие в том, что сами эти вещи довольно сложные, собаки.
...
Рейтинг: 0 / 0
Математика для программиста
    #35380523
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borinНЕ ПОНИМАЮ, как железяку можно научить делать аналитическое дифференцирование-интегрирование
Любимая игрушка в книжках по Лиспу. Хотя "на уровне хорошего математика" оно конечно очень и очень непросто.
...
Рейтинг: 0 / 0
Математика для программиста
    #35380562
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borinНЕ ПОНИМАЮ, как железяку можно научить делать
Код: plaintext
аналитическое
дифференцирование-интегрирование

Приблизительно вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
(define (d f x)
    (cond ((null? f)  0 )
          ((number? f)  0 )
          ((symbol? f) (if (eq? f x)  1   0 ))
          ((eq? '+ (op f)) (make+ (d (left f) x) (d (right f) x)))
          ((eq? '- (op f)) (cond ((=  1  (arity f)) (make- (d (left f) x)))
                                 (else (make- (d (left f) x) (d (right f) x)))))
          ((eq? '* (op f)) (make+ (make* (left f) (d (right f) x))
                                  (make* (right f) (d (left f) x))))
          ((eq? '/ (op f)) (d (make* (left f) (make^ (right f) (make-  1 ))) x))
          ((eq? '^ (op f)) (make* (right f) (make^ (left f) (make- (right f) 1)) (d (left f) x)))
          (else (error "Bad expression"))))

(define (error x) (newline) (display x))
(define (num= x y) (and (number? x) (number? y) (= x y)))
(define (arity f)
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (+ r 1) (cdr s))))
  )
  (iter 0 (cdr f))
)

(define (op f) (car f))
(define (left f) (cadr f))
(define (right f)
  (cond ((null? (cddr f)) '())
        ((null? (cdddr f)) (caddr f))
        ((eq? '- (op f)) (append (list '+) (cddr f)))
        (else (append (list (op f)) (cddr f))))
)

(define (make- x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x - 1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (- (caar s) x)  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (- (cadar s)  1 )) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 0 (car x)) '())
          ((num=  0  (cadr x)) '())
          ((num= 1 (cadr x)) (list (car x)))
          ((num= -1 (cadr x)) (if (number? (car x)) (list (- (car x)))
                                           (list (list '- (car x)))))
          (else (list (make* (cadr x) (car x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (cond ((null? y) (list (list x -1)))
                         (else (iter (list (list x 1)) y))))))
    (cond ((null? s) 0)
          ((null? (cdr s)) (car s))
          (else (cons '- s)))
  )
)

(define (make+ x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x  1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (+ x (caar s))  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (+  1  (cadar s))) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 0 (car x)) '())
          ((num=  0  (cadr x)) '())
          ((num= 1 (cadr x)) (list (car x)))
          (else (list (make* (cadr x) (car x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (iter (add '() x) y))))
    (cond ((null? s) 0)
          ((null? (cdr s)) (car s))
          (else (cons '+ s)))
  )
)

(define (make* x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x  1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (* x (caar s))  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (+  1  (cadar s))) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 1 (car x)) '())
          ((num=  1  (cadr x)) (list (car x)))
          (else (list (make^ (car x) (cadr x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      ((num=  0  (caar s)) (list  0 ))
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (iter (add '() x) y))))
    (cond ((null? s)  1 )
          ((null? (cdr s)) (car s))
          (else (cons '* s)))
  )
)

(define (make^ x y)
  (cond ((num= y 0) 1)
        ((num= x 1) 1)
        ((num= y 1) x)
        (else (list '^ x y))))


С интегрированием конечно несколько сложнее
А на языках типа C++ и Pascal гораздо уродливей, но ...

для пытливого ума нет ничего невозможного
...
Рейтинг: 0 / 0
Математика для программиста
    #35380974
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer borinНЕ ПОНИМАЮ, как железяку можно научить делать аналитическое дифференцирование-интегрирование
Любимая игрушка в книжках по Лиспу. Хотя "на уровне хорошего математика" оно конечно очень и очень непросто.

я в свое время баловался прологом/флэнгом, но дальше задачи о ферзях не продвинулся.
а чего оно дифференцирует-то, икс в степени н, или все? например, корень из логарифма синуса икс сможет?
...
Рейтинг: 0 / 0
Математика для программиста
    #35380984
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)

для пытливого ума нет ничего невозможного

вот и мой шеф всячески пропагандирует тезис Чёрча:
все, что можно постичь мозгом, можно и формализовать для машины тьюринга.
то есть нифига мы не богом не созданные ,а просто биохимические цомпутеры блин :-(
...
Рейтинг: 0 / 0
Математика для программиста
    #35381001
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borin
вот и мой шеф всячески пропагандирует тезис Чёрча:
все, что можно постичь мозгом, можно и формализовать для машины тьюринга.
то есть нифига мы не богом не созданные ,а просто биохимические цомпутеры блин :-(

Проблема в том, что про некоторые вещи мы только догадываемся, а часть идет на несознательном уровне.
Простейший пример-перейти дорогу перед идущим транспортом. В уме эту задачу решать нужно несколько минут(а лучше с листиком и бумажкой), а мы оцениваем ситуациюю за 1-2 секунды(может и меньше)
...
Рейтинг: 0 / 0
Математика для программиста
    #35381027
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borinнапример, корень из логарифма синуса икс сможет?
А в чем проблема? Правило для f(g(x)) закодировать вроде как нетрудно.
...
Рейтинг: 0 / 0
Математика для программиста
    #35381551
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Gluk (Kazan):
Gluk (Kazan)
С интегрированием конечно несколько сложнее

По-моему, сделать символьное интегрирование гораздо сложнее.
...
Рейтинг: 0 / 0
Математика для программиста
    #35381600
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borinа чего оно дифференцирует-то, икс в степени н, или все? например, корень из логарифма синуса икс сможет?

Какие правила забьешь то и дифференцирует
...
Рейтинг: 0 / 0
Математика для программиста
    #35381603
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр Седов2 Gluk (Kazan):
Gluk (Kazan)
С интегрированием конечно несколько сложнее

По-моему, сделать символьное интегрирование гораздо сложнее.

разумеется
хотя бы по той простой причине, что первообразные далеко не всех аналитических функций представимы в аналитическом виде
...
Рейтинг: 0 / 0
Математика для программиста
    #35381758
Фотография ICQRobot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
(define (d f x)
    (cond ((null? f)  0 )
          ((number? f)  0 )
          ((symbol? f) (if (eq? f x)  1   0 ))
          ((eq? '+ (op f)) (make+ (d (left f) x) (d (right f) x)))
          ((eq? '- (op f)) (cond ((=  1  (arity f)) (make- (d (left f) x)))
                                 (else (make- (d (left f) x) (d (right f) x)))))
          ((eq? '* (op f)) (make+ (make* (left f) (d (right f) x))
                                  (make* (right f) (d (left f) x))))
          ((eq? '/ (op f)) (d (make* (left f) (make^ (right f) (make-  1 ))) x))
          ((eq? '^ (op f)) (make* (right f) (make^ (left f) (make- (right f) 1)) (d (left f) x)))
          (else (error "Bad expression"))))

(define (error x) (newline) (display x))
(define (num= x y) (and (number? x) (number? y) (= x y)))
(define (arity f)
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (+ r 1) (cdr s))))
  )
  (iter 0 (cdr f))
)

(define (op f) (car f))
(define (left f) (cadr f))
(define (right f)
  (cond ((null? (cddr f)) '())
        ((null? (cdddr f)) (caddr f))
        ((eq? '- (op f)) (append (list '+) (cddr f)))
        (else (append (list (op f)) (cddr f))))
)

(define (make- x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x - 1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (- (caar s) x)  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (- (cadar s)  1 )) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 0 (car x)) '())
          ((num=  0  (cadr x)) '())
          ((num= 1 (cadr x)) (list (car x)))
          ((num= -1 (cadr x)) (if (number? (car x)) (list (- (car x)))
                                           (list (list '- (car x)))))
          (else (list (make* (cadr x) (car x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (cond ((null? y) (list (list x -1)))
                         (else (iter (list (list x 1)) y))))))
    (cond ((null? s) 0)
          ((null? (cdr s)) (car s))
          (else (cons '- s)))
  )
)

(define (make+ x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x  1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (+ x (caar s))  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (+  1  (cadar s))) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 0 (car x)) '())
          ((num=  0  (cadr x)) '())
          ((num= 1 (cadr x)) (list (car x)))
          (else (list (make* (cadr x) (car x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (iter (add '() x) y))))
    (cond ((null? s) 0)
          ((null? (cdr s)) (car s))
          (else (cons '+ s)))
  )
)

(define (make* x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x  1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (* x (caar s))  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (+  1  (cadar s))) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 1 (car x)) '())
          ((num=  1  (cadr x)) (list (car x)))
          (else (list (make^ (car x) (cadr x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      ((num=  0  (caar s)) (list  0 ))
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (iter (add '() x) y))))
    (cond ((null? s)  1 )
          ((null? (cdr s)) (car s))
          (else (cons '* s)))
  )
)

(define (make^ x y)
  (cond ((num= y 0) 1)
        ((num= x 1) 1)
        ((num= y 1) x)
        (else (list '^ x y))))


Что за бред!!! Разве это программирование? Где классы, наследование, полиформизм? ))))
Скриптов и тех нету!!! Ни одно события окна не отрабатывается !!!
...
Рейтинг: 0 / 0
Математика для программиста
    #35381960
vlas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ICQRobot
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
(define (d f x)
    (cond ((null? f)  0 )
          ((number? f)  0 )
          ((symbol? f) (if (eq? f x)  1   0 ))
          ((eq? '+ (op f)) (make+ (d (left f) x) (d (right f) x)))
          ((eq? '- (op f)) (cond ((=  1  (arity f)) (make- (d (left f) x)))
                                 (else (make- (d (left f) x) (d (right f) x)))))
          ((eq? '* (op f)) (make+ (make* (left f) (d (right f) x))
                                  (make* (right f) (d (left f) x))))
          ((eq? '/ (op f)) (d (make* (left f) (make^ (right f) (make-  1 ))) x))
          ((eq? '^ (op f)) (make* (right f) (make^ (left f) (make- (right f) 1)) (d (left f) x)))
          (else (error "Bad expression"))))

(define (error x) (newline) (display x))
(define (num= x y) (and (number? x) (number? y) (= x y)))
(define (arity f)
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (+ r 1) (cdr s))))
  )
  (iter 0 (cdr f))
)

(define (op f) (car f))
(define (left f) (cadr f))
(define (right f)
  (cond ((null? (cddr f)) '())
        ((null? (cdddr f)) (caddr f))
        ((eq? '- (op f)) (append (list '+) (cddr f)))
        (else (append (list (op f)) (cddr f))))
)

(define (make- x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x - 1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (- (caar s) x)  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (- (cadar s)  1 )) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 0 (car x)) '())
          ((num=  0  (cadr x)) '())
          ((num= 1 (cadr x)) (list (car x)))
          ((num= -1 (cadr x)) (if (number? (car x)) (list (- (car x)))
                                           (list (list '- (car x)))))
          (else (list (make* (cadr x) (car x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (cond ((null? y) (list (list x -1)))
                         (else (iter (list (list x 1)) y))))))
    (cond ((null? s) 0)
          ((null? (cdr s)) (car s))
          (else (cons '- s)))
  )
)

(define (make+ x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x  1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (+ x (caar s))  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (+  1  (cadar s))) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 0 (car x)) '())
          ((num=  0  (cadr x)) '())
          ((num= 1 (cadr x)) (list (car x)))
          (else (list (make* (cadr x) (car x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (iter (add '() x) y))))
    (cond ((null? s) 0)
          ((null? (cdr s)) (car s))
          (else (cons '+ s)))
  )
)

(define (make* x . y)
  (define (add s x)
    (define (iter r x s)
      (cond ((null? s) (cons (list x  1 ) r))
            ((and (number? x)
                  (number? (caar s))) (append (cons (list (* x (caar s))  1 ) (cdr s))))
            ((equal? x (caar s)) (append (cons (list x (+  1  (cadar s))) r) (cdr s)))
            (else (iter (cons (car s) r) x (cdr s))))
    )
    (iter '() x s)
  )
  (define (iter r s)
    (cond ((null? s) r)
          (else (iter (add r (car s)) (cdr s)))
    )
  )
  (define (item x)
    (cond ((num= 1 (car x)) '())
          ((num=  1  (cadr x)) (list (car x)))
          (else (list (make^ (car x) (cadr x))))
    )
  )
  (define (result r s)
    (cond
      ((null? s) r)
      ((num=  0  (caar s)) (list  0 ))
      (else (result (append r (item (car s))) (cdr s)))
    )
  )
  (let ((s (result '() (iter (add '() x) y))))
    (cond ((null? s)  1 )
          ((null? (cdr s)) (car s))
          (else (cons '* s)))
  )
)

(define (make^ x y)
  (cond ((num= y 0) 1)
        ((num= x 1) 1)
        ((num= y 1) x)
        (else (list '^ x y))))


Что за бред!!! Разве это программирование? Где классы, наследование, полиформизм? ))))
Скриптов и тех нету!!! Ни одно события окна не отрабатывается !!!

А что кроме ООП больше ничего не существует???
И причем здесь ООП.
А как же раньше жили без ООП?
...
Рейтинг: 0 / 0
Математика для программиста
    #35382005
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlas
А что кроме ООП больше ничего не существует???
И причем здесь ООП.
А как же раньше жили без ООП?
Посмотри в википедии значение слова "юмор". Заодно, когда там будешь, посмотри что такое оверквотинг ;)
...
Рейтинг: 0 / 0
Математика для программиста
    #35382055
серый ник1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист без знания математики не программист, а формоклепальщик в лучшем случае.
...
Рейтинг: 0 / 0
Математика для программиста
    #35382189
Фотография borin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зато тот же Шерлок Холмс вел картотеку преступников, т.е. базы данных рулят.
правда, выборка у него была ручная, да и отсортировать физические бумажки можно только по какому-то одному признаку. как они вообще хоть кого-то ловили, не понимаю!

----------
USA=США, NATO=ОСАС (организация северо-антлантического соглашения)
...
Рейтинг: 0 / 0
25 сообщений из 238, страница 3 из 10
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Математика для программиста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]