Podstawy i języki programowania

Podobne dokumenty
Podstawy i języki programowania

Podstawy i języki programowania

Podstawy i języki programowania

Podstawy i języki programowania

Podstawy i języki programowania

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

Programowanie 2 - Tablice i łańcuchy

Programowanie w języku Java

*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)

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

Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Podstawy i języki programowania

Inicjacja tablicy jednowymiarowej

Programowanie 3 - Funkcje, pliki i klasy

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

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

Stałe oznaczane są słowem kluczowym final. Do stałej wartość można przypisać tylko raz. Dobrą konwencją jest nazywanie stałych wielkimi literami

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Funkcje. Wprowadzenie. Mirosław Ochodek

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

Programowanie zespołowe

I. Podstawy języka C powtórka

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

Podstawy Programowania C++

Wprowadzenie do języka Java

Java Podstawy. Michał Bereta

Klasy: String, Random, Math. Korzystanie z dokumentacji.

Programowanie w języku Java

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

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

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

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

Aplikacje w środowisku Java

Podstawy, środowisko JDK, kompilacja programów z linii poleceń

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

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

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

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

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

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

Wykład 4. Tablice. Pliki

Podstawowe części projektu w Javie

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

JAVA- wykład 3 Wprowadzanie danych Typ wyliczeniowy Tablice

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Matlab Składnia + podstawy programowania

Część 4 życie programu

Język C, tablice i funkcje (laboratorium)

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

Programowanie komputerowe. Zajęcia 5

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

lekcja 8a Gry komputerowe MasterMind

Matlab Składnia + podstawy programowania

Programowanie obiektowe

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

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Tablice jednowymiarowe

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.

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wstęp do programowania

Warunki logiczne instrukcja if

1 Podstawy c++ w pigułce.

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

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

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

Algorytmy sortujące i wyszukujące

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji

Metody Metody, parametry, zwracanie wartości

Wstęp do programowania

Programowanie obiektowe - zadania

Wstęp do Programowania, laboratorium 02

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

J ezyk AWK Kurs systemu UNIX

1 Powtórzenie wiadomości

Wstęp do programowania

Programowanie - instrukcje sterujące

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

ZADANIA Z PODSTAW PROGRAMOWANIA ZALICZENIE WARUNKOWE, SEMESTR ZIMOWY 16/17

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.

Języki i techniki programowania Ćwiczenia 2

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

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

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

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

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

Strumienie, pliki. Sortowanie. Wyjątki.

1 Podstawy c++ w pigułce.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Rozdzia l 3. Laboratorium 3. danych zawierajac

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

Transkrypt:

