Języki programowania – termin ,,1’’ 10.02.2014. Zad. A1. Napisać funkcję: float liczbaF( String łańcuch ) przekształcającą łańcuch binarny reprezentuj...
8 downloads
21 Views
486KB Size
Języki programowania – termin ,,1’’ 10.02.2014.
Zad. A1. Napisać funkcję: float liczbaF( String łańcuch ) przekształcającą łańcuch binarny reprezentujący wewnętrzną postać wartości typu float na liczbę, działając według następującego algorytmu: 1. Wylicz znak liczby: bit 0: 0->dodatnia, 1->ujemna 2. Wylicz cechę (bity 1-8) i odejmij 127 3. wylicz mantysę (bity 9-31) jako ułamek i dodaj 1 4. Wylicz wartość liczby jako: ±mantysa∙2cecha Zastosować metody: charAt( nrZnaku ) klasy String (nie stosować metody substring()) parseInt( łańcuch, podstLiczenia ) klasy Integer pow( liczba, wykładnik) klasy Math
Zad. B1. Dana jest tablica 2-wymiarowa zawierająca w każdym wierszu 8 kolumn: nr skoczka odległość 5 ocen sędziów miejsca na końcową liczbę punktów Napisać funkcję: skoki(double tab[][], int K, int P) wypełniającą liczbę punktów wg zasad: długość skoku liczy się jako jego odległość od punktu "K" (punktu konstrukcyjnego), dla którego zawodnik otrzymuje 60pkt.; za każdy metr dalej lub bliżej od punktu "K" skoczek otrzymuje odpowiednio +P lub -P pkt. punkty za styl przyznawane są przez 5 sędziów: 2 skrajne są odrzucane, a 3 pozostałe dodaje się do ogólnej punktacji zawodnika
końcowa liczba punktów jest równa sumie liczby punktów za odległość i za styl Funkcja zwraca uzupełnioną tablicę.
Zad. B1. Dana jest tablica 2-wymiarowa zawierająca w każdym wierszu 8 kolumn: nr skoczka odległość 5 ocen sędziów miejsca na końcową liczbę punktów Napisać funkcję: skoki(double tab[][], int K, int P) wypełniającą liczbę punktów wg zasad: długość skoku liczy się jako jego odległość od punktu "K" (punktu konstrukcyjnego) , dla którego zawodnik otrzymuje 60pkt.; za każdy metr dalej lub bliżej od punktu "K" skoczek otrzymuje odpowiednio +P lub -P pkt. punkty za styl przyznawane są przez 5 sędziów: 2 skrajne są odrzucane, a 3 pozostałe dodaje się do ogólnej punktacji zawodnika
końcowa liczba punktów jest równa sumie liczby punktów za odległość i za styl Funkcja zwraca uzupełnioną tablicę.
Zad. B2. Napisać program przetwarzający plik zawierający łańcuchy znaków reprezentujące wyrażenia zapisane w postaci postfiksowej (ab+) ze zmiennymi a i b oraz operatorami 2-argumentowymi: +, -, *, /. W pliku, za każdym łańcuchem, jest umieszczona liczba całkowita reprezentująca informację o poprawności wyrażenia (na początku równa -1). Program powinien uzupełnić w pliku informacje o poprawności wyrażeń, wpisując 0, gdy wyrażenie jest niepoprawne i 1, gdy wyrażenie jest poprawne. Przykładowe wyrażenie poprawne: a abba+-* ab*a+ba-/ i niepoprawne: abc+ (za mało operatorów) ab+a-+ (za mało argumentów)
Zad.A3. Napisać program przetwarzający plik zawierający łańcuchy znaków reprezentujące wyrażenia zapisane w postaci prefiksowej (+ab) ze zmiennymi a i b oraz operatorami 2-argumentowymi: +, -, *, /. W pliku, za każdym łańcuchem, jest umieszczona liczba całkowita reprezentująca informację o poprawności wyrażenia (na początku równa -1). Program powinien uzupełnić w pliku informacje o poprawności wyrażeń, wpisując 0, gdy wyrażenie jest niepoprawne i 1, gdy wyrażenie jest poprawne. Przykładowe wyrażenie poprawne: a *-+abba /*ab+a-ba i niepoprawne: +abc (za mało operatorów) +-ab*a (za mało argumentów)
Zad.B3. Napisać funkcję: double liczbaD( String łańcuch ) przekształcającą łańcuch binarny reprezentujący wewnętrzną postać wartości typu double na liczbę, działając według następującego algorytmu: 5. Wylicz znak liczby: bit 0: 0->dodatnia, 1->ujemna 6. Wylicz cechę (bity 1-11) i odejmij 127 7. wylicz mantysę (bity 12-63) jako ułamek i dodaj 1 8. Wylicz wartość liczby jako: ±mantysa∙2cecha Zastosować metody: charAt( nrZnaku ) klasy String (nie stosować metody substring()) parseLong(łańcuch, podstLiczenia) klasy Long pow( liczba, wykładnik) klasy Math