JSLib 4.1 Dokumentacja
|
|
- Kazimiera Jabłońska
- 9 lat temu
- Przeglądów:
Transkrypt
1 28 kwietnia 2015 JSLib 4.1 Dokumentacja Spis treści 1 Wprowadzenie 2 2 Klasa BigInt Tworzenie liczb Operacje wejścia-wyjścia Operatory Metody teorioliczbowe Metody różne Klasa ByteTab Tworzenie tablicy bajtów Operatory Metody Klasa BMPImage Tworzenie obrazu Metody Porównywanie pikseli Klasa CWave Tworzenie ścieżki Metody Nagłówek EasyLife 11 7 Przykłady HelloWorld - operacje wejścia-wyjścia Generowanie liczby pierwszej Zapis i odczyt liczb z pliku Progrowanie obrazka
2 1 Wprowadzenie Biblioteka JSLib została zaprojektowana jako narzędzie do pracy na laboratoriach przetwarzania dźwięku i obrazu oraz laboratoriach z przedmiotów kryptograficznych. Głównym jej założeniem było zapewnienie maksymalnego ułatwienia pracy studentom na laboratoriach, jednocześnie przyjmując, że posiadają oni niewielką wiedzę z języka C++. Biblioteka ta nie wymaga instalacji. Należy jedynie do tworzonego kodu dołączyć pliki biblioteki. Aby ułatwić rozpoczęcie pracy z biblioteką została przygotowana startowa skonfigurowana solucja w Visual Studio 2010 zwierająca wszystkie niezbędne pliki biblioteki oraz przykładowy program. Biblioteka działa również w nowszych wersjach Visual Studio. Prezentowane w tej dokumentacji przykłady będą zgodne ze ścieżkami przyjętymi w tej solucji. Kod źródłowy biblioteki jest zgodny ze standardem C++ i jest w pełni przenośny. 2 Klasa BigInt Klasa BigInt definiuje liczbę całkowitą dowolnej wielkości. Klasa ta wyposażona jest w podstawowe algorytmy teorii liczb. Posiada również możliwość wykonywania operacji bezpośrednio na reprezentacji bitowej liczby. Każda liczba całkowita, ze względu na zmienną długość reprezentacji bitowej, posiada zapis w postaci znak - moduł. 2.1 Tworzenie liczb BigInt a; - utworzenie dużej liczby całkowitej równej 0. BigInt a( 123 ); - utworzenie dużej liczby całkowitej równej podanej wartości typu char lub int. Zakres wartości podanych w nawiasach to 2 31, BigInt a = 123; - jak wyżej. BigInt a( "-123" ); - utworzenie dużej liczby całkowitej na podstawie dowolnie długiego łańcucha znaków, który zawiera zapis liczby przy podstawie 10. BigInt a( string("-123") ); - jak wyżej, przy złożeniu, że łańcuch znaków jest obiektem typu string. 2
3 BigInt a( b ); - utworzenie dużej liczby całkowitej o wartości równej innej dużej liczbie całkowitej. 2.2 Operacje wejścia-wyjścia Operatory << oraz >> w kontekście strumieni wejściowych lub wyjściowych służą do pobierania i wypisywania dużej liczby całkowitej przy podstawie 10. BigInt a; cin >> a; cout << a; // wczytanie z klawiatury // wypisanie na konsolę 2.3 Operatory Operatory arytmetyczne - zaimplementowano dodawanie +, odejmowanie -, mnożenie dwóch dużych liczb * oraz dzielenie całkowitoliczbowe /. Dostępna jest również reszta z dzielenia %. Dla każdego z operatorów dostępne są skrótowe zapisy: += -= *= /= %=. Operatory inkrementacji - zaimplementowano operator ++ w wersji przedrostkowej i przyrostkowej. Operatory relacyjne - zaimplementowano operatory relacyjne: ==!= < > <= >= Operatory bitowe - zaimplementowano przesunięcie binarnej reprezentacji dużej liczby całkowitej w prawo o podaną ilość pozycji >> oraz w lewo o podaną ilość pozycji <<. Dla każdego z operatorów dostępne są skrótowe zapisy: <<= >>=. BigInt a(1), b(4); a <<= 1; b >>= 1; if( a == b ) // warunek będzie prawdziwy //... 3
4 Operator indeksowania - oznaczony symbolem [] - zwraca cyfrę dziesiętną o podanym indeksie. Indeksowanie rozpoczyna się od zera. Operator przypisania - operator = służy do wartości z innej dużej liczby całkowitej, liczb typów int, char oraz stałych łańcuchów znaków. BigInt a, b; a = 12; b = a; b = z ; b = " "; 2.4 Metody teorioliczbowe bool ispositive() - zwraca true gdy liczba jest dodatnia bool isodd() - zwraca true gdy liczba jest nieparzysta bool isprime() - zwraca true gdy liczba jest pierwsza BigInt nextprime() - zwraca następną liczbę pierwszą większą od danej liczby BigInt a(19), b; b = a.nextprime(); cout << b; // wypisze 23 BigInt godddivisor() - zwraca największy nieparzysty dzielnik r, gdzie liczba = (2 s ) r BigInt godddivisor( x ) - jak wyżej, przy czym do zmiennej x w argumencie wstawia obliczone s BigInt sqrt() - zwraca część całkowitą pierwiastka z liczby, lub zero gdy jest ona ujemna. BigInt square() -zwraca kwadrat liczby BigInt powermod( e, m ) - zwraca wartość (liczba) e mod m 4
5 BigInt inversemod( m ) - oblicza odwrotność liczby modulo m. Gdy liczba nie jest odwracalna zwraca 0. BigInt gcd( b ) - oblicza największy wspólny dzielnik liczby oraz argumentu b BigInt lcm( b ) - oblicza najmniejszą wspólną wielokrotność liczby oraz argumentu b 2.5 Metody różne BigInt& random( n ) - wygeneruje losową liczbę nieujemną n-bitową (z zakresu 0,..., 2 n 1). Argument n można pominąć wtedy zostanie założone n=32. int toint() - zwraca liczbę typu int utworzoną z pierwszych 30 bitów dużej liczby całkowitej. Znak liczby jest zachowany. std::string tostring( base ) - zwraca łańcuch znaków z zapisem liczby przy podstawie base (zakres podstaw 2,..., 16). Argument base można pominąć wtedy zostanie założone base=10. unsigned int size() - zwraca ilość cyfr w zapisie dziesiętnym unsigned int bitsize() - zwraca ilość bitów unsigned int bitat( idx ) zwraca bit o podanym indeksie idx. Indeksowanie rozpoczyna się od jeden. void fromhex( s ) - tworzy wartość dużej liczby całkowitej na podstawie podanego łańcucha znaków s zawierającego zapis liczby przy podstawie Klasa ByteTab Klasa ByteTab definiuje obiekty służące do przechowywania bajtów ze swobodnym dostępem do nich poprzez indeksowanie. Jednocześnie zakłada się łatwy sposób wczytania i zapisania zawartości tych obiektów do pliku. 3.1 Tworzenie tablicy bajtów ByteTab t; - utworzenie pustej tablicy bajtów 5
6 ByteTab t( b ); - utworzenie tablicy bajtów na podstawie innej tablicy bajtów b ByteTab t( "plik.txt" ); - utworzenie tablicy bajtów zawierającej wszystkie bajty podanego pliku (niekoniecznie tekstowego) ByteTab t( n, v ); - utworzenie tablicy n bajtów wypełnionych wartością v. Argument v można pominąć wtedy zostanie założone v= Operatory Operatory sklejania - użycie operatora + na dwóch tablicach bajtów spowoduje utworzenie nowej tablicy będącej ich sklejeniem. Operator += dołącza do istniejącej tablicy bajtów bajty ze wskazanej tablicy. Operatory przypisania - operator = służy do kopiowania zawartości tablic bajtów. Dopuszcza się, aby prawym argumentem był łańcuch znaków, wtedy jest on konwertowany na tablicę. Operator indeksowania - oznaczony symbolem [] - zwraca referencję do bajtu o podanym indeksie. W przypadku użycia nieistniejącego indeksu zostaną utworzone bajty zerowe aż do tego indeksu włącznie. 3.3 Metody bool fromfile( filename ) - tworzy zawartość tablicy na podstawie bajtów z pliku bool tofile( filename ) - tworzy plik o bajtach takich jak zawarte w tablicy void push_back( z ) - dodaje nowy bajt z (jest on typu unsigned char) do tablicy, na jej końcu void pop_back() - usuwa ostatni element tablicy int size() - zwraca rozmiar tablicy bajtów void clear() - czyści tablicę std::string tostring( start_index, stop_index ) - zwraca przekonwertowaną tablicę bajtów na łańcuch znaków począwszy od bajta o indeksie start index aż do bajta o indeksie stop index, albo aż do wartości zero jeśli taka wystąpi wcześniej. Jeżeli argument stop index 6
7 zostanie pominięty wtedy konwersja odbywa się do końca tablicy. Jeżeli oba argumenty zostaną pominięte, wtedy cała tablica jest konwertowana. std::string sha256() - zwraca łańcuch znaków zawierający zapis przy podstawie 16 wartości funkcji skrótu SHA-256 obliczonej dla tej tablicy // Wczytanie skrótu pliku do BigInt ByteTab t( "plik.txt" ); BigInt a; a.fromhex( t.sha256() ); 4 Klasa BMPImage Klasa BMPImage definiuje obraz rastorowy o 24 bitowej głębi kolorów. Każdy piksel obrazu jest reprezentowany przez składowe red, green, blue. 4.1 Tworzenie obrazu BMPImage obraz - tworzy jednopikselowy obraz BMPImage obraz( x, y ) - tworzy obraz o wymiarach x na y BMPImage obraz( "plik.bmp" ) - tworzy obraz na podstawie pliku w formacie BMP. Klasa ta obsługuje jedynie nieskompresowane pliki o 24 bitowej głębi kolorów. 4.2 Metody int width() int height() Pixel& pixel( x, y ) - zapewnia dostęp do piksela o podanych współrzędnych x i y. 7
8 // Manipulowanie kolorem piksela BMPImage obraz( "plik.bmp" ); obraz.pixel( 10, 10 ).red = 255; obraz.pixel( 1, 2 ) = Pixel( 0, 255, 0 ); void togray() - zamienia obraz na zapisany w skali szarości. Wszystkie składowe koloru red, green, blue występują i mają tę samą wartość. void negative() - wykonuje negatyw void tofile( "out.bmp" ) - zapisuje obraz do pliku o podanej nazwie w formacie BMP. void tofile( "dwa.bmp", innyobraz ) - tworzy plik o podanej nazwie w formacie BMP zawierający dwa obrazy (obiektu na którym jest wywołana metoda oraz obiektu przekazanego w argumencie) void drawline( x1, y1, x2, y2, r, g, b ) - rysuje linię od współrzędnych (x1,y1) do współrzędnych (x2,y2) w kolorze o składowych r, g, b. void drawrect( x1, y1, x2, y2, r, g, b ) - rysuje prostokąt rozpięty na wierzchołkach o współrzędnych (x1,y1) i (x2,y2) w kolorze o składowych r, g, b. void drawfilledrect( x1, y1, x2, y2, r, g, b ) - rysuje wypełniony prostokąt rozpięty na wierzchołkach o współrzędnych (x1,y1) i (x2,y2) w kolorze o składowych r, g, b. void convolution( t ) - konwolucja obrazu na podstawie 9 elementowej tablicy t liczb typu double. // Wyostrzenie obrazu BMPImage obraz( "plik.bmp" ); double t[]={ 0,-1,0,-1,5,-1,0,-1,0 }; obraz.convolution( t ); obraz.tofile( "out.bmp" ); 8
9 void fill( x, y, r, g, b ) - wypełnia obszar zawierający punkt o współrzędnych (x,y) kolorem o składowych r, g, b. void show( zoom ) - otwiera okno zawierające obraz (albo powiększony obraz). Argument zoom można pominąć wtedy zostanie założone zoom=1. Dopuszczalne wartości parametru zoom to liczby całkowite od 1 do 16. void showwith( innyobraz ) - otwiera okno zawierające dwa obrazy (obiektu na którym jest wywołana metoda oraz obiektu przekazanego w argumencie) BMPImage obraz1( "plik.bmp" ); BMPImage obraz2( obraz1 ); double t[]={ 0,-1,0,-1,5,-1,0,-1,0 }; obraz2.convolution( t ); obraz1.showwith( obraz2 ); 4.3 Porównywanie pikseli Istnieje możliwość porównywania pikseli: BMPImage obraz( "plik.bmp" ); if( obraz.pixel( 10, 10 ) == Pixel( 0, 0, 0 ) ) obraz.pixel( 10, 10 ) = Pixel( 255, 255, 255 ); if( obraz.pixel( 20, 20 )!= Pixel( 0, 0, 0 ) ) obraz.pixel( 20, 20 ) = Pixel( 0, 0, 0 ); 5 Klasa CWave Klasa CWave definiuje stereofoniczną ścieżkę dźwiękową. W klasie tej można przechowywać nieskompresowany dźwięk w rozdzielczości 16 bitowej o częstotliwości próbkowania Hz. 9
10 5.1 Tworzenie ścieżki CWave() - tworzy pustą ścieżkę (bez próbek) CWave( n ) - tworzy ścieżkę z ciszą o n próbkach CWave( "plik.wav" ) - tworzy ścieżkę na podstawie pliku w formacie WAVE. Klasa to obsługuje dźwięk stereofoniczny w rozdzielczości 16 bitowej o częstotliwości próbkowania Hz. 5.2 Metody unsigned int size() - zwraca ilość próbek bool tofile( "out.wav" ) - zapisuje ścieżkę dźwiękową do pliku Sample& operator[]( n ) - zapewnia dostęp do stereofonicznej próbki o podanym indeksie. Kanały w próbce występują pod nazwami left i right. Dopuszczalne wartości jakie można zapisać w jednym kanale są z zakresu: ,..., CWave dzwiek( "plik.wav" ); dzwiek[ 5 ].left = 10000; dzwiek[ 10 ] = Sample( 0, 0 ); void mixwith( innycwave ) - miksuje ścieżkę z innym obiektem tej klasy void scale( x ) - skaluje próbki. Argument x jest typu double. Jego wartość 1.0 oznacza identyczność. void play() - odtwarza ścieżkę audio na domyślnej karcie dźwiękowej 10
11 6 Nagłówek EasyLife Dołączenie nagłówka EasyLife.h do programu ułatwia pracę osobie implementującej algorytmy. Zostaną automatycznie dołączone wszystkie niezbędne nagłówki oraz zostanie włączona standardowa przestrzeń nazw. Generator liczb pseudolosowych zostanie zainicjowany czasem systemowym. Przed zakończeniem programu okno konsoli nie zniknie dopóki użytkownik nie naciśnie dowolnego klawisza. #include "JSLib/EasyLife.h" int main() { // własny kod } return 0; 11
12 7 Przykłady 7.1 HelloWorld - operacje wejścia-wyjścia #include "JSLib/EasyLife.h" int main() { BigInt a, b,c; cin >> a; cin >> b; c = a * b; cout << c << endl; } return 0; 12
13 7.2 Generowanie liczby pierwszej Wygenerowanie co najmniej 100-bitowej losowej liczby pierwszej: #include "JSLib/EasyLife.h" int main() { BigInt a(1), b; a <<= 99; b.random( 64 ); a += b; b = a.nextprime(); cout << b << endl; cout << b.bitsize() << endl; } return 0; 13
14 7.3 Zapis i odczyt liczb z pliku #include "JSLib/EasyLife.h" int main() { // Zapis BigInt a( "123" ); ByteTab t; t = a.tostring(); t.tofile( "liczba.txt" ); // Odczyt ByteTab s( "liczba.txt" ); BigInt b( s.tostring() ); cout << b << endl; } return 0; 14
15 7.4 Progrowanie obrazka #include "JSLib/EasyLife.h" int main() { BMPImage im( "plik.bmp" ); int value = 0; cout << " Podaj prog: "; cin >> value; for( int y=0; y<im.height(); y++ ) for( int x=0; x<im.width(); x++ ) if( im.pixel( x, y ).red + im.pixel( x, y ).green + im.pixel( x, y ).blue < value ) im.pixel( x, y ) = Pixel( 0, 0, 0 ); else im.pixel( x, y ) = Pixel( 255, 255, 255 ); im.show(); im.tofile( "out.bmp" ); } return 0; 15
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1
Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
C++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
// Potrzebne do memset oraz memcpy, czyli kopiowania bloków
ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Wykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej
Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
( wykł. dr Marek Piasecki )
INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przestrzenie nazw Standardowa biblioteka szablonów
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Programowanie komputerowe. Zajęcia 5
Programowanie komputerowe Zajęcia 5 Tablice wielowymiarowe Tablicę dwuwymiarową możemy deklarować statycznie: typ nazwa[rozmiar1][rozmiar2]; Ma ona elementy nazwa[i][j] dla i=0,,rozmiar1-1, j=0,...,rozmiar2-1.
Pliki wykład 2. Dorota Pylak
Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)
Podstawy Programowania
Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 05 1 / 15 Plan wykładu 1 Biblioteka
Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Język C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template
Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo
Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Python: JPEG. Zadanie. 1. Wczytanie obrazka
Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać
dr inż. Jarosław Forenc
Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Proste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
Rekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Język C++ wykład VIII
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE
1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
#include <iostream> #include <string> using namespace std; auto main() -> int { string s1; // pusty string. Klasa std::string
Klasa std::string Utworzenie obiektu typu std::string odbywa się podobnie jak dowolnej zmiennej typu wbudowanego. Jednak w tym przypadku można też stworzyć obiekt zainicjalizowany danymi obiekt budowany
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
I. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
Odczyt danych z klawiatury Operatory w Javie
Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.
PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne
PARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Pliki wykład 2. Dorota Pylak
Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Wstęp do informatyki- wykład 2
MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
STL: Lekcja 1&2. Filozofia STL
STL: Lekcja 1&2 Tematy: Filozofia STL Po co nam STL? Podstawowa zawartość STL Co warto znać zanim zaczniemy pracę z STL?: wskaźniki Praca na tekstach: klasa String Vector: nowy wymiar standardowych tablic.
Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 9 (20.01.2012) dr inż. Jarosław Forenc Rok
do instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)
Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string) Dorota Pylak Struktura programu działającego na plikach 2 1) Dyrektywa preprocesora #include //zapewnia
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof
Konstrukcje warunkowe Pętle
* Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity
Akademia ETI Marcin Jurkiewicz
Akademia ETI Marcin Jurkiewicz Fakt W informatyce nic nie robi się od zera! Zatem my również będziemy korzystali z szablonów. Najczęściej będziemy troszkę zmieniać programy już napisane na slajdach. Pierwszy
C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Język C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
Programowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119
Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek
Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Wstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał
Struktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
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.
8. Wektory Przykłady 8.1. Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana. Uwaga! Kod poniżej. To zadanie można rozwiązać przy użyciu wiedzy
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako
tablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,