Podstawy i języki programowania Laboratorium 6 - klasa BigDecimal i String oraz tablice mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 listopada 2018 1 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Klasa BigDecimal Tworzenie obiektu klasy BigDecimal Klasa BigDecimal przeznaczona jest do przechowywania liczb zmiennoprzecinkowych o ściśle określonej precyzji. Wykorzystuje się ją do wykonywania operacji finansowych. Aby korzystać z klasy należy ją zaimportować następującą instrukcją: import java. math. BigDecimal ; 2 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykład BigDecimal liczbapierwsza = new BigDecimal (" 0.1 "); BigDecimal ulamek = new BigDecimal (" 0.1 "); liczbapierwsza = liczbapierwsza. add ( ulamek ); liczbapierwsza = liczbapierwsza. add ( ulamek ); System. out. print ( liczbapierwsza ); // 0.3 3 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Zadania 1 Napisz konwerter złotówek na euro z wykorzystaniem klasy BigDecimal. Znajdź w dokumentacji metodę wykorzystywaną do wykonania operacji mnożenia. 4 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Klasa String Tworzenie obiektu klasy String Obiekty klasy String przeznaczone są do przechowywania ciągów znaków. Przykład deklaracji: String zmienna ; Przykład inicjalizacji: String zmienna = " 206 team "; W Javie obiekty klasy String są niemodyfikowalne. 5 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Konkatenacja Łączenie wyrażeń Konkatenacja polega na łączeniu ze sobą wyrażeń. Jej operatorem w Javie jest +. W momencie połączenia ciągu znaków przechowywanego przez obiekt klasy String następuje utworzenie nowego obiektu StringBuilder, wywołanie jego metody append i konwersja na obiekt klasy String. Przykład: String zmienna = " Pycha kroczy "; zmienna += " przed upadkiem "; System. out. print ( zmienna ); // " Pycha kroczy przed upadkiem " 6 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Co naprawdę się wydarzyło? String zmienna = " Pycha kroczy "; zmienna = new StringBuilder ( zmienna ). append (" upadkiem "). tostring (); przed 7 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Metoda length() contains(ciąg) charat(indeks) indexof(ciąg) substring (indeksod, indeksdo) tolowercase(), touppercase() equals(), equalsignorecase() replace(aktualny, nowy) split(separator) Opis Zwraca liczbę znaków. Zwraca wartość logiczną czy ciąg występuje. Zwraca znak znajdujący się pod indeksem. Zwraca pierwszy indeks, w którym występuje ciąg (lub -1). Zwraca podciąg znajdujący się pomiędzy wskazanymi indeksami. Konwersja znaków na małe/duże. Sprawdzenie czy ciągi zawierają ten sam tekst. Zamienia ciąg aktualny na nowy. Dzieli ciąg wejściowy wg separatora. 8 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Użycie StringBuildera StringBuilder zmienna = new StringBuilder (" Pycha kroczy "); zmienna. append (" przed upadkiem "); System. out. print ( zmienna ); 9 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Zadania 1 Napisz program pobierający od użytkownika linijkę tekstu (metoda nextline klasy Scanner) i przypisz ją do zmiennej typu String. 2 Zamień wszystkie znaki na małe w zmiennej utworzonej w pierwszym punkcie i wypisz jej nową wartość. 3 Napisz program pobierający od użytkownika kolejne linijki tekstu i tworzący z nich jeden ciąg do momentu wystąpienia w zdaniu słowa stop (usuń z otrzymanej wartości wszystkie znaki od słowa stop włącznie). Wykorzystaj StringBuildera. 4 Napisz program pobierający od użytkownika linijkę tekstu i zastępujący co drugi znak znakiem nowej linii ( \n ). Wypisz otrzymaną wartość. Wykorzystaj StringBuildera. 10 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Tablice Opis Tablice są strukturami pozwalającymi na przechowywanie określonej liczby zmiennych danego typu w uporządkowanej formie. W zależności od wymiaru tablicy dzielimy je na jednowymiarowe i wielowymiarowe. Tablice posiadają pole length zwracające liczbę przechowywanych elementów. Przykład deklaracji tablicy jednowymiarowej: typ [] nazwatablicy ; Sposób inicjalizacji tablicy jednowymiarowej: typ [] nazwatablicy = new typ [ liczbaelementow ]; typ [] nazwatablicy = { elementjeden, elementdwa }; 11 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Reprezentacja tablicy 12 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykłady int [] tablica = new int [2]; System. out. println ( tablica. length ); //2 tablica [0] = 1; System. out. println ( tablica [0]) ; //1 System. out. println ( tablica [1]) ; // 0 ( domyslna wartosc int ) System. out. println ( tablica [2]) ; // java. lang. ArrayIndexOutOfBoundsException 13 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykłady cz. 2 int [] tablica = {2}; System. out. println ( tablica. length ); //1 System. out. println ( tablica [0]) ; //2 System. out. println ( tablica [1]) ; // java. lang. ArrayIndexOutOfBoundsException 14 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykład wypisania wszystkich elementów tablicy int [] tab = {2, 5, 7}; for ( int i =0; i<tab. length ; i ++) System. out. println ( tab [i]); // 2,5,7 15 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Tablice wielowymiarowe Opis Tablice wielowymiarowe obsługujemy analogicznie do tablic jednowymiarowych, a liczbę wymiarów określa liczba nawiasów kwadratowych. Przykład deklaracji tablicy dwuwymiarowej. typ [][] nazwatablicy ; Sposób inicjalizacji tablicy dwuwymiarowej: typ [][] nazwatablicy = new typ [ liczbawierszy ][ liczbakolumn ]; typ [][] nazwatablicy = {{ el1, el2 },{el3, el4 }}; 16 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykłady int [][] tab = {{1,2},{2,3,4}}; System. out. println ( tab [1][0]) ; // 2 17 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykład wypisania wszystkich elementów tablicy int [][] tab = {{1,2},{2,3}}; for ( int i =0; i<tab. length ; i ++) for ( int j =0; j<tab [i]. length ; j ++) System. out. println ( tab [i][j]); // 1,2,2,3 18 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Tablice poszarpane Opis Tablice poszarpane są tablicami wielowymiarowymi mającymi różną liczbę wierszy w zależności od indeksu kolumny. Przykładowy sposób inicjalizacji: int [][] tablica = new int [2][]; for ( int i =0; i< tablica. length ; i ++) tablica [i] = new int [i]; 19 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykład int [][] tablica = new int [2][]; for ( int i =0; i< tablica. length ; i ++) tablica [i] = new int [i]; System. out. println ( tablica [0][0]) ; // ArrayIndexOutOfBoundsException System. out. println ( tablica [1][0]) ; // 0 20 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Zadania 1 Napisz program tworzący dwudziestoelementową tablicę wypełnioną losowymi wartościami z zakresu 0-1 (typu zmiennoprzecinkowego). Aplikacja powinna wypisać średnią arytmetyczną, najmniejszą oraz największą z liczb znajdujących się w tablicy. 2 Napisz program konwertujący liczbę w systemie dziesiętnym na liczbę w systemie o podstawie 2, 4 oraz 8. Niech użytkownik ma możliwość wyboru żądanego systemu. 3 Napisz program pobierający od użytkownika linijkę tekstu i zamieniającą w niej wszystkie znaki zgodnie z szyfrem Cezara (przesunięcie 13). 21 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Zadania 4 Napisz program tworzący tablicę jednowymiarową o rozmiarze 20 wypełnioną wylosowanymi liczbami całkowitymi z przedziału [0;10]. Niech aplikacja posortuje wartości i wypisze je na ekran w porządku leksykograficznym. 22 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykład użycia metody split klasy String String zdanie = " Ala_ma_kota "; String [] tablica = zdanie. split ("_"); System. out. print ( tablica [0]) ; // Ala System. out. print ( tablica [1]) ; // ma System. out. print ( tablica [2]) ; // kota System. out. print ( tablica. length ); // 3 23 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Kopiowanie tablic System. arraycopy ( tablicadoprzekopiowania, pierwszyindeksdoprzekopiowania, tablicadocelowa, pierwszyindeksdowklejeniazawartosci, liczbaelementowdoprzekopiowania ); 24 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Przykład String [] literki = {"f","g","h","i"}; String [] wynikowa = new String [2]; System. arraycopy ( literki, 1, wynikowa, 0, 2); for ( int i =0; i< wynikowa. length ; i ++) System. out. print ( wynikowa [i]); // gh 25 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Zadania 1 Napisz program kopiujący zawartość jednej tablicy do drugiej, bez użycia metody arraycopy oraz z jej wykorzystaniem. 2 Napisz program, który pobiera od użytkownika pięć liczb całkowitych, oddzielonych spacją (pobierz jedną linijkę tekstu) i korzystając z metody split oraz valueof przypisz je do tablicy typu int o rozmiarze 5. 26 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania

Dziękuję za uwagę 27 / 27 mgr inż. Krzysztof Szwarc Podstawy i języki programowania