Podstawy programowania w języku Java. mgr inż. Piotr Kowalski

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy programowania w języku Java. mgr inż. Piotr Kowalski"

Transkrypt

1 Podstawy programowania w języku Java mgr inż. Piotr Kowalski 18 stycznia 2013

2 Spis treści 1 Podstawy architektury komputera Części składowe komputera Rzecz o rejestrach Rzecz o pamięci Rzecz o programowaniu Języki programowania Od kodu do programu Funkcje systemu operacyjnego Jądro systemu operacyjnego BIOS i uruchomienie stacji Systemy plików Funkcja hashująca w systemie plików Algorytmy i struktury danych Struktury statyczne Tablice Rekordy Obiekty Struktury dynamiczne Stos Kolejka Lista Drzewo binarne Graf Porównanie typów struktur Wstęp - instalacja zintegrowanego środowiska programistycznego dla Javy Czym jest wirtualna maszyna Javy oraz najważniejsze składowe technologii Czym jest IDE Podstawy języka Java Zmienne w Javie. Pierwsze starcie Typy prymitywne Typy wyliczeniowe Typy tablicowe Klasy

3 SPIS TREŚCI I jeszcze o zmiennych Słowa zarezerwowane Znaki niepisane Rzutowanie Typ specjalny void Podstawowe operacje w języku Java Instrukcje warunkowe Instrukcje pętli Funkcje Operatory Literały Obsługa błędów w języku Java Drzewo hierarchii błędów Komendy obsługi błędów Inne reguły w języka Java Nazewnictwo w Javie Tworzenie modeli w Javie Tworzenie nowej klasy Dziedziczenie i polimorfizm Interfejsy Modyfikator abstract i Modyfikatory dostępu Modyfikator final Słowo kluczowe this oraz o konstruktorach Korzystanie z pakietów podstawowych języka Java Kontenery Kolekcje Iteratory Tablice asocjacyjne Przeszukiwanie i sortowanie kontenerów Tworzenie aplikacji z interfejsem graficznym Swing Elementy pakietu Swing Uruchamianie okna głównego aplikacji Swing - menu Swing - kontenery Swing - kontrolki Okienka dialogowe Przykładowe użycia okienek dialogowych Wydarzenia Akcja wykonana Właściwości okna Nasłuchiwacze A Zadania laboratoryjne 47 B Zadania projektowe 50

4 SPIS TREŚCI 3 C Zadania do samodzielnego rozwiązania 52 C.1 Zadanie z prostych algorytmów C.2 Zadania z modelowania w języku Java C.3 Zadania z prostych aplikacji graficznych

5 SPIS TREŚCI 4 Wersje numer data autor opis Piotr Kowalski Prace nad pierwszym rozdziałem Piotr Kowalski Dołączone dziedziczenie, modyfikatory dostępu oraz obsługa błędów Piotr Kowalski Dołączone konstruktory oraz liczne zadanka i projekty laboratoryjne Piotr Kowalski Dołączone zaczątki kolejnych rozdziałów z: Kontenerów oraz Swing.

6 Rozdział 1 Podstawy architektury komputera 1.1 Części składowe komputera Do głównych elementów komputera należą ˆ Płyta główna ˆ Pamięć RAM ˆ Dysk twardy ˆ Karta graficzna ˆ Inne elementy Szczególną uwagę przykuwa płyta główna jako komponent odpowiedzialny za wykonywanie obliczeń i działanie programu. Głównymi elementami wchodzącymi w skład płyty głównej są: Procesor jest główną jednostką obliczeniową całego systemu komputerowego, przeprowadza wszystkie operacje w komputerze. Magistrala danych jest kanałem do przesyłania danych pomiędzy komponentami systemu. Jest jak rura łącząca wiele wejść i wyjść. W danej chwili jej pracy, jedno urządzenie działa w trybie nadawania a drugie w odbioru, reszta pozostaje bierna czekając na swoją kolej. Zazwyczaj jednym z tych czynnych urządzeń jest procesor. Rejestry są najszybszym typem pamięci (i najdroższym) i to od ich wykorzystania przez procesor w głównej mierze zależy szybkość oprogramowania. Rozmiar rejestrów zależy od tzw. architektury procesora. Pierwsze procesory były konstruowane w architekturze 16 bitowej co oznaczało że procesor operował na danych o rozmiarze do 16 bitów, zatem był wyposażony w rejestry o pojemności 16 bitów. Obecnie dominują procesowy 32 bitowe, część rynku jest jednakże już opanowywana przez procesory 64 bitowe. 5

7 ROZDZIAŁ 1. PODSTAWY ARCHITEKTURY KOMPUTERA 6 Sterownik przerwań, ponieważ komputer pracuje równolegle nad być może wieloma zadaniami, może się okazać że w trakcie pracy nad jednym z nich, jedno z urządzeń zgłosi procesorowi żądanie by ten sprawdził jego stan i wykonał pewne operacje. By proces ten był nadzorowany i odpowiednio kolejkowany (które urządzenie jako kolejne powinno być obsłużone) wprowadzony został sterownik przerwań. Sterownik przerwań jest mikrokontrolerem który nadzoruje zgłaszane przerwania (tu: żądania przerwania bieżącego zadania przez procesor), ustala ich priorytet i delikatnie szturcha procesor gdy nadejdzie przerwanie. Przykładem może być wciśnięcie przycisku na klawiaturze, które spowoduje zgłoszenie przerwania celem odczytania znaku z bufora klawiatury. Innym rodzajem przerwania są np. mrugania diody LED na przerwanie zgłaszane przez dysk twardy. Zegar jest urządzeniem, które odmierza pewien krótki okres czasu w komputerze i może być wykorzystane zarówno do przerwań systemowych, jak dla innych celów. Zbudowane jest na zasadzie drgającej struktury krystalicznej Rzecz o rejestrach Rejestry są podstawową pamięcią komputera. To na danych w nich zawartych są wykonywane wszystkie obliczenia. Rejestrów w architekturze rodziny procesorów Intel32 występuje ich około 20-tu. Do najważniejszych należą: EAX / AX jest rejestrem nazywanym Akumulatorem. Jego nazwa pochodzi od tego, że to najczęściej w nim umieszczane są wyniki pracy procesora (akumuluje wyniki). EBX / BX jest rejestrem adresowania. W tym rejestrze składowane są adresy w pamięci RAM w chwili gdy procesor stara się je odczytać lub zapisać. ECX / CX rejestr odliczający. Jest rejestrem ładowanym pewną daną przy okazji wykonywania wszelakich pętli w trakcie obliczeń. Jest ładowany pewną wartością, która co wykonanie pętli jest zmniejszana automatycznie o 1. Gdy osiągnie wartość 0 pętla jest zatrzymywana. W tej formie rozwiązania pętli można dostrzec przewagą (i przyczynę) osobnego tworzenia pętli FOR. CS, DS rejestry obszaru pamięci. Po załadowaniu programu do pamięci RAM, obszar pamięci gdzie znajduje się kod programu jest oznaczany w rejestrze CS (CODE SEGMENT), zaś dla danych ma adres ich składowania znajduje się w rejestrze DS (DATA SEGMENT) REJESTR FLAGOWY jest specjalnym rejestrem procesora, gdzie składowane są nie dane wyjściowe procesora, ale błędy które zostały zgłoszone w trakcie obliczeń Rzecz o pamięci W kwestii pamięci procesora, wyróżnioną role pełni pamięć RAM. Dysk twardy nie pełni żadnej innej funkcji poza funkcją składowania danych. Wszelkie operacje procesora na danych z dysku, muszą być poprzedzone przekopiowaniem

8 ROZDZIAŁ 1. PODSTAWY ARCHITEKTURY KOMPUTERA 7 tychże danych do pamięci RAM procesora. Pamięć RAM po załadowaniu systemu operacyjnego jest dzielona na obszar do użytku oraz na stos procesora. Stos procesora jest miejscem gdzie mogą być składowane dane. Zgodnie z zasadą stosu rzeczy odłożone później są zdejmowane wcześniej. Stos jest bardzo często wykorzystywanym obszarem pamięci. Przykłady użycia stosu ˆ Tymczasowe zachowanie stanu rejestrów, np gdy potrzeba rejestrów do kolejnych obliczeń a nie można poświęcić posiadanych danych. ˆ Wykonanie przerwania - w chwili pojawienia się przerwania wszystkie dane nad którymi pracował procesor muszę być zachowane tak by po zakończeniu przerwania procesor mógł kontynuować pracę. Na stos są wtedy zrzucane wszystkie używane rejestry włącznie z flagowym oraz wskaźnikiem do punktu w kodzie gdzie nastąpiło przerwanie. ˆ Wywołanie funkcji - w chwili wywołania funkcji podobnie jak przy przerwaniu, wszystkie dane zostają zapisane na stosie. ˆ Przekazanie parametrów do funkcji - Często lista parametrów funkcji jest bardzo długa. Wtedy nie jest możliwym przekazać ich przez rejestry ( przekazywanie przez rejestry jest nawet nie wskazane). Jedyną możliwością jest odłożyć je wtedy przez stos tak by nowa funkcja mogła go łatwo odzyskać ze stosu Rzecz o programowaniu W programowaniu występuje mnóstwo głównych reguł. Jednakże najważniejsze reguły informatyki to: ˆ Niezależność poziomów programowania ˆ Zgodność wstecz Poziomy programowania Napisanie programu jest z reguły rzeczą trudną. Wymaga dokładnego przemyślenia sytuacji, z którą program ma sobie radzić, zapobiec dopuszczenia do błędu programu oraz wykonania optymalnej ilości operacji by kod był szybki. Nie jest jednak nigdy tak, że jeden programista pisze cały program. Częściej programiści dzielą program na małe części i każdy realizuje jego część. Nigdy nie jest również tak, że program raz napisany nie zostanie już nigdy poprawiony. Ważną zasadą jest więc właśnie to by programy mogły korzystać z siebie nawzajem w sposób bezpieczny i niezmienny pomimo oczywistych poprawek lub nieznajomości innego programu. Prostym przykładem jest np. zainstalowanie nowego sterownika do drukarki. Pomimo, że program sterownika działa zupełnie inaczej, programy wyżej powinny mieć możliwość wywoływać DRUKUJ bez względu na to jak dany sterownik realizuje tą funkcję. Jest to tzw. niezależność poziomów programowania.

9 ROZDZIAŁ 1. PODSTAWY ARCHITEKTURY KOMPUTERA 8 Interfejsy Interfejsem będziemy nazywać dowolny zestaw czynności udostępnianych przez program lub aplikację. Tak naprawdę zaś interfejs jest fikcyjnym programem, który ma zapewniać to, że inne programy będą mogły się do pewnej funkcjonalności odwoływać pomimo, że programista mógł zupełnie zmienić samą funkcję. Korzystanie z interfejsów zapewnia jednak to, że programy mogą ze sobą bezpiecznie współpracować, mimo iż byłyby modyfikowane. Zgodność wstecz Niektórzy nazywają największą zmorą programistów. Przyczyny jej stosowania są czysto ekonomiczne. Zachowanie zgodności wstecz to nic innego jak zapewnienie starszym programom możliwości pracy. I również w tym punkcie nieocenione okazują się być interfejsy, które potrafią poprawić to co robią stare programy i w miarę możliwości zastosować usprawnienia. Przykładem jest np. to że nowe wersje MS-WORDa potrafią otwierać pliki z poprzedniej wersji programu np z roku 97. Pomimo to, programy te niechętnie pozwalają zapisywać w starych formatach, które są mniej wydajne lub wręcz nie pozwalają na pewne dodatkowe funkcje. Z tej samej przyczyny architektura systemu MS-Windows nie zmieniła się zbytnio od roku Języki programowania Pomiędzy językiem który rozumie procesor komputerowy, a językiem ludzkim jest olbrzymia przepaść. Nie jest możliwym aby przeskoczyć te różnice i ani procesor nie zacznie słuchać po ludzku ani programista nie napisze programu za pomocą ciągu zer i jedynek. Muszą istnieć zatem narzędzia, specjalne translatory które tłumaczyły by nawzajem te języki. Jako, że różne są potrzeby i wymagania wyróżnia się 5 generacji języków. Języki procesora - I Generacja - jest językiem komend procesora, jego składnia jest różna dla różnych procesorów i jest bardzo zorientowana na stronę techniczną procesora. Dominuje tu poprawianie programu poprzez lepsze realizowanie poleceń procesora. Języki komend procesora - II Generacja - Asemblery - jest to język dyrektyw wydawanych procesorowi. Nie zależy on od rodzaju procesora. W programach tych poprawianie realizuje się poprzez lepsze zarządzanie pamięcią. W asemblerach pisze się głównie sterowniki dla sprzętu. Języki proceduralne - III Generacja - podstawowa generacje języków programowania. Jest to najniższa generacja języków niezależnych sprzętowo tzn. ten sam kod programu działa tak samo na różnych komputerach, choćby były zupełnie inaczej zbudowane. Słowo proceduralne w nazwie określa, że programista dokładnie określa zadanie, które wykonać ma program. Przykładowe języki programowania to C, C++,C#, D, Pascal, Java, Ada95. Języki deklaratywne - IV Generacja - języki programowania z tej grupy są bardzo przyjazne użytkownikowi. W przeciwieństwie do proceduralnych,

10 ROZDZIAŁ 1. PODSTAWY ARCHITEKTURY KOMPUTERA 9 tu program automatycznie stara się zrozumieć co miał na myśli użytkownik by uzupełnić jego kod. Przykładami takich języków są : SQL, HTML, XML, BASH, PYTHON, PERL, PHP, AWK. Języki inteligentne - V Generacja - dopiero rozbudowywana gałąź samouczących się programów. Rzadko stosowana. Języki I i II generacji nazywa się językami niskiego poziomu - jako, że pozwalają tworzyć oprogramowanie zależne od sprzętu, języki wyższych generacji nazywane są językami wysokiego poziomu, jako niezależnym sprzętowo Od kodu do programu Ze względu na to, że języki V generacji są wielką innowacją, a języki II generacji są niewydajne w tworzeniu aplikacji, programiści skupiają się na pracy w językach III i IV generacji. Programy stworzone w językach III generacji nazywamy kodem, zaś programy stworzone w IV generacji nazywamy skryptami. Pomiędzy nimi zachodzi istotna różnica. Z tą różnicą związane są dwa pojęcia Kompilator - program komputerowy, którego zadaniem jest tłumaczenie kodu na języki coraz to niższego poziomu, aż do utworzenia kodu maszynowego. Jest to postępowanie, któremu podlegają języki 3 poziomu. Interpreter - program komputerowy, którego zadaniem jest wykonanie ciągu poleceń umieszczonych w programie języka IV generacji, zwanym skryptem. Jest to opis ciągu wywołań kolejnych programów niższego poziomu, celem uzyskania określone efektu. Z racji istnienia takiej struktury rzeczy, zauważyć możemy, że jeden kod wysokiego poziomu, może różnie działać ze względu na miejsce jego kompilacji. Oznacza to również, że skompilowany program przeniesiony na inną stację komputerową może działać błędnie lub w ogóle. Z drugiej strony mamy jednak zapewnienie, że na poziomie logicznym kod wykonany na jednej i drugiej stacji da takie same wyniki. 1.3 Funkcje systemu operacyjnego Jądro systemu operacyjnego W komputerze niezwykle istotną funkcję pełni system operacyjny (ozn. OS). Pełni on role interfejsu pomiędzy programami, a architekturą komputera i urządzeniami doń podłączonymi. System operacyjny składa się z: ˆ Jądra systemu ˆ Aplikacji systemu ˆ Sterowników Aplikacjami systemu są wszystkie programy zainstalowane na systemie by zapewnić jego podstawową działalność. Wszystko co komputer może wykonać dla

11 ROZDZIAŁ 1. PODSTAWY ARCHITEKTURY KOMPUTERA 10 innych programów w systemie jest jednakże zdefiniowane w jądrze systemu operacyjnego. Nie jest możliwym by jakikolwiek program znajdujący się powyżej poziomu jądra systemu był w stanie bezpośrednio wywołać aplikacje z poziomu poniżej. Jądro systemu świadczy zestaw metod i jeśli jakieś zastosowanie jest zgodne z zasadami pracy systemu komputerowego, to jest przesyłane poniżej. Najczęściej jądro służy do przekazania poleceń wywołania do poszczególnych sterowników. Sterowniki mają szczególną pozycję w systemie operacyjnym i dlatego ich instalacja musi być bardzo odpowiedzialna. Taka struktura systemu ma natomiast wiele zalet w kwestii bezpieczeństwa. W ten sposób programy, wywoływane osobno nie mogą mieć na siebie wzajemnego wpływu, gdyż wszystkie operacje są nadzorowane przez jądro systemu BIOS i uruchomienie stacji BIOS jest specyficznym rodzajem oprogramowania. Jest to oprogramowanie typu ROM tzn. jedynie do odczytu (choć od tego by był to czysty ROM, ostatnio się odchodziło to obserwuje się tego negatywne skutki), związane z poszczególnymi elementami stacji komputerowej. Jedną z głównych rol BIOSu jest uruchamianie stacji. Kolejne etapy uruchamiania stacji (orientacyjne): 1. Start BIOSu płyty głównej 2. Poszukiwanie na kolejnych pozycjach systemów operacyjnych 3. Start jądra systemu 4. Start podstawowych usług systemu - montowanie systemów plików 5. Start trybu graficznego (lub nie :P) 6. Wyświetlenie okna logowania Systemy plików Nie rozłącznym pojęciem dla każdego OS-u jest system plików. Jest to sposób zapamiętywania danych na dysku twardym. Sposób taki, musi być wydajny - byśmy mogli zapisać jak najwięcej danych oraz bezpieczny - byśmy nie stracili danych. Jak łatwo przypuszczać ma się albo jedno albo drugie. Najczęściej całość wygląda następująco. DYSK FIZYCZNY - stanowi górny limit dla składowania danych. PARTYCJA - obszar zapamiętania poszczególnych danych. SEKTORY - obszar umieszczenia danych KLASTRY - jednostka pojemności pamięci. Pojedyncza dana zapisana na dysku jest w klastrze. Dysk fizyczny, ma w swoim nagłówku listę wszystkich partycji na niej utworzonych (TABLICA PARTYCJI).Oprócz tego znajduje się tu również MBR (MasterBootRecord) bardzo ważny element wskazujący położenie ewentualnego programu ładującego system operacyjny. Partycja zaczyna się z kolei elementem TOC (TABLE OF CONTENT) - tj tablicy zawierania. Są tu umieszczone

12 ROZDZIAŁ 1. PODSTAWY ARCHITEKTURY KOMPUTERA 11 wszystkie pliki na dysku, a dokładniej lokalizacja ich początku. Pliki znajdują się na dysku w postaci rozproszonej. W TOC znajduje się położenie pierwszego kawałka pliku, na końcu pierwszego kawałka znajduje się położenie następnego kawałka itd. Systemami plików stosowanymi obecnie są: NTFS dla windows, EXT3/4 dla linux. Oprócz tego historyczne formaty to FAT16, FAT32 i VFAT (obecnie na pendrive ach) Funkcja hashująca w systemie plików Stosowanie tablicy plików jest dobrym rozwiązaniem w kwestii zapisu plików, jednak zapis nie jest jedyną główną operacją w systemie plików. Inną przykładową funkcją systemu plików jest wyszukiwanie pliku o pewnej cesze, powiedzmy nazwie. Prosta tablica plików nie jest wygodnym do poszukiwania rozwiązaniem. Trzeba by przejrzeć średnio połowę, a w najgorszym wypadku wszystkie zapisy tablicy, których może być bardzo dużo. Potrzebna jest subtelniejsza struktura, która jednak nie spowoduje opóźnień w dostępie do plików. Najprostszym rozwiązaniem byłoby podzielenie jedne dużej tablicy na kilka (a raczej kilka-dużo np kilka tysięcy) mniejszych tablic zawierających tylko wybrane rekordy. Więc można by przykładowo podzielić tekst ze względu na pierwszą literę w nazwie pliku. To podzieli zespół nazw na około 27 grup, co skróci przeszukiwanie 27 razy... Błąd. Przyśpieszenie wcale nie będzie nawet tak średnio dobre. Problemem jest liczność poszczególnych grup. Jak często trafiają się nam słowa na literę Y a jak często na literę K. Podział, który powinniśmy zastosować powinien zapewnić nam możliwie równomierne rozłożenie składu tych grup. Zatem potrzebne jest przyporządkowanie odpowiednich grup odpowiednim nazwom. Są to bardzo skomplikowane w wypracowaniu, ale proste w użyciu funkcje nazywane fachowo hashującymi.

13 Rozdział 2 Algorytmy i struktury danych Napisanie programu nie jest niczym trudnym. Prawdziwą trudnością programistyczną jest zrobienie tego przy minimalnych nakładach. Programy optymalizuje się ze względu na dwie ich cechy: Ilość operacji - mierzona w taktach procesora; Zużycie pamięci - mierzona w ilości wykorzystanej pamięci W zależności od stawianych sobie wymagań wykorzystuje się różne struktury i różne metody prowadzenia obliczeń. Postaram się teraz omówić kilka najprostszych struktur. 2.1 Struktury statyczne Pierwszym typem struktur są struktury statyczne. Wszędzie w programowaniu określenie statyczne będzie się odnosiło do tworów, które są tworzone w chwili uruchomienia kodu (tzn. już w momencie uruchomienia programu, a zanim zostanie wykonane jakiekolwiek polecenie te struktury otrzymują swój przydział w pamięci) Tablice Tablice są najprostszym sposobem łączenia wielu danych. Pozwalają one połączyć jednakowe obiekty w jedną większą strukturę. Cechą naturalną tablicy jest jej długość i rodzaj zawieranych danych Rekordy Rekordy są sposobem na generowanie bardziej złożonych typów danych poprzez łączenie określonej liczby elementów prostszych. Najlepszym przykładem jest data, która jest typem złożonym z liczby odpowiadającej dniu, liczby odpowiadającej miesiącowi oraz liczby roku. Cechą szczególną rekordów jest to, że potrafią łączyć składowe różnych typów w przeciwieństwie do tablic. 12

14 ROZDZIAŁ 2. ALGORYTMY I STRUKTURY DANYCH Obiekty Obiekty w najprostszym ujęciu są pewnym uogólnieniem rekordów, ale że jest to temat obszerny jeszcze zdąży być omówiony. 2.2 Struktury dynamiczne Stos Często fachowo pieszczotliwie nazywany LIFO (Last In - First Out). Informatycy żartują, że ta struktura danych została stworzona przez Jezusa ( Pierwsi będą ostatnimi, a ostatni pierwszymi ). Jako struktura ma następującą postać. By utworzyć stos potrzebne są dwa twory. Twór o nazwie stos, oraz twory o nazwie elementy stosu. Element stosu jest swego rodzaju otoczką, która otoczy element odkładany na stos. Ponadto każdy element stosu wskazuje element, który znajduje się na stosie poniżej jego, lub jeśli jest ostatni nie pokazywać niczego. Twór stosu jest zarządcą struktury. Pokazuje zawsze wierzchołek stosu oraz wie jak zrealizować dwie główne operacje stosu. PUSH - odłożenie kolejnego elementu na stos. POP - zdjęcie elementu z wierzchołka stosu. Operacjami, które są bardzo trudnymi do wykonania na stosie to usuwanie z wnętrza stosu oraz np. sortowanie Kolejka Kolejka jest z kolei pieszczotliwie nazywana FIFO (First In - First Out). Podobnie jak stos, struktura ta składa się z elementów kolejki i samej kolejki. Elementy kolejki pokazują element je poprzedzający ( ta pani stała przede tu przede mną ), zaś sama kolejka musi tym razem pamiętać i swój początek i swój koniec. Operacje identyczne jak dla stosu Lista Zwana też niekiedy listą dwukierunkową. W tej strukturze zmianie ulegają elementy listy, które pamiętają i poprzednika i następnika. Użycie takiej ulepszonej kolejki pozwala łatwo z niej usuwać elementy Drzewo binarne Z goła odmiennymi strukturami są drzewa. Drzewa są strukturami o zupełnie odmiennym podejściu niż listy, kolejki i stosy. Drzewa składają się z tworu drzewa oraz tzw. węzłów (ang. node) (którym odpowiadają rozgałęzienia). Drzewo pamięta swoją podstawę tzw. korzeń (ang. root). Węzły są otoczką dla danych. Dodatkową informacją jest położenie kolejnych węzłów. Jeden węzeł może wskazywać wiele innych węzłów (maksymalnie pewną określoną ilość - najczęściej dwa). Jeśli węzeł nie wskazuje żadnych kolejnych węzłów to nazywamy go liściem (ang. leaf). Drzewa, a w szczególności drzewa binarne są najlepszą strukturą do przechowywania uporządkowanych struktur danych. W takim układzie

15 ROZDZIAŁ 2. ALGORYTMY I STRUKTURY DANYCH 14 wyszukiwanie, usuwanie, dołączanie i wiele innych operacji może być wykonanych rekordowo szybko Graf Tak po prawdzie wszystkie struktury danych są z punktu widzenia matematyki pewnymi grafami. Dla ogólnych grafów najczęściej tworzy się tablicę z posiadanych danych oraz inną strukturę do oznaczenia krawędzi i ich ewentualnych wag. 2.3 Porównanie typów struktur Struktury dynamiczne są najczęściej stosowanymi w programowaniu. Struktury statyczne co prawda wśród swoich zalet mają prostotę oraz maksymalną szybkość przy tworzeniu i dostępie, jednakże mają znacznie poważniejsze wady. Absorbują i nigdy nie zwalniają dużej ilości miejsca, jak również że przy ich tworzeniu może nie istnieć dostatecznie długa przestrzeń pamięci by ją utworzyć.

16 Rozdział 3 Wstęp - instalacja zintegrowanego środowiska programistycznego dla Javy W części pierwszej skupimy się na przygotowaniu komputera jako stanowiska pracy programisty. W przypadku programowania w technologii Java (nazywamy to technologia, gdyż myślimy łącznie o języku, narzędziach, jak i sposobie myślenia), może być to wykonane niemalże na każdym ciut bardziej zaawansowanym urządzeniu elektronicznym, telefon, tablet, netbook aż w końcu nawet i największych komputerach. W odróżnieniu od poprzedzających ją technologii, raz napisany program będzie mógł działać na każdym urządzeniu. Technologie takie jak C/C++, Ada95, Pascal czy inne generowały kod maszynowy, który pozwalał programom działać na urządzeniach o podobnej specyfikacji. Często aby zaadaptować ten sam program potrzebne były poprawki jego kodu. W przypadku Javy, ten problem został niemal doszczętnie wyeliminowany. 3.1 Czym jest wirtualna maszyna Javy oraz najważniejsze składowe technologii Podstawowym problemem kompilacji 1 programów, jest to że w pewien sposób umieszcza ona w kodzie maszynowym 2 konstrukcję komputera na którym została przeprowadzona. W przypadku Javy rozwiązano to poprzez specjalny program instalowany w urządzeniu, który udaje przed programem napisanym w Javie, cały komputer. Sprawia to że cały kod można łatwo przenosić pomiędzy urządzeniami. Tym programem jest wirtualna maszyna Javy (JVM - Java Virtual Machine). Jej instalacja jest niezbędna do tego by na danym urządzeniu dział jakikolwiek program w tej technologii. Wirtualna maszyna jest obecnie jedynie częścią większej całości. Do tego by uruchamiały się programy potrzeba również wielu standardowych bibliotek. Wirtualna maszyna razem wspólnie z tymi bibliotekami jest udostępniania jako 1 proces zamiany kodu programu podanego przez programistę na jego binarny odpowiednik dla procesora 2 kod po kompilacji, kod binarny rozumiany przez komputer 15

17 ROZDZIAŁ 3. WSTĘP - INSTALACJA ZINTEGROWANEGO ŚRODOWISKA PROGRAMISTYCZNEGO środowisko uruchomieniowe java (JRE - Java Runtime Environment). W przypadku programistów potrzeba jeszcze znacznie więcej bibliotek, podobnie jak dużo dokumentacji i innych narzędzi. Wszystko wspólnie można pobrać jako Zestaw Narzędzi Programisty Java (JDK - Java Development Kit). JDK występują w różnych wersjach. Zalecane jest zawsze używanie najnowszych, jako najbezpieczniejszych i najaktualniejszych. JDK powinna być dołączona do systemu przy instalacji IDE (o którym zaraz). Jeśli nie została, należy ją doinstalować ręcznie. 3.2 Czym jest IDE O tym jak dużo jest czasami pracy aby z kodu napisanego przez programistę zrobić kod rozumiany przez komputer, wystarczy zapytać starszych programistów. Tymczasem prawda jest taka, że ten proces jest dość prosty, a jedynie bardzo męczący w prowadzeniu. Zgodniej z zasadą co nudne należy automatyzować wkrótce powstały narzędzia, które miały przejąć od programisty zadanie pilnowanie tego. Programy te są rozwijane po dziś dzień i większość programistów nie wyobraża sobie pracy bez nich. Główne aspekty z procesu tworzenia kodu przez nie monitorowane to ˆ Proces kompilacji kodu ˆ Weryfikacja składni kodu ˆ Zarządzanie bibliotekami ˆ Zarządzenia konfiguracją ˆ Nadzór wersji kodu ˆ Zarządzanie testami ˆ Pobieranie brakujących bibliotek ˆ Generowanie prostych i monotonnych fragmentów kodu ˆ Przeszukiwanie kodu źródłowego ˆ Reorganizacja nazw w kodzie (tzw. refaktoring) ˆ Podpowiadanie i kolorowanie składni ˆ Generowanie i przedstawianie dokumentacji Wszystkie narzędzia o których tu wspominam są nazywane IDE czyli zintegrowanymi środowiskami programistycznymi (ang. Integrated Development Environment). W przypadku języka Java na rynku dominują dwa najsilniejsze programy (oba darmowe). Jednym z nich jest Eclipse, stanowiący wolne oprogramowanie będące własnością Fundacji Eclipse. Drugim programem jest Netbeans, darmowa aplikacja stanowiąca własność amerykańskiego giganta na rynku oprogramowania czyli firmy Oracle (firmy, który wykupiła firmę Sun - twórców języka Java). Zasadniczo osoby, które są z zawodu programistami i tworzą duże projekty, wybierają za swoją platformę Eclipse, jako prościej konfigurowalny do

18 ROZDZIAŁ 3. WSTĘP - INSTALACJA ZINTEGROWANEGO ŚRODOWISKA PROGRAMISTYCZNEGO ich potrzeb. Osoby o mniejszych potrzebach programowania z reguły wybierają Netbeans, z uwagi na dużą ilość wbudowanych narzędzi. O ile kod java może być bezproblemowo przenoszony pomiędzy platformami Eclipse i Netbeans, o tyle konfiguracja projektów i algorytmu budowania różnią się na tyle, że z reguły nie udaje się przenieść projektu pomiędzy tymi platformami. Oczywiści skompilowane kody przenoszą się bez problemu. Z uwagi na początkujący charakter czytelnika, w dalszej części zakładamy, że czytelnik posiada na swoim komputerze zainstalowany zarówno zestaw narzędzi Java czyli jdk jak i Netbeans IDE. W takim układzie możemy spokojnie przejść do nauki podstaw tego prostego języka jakim jest Java.

19 Rozdział 4 Podstawy języka Java Aby nie programować na kartce papieru zacznijmy od razu od utworzenia nowego projektu. Wybierzmy z menu plik okna Netbeansa, nowy projekt typu Java Application i nazywamy go HelloWorld. Automatycznie zostanie nam wygenerowana klasa HelloWorld oraz w niej funkcja main(string[]). Aby nasz projekt coś napisał musimy wywołać metodę println() z klasy System dla jej elementu out tj. System.out.println("Hello World!!"); // tak wypisujemy tekst na ekranie Co musimy umieścić w kodzie funkcji main(string[]): public static void main(string[] args) { System.out.println("Hello World!!"); // tak wypisujemy tekst na ekranie Aby mieć lepsze zrozumienie co tak naprawdę się stało możemy zrobić to wolniej public static void main(string[] args) { String hello = "Hello World!!"; // tak tworzymy zmienną o typie tekstu System.out.println(hello); // tak wypisujemy zmienną tekstową // a to oczywiście był znak komentarza Program utworzył nową zmienną o nazwie hello i wstawił tam ciąg znaków Hello World!!, a następnie wypisał stan tej zmiennej. 4.1 Zmienne w Javie. Pierwsze starcie Programowanie jest niczym innym jak opracowywaniem pewnego zbioru danych. Dane te muszą znaleźć się najpierw w pamięci komputera. To co wyróżniło Javę w porównaniu do jej poprzedników to sposób w jaki można modelować bardzo skomplikowane dane. Tak czy inaczej musimy poznać podstawowe typu danych aby umieć z nimi pracować. W Javie typy danych można podzielić na podstawowe 4 grupy 1. Prymitywne 2. Wyliczeniowe 18

20 ROZDZIAŁ 4. PODSTAWY JĘZYKA JAVA Tablicowe 4. Klasy Zacznijmy od najprostszych Typy prymitywne Typu prymitywne są podwalinami wszystkich pozostałych typów danych. Pozwalają one gromadzić najprostsze informacje w pamięci komputera. Jest 8 typów prymitywnych. Pierwsze 4 czyli byte, short, int oraz long są typami które służą do przechowywania w pamięci komputera liczb całkowitych. Dwa kolejne czyli float i double służą do przechowywania w nich liczb zmiennoprzecinkowych czyli przybliżeń liczb rzeczywistych. Typ do składowania danej zmiennej wybiera programista i musi kierować się wartościami liczba jakie będą tam składane. Najczęściej wybiera się typy int oraz double. Ostatnie dwa typy to char, czyli znak alfanumeryczny oraz boolean czyli typ prawda-fałsz. Poniżej przykład zadeklarowania (zgłoszenia do użycia) każdego z powyżej wymienionych typów. /* typy całkowite */ byte calkowity1bajt; short calkowity2bajty; int calkowity4bajty; long calkowiry8bajtow; /* typy zmiennoprzecinkowe */ float zmiennoprzecinkowa4bajty; double zmiennoprzecinkowa8bajtow; /* inne zmienne */ char znak; boolean logiczny; W przypadku Javy, wszystkie nieprzypisane wartości prymitywne są od razu inicjowane pewną wartością. Dla liczb są to zera, fałsz dla typu logicznego oraz znak pusty dla typu znakowego Typy wyliczeniowe Typ wyliczeniowy tworzy się poprzez stworzenie ciągu określeń, które wypełniają jego sens. Np. enum PoraRoku { WIOSNA, LATO, JESIEN, ZIMA; Przyjmuje się, że wartości stałe nazywa się pisząc wszystko dużymi literami. Odróżnia to je od tworzonych zmiennych, do nazwania których używa się mały liter. Jeśli nazwa zmiennej ma łączyć w sobie kilka słów, przyjmuje się że poza pierwszym z nich, wszystkie rozpoczynamy z wielkiej litery. Później dowiemy się, że wszystkie pierwsze litery piszemy z wielkiej litery np. w nazwach klas. Jak używa się typu wyliczeniowego? Bardzo prosto enum PoraRoku { WIOSNA, LATO, JESIEN, ZIMA; /**

1 Podstawy c++ w pigułce.

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,

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

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,

Bardziej szczegółowo

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Język ludzki kod maszynowy

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

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

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

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

Bardziej szczegółowo

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

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

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 2 Podstawy programowania 2 Temat: Zmienne dynamiczne tablica wskaźników i stos dynamiczny Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Tablice wskaźników Tablice

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

Spis treści. 1 Java T M

Spis treści. 1 Java T M Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste

Bardziej szczegółowo

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Warunek wielokrotnego wyboru switch... case

Warunek wielokrotnego wyboru switch... case Warunek wielokrotnego wyboru switch... case Działanie instrukcji switch jest zupełnie inne niż w przypadku instrukcji if o czym będziesz mógł się przekonać w niniejszym rozdziale. Różnice pomiędzy instrukcjami

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

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

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

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

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

I - Microsoft Visual Studio C++

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

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 11: Procedury zaawansowane Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Ramki stosu Rekurencja INVOKE, ADDR, PROC,

Bardziej szczegółowo

2. Składnia, środowisko i konwencje w Javie

2. Składnia, środowisko i konwencje w Javie Gdańsk, 2014 Ogólnie o Javie Środowisko Java jest językiem programowania, którego podstawowym celem jest realizacja zasady write once, run anywhere. Oznacza to możliwość wykonania tego samego programu,

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Wykład 1: Wprowadzenie do technologii Java

Wykład 1: Wprowadzenie do technologii Java Programowanie komputerów Wykład 1: Wprowadzenie do technologii Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Czym jest Java? Obiektowy język programowania ogólnego przeznaczenia Opracowany

Bardziej szczegółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Być może jesteś doświadczonym programistą, biegle programujesz w Javie, Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 3 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

Projektowanie aplikacji internetowych laboratorium

Projektowanie aplikacji internetowych laboratorium Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski - S t r o n a 2 SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski - Copyright by Artur Niewiarowski 2013 ISBN: 978-83-937802-0-4 - Artur Niewiarowski Self-Publishing - All rights reserved. Wszelkie prawa

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

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

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

Delphi Laboratorium 3

Delphi Laboratorium 3 Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo