[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

majtas
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 27 lis 2009, o 12:13
Płeć: Mężczyzna
Lokalizacja: Krk

[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

Post autor: majtas »

Hey,

Mam takie zadania na jutro ale nie łapie jeszcze javy więc chciałem prosić o pomoc
/*a raczej o napisanie tych progamików*/

Zadanie 1_1: Proszę napisac program, który wyliczy i wyświetli na ekranie tabelkę zawierającą w każdej linijce \(\displaystyle{ n}\) i \(\displaystyle{ \ln (n!)}\). Tabelka ma pokazywać wartości dla \(\displaystyle{ n}\) od \(\displaystyle{ 1}\) do \(\displaystyle{ MAX_IT}\), gdzie \(\displaystyle{ MAX_IT}\) ma być stałą całkowitą o wartości \(\displaystyle{ 20}\). Dla przypomnienia logarytm + właściwości
Początkowe wyrazy mają wyglądać mniej więcej (dokładność prezentacji) tak:

Kod: Zaznacz cały

1  0
2  0.6931472
3  1.791759
4  3.178054
Zadanie 2_1: W pewnym programie zgubiono czesc kodu. Prosze go odtworzyc. Istniejacej czesci nie wolno zmieniac.

Kod: Zaznacz cały

class Punkt2D {
   private double x, y;
   
   public Punkt2D( double xx, double yy ) {
   }
}

class Obliczenia {
/** Odleglosc pomiedzy dwoma punktami */
   public static double odleglosc( Punkt2D p1, Punkt2D p2 ) {
      return java.lang.Math.sqrt( /* tu brak kodu */ );
   }

/** Obwod trojkata o danych wierzcholkach */
   public static double obwodTrojkata( Punkt2D p1, Punkt2D p2, Punkt2D p3 ) {
   }
}

class Start {
   public static void main( String[] argv ) {
     Punkt2D p1 = new Punkt2D( 1.0, 2.0 );
     Punkt2D p2 = new Punkt2D( 3.0, 5.0 );
     Punkt2D p3 = new Punkt2D( 0.0, 0.0 );
   
     System.out.println( "Odleglosc p1-p2: " + 
                       Obliczenia.odleglosc( p1, p2 ) );
     System.out.println( "Obwod trojkata p1-p2-p3: " + 
                       Obliczenia.obwodTrojkata( p1, p2, p3 ) );
   }
}
Ostatnio zmieniony 20 paź 2011, o 09:17 przez Afish, łącznie zmieniany 1 raz.
Powód: LaTeX, tagi code, nazwa tematu
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

Post autor: Afish »

1. Z czym masz problem?
2. Jak wyżej.
majtas
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 27 lis 2009, o 12:13
Płeć: Mężczyzna
Lokalizacja: Krk

[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

Post autor: majtas »

Problem mam ogólny, ponieważ mam w tym semestrze Jave i nie umiem jej a mam takie 2 programy zrobić, w pierwszym nie wiem jak w pętle wprowadzić i obliczyć ln(n!)

A drugie to dla mnie kosmos bo widzę kod ale nie wiem czego brakuje
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

Post autor: Afish »

1. Przy użyciu pętli for iterujesz po każdej liczbie, dla każdej osobno obliczasz silnię (też przy użyciu fora, ewentualnie możesz to optymalizować), potem logarytm obliczysz tym:
... log(double)
2. W klasie Punkt2D musisz uzupełnić konstruktor (trzeba przypisać dane do zmiennych). W funkcji odległośc i obwód musisz po prostu zaimplementować wzory na zadane rzeczy.
Xitami

[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

Post autor: Xitami »

a czemu w pierwszym liczyć silnię?
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Java] Wypisywanie liczb i uzupełnienie szkieletu kodu

Post autor: Afish »

Bo mamy do obliczenia \(\displaystyle{ \ln (n!)}\). Można to optymalizować, ale na początek lepiej mieć chociażby bruta, niż nic.
ODPOWIEDZ