shell и синус
Добавлено: 2009-05-25 18:30:50
Требуется в консоли построить график синуса, к примеру, y=2sin(x) .
Пока противник рисует карты наступления, мы меняем ландшафты, причём вручную
https://forum.lissyara.su/
шикарные у тебя запросыRusBiT писал(а):Требуется в консоли построить график синуса, к примеру, y=2sin(x) .
Код: Выделить всё
*********
** | **
* | *
* | *
** | **
* | *
* | *
* | *
* | *
* * | *
* * | *
-*-------------------------*----------------+----------------*------------------
* * | *
** ** | **
* * | *
* * | *
* * | *
** ** | ** *
**** **** | **** ****
* | *
zg#школьная математика и практика построения графиков на ZX-SpectrumRusBiT писал(а):и как тебе это удалось?
Код: Выделить всё
#!/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Код: Выделить всё
#!/usr/bin/perl -w
$PI=3.14159265358979323846;
print int(sin($ARGV[0]/$ARGV[1] * $PI)*$ARGV[2]), "\n";
гм... это к чему?mazay писал(а):Короче ряды Тейлора