Autor Wiadomość
Ricko
PostWysłany: Nie 18:45, 13 Lis 2011    Temat postu: Kompilowanie + Ułamki --> Sprawdzian

KOMPILOWANIE + UŁAMKI --> SPRAWDZIAN

Do dyspozycji mamy następujący program:

Cytat:
public class Program //główna klasa
{
public static void main(String args[]) //główna metoda static void
{
ulamek u1=new ulamek(); //tworzenie obiektu z klasy
u1.zapisz(3,8); //użycie metody "zapisz" w celu przypisania wartości licznikowi i mianownikowi
u1.wypisz(); //użycie metody "wypisz" wypisującej ułamek na ekranie
}
}

class ulamek
{
int licznik;
int mianownik;

public void wypisz()
{
System.out.println(licznik+"/"+mianownik);
}

public void zapisz(int l,int m)
{
licznik=l;
mianownik=m;
}

}


1. KOMPILOWANIE (Dopuszczający)
Warunki:
*Nazwa głównej klasy musi być identyczna jak nazwa pliku o rozszerzeniu JAVA:


*Plik musi znajdować się w katalogu Jdk_wersja/Bin

Krok 1:
Za pomocą wiersza polecenia wchodzimy do katalogu Jdk_wersja/Bin


Krok 2:
Dalej w wierszu polecenia wpisujemy komendę javac nazwa_programu.java, w naszym przypadku javac Program.java


Krok 3:
Jeśli nie ma żadnych błędów wpisujemy kolejną komendę java nazwa_programu, u nas jest to java Program


Działanie:
Program skompiluje się i zadziała, na ekranie zostaną wypisane efekty jego działania

2.ODWROTNOŚĆ UŁAMKA (Dostateczny)

W przypadku odwrotności ułamka dodajemy w głównej metodzie static void dwie funkcje: zamień oraz wypisz. Funkcja wypisz jest już w naszym programie, po prostu ją powtarzamy. aby wypisać odwrotność ułamka, dopisujemy za to funkcję zamień, w której po prostu zamieniamy przy przypisywaniu wartości zmienne z licznika do mianownika i odwrotnie:


Cytat:
public class Program
{
public static void main(String args[])
{
ulamek u1=new ulamek();
u1.zapisz(3,8);
u1.wypisz();
u1.zamien(3,8);
u1.wypisz();

}
}

class ulamek
{
int licznik;
int mianownik;

public void wypisz()
{
System.out.println(licznik+"/"+mianownik);
}

public void zapisz(int l,int m)
{
licznik=l;
mianownik=m;
}

public void zamien(int l,int m)
{
licznik=m;
mianownik=l;
}


}


Efekt:


3.MNOŻENIE (Dobry)

W mnożeniu należy stworzyć dwa nowe obiekty: u2 i uw, u2 będzie drugim czynnikiem w mnożeniu (pierwszym jest nasz ułamek u1 o wartości 3/8). Przypiszemy u2 wartość 4/2. Uw z kolei będzie iloczynem powyższych czynników czyli będzie miało wartość równą: 3/8 *4/2 = 12/16. Wszystko co należy tu zrobić robimy w metodzie static void:


Cytat:
public class Program
{
public static void main(String args[])
{
ulamek u1=new ulamek();
ulamek u2=new ulamek();
ulamek uw=new ulamek();

u1.zapisz(3,8);
u1.wypisz();
u2.zapisz(4,2);
u2.wypisz();

uw.licznik=u1.licznik*u2.licznik;
uw.mianownik=u1.mianownik*u2.mianownik;
uw.wypisz();

}
}

class ulamek
{
int licznik;
int mianownik;

public void wypisz()
{
System.out.println(licznik+"/"+mianownik);
}

public void zapisz(int l,int m)
{
licznik=l;
mianownik=m;
}


}


Efekt:


4.SKRACANIE UŁAMKA (Bardzo Dobry)

W tym przypadku po wymnożeniu ułamków skracamy je. W tym celu tworzymi nową metodę o nazwie skracaj, w której za pomocą Algorytmu Euklidesa szukamy NWD. Po jego znalezieniu dzielimy przez niego zarówno licznik jak i mianownik, a wynik wypisujemy:


Cytat:
public class Program
{
public static void main(String args[])
{
ulamek u1=new ulamek();
ulamek u2=new ulamek();
ulamek uw=new ulamek();
u1.zapisz(3,8);
u1.wypisz();
u2.zapisz(4,2);
u2.wypisz();
uw.licznik=u1.licznik*u2.licznik;
uw.mianownik=u1.mianownik*u2.mianownik;
uw.wypisz();
uw.skracaj();
uw.wypisz();


}
}

class ulamek
{
int licznik;
int mianownik;

public void wypisz()
{
System.out.println(licznik+"/"+mianownik);
}

public void zapisz(int l,int m)
{
licznik=l;
mianownik=m;
}

public void skracaj()
{
int a=licznik;
int b=mianownik;
while (a!=b)
{
if (a>b)
{
a=a-b;
}
else
{
b=b-a;
}
}
licznik=licznik/a;
mianownik=mianownik/a;
}

}


Efekt:

Powered by phpBB © 2001,2002 phpBB Group