Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » resmedia 06:12
 » ngP 05:53
 » hokr 05:53
 » NimnuL 05:42
 » coolio 04:55
 » Martens 04:52
 » NWN 04:42
 » selves 03:38
 » Bonifacyz 03:06

 Dzisiaj przeczytano
 36875 postów,
 wczoraj 25433

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

Rekurencyjne funkcje w powłoce bash - fibonacci i silnia. , Coyote 18/08/05 20:26
Witam.

Koleżanka ma poprawić projekt do końca sierpnia inaczej nie zaliczy egzaminu. Aby to zrobić należy napisać (między innymi, ale akurat z tym jest problem) funkcje rekurencyjne podane w temacie pod powłoką bash. Ani ona ani ja nie jesteśmy sobie w stanie poradzić z takim zadaniem. Czy ktoś z Was, dobrych ludzi, miałby ochotę pomóc w tej sprawie? Jeśli tak to odezwijcie się do mnie na GG (1650565) o dowolnej porze (zazwyczaj jestem niewidoczny więc...) i ja Was odpowiednio skieruję.

Z góry bardzo dziękujemy, przewidziana nagroda. :)
Pozdrówka
C.

Do J23: Buziaki dla Ciebie, Misiu! :*

>>GG 1650565<<

  1. Że sie tak beszczeknei zapytam? , Stone 18/08/05 23:12
    Jakiego rodzaju nagroda? Ziwązana z koleżanką:D

    Pozdrawiam

    Stone aka S1one

    1. Beszczelnie miało być :D , Stone 18/08/05 23:14
      ...

      Pozdrawiam

      Stone aka S1one

    2. beszczelnie odpowiem... , Coyote 18/08/05 23:27
      ...a co mi do tego? :]


      A serio - raczej pieniężna :) Choć jak ładnie zagadasz z koleżanką - kto wie, kto wie :)

      Do J23: Buziaki dla Ciebie, Misiu! :*

      >>GG 1650565<<

      1. beszczelnie odpowiem , Stone 19/08/05 00:17
        #Silnia:
        #!/bin/bash
        N=$1
        s=1
        while [ $N -ge 1 ];
        do
        s=$[$s * $N]
        N=$[$N - 1]
        done
        echo "$1! = $s"
        exit 1

        Tyle na dzisiaj, jutro fibonacci, a ładana ta chociaż koleżanka? :D

        Pozdrawiam

        Stone aka S1one

        1. acha działa do wartości parametru 20, dalej nie wyrabia bash, , Stone 19/08/05 00:20
          nie ma też sprawdzania warunków, typu czy podany parametr jest dodatni i czy jest cyfra.

          Pozdrawiam

          Stone aka S1one

          1. tylko że , BONUS 19/08/05 10:27
            to nie jest rekurencyjne :(
            mój przykład (rekurencyjny)
            #!/bin/bash
            #test
            nazwa=$0
            #tu sprawdzamy jak sie nasz skrypt nazywa
            N=$1
            s=0
            if [ $N -eq 1 ]
            then
            # jezeli wejscie jest 1 to silnia 1
            s=1
            else
            #jezeli nie to mnozymy to co mamy przes silnia elementu o 1 mniej
            pom=$[$N -1]
            #tu liczymy ile jest jeden mniej
            s=$(./$nazwa $pom)
            # tu pod s mamy silnia jeden mniej wolamy ten sam skrypt z parametrem 1 mniej
            s=$[ $s * $N ]
            # a tu mnozymy
            fi
            echo $s
            # a tu zwracamy wynik


            Pozdro
            BONUS

            1. o dokładnie, dokładnie... , Coyote 19/08/05 11:18
              ...a miałbyś może jeszcze ochotę napisać ten drugi? I powiedz, co chciałbyś w zamian.

              dzięki :)

              Do J23: Buziaki dla Ciebie, Misiu! :*

              >>GG 1650565<<

              1. jeżeli , BONUS 19/08/05 12:41
                dobrze rozumem - trzeba podać n-ty element ciągu fib n>=0
                to by było tak

                #!/bin/bash
                #Ciag Fibonacciego
                nazwa=$0
                #tu sprawdzamy jak sie nasz skrypt nazywa
                N=$1
                s=0
                if [ $N -eq 0 ]
                then
                #jezeli mamy na wejsciu 0 to ciag =0
                s=0
                else
                if [ $N -eq 1 ]
                then
                #jezeli mamy na wejsciu 1 to ciag =1
                s=1
                else
                #bierzemy fib dla elementu N-1
                pom=$[$N -1 ]
                s=$(./$nazwa $pom)
                #bierzemy fib dla elementu N-2
                pom1=$[$N -2 ]
                s1=$(./$nazwa $pom1)
                #mamy fib (N-1) i fib(N-2) czyli liczymy fib (N)=fib(N-1)+fib(N-2) dla N>1
                s=$[ $s + $s1 ]
                fi
                fi
                echo $s
                # a tu zwracamy wynik


                Pozdro
                BONUS

                PS Pewnie można zrobić to lepiej :) NIe znam się

                1. dzięki , Coyote 19/08/05 17:20
                  koleżanka już to dostała, zaimplementuje, zobaczy czy wszystko rozumie i czy wszystko działa. W razie czego będę się zgłaszał z pytaniami.

                  Bardzo jej pomogłeś i w jej imieniu - dziękuję jeszcze raz :)

                  Do J23: Buziaki dla Ciebie, Misiu! :*

                  >>GG 1650565<<

                2. ok. , Coyote 19/08/05 20:49
                  wszystko ładnie działa. Bardzo, bardzo, bardzo Ci koleżanka dziękuje. Dałeś jej szansę na zaliczenie tego przedmiotu w tym semestrze. Pozdrówka! :)

                  Do J23: Buziaki dla Ciebie, Misiu! :*

                  >>GG 1650565<<

            2. A ok myślałem, , Stone 19/08/05 16:30
              że to ma liczyć funkcję rekurencyjną, a nie w sposób rekurencyjny.

              Pozdrawiam

              Stone aka S1one

              1. wybacz... , Coyote 19/08/05 17:19
                ...jak teraz patrzę, to ja niejasno się wyraziłem.

                Do J23: Buziaki dla Ciebie, Misiu! :*

                >>GG 1650565<<

                1. Nic się nie stało , Stone 19/08/05 17:26
                  póżno było to ja miałem problemy ze zrozumieniem.

                  Pozdrawiam

                  Stone aka S1one

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL