• Nie Znaleziono Wyników

I Przykład tablicy jednowymiarowej, czytanie elementów tablicy z klawiatury, obliczenia dla tablicy

N/A
N/A
Protected

Academic year: 2021

Share "I Przykład tablicy jednowymiarowej, czytanie elementów tablicy z klawiatury, obliczenia dla tablicy "

Copied!
3
0
0

Pełen tekst

(1)

Laboratorium z informatyki sem. II/ćw. 4 Wydział Transportu PW - 2020/21

Materiały do użytku wewnętrznego strona 1

INSTRUKCJA DO ĆWICZENIA 4

I Przykład tablicy jednowymiarowej, czytanie elementów tablicy z klawiatury, obliczenia dla tablicy

1. Utwórz nowy projekt typu Java Application, nadaj projektowi nazwę Projekt41 a klasie głównej - nazwę Tablica1. 2. Na początku metody main(), pod nagłówkiem i po otwierającym nawiasie klamrowym, zadeklaruj 7-elementową,

tablicę o nazwie t, o elementach typu całkowitego, która dalej posłuży do przechowywania danych wejściowych:

int[] t = new int[7];

3. Następnie zadeklaruj zmienną całkowitą n i nadaj jej wartość początkową, równą liczbie elementów tablicy:

int n = t.length;

4. W kolejnym wierszu metody main() utwórz pole reprezentujące czytnik buforowany, który będzie wczytywać z klawiatury pojedyncze wiersze tekstu:

BufferedReader we = new BufferedReader(new InputStreamReader(System.in));

5. Poniżej wywołaj metodę System.out.println() z parametrem "Podaj całkowite wartości elementów tablicy "

6. W celu wczytania z klawiatury wartości kolejnych elementów tablicy t, zastosujemy metodę readLine() obiektu we

wywoływaną wewnątrz pętli for. Przed czytaniem kolejnej danej wyświetlimy podpowiedź dla użytkownika, a po wczytaniu tekstu przekształcimy go na liczbę, którą przypiszemy kolejnemu elementowi tablicy:

for (int i = 0; i<n; i++){

System.out.print("t["+ i +"] = ");

t[i] = Integer.parseInt(we.readLine());

}

7. Dodaj obsługę wyjątku instrukcji readline a następnie uruchom program

.

Kliknięciem przenieś kursor do okna

Outputi wypróbuj wpisywanie danych do tablicy

.

Zaobserwuj efekt niepoprawnego wpisania liczby całkowitej.

8. Umieść instrukcję for wewnątrz części try instrukcji try-catch; w części catch oprogramuj obsługę wyjątku klasy NumberFormatException, wyświetlając komunikat "błędny format liczby". Sprawdź obsługę tego wyjątku.

9. Elementy tablicy t wyświetlimy na ekranie w jednym wierszu, poprzedzone opisem "Tablica t". Wykorzystamy rozszerzoną instrukcję pętli for (tzw. pętlę for-each), która pozwala wykonać czynności dla wszystkich elementów tablicy bez jawnego użycia indeksów elementów. W części try dopisz kolejne instrukcje:

System.out.println("Tablica t:");

for (int x : t){

System.out.print(x+" ");

}

System.out.println();

10. Uruchom program i sprawdź czytanie i wyświetlanie danych.

11. W dalszym ciągu zaprogramujemy przykładowe obliczenia na tablicy t. Będzie to znajdowanie elementu maksymalnego w tablicy oraz obliczanie średniej arytmetycznej wartości elementów tablicy. Dopisz instrukcje, które pozwolą znaleźć największy element tablicy t :

int mx = t[0];

for (int i = 1; i<n; i++){

mx= Math.max(mx, t[i]);

}

System.out.println("Największy element tablicy ma wartość " + mx);

12. Postępując analogicznie oblicz i wyświetl element minimalny tablicy t.

13. Następnie dopisz instrukcje obliczania średniej arytmetycznej elementów. Przy dzieleniu wartości całkowitych wynik jest całkowity obcięty, dlatego aby dostać wartość dokładną, musimy uwzględnić zmianę typu na rzeczywisty.

int suma = 0;

for (int x : t){

suma += x; }

double srednia = (double)suma/n;

System.out.println("Średnia arytmetyczna ma wartość " + srednia);

14. Uruchom program i sprawdź jego działanie dla danych testowych..

15. Aby wyświetlać wartość średnią z dokładnością do dwóch miejsc po kropce, przed instrukcją wyświetlającą wynik zadeklaruj obiekt klasy NumberFormat następująco:

NumberFormat f= new DecimalFormat("0.##");

16. Następnie zmodyfikuj wyświetlanie średniej w następujący sposób:

System.out.println("Średnia arytmetyczna ma wartość " + f.format(srednia) ) ;

17. Uruchom program, sprawdź efekt wprowadzonych zmian.

II Generowanie elementów tablicy, literał tablicowy, przykłady obliczeń, przykład instrukcji warunkowej if

1. Utwórz nowy projekt o nazwie Projekt42 z klasą główną o nazwie Tablica2.

Z

adeklaruj 6-elementową tablicę a o

elementach typu double:

double[] a = new double[6];

(2)

Laboratorium z informatyki sem. II/ćw. 4 Wydział Transportu PW - 2020/21

Materiały do użytku wewnętrznego strona 2

2. Do tablicy a wygeneruj wartości rzeczywiste z przedziału <0,1), korzystając z metody random() klasy Math.

for (int i = 0; i<a.length; i++){

a[i]= Math.random();

}

3. Podobnie jak w punkcie I.9 wyświetl wygenerowane elementy tablicy a w jednym wierszu, oddzielając je spacjami:

System.out.println("tablica a:");

for (double x : a){

System.out.print(x+" ");

}

System.out.println();

4. Uruchom program. Następnie wzorując się na p.I.15 odpowiednio zadeklaruj obiekt klasy NumberFormat oraz zmień instrukcje wyświetlania elementów tablicy a tak, aby wyświetlać liczby z dokładnością do trzech miejsc po kropce.

5. Uruchom program, sprawdź efekt wprowadzonych zmian.

6. Obliczymy ile jest elementów tablicy a mniejszych od 0.5. Wykorzystamy instrukcje warunkową if, sprawdzając kolejne wyrazy i licząc te, które są mniejsze od 0.5. Licznikiem będzie zmienna k typu int

int k =0;

for (double x : a){

if (x < 0.5) k++;

}

System.out.println("W tablicy a jest "+ k +" elementów mniejszych od 0.5");

7. Samodzielnie dopisz odpowiednie instrukcje, tak aby znaleźć i wyświetlić liczbę elementów większych od 0.5.

8. Następnie zadeklaruj jeszcze jedną zmienną tablicową o nazwie b, o elementach całkowitych, równocześnie przypisując jej kolejnym elementom wartości początkowe:

int[] b = {3, -5, 0, -9, 4, 11};

oraz 6-elementową, pustą tablicę c o elementach rzeczywistych: double[] c = new double[6];

9. Elementy tablicy c obliczymy przyjmując że c = a + b.

for (int i = 0; i<a.length; i++){

c[i]= a[i] + b[i];

}

10. Wyświetl na ekranie tablicę c wraz z odpowiednim komentarzem. Uwzględnij formatowanie.

III Wyszukiwanie wartości w tablicy, zastosowanie instrukcji break w pętli;

1. Utwórz nowy projekt typu Java Application, nadaj projektowi nazwę Projekt43 a klasie głównej - nazwę Tablica3. 2. Na początku metody main() zadeklaruj tablicę o nazwie t, o elementach całkowitych, równocześnie przypisując jej

kolejnym elementom wartości początkowe. Możesz wpisać dowolne wartości całkowite oraz przyjąć dowolną ich liczbę. Na przykład:

int[] t = {3, -5, 0, -9, 45, 11, 133 };

3. Następnie zadeklaruj zmienną całkowitą n i nadaj jej wartość początkową równą liczbie elementów tablicy:

int n = t.length;

4. Samodzielnie wyświetl na ekranie w jednym wierszu elementy tablicy t, poprzedzone tytułem "Tablica t". 5. Zadeklaruj pole we reprezentujące czytnik buforowany, który będzie wczytywać dane z klawiatury:

BufferedReader we = new BufferedReader(new InputStreamReader(System.in));

6. Zadeklaruj zmienną typu int o nazwie a i wartości początkowej 0. W następnych punktach napiszemy algorytm, który sprawdzi, czy w tablicy t występuje choć jeden element o wczytanej wartości a.

7. Dopisz instrukcje czytania wartości a z klawiatury:

System.out.print("Podaj liczbę całkowitą :");

a = Integer.parseInt(we.readLine());

Sygnalizowany jest błąd IOException ; skorzystaj z przycisku i i przekaż obsługę tego błędu do systemu.

8. Zadeklaruj zmienną logiczną o nazwie jest i nadaj jej wartość początkową false. Zmienna ta przyjmie wartość true, jeśli w tablicy t, zostanie znaleziony element o wartości a.

boolean jest=false;

9. Dopisz poniższy algorytm, który poszukuje w tablicy t elementu o wartości a. Jeśli element taki zostanie odnaleziony, dalsze wykonywanie pętli zostanie przerwane dzięki instrukcji break.

.

for (int x : t) { if (x == a) { jest = true;

break;} //przerwanie pętli

}

10.

Aby wyświetlić wynik powyższego algorytmu, zastosujemy operator warunkowy ? za pomocą którego przypiszemy zmiennej s różne teksty, w zależności od wartości zmiennej logicznej jest.

String s= jest ? "jest element " : "brak elementu ";

System.out.println("W tablicy t " +s +"o wartości " + a);

11. Uruchom program, sprawdź efekt podania wartości, która nie występuje w tablicy, wartości występującej w tablicy oraz efekt niepoprawnego podania liczby. Umieść wszystkie wpisane instrukcje w bloku try .. catch

z obsługą błędu

NumberFormatException.

(3)

Laboratorium z informatyki sem. II/ćw. 4 Wydział Transportu PW - 2020/21

Materiały do użytku wewnętrznego strona 3

Zadania do samodzielnego wykonania

1. Rozbuduj projekt Projekt42 tworząc tablicę d o sześciu elementach rzeczywistych. Kolejnemu elementowi tablicy d przypisz większy z dwóch odpowiednich elementów tablic a i b. Wyświetl na ekranie tablicę d

2. Napisz program, w którym zadeklaruj 10 elementową tablicę liczb całkowitych . Wypełnij ją liczbami losowymi od

10 do 20,a następnie wyświetl wygenerowane elementy w jednym wierszu. Wczytaj liczbę całkowitą i sprawdź, ile elementów tablicy jest mniejszych bądź równych tej wartości. Wynik wyświetl wraz z opisem.

3. Uzupełnij zadanie 2 tak, aby dodatkowo obliczać sumę wartości elementów tablicy, które spełniają zadany warunek.

4. Napisz program, który oblicza średnią arytmetyczną pierwszego i ostatniego elementu tablicy o 10 elementach całkowitych, wygenerowanych z przedziału <20, 50>

Cytaty

Powiązane dokumenty

Funkcja moŜe otrzymać przez listę parametrów tablice oraz liczbę elementów, natomiast powinna zwracać przez wynik.. (return) nowa

// utworzono tablicę 10 referencji typu String, naleŜy dla kaŜdego elementu tablicy przydzielić pamięć. • Przydział pamięci na elementy

[r]

Dalej tworzymy 2 przyciski klikając prawym przyciskiem myszy na szarym polu oraz kursorem najeżdżamy na ikonę Buttons i wybieramy PushButton.. Należy zauważyć, że

powyżej podwójnej pętli for, w której tworzymy tablicę w, zadeklaruj trzy zmienne całkowite ld , lu, lz, które posłużą jako liczniki dodatnich, ujemnych i zerowych

Porównaj testy Fishera i M-H dla sondażu, w którym pytano 24 kobiety i 24 mężczyzn, pracujących w bankach, czy mają szansę rozwoju zawodowego.. Odpowiedź TAK uzyskano od 14 kobiet

Wczytaj do dwuwymiarowej tablicy macierz A rozmiaru 3x3, natomiast do jednowymiarowej 3-elementowej tablicy wektor x. Oblicz wynik mnożenia macierzy A przez wektor x,

[r]