zad5, Informatyka, java
[ Pobierz całość w formacie PDF ] laboratorium: zadanie 5 termin: 18 listopada 2009 r. kurs programowania w Javie abstrakcyjne drzewa składni dla programów Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek Zadanie 1. Zdefiniuj publiczny interfejs Obliczalny , który b¦dzie reprezentow¢ obiekty, które umiej¡ policzy¢ wyra- »enie całkowitoliczbowe metod¡ oblicz() . Metoda ta ma zwraca¢ warto±¢ typu Integer . Zdefiniuj te» publiczny interfejs Wykonywalny , który b¦dzie reprezentow¢ obiekty, które umiej¡ wykona¢ ci¡g oblicze« metod¡ wykonaj() . Metoda ta nie powinna zwraca¢ »adnej warto±ci. Zaprojektuj i zdefiniuj własn¡ hierarchi¦ wyj¡tków potrzebn¡ do realizacji poni»szych zada«. Na szczycie tej hierarchii powinna si¦ znale¹¢ publiczna klasa Wyjatek dziedzicz¡ca po Exception . Zadanie 2. Zdefiniuj publiczn¡ i abstrakcyjn¡ klas¦ bazow¡ Wyrazenie reprezentuj¡c¡ drzewo oblicze« dla całkowito- liczbowego wyra»enia arytmetycznego. Klasa ta powinna implementowa¢ intefejs Obliczalny bez definiowania metody oblicz() . Nast¦pnie zdefiniuj cał¡ hierarchi¦ klas dziedzicz¡cych po klasie Wyrazenie , które b¦d¡ reprezentowały: liczb¦ całkowit¡, zmienn¡ (zmienne maj¡ by¢ pami¦tane w kolekcji HashMap<String,Integer> zadeklarowanej jako pole statyczne w klasie Zmienna ), operacje arytmetyczne (dodawanie, odejmowanie, mno»enie, dzielenie, modulo i jednoargumentow¡ zmian¦ znaku) oraz porównania (równe, ró»ne, mniejsze, wi¦ksze, mniejsze– równe i wi¦ksze–równe). Obliczenie porównania ma zwraca¢ warto±¢ 1 albo 0, w zale»no±ci od tego czy warunek jest prawdziwy czy fałszywy. Przy obliczaniu dzielenia lub modulo trzeba zgłosi¢ wyj¡tkek, gdy dzielnik ma warto±¢ 0 (zdefiniuj własn¡ klas¦ wyj¡tku). Konstruktory wymienionych klas powinny sprawdza¢, czy ich argumenty s¡ ró»ne od null , a je±li nie s¡ to maj¡ zgłosi¢ odpowiedni wyj¡tek (zdefiniowany przez programist¦). W klasach dziedzicz¡cych po Wyrazenie zdefiniuj metod¦ oblicz() . Napisz krótki program testowy, sprawdzaj¡cy działanie obiektów tych klas. Niech twój program obliczy i wypisze warto±¢ nast¦puj¡cych wyra»e« (ustaw zmienn¡ x na warto±¢ − 1a amienn¡ y na warto±¢2): 3+5 7*11+25/y (3*11-1)/(7+5) ((x+1)*x)/2!=0 (2*x+1)%(x+1)<1==0 -(3*x*x+4*y*y) z+x+y Zadanie 3. Zdefiniuj publiczn¡ i abstrakcyjn¡ klas¦ bazow¡ Instrukcja reprezentuj¡c¡ drzewo oblicze« w programie. Klasa ta powinna implementowa¢ intefejs Wykonywalny bez definiowania metody wykonaj() . Nast¦pnie zdefiniuj klasy dziedzicz¡ce po klasie Instrukcja , które b¦d¡ reprezentowały: instrukcj¦ blo- kow¡, deklaracj¦ zmiennej (zmienne zapami¦tuj w kolekcji HashMap<String,Double> i inicjalizuj warto±ci¡ 0), instrukcj¦ przypisania warto±ci wyra»enia do zmiennej, instrukcje warunkowe (takie jak instrukcje if oraz if-else w j¦zyku C), instrukcje p¦tli (takie jak instrukcje while i do-while w j¦zyku C), instrukcj¦ czytania ze standardowego wej±cia oraz instrukcj¦ pisania na standardowe wyj±cie. Warunek w instrukcji warunkowej lub w p¦tli jest wyra»eniem (warunek jest prawdziwy tylko wtedy gdy warto±¢ wyra»enia jest ró»na od 0). In- strukcja blokowa powinna by¢ inicjalizowana dowoln¡ liczb¡ instrukcji wewn¦trznych (konstruktor ze zmienn¡ liczb¡ argumentów); pozatym instrukcja ta ma spami¦tywa¢ jakie zmienne zostały utworzone w tym bloku i na ko«cu ma je usun¡¢ (nie wolno tworzy¢ zmiennych o takich samych nazwach). Konstruktory wymienionych 1 klas powinny sprawdza¢, czy ich argumenty s¡ ró»ne od null , a je±li nie s¡ to maj¡ zgłosi¢ odpowiedni wyj¡tek. W klasach dziedzicz¡cych po Instrukcja zdefiniuj metod¦ wykonaj() . Napisz krótki program testowy, sprawdzaj¡cy działanie obiektów tych klas. Niech twój program sprawdzi, czy wczytana liczba jest pierwsza. Program ten mo»e działa¢ według nast¦puj¡cego schematu: var n; read n; if (n<2) write 0; else { var p; var wyn; p = 2; while (p*p<=n) { if (n%p==0) { wyn = p; p = n; } p = p+1; } if (wyn>0) write 0; else write 1; } Uwaga 1. Wszystkie wyj¡tki, interfejsy i klasy (oprócz klas z programami testowymi) umie±¢ w pakiecie obliczenia . Uwaga 2. W ka»dej klasie z pakietu obliczenia zdefiniuj metod¦ toString() , która b¦dzie potrafiła zrekonstruowa¢ tekstow¡ posta¢ wyra»enia czy programu. Uwaga 3. Umie±¢ w swoim programie co najmniej jedn¡ asercj¦. 2
[ Pobierz całość w formacie PDF ] zanotowane.pldoc.pisz.plpdf.pisz.plimikimi.opx.pl
|
|
StartZasady administracji sieci, Informatyka, Sieci komputerowe, Sieci Komputerowe(1)Zadania 7b, Studia, Stopień 2 Semestr I, Statystyczne systemy informatyczne w AD, Rrrrrr, R Artur, Zadania 7bZadania 10, Studia, Stopień 2 Semestr I, Statystyczne systemy informatyczne w AD, Rrrrrr, R Artur, Zadania 10Zadania 2, Studia, Stopień 2 Semestr I, Statystyczne systemy informatyczne w AD, R moje prace, Wykłady i zadania, 2. Statystyki opisowe w R, ZrobioneZaliczenie2007-ga-gc, ►► UMK TORUŃ - wydziały w Toruniu, ► WYDZIAŁ Matematyczno-Informatyczny (WMiI - Wydział Magii i Iluzji), Bazy danychZaawansowane programowanie w systemie Linux, Informatyka, LinuxZadanie 3, Podstawy obsługi komputera, Podstawy informatykiZadanie 8, Podstawy obsługi komputera, Podstawy informatykiZadania z laborki 1, Studia PŚK informatyka, Semestr 4, projekt sk, Sieci komputerowe, Zadania z LaboratoriówZarzadzanie zespolem IT, WSB Poznań, Zarządzanie Projektem Informatycznym
zanotowane.pldoc.pisz.plpdf.pisz.pljausten.xlx.pl
Cytat
Filozof sprawdza się w filozofii myśli, poeta w filozofii wzruszenia. Kostis Palamas Aby być szczęśliwym w miłości, trzeba być geniuszem. Honore de Balzac Fortuna kołem się toczy. Przysłowie polskie Forsan et haec olim meminisse iuvabit - być może kiedyś przyjemnie będzie wspominać i to wydarzenie. Wergiliusz Ex Deo - od Boga. |
|