shell и синус

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

shell и синус

Непрочитанное сообщение RusBiT » 2009-05-25 18:30:50

Требуется в консоли построить график синуса, к примеру, y=2sin(x) .
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: shell и синус

Непрочитанное сообщение zg » 2009-05-25 19:00:35

RusBiT писал(а):Требуется в консоли построить график синуса, к примеру, y=2sin(x) .
шикарные у тебя запросы :smile: но в принципе можно

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: shell и синус

Непрочитанное сообщение RusBiT » 2009-05-25 19:23:02

ну мне пришло в голову только через цикл, увеличивать/уменьшать отступы на каждой строке
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: shell и синус

Непрочитанное сообщение zg » 2009-05-25 21:00:15

Код: Выделить всё

                                        *********
                                      **    |    **
                                     *      |      *
                                    *       |       *
                                  **        |        **
                                 *          |          *
                                *           |           *
                               *            |            *
                              *             |             *
*                            *              |              *
*                           *               |               *
-*-------------------------*----------------+----------------*------------------
  *                       *                 |                 *
   **                   **                  |                  **
     *                 *                    |                    *
      *               *                     |                     *
       *             *                      |                      *
        **         **                       |                       **         *
          **** ****                         |                         **** ****
              *                             |                             *
zg#
:ROFL: я маниак :smile:

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: shell и синус

Непрочитанное сообщение RusBiT » 2009-05-26 5:19:14

и как тебе это удалось?
Я только прямую смог посмтроить :D
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: shell и синус

Непрочитанное сообщение zg » 2009-05-26 7:54:49

предыдущий график был не синус, а косинус -))) с осями напутал :oops: . Зато этот самый настоящий синус!!!
sin.PNG
sin.PNG (6.61 КБ) 2023 просмотра

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: shell и синус

Непрочитанное сообщение zg » 2009-05-26 7:57:58

RusBiT писал(а):и как тебе это удалось?
школьная математика и практика построения графиков на ZX-Spectrum :-D

Это основной скрипт, который график строит

Код: Выделить всё

#!/bin/sh

writeAbscise() {
  i=0;
  while [ $i -lt $2 ];
  do
    at $i $1 '-'
    i=$(($i+1))
  done
  at $(($2-1)) $1 '>'
  at $(($2-1)) $(($1+1)) 'x'
}

writeOrdinate() {
  i=0;
  while [ $i -lt $1 ];
  do
    at $2 $i '|'
    i=$(($i+1))
  done
  at $2 0 '^'
  at $(($2+2)) 0 'y'
}

writeCoord() {
  writeOrdinate $1 $(($2/2))
  writeAbscise $(($1/2)) $2
  at $(($2/2)) $(($1/2)) '+'
  at $(($2/2+2)) $(($1/2+1)) 0
}

writeFx() {
  writeCoord $1 $2
  i=0
  while [ $i -lt $(($2-1)) ];
  do
    Y=`./1.pl $(($i-$2/2)) $(($2/2)) $(($1/2-2))`
    Y=$(($1/2-$Y))
    [ $Y -ge $1 ] && Y=$(($1-1))
    [ $Y -lt 0  ] && Y=0;
    at $i $Y '*'
    i=$(($i+1))
  done
  at 0 $1
}

at() {
  echo -e "\033[$2;$1H$3"
}

clear
at 4 2 'y=2sin(x)'
writeFx 23 80
А это вспомогательный, который расчёты делает (1.pl)

Код: Выделить всё

#!/usr/bin/perl -w

$PI=3.14159265358979323846;

print int(sin($ARGV[0]/$ARGV[1] * $PI)*$ARGV[2]), "\n";

mazay
проходил мимо

Re: shell и синус

Непрочитанное сообщение mazay » 2009-05-27 9:21:35

Короче ряды Тейлора, представляющие собой бесконечную сумму некоторых произведений аргумента. Количество слагаемых выбирается исходя из требуемой точности.
Изображение
http://ru.wikipedia.org/wiki/%D0%A2%D0% ... 0%BD%D1%81

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: shell и синус

Непрочитанное сообщение zg » 2009-05-27 9:30:51

mazay писал(а):Короче ряды Тейлора
гм... это к чему? :smile:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: shell и синус

Непрочитанное сообщение Alex Keda » 2009-05-27 10:40:46

к зайцам...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: shell и синус

Непрочитанное сообщение terminus » 2009-05-27 11:19:04

ряды тейлора - это для приближенного (достаточно точного) вичисления значения сложной функции. Но тут оно по-ходу нафиг ненадо... :smile:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: shell и синус

Непрочитанное сообщение zg » 2009-05-27 11:47:17

умел бы шелл работать с дробными числами, можно было бы и ряд применить, а так проще перл припахать :smile: