Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Podobne dokumenty
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.pl. Tablice cz. II. Kopiowanie tablic, tablice wielowymiarowe

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Klasy i obiekty cz II

Metody Metody, parametry, zwracanie wartości

Podstawy Programowania C++

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Programowanie - instrukcje sterujące

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Funkcje. Wprowadzenie. Mirosław Ochodek

Wprowadzenie do języka Java

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Podstawy programowania. Podstawy C# Tablice

Lab 9 Podstawy Programowania

LibreOffice Calc VBA

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Wstęp do Programowania Lista 1

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Część 4 życie programu

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Podstawy programowania skrót z wykładów:

Zmienne i struktury dynamiczne

ZASADY PROGRAMOWANIA KOMPUTERÓW

PHP: bloki kodu, tablice, obiekty i formularze

Podstawy i języki programowania

Warunki logiczne instrukcja if

Zasady programowania Dokumentacja

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Programowanie komputerowe. Zajęcia 1

Podstawy Programowania Podstawowa składnia języka C++

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Podstawy i języki programowania

W języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY.

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

Podstawowe części projektu w Javie

Wykład 3 Składnia języka C# (cz. 2)

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Tablice. Jones Stygar na tropie zmiennych

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Sortowanie przez wstawianie Insertion Sort

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Pascal - wprowadzenie

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Java EE produkcja oprogramowania

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

Podstawy i języki programowania

Wykład 03 JavaScript. Michał Drabik

Pętla for. Wynik działania programu:

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Pętle. Dodał Administrator niedziela, 14 marzec :27

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Wykład 4: Klasy i Metody

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

lekcja 8a Gry komputerowe MasterMind

Język C, tablice i funkcje (laboratorium, EE1-DI)

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

DYNAMICZNE PRZYDZIELANIE PAMIECI

6. Pętle while. Przykłady

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

Programowanie 2 - Tablice i łańcuchy

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wstęp do Programowania, laboratorium 02

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy Java. Część II. mgr inż.marcin Borkowski

Proste programy w C++ zadania

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

do instrukcja while (wyrażenie);

Instrukcje sterujące

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Programowanie strukturalne i obiektowe. Funkcje

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie komputerowe. Zajęcia 3

Aplikacje w środowisku Java

Programowanie i projektowanie obiektowe

Dynamiczne struktury danych

Programowanie proceduralne w języku C++ Pętle, tablice

Transkrypt:

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Tablice Powiedzmy, że chcemy zapamiętać w programie listę imion studentów. Można by to zrobić tak: String student01 = "Marcin"; String student02 = "Maria"; String student03 = "Anna"; String student04 = "Małgorzata"; String student05 = "Andrzej"; String student06 = "Agnieszka"; String student07 = "Paulina"; String student08 = "Jagoda"; String student09 = "Izabela"; String student10 = "Robert"; Gdybyśmy chcieli wypisać teraz imiona studentów, można by to zrobić np. tak: System.out.println("Studenci: "+student01+", "+student02+ ", "+student03+", "+student04+", "+student05+", "+student06+ ", "+student07+", "+student08+", "+student09+", "+student10);

Tablice Takie rozwiązanie ma jednak wady, m. in: Każde imię jest niezależne od innych, trudno je np. razem skopiować, przekazać do metody itp... Trudno operować na wszystkich imionach, np. je sortować. Kod operujący na imionach trzeba by za każdym razem zmieniać gdyby np. pojawił się nowy student, albo przyszedł nowy. Lepiej by się pracowało, gdyby można by było skonstruować coś w rodzaju listy imion, na której można by pracować jako całości. Rozwiązaniem są tablice

Tablice Deklarowanie tablicy: String[] studenci; deklaracja tablicy o nazwie studenci: [] - oznaczają, że jest to tablica String - że zawiera elementy typu String Tworzenie tablicy studenci = new String[10]; Tworzymy zadeklarowaną tablicę, mieści ona 10 elementów Można też zadeklarować i od razu utworzyć tablicę: String[] studenci = new String[10];

Tablice UWAGA! Numeracja elementów zaczyna się od 0, więc ostatni element ma numer o 1 mniejszy niż liczba elementów w tablicy! Indeksy (numery) elementów tablicy. 0 1 2 3 4 5 6 7 8 9 elementy tablicy

Domyślne wartości w tablicy Zanim wypełnimy tablicę, jej komórki przybierają wartości domyślne, sprawdźmy jakie, dla kilku typów tablic: String[] imiona = new String[10]; System.out.println("imiona[2] = "+imiona[2]); int[] liczbyint = new int[10]; System.out.println("liczbyInt[2] = "+liczbyint[2]); double[] liczbydouble = new double[10]; System.out.println("liczbyDouble[2] = "+liczbydouble[2]); boolean[] wartosciboolean = new boolean[10]; System.out.println("wartosciBoolean[2] = "+wartosciboolean[2]); Otrzymujemy: imiona[2] = null liczbyint[2] = 0 liczbydouble[2] = 0.0 wartosciboolean[2] = false null oznacza wartość pustą, nie jest to 0.

Tablice Umieszczanie wartości w tablicy: studenci[0] = "Marcin"; studenci[2] = "Anna"; studenci[4] = "Andrzej"; studenci[8] = "Izabela"; Wskazujemy, w której komórce tabeli umieścić wartość. 0 1 2 3 4 5 6 7 8 9 Marcin null Anna null Andrzej null null null Izabela null

Tablice Można tablicę od razu utworzyć i wypełnić, po jej zadeklarowaniu: String[] studenci = {"Marcin", "Maria", "Anna", "Małgorzata", "Andrzej", "Agnieszka", "Paulina", "Jagoda", "Izabela", "Robert"}; 0 1 2 3 4 5 6 7 8 9 Marcin Maria Anna Małgorzata Andrzej Agnieszka Paulina Jagoda Izabela Robert Uzyskanie informacji o długości tablicy: tablica.length np: System.out.println("Tablica ma "+tablica.length+" komórek");

Pobieranie wartości komórek Zawartość konkretnej komórki można wypisać np. tak: System.out.print(tablica[4]); Zamiast liczby możemy użyc zmiennej, np: int i = 4; System.out.print(tablica[i]); Można też użyć wyrażenia, np. zawartość komórki poprzedzającej komórkę o indeksie i można wypisać tak: System.out.print(tablica[i-1]);

Wypełnienie tablicy w pętli Tworzenie tablicy i wypełnienie jej liczbami od 0 do 99 int[] tablica = new int[100]; for (int i=0; i<tablica.length; i++) { tablica[i]=i; } Pętla wykonuje się dopóki i jest mniejsze niż długość tablicy. Oczywiście, jeśli długość tablicy jest z góry znana można wpisać konkretną liczbę (tu : i<100)

Wypisanie zawartości Zawartość tabeli można wypisać w podobny sposób do tego w jaki ją wypełnialiśmy: for (int i=0; i<tablica.length; i++) { System.out.print(tablica[i]+", "); } przy każdej iteracji program pobiera wartość komórki o indeksie i (wartość i zwiększa się po każdej iteracji) i drukuje jej wartość. 0 1 2 3 4 5 6 7 8 9 10 12 6 7 3 2 12 8 0 11

Zadanie Utwórz tabelę, wypełnij wartościami od 0-99 a następnie napisz kod który wypisze zawartość tabeli, po 10 liczb w rzędzie, tak, aby liczby jednocyfrowe zostały wypisane jako dwucyfrowe (np. zamiast 9 zostało wypisane 09). 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,

Rozwiązanie for (int i=0; i<tablica.length; i++) { jeśli liczba jednocyfrowa, dodaj przed nią 0 if (i<10) System.out.print("0"+tablica[i]+", "); else System.out.print(tablica[i]+", "); } if (i>0 && (i+1)%10==0) System.out.println(); jeśli liczba jest większa od 0 jednocyfrowa, oraz podzielna przez 10, dodaj nową linię.

foreach - czyli inny sposób wędrowania po tablicy zmienna która przy każdej iteracji przybiera wartość kolejnej komórki tablicy tablica z której pobierane są kolejne wartości for (int l : tablica) { System.out.print(l+" "); } przy każdej iteracji zmienna l przybiera wartość pobraną z kolejnej komórki tablicy tablica iteracja 1 2 3 4 5 6... 0 1 2 3 4 5 6 7 8 9 10 12 6 7 3 2 12 8 0 11

Zadanie Utwórz tablicę 10-elementową zawierającą dowolne liczby całkowite, nieujemne. Napisz kod który znajduje w tej tablicy największą liczbę. Dodatkowo: zmodyfikuj program tak, aby po uruchomieniu użytkownik wprowadzał liczby, które są następnie zapisywane w tabeli, a następnie program wyszukiwał największą z nich. Dodatkowo: zmodyfikuj program tak, aby użytkownik na początku podał, ile liczb chce wpisać i tyle liczb powinien program od użytkownika przyjąć.