Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Potęgi i wzory skróconego mnożenia  (Przeczytany 7105 razy)

Facman

  • Gość
Potęgi i wzory skróconego mnożenia
« dnia: 2011-12-28, 14:29:57 »
Witam użytkowników. Mam ogromny problem  jak napisać skrypt, który będzie liczył wzory skróconego mnożenia do potęgi 2 i 3 oraz obliczał potęgi. Męczyłem się z tym długie godziny, lecz nic nie wskórałem.
Mogę napisać 2 programy lub 1 zawierający oba skrypty.
Jeżeli chodzi o potęgi najlepiej by program działał tak, by prosił o podanie liczby, później potęgi, a potem to obliczał. Co do wzorów skróconego mnożenia to, by dać listę wzorów skróconego mnożenia, czyli: (a+b)2,  (a-b)2, (a+b)3,  (a-b)3. Później podać odpowiednie liczby i obliczyć wzór.
Z góry dzięki za pomoc! Sam to próbowałem ogarnąć, ale jedynym tego skutkiem były zmarnowane godziny.

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #1 dnia: 2011-12-28, 14:59:33 »
Ale z czym konkretnie masz problem?

Wzory znasz? Umiesz je zaimplementować w bash-u? Wiesz jak wczytać zmienną podaną przez użytkownika?

Bo chyba nie oczekujesz, że ktoś tutaj odrobi za Ciebie pracę domową?

Facman

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #2 dnia: 2011-12-28, 15:38:12 »
Próbowałem robić ten skrypt z wykorzystaniem pomocy w różnych poradnikach. Nie oczekuje, że " ktoś tutaj odrobi za Ciebie pracę domową?", tylko proszę chociaż o  jakieś wskazówki co do tego programu.

Teilor

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #3 dnia: 2011-12-28, 16:14:43 »
public class SzybkiePotegowanie {
 
    public double podniesDoPotegi(double liczba, int wykladnik) {
        if (wykladnik == 0) {
            return 1;
        } else if (wykladnik % 2 != 0) {
            return liczba * this.podniesDoPotegi(liczba, wykladnik - 1);
        } else {
            double temp = this.podniesDoPotegi(liczba, wykladnik / 2);
            return temp *= temp;
Coś takiego odnośnie potegowania

Facman

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #4 dnia: 2011-12-28, 16:46:05 »
a coś na wzory skr mnożenia z tym największy problem?

Ksanderon

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #5 dnia: 2011-12-28, 22:21:31 »
Teilor // nie dość, że nie w baszu to jeszcze rekurencyjnie.

Facman

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #6 dnia: 2011-12-28, 22:29:45 »
Mogę prosić chociaż o jakieś wskazówki lub stronę do wykonania tego programu?

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #7 dnia: 2011-12-29, 00:10:35 »
Facman: weź kartkę papieru i zastanów się, co chcesz zrobić.

Musisz policzyć kilka rzeczy. Wpisujesz więc w wyszukiwarkę "bash arithmetic" i na jednej z pierwszych pozycji wyskakuje Ci np. to. Co do wzorów skróconego mnożenia, to bash sobie z nimi doskonale radzi:
$ echo $(( (2+3)*4 ))
20
Co najwyżej musisz sprawdzić, czy we wprowadzonym ciągu znaków między nawiasem a mnożnikiem jest gwiazdka, i jeśli nie,  to ją tam umieścić (bo inaczej bash zgłupieje).

Ewentualnie możesz w shellu tłumaczyć wprowadzony zapis na odwrotną notację polską i takie wyrażenie przekazywać bc, który już zajmie się resztą ;) .

Ponadto musisz pobrać dane od użytkownika, więc wpisujesz w wyszukiwarkę "bash read user input" i wyskakuje np. to.

Poza tym warto nauczyć się pisać funkcje ("bash functions") i dowiedzieć co nieco o zmiennych ("bash variables"), ale to są tak naprawdę podstawy programowania.

Zrób to. Napisz jakąś wstępną wersję skryptu. Pewnie natkniesz się na wiele problemów. Czytaj dokumentację i przeszukuj Sieć, ale jeśli to nie pomoże, to z tymi problemami możesz się tutaj zgłosić. Bo na razie Twoje pytanie jest na tyle ogólne, że nawet jeśli ktoś potrafi, to nie wie jak Tobie pomóc.

Facman

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #8 dnia: 2011-12-29, 20:33:34 »
Próbowałem zrobić te programy sam,
jesli chodzi o te wzory ogarnolem tak:
#!/bin/bash
echo "!Witam w programie wzory skróconego mnożenia i potęgi!"
echo "wybierz wzór który chcesz użyć"
echo "1  (a+b)2"
echo "2  (a-b)2"
echo "3  (a+b)3"
echo "4  (a-b)3"
read nr
case "$nr" in
1)
echo "podaj a i b"
read a
read b
wynik=$(($a*$a))
wynik2=$((2*$a*$b))
wynik3=$(($b*$b))
w=$(($wynik+$wynik2+$wynik3))
echo "wynik to $w";;
2)
echo "podaj a i b"
read a
read b
wynik=$(($a*$a))
wynik2=$((2*$a*$b))
wynik3=$(($b*$b))
w=$(($wynik-$wynik2+$wynik3))
echo "wynik to $w";;
3)
echo "podaj a i b"
read a
read b
wynik=$(($a*$a*$a))
wynik2=$((3*$a*$a*$b))
wynik3=$((3*$a*$a*$b))
wynik4=$(($b*$b*$b))
w=$(($wynik-$wynik2+$wynik3+$wynik4))
echo "wynik to $w";;
4)
echo "podaj a i b"
read a
read b
wynik=$(($a*$a*$a))
wynik2=$((3*$a*$a*$b))
wynik3=$((3*$a*$a*$b))
wynik4=$(($b*$b*$b))
w=$(($wynik-$wynik2+$wynik3-$wynik4))
echo "wynik to $w";;
esac
Glupi sposób ale inaczej mi wysypywalo.
Da się to jakoś lepiej napisać?


Co do tego programu, o potęgach, to
komplenie mi nie działą :/
zrobilem to tak, jednak nie dziala : /
Jakas pomoc? Bardzo bym prosił

#!/bin/bash
echo "!Witam w programie potęgi!"
echo "Podaj liczbę kturą chcesz podnieść do potęgi"
read liczba
echo "Podaj potęge do której chcesz podnieść liczbę"
read potega
$wynik bc 1;
for $liczba=1 le $potega do
   $wynik=$(($wynik*$liczba));

echo "Wynikiem, $liczba, do potegi, $potega, jest, $wynik"
done

Facman

  • Gość
Potęgi i wzory skróconego mnożenia
« Odpowiedź #9 dnia: 2012-01-01, 20:14:21 »
Dobra widzę, że nie umiecie tego zrobić. Ja sobie już poradziłem :).  Temat do zamknięcia i nie wysilajcie się nad odpowiedziami dla mniej ogarniętych użytkowników :)