Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
nutius
0 / 0 / 1
Регистрация: 01.06.2011
Сообщений: 60
1

Программа, которая для каждой строки из каждого файла вычисляла бы значение по вышеуказанной формуле

23.03.2014, 13:43. Просмотров 671. Ответов 13
Метки нет (Все метки)

Здравствуйте, форумчане!
Надеюсь, что вы мне поможете. Столкнулась с такой ситуацией. есть сгенерировано уравнение такого типа:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 (+ (<= rr0 rr5 rr0 rr5) (log (sin (<= (<=
     (square 2.0) (log (* (sin (cube (+ rr0 rr1)))
     (/ (* (* (sin (log rrm)) (cube (+ 1.0 (*
         2.0 (sin (log rrm)))))) (- rr5 0.0)) rr5)))
     (log (* (log (cube (<= (sin rr2) rr5 (log
         (* rr5 rr0)) rr5))) (cube (<= (cube (/ rr5
         (cube (cube (+ rr0 rr1))))) (sin (* (* (+
         1.0 (cube (<= rr0 rr5 rr0 rr5))) rr0) (cube
         (* (log (log (square 1.0))) (+ rrm (sin (square
             1.0))))))) (square 1.0) (* (sin (cube (<=
         rr0 rr5 rr0 rr5))) (exp rr0)))))) (sin (log
     rrm))) (/ rr0 0.0) (+ (sin (log (* (<= (<=
     rr4 rr1 rr0 1.0) (cube (/ rr5 (<= rr0 rr5
     rr0 rr5))) (exp 2.0) (log (+ (sin (<= rr0
     rr5 rr0 rr5)) (<= rr0 rr5 rr0 rr5)))) (log
     (* 2.0 (cube (<= rr0 rr5 rr0 rr5))))))) (log
     (log (sin (<= (* rr2 rr5) (/ rr0 0.0) (<=
         (log rr3) (<= (sin rr2) rr5 rr0 rr5) (<=
         rr4 rr1 rr0 rr5) (log (exp (square 1.0))))
         (<= rr0 rr5 rr0 rr5)))))) (log (* 2.0 (cube
     (<= rr0 rr5 rr0 rr5))))))))
Это уравнение с 7-ю неизвестными, но они все есть в файле. В Файле каждая строка состоит из 8 значений. Надо написать программу, которая для каждой строки из каждого файла вычисляла бы значение по вышеуказанной формуле. и записывала результат в новый столбец.
Пример файла во вложении.

мне подсказали, что уравнение сгенерировано на Лиспе.
Язык Лисп я не знаю...на языке Си понятно как написать программу, кроме записи самого уравнения...а вот как на Лиспе?
0
Вложения
Тип файла: 7z EPH1286186989v2.7z (793.3 Кб, 4 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 13:43
Ответы с готовыми решениями:

программа, которая бы вычисляла среднее значение, максимальный и минимальный элемент второй колонки Excel и выводила это значение на экран
Тема: «Чтение и обработка табличных данных с использованием языка C++» Цель: Научиться сохранять...

Записать имя каждого текстового файла в начало каждой строки этого же файла (кодировка файлов — UTF-8)
Подскажите программу или батник. Проблема в том, что есть много TXT UTF-8 файлов, нужно взять имя...

Как в начало каждой строки каждого текстового файла в текущем каталоге вставить имя этого же файла?
Здравствуйте, подскажите пожалуйста как в текущем каталоге, в начало каждой строки каждого...

Составить программу, которая по номеру и значению элемента вычисляла значение остальных элементов треугольника
Пусть элементами равностороннего треугольника являются: 1) сторона a; 2) площадь S; 3) высота h;...

Посчитать Si для элементов каждой строки по формуле
Дан двумерный массив а(5,3) Посчитать Si для элементов каждой строки по формуле и вывести...

13
helter
Эксперт по математике/физике
3778 / 2801 / 304
Регистрация: 12.03.2013
Сообщений: 5,144
23.03.2014, 16:09 2
Уравнение - это равенство, содержащее неизвестные. У вас знака равно я нигде не вижу.

Также это не похоже на осмысленное выражение. В лиспе сначала идёт знак действия, потом аргументы: (+ 1 2 3) есть 6. У вас: первый + означает, что будут складываться числа. Трудно разобраться в вашей записи, но первый аргумент для плюса - это (<= rr0 rr5 rr0 rr5), что в обычной математической записи означает цепочку неравенств rr0 <= rr5 <= rr0 <= rr5. Это логическое выражение. То есть плюсу вы хотите дать аргумент "истина" или "ложь". Несоответствие типов.

Короче, генератор не генерирует осмысленную математику.
2
Catstail
Модератор
23623 / 11723 / 2047
Регистрация: 12.02.2012
Сообщений: 19,120
23.03.2014, 16:56 3
Дайте математическую постановку задачи. Если она осмыслена (и реализуема на C/C++), то ее можно и на Лиспе реализовать.
0
ur_naz
Заблокирован
23.03.2014, 20:38 4
Цитата Сообщение от nutius Посмотреть сообщение
(+ (<= rr0 rr5 rr0 rr5) (log (s...
что-то я сомневаюсь чтоб можно было булевые переменные складывать
0
castorsky
1973 / 1076 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
25.03.2014, 02:03 5
ur_naz, http://www.cyberforum.ru/cgi-bin/latex.cgi?x \oplus y \equiv x \bar{y} + \bar{x} y булева алгебра. Здесь + есть дизъюнкция, но все же. Если эта алгебра нам непонятна, это не значит что ее не существует.
Цитата Сообщение от ur_naz Посмотреть сообщение
чтоб можно было булевые переменные складывать
Не сомневайтесь, можно.
0
helter
Эксперт по математике/физике
3778 / 2801 / 304
Регистрация: 12.03.2013
Сообщений: 5,144
25.03.2014, 02:09 6
Это у вас в схеме можно плюс переопределять, а в CL стандартные функции и макросы неприкосновенны. :P
0
castorsky
1973 / 1076 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
25.03.2014, 02:16 7
ога мы такие
Lisp
1
2
3
4
> (define (+ x y) (* x y))
> (+ 4 5)
20
>
0
ur_naz
Заблокирован
25.03.2014, 02:21 8
Цитата Сообщение от castorsky Посмотреть сообщение
Не сомневайтесь, можно.
Не стоит путать абстрактные понятия с программированием. В лучшем случае получите ошибку компилятора, особенно если на ноль делить...
(/ rr0 0.0)
0
helter
Эксперт по математике/физике
3778 / 2801 / 304
Регистрация: 12.03.2013
Сообщений: 5,144
25.03.2014, 02:22 9
Это потому что у вас макросы гигиенические.

Не по теме:

Впрочем, рэкет вроде значительно превосходит схему в отношении языкостроительства. castorsky, с вас туториал!

0
castorsky
25.03.2014, 02:32
  #10

Не по теме:

Цитата Сообщение от helter Посмотреть сообщение
castorsky, с вас туториал!
Не понял. Ракета ракета наследник схемы.
ur_naz, Даже линукс умеет делить на ноль :)

0
ur_naz
Заблокирован
25.03.2014, 03:05 11
Во всяком случае редактор формул никто не отменял...
0
helter
Эксперт по математике/физике
3778 / 2801 / 304
Регистрация: 12.03.2013
Сообщений: 5,144
25.03.2014, 03:34 12
Цитата Сообщение от castorsky Посмотреть сообщение
Не понял. Ракета ракета наследник схемы.
Наследник. Но в схеме недомакросы, а в рэкете что-то очень умное, хотя мудрёное. Я пытался разбираться и не разобрался. Рэкет же и позиционируется не просто как диалект, а как языковая лаборатория. Вон, и Грэм свой арк не на CL писал, а на PLT Scheme.
0
castorsky
25.03.2014, 04:01
  #13

Не по теме:

Если Вы надеетесь что я что-то проясню, то напрасно. Я очень слабо разбираюсь в лиспе.

0
helter
25.03.2014, 04:23     Программа, которая для каждой строки из каждого файла вычисляла бы значение по вышеуказанной формуле
  #14

Не по теме:

Цитата Сообщение от castorsky Посмотреть сообщение
Если Вы надеетесь что я что-то проясню, то напрасно. Я очень слабо разбираюсь в лиспе.
Ну, не прямо сейчас... :)

0
25.03.2014, 04:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2014, 04:23
Привет! Вот еще темы с ответами:

Напечатать матрицу, минимальное значение каждой строки, среднее арифметическое каждого столбца
Создайте матрицу (5 строк, 7 столбцов), которая содержит двузначное случайное число (размер...

Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника
Пусть элементами прямоугольного равнобедренного треугольника являются: 1) катет а; 318 2)...

Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.
Составить программу (используя оператор выбора case), которая по заданному номеру и значению...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru