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

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

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

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

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

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

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

Podstawy Programowania C++

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:

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

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

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

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

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

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?? to proste!! Autor: wojtekb111111

JAVA?? to proste!! Autor: wojtekb111111 1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

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

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

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

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

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,

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

Ć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

Programowanie - instrukcje sterujące

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

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

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

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

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

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

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

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

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

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

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

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

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

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

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

Część 4 życie programu

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ęść

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

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

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

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

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

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

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

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

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

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

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Dziedziczenie. Tomasz Borzyszkowski

Dziedziczenie. Tomasz Borzyszkowski Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.

Bardziej szczegółowo

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty

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

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop. 2016 Spis treści Przedmowa 1 Stosowana notacja 1 1. Wprowadzenie 3 1.1. Konsola interaktywna języka Scala 3 1.2. Zmienne 5 1.3. Wartości

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

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

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

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

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

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

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

Narzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa

Narzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa Narzędzie pomocnicze przedmiotu Podstawy Informatyki - złożoność obliczeniowa Piotr Jeruszka 1 25 listopada 2013 1 Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska pjeruszka@icis.pcz.pl

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

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

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

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

Abstrakcyjne struktury danych - stos, lista, drzewo

Abstrakcyjne struktury danych - stos, lista, drzewo Sprawozdanie Podstawy Informatyki Laboratoria Abstrakcyjne struktury danych - stos, lista, drzewo Maciej Tarkowski maciek@akom.pl grupa VII 1/8 1. Stos Stos (ang. Stack) jest podstawową liniową strukturą

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

Szablony klas, zastosowanie szablonów w programach

Szablony klas, zastosowanie szablonów w programach Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do

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

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

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

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

Programowanie komputerowe. Zajęcia 1

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

Bardziej szczegółowo

Wyjątki (exceptions)

Wyjątki (exceptions) Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

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

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

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza Akademia ETI Wprowadzenie do programowania w Javie PG Java User Group 1 Dlaczego Java? Najpopularniejszy język programowania obiektowego Łatwy w nauce Dostępny na wiele platform 2 Platformy Java Java Standard

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

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

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

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

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