LINUX.ORG.RU

Ответ на: комментарий от Eddy_Em

а не подскажете, что именно вы вводили в bash?

а то я ввел вот так и ничего не вышло((

#!/bin/bash

function pow(){ echo «scale=10; ($1)^($2);» | bc -l; }

read

Shang
() автор топика
Ответ на: комментарий от Shang

Не надо read писать. Откуда ты его вообще взял? Надо писать pow и через пробел, числа, которые будешь возводить и в степень которого будешь.

wbrer ★★★
()
Ответ на: комментарий от Shang

pow 2 -2 подскажите, почему именно эти цифры? почему не 3 -3 или другие, я попробовал их вообще убрать оставил только pow...все равно работает

Shang
() автор топика
Ответ на: комментарий от Shang

/dev/random быстрее решит задачу.
Начни с самого простого. Например, пользователь вводит число и программа выводит его на экран.

anonymous
()
Ответ на: комментарий от Shang

Ты чё издеваешься что ли? Если нет, то давай прямо по буквам разберём что делает эта самая функция pow.

wbrer ★★★
()

Опаньки, а у меня почему-то bс накрылся медным тазом:

bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1^3.2
Runtime warning (func=(main), adr=7): non-zero scale in exponent
1
3^44
984770902183611232881
3^4.4
Runtime warning (func=(main), adr=9): non-zero scale in exponent
81

Странно, недавно работало.



Зато такой «калькулятор» точно будет работать:

function ? { awk "BEGIN{ print $* }" ;}

? '(12^2.4)'
389.076

? 'log(3)'
1.09861

? 'sin(0.2)/cos(0.5)^3.2*exp(22)'
1.08165e+09

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от wbrer

я просто спросил... я знаю что эта функция возводит в степень, мне не понятны цифры идущие после нее...

Shang
() автор топика
Ответ на: комментарий от Eddy_Em

Поччему ты решил, что накрылся?

bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1^3.2
Runtime warning (func=(main), adr=7): non-zero scale in exponent
1
3^44
984770902183611232881
3^4.4
Runtime warning (func=(main), adr=9): non-zero scale in exponent
81

wbrer ★★★
()
Ответ на: комментарий от Shang

Эти цифры или могут быть числа - те самые, которые ждёт функция. Мы ей сами их указали - $1 и $2 помнишь в строке? Они там ещё в скобочках и перевёрнутая птичка между ними. Эта птичка и есть возведение в степень $2 числа $1, которые ты после pow и ввобдишь. Т.е. pow 3 -3 - это мы даём команду возвести в степень -3 число 3.

wbrer ★★★
()
Ответ на: комментарий от wbrer

спасибо за ответ, теперь понял... а еще вопрос - что означает -ql вот в этой строчке

echo «$a^$b» | bc -ql

Shang
() автор топика
Ответ на: комментарий от Shang

Ключ -l определяет стандартную математическую библиотеку, а ключ -q отключает печать стандартного приветствия утилиты bc. Приветствие ты мог видеть в наших с Едди постах. Все эти ключи, а также некоторые другие выведет тебе команда man bc.

wbrer ★★★
()
Ответ на: комментарий от Eddy_Em

Ага, знаю. Просто на конкретный вопрос отвечал. Благодарю за заботу.

wbrer ★★★
()
Ответ на: комментарий от Shang

Желаю тебе успехов в освоении линукс и баша. Если что - спрашивай на ЛОРе и не обижайся, если станут подшучивать - не со зла это.

wbrer ★★★
()
Ответ на: комментарий от wbrer

хех, благодарю) всем спасибо за помощь)

Shang
() автор топика
Ответ на: комментарий от Homura_Akemi

Хорошая причина использовать zsh.

Хорошая причина использовать python.

KennyMinigun ★★★★★
()

Я конечно понимаю, что речь идёт о скрипте. Но для повседневных подсчётов я пользуюсь python как калькулятором:

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> 2 ** -3
0.125

# И прочая математика
# Если надо что-то экзотичнее
>>> import math
>>> math.sin(math.radians(45))
0.7071067811865475

При том питон сходу может работать и с большими числами (как BigInteger в Java):

>>> 9999 ** 123
987774728284706528371792195614161037788181887198138266435029361281814875548591488835580986007141079723328635001672156826493996974301506124539466602474497350814399847112610225805579211969718732614145337247759019027408801779895616444032275786448848046904528940472495657847896624165096302680536794147646888627316653178736546810689975521325877093287273545618622015091491428525454812549844993543177280355867928287238790479668207478490631693817057465416179258732037390037525048614002620249701229999L

KennyMinigun ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.