PROE wykład 8 biblioteki programistyczne, optymalizacja, inne... dr inż. Jacek Naruniec
|
|
- Łukasz Witkowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 PROE wykład 8 biblioteki programistyczne, optymalizacja, inne... dr inż. Jacek Naruniec
2 Biblioteki programistyczne Biblioteki programistyczne pozwalają na: Stworzenie bardziej modułowego kodu. Korzystanie z kodów napisanych przez inne osoby. Łatwiejszą aktualizację programów. Są to osobne pliki zawierające określone funkcjonalności/obiekty. Główny podział bibliotek to: statyczne dynamiczne
3 Biblioteki programistyczne Biblioteki statyczne W środowisku Windows zwykle z rozszerzenie.lib, w Linux zwykle.a lub.o z nazwą zaczynającą się na lib. Dołącza się je do programu w momencie kompilacji (a dokładniej w momencie linkowania opcje linkera). Zmiana wersji/aktualizacja biblioteki wymaga ponownej kompilacji całej aplikacji. Powodują zwiększenie objętości pliku wykonywalnego.
4 Biblioteki programistyczne Biblioteki dynamiczne Zwykle z rozszerzeniem.dll w środowisku Windows, z rozszerzeniem.so w Linux. Są ładowane do pamięci w czasie uruchomienia programu, a w czasie kompilacji definiowane są tylko parametry funkcji i nazwa pliku. Zmiana wersji/aktualizacja biblioteki, przy dobrej organizacji programu, wymaga jedynie podmiany pliku biblioteki dynamicznej.
5 Biblioteka statyczna Jak wygląda kod kiedy tworzymy własną bibliotekę? Jak normalny kod C++, ale nie ma maina! Z tego kodu wygenerujemy plik.lib a nie.exe libmoja.cpp: libmoja.h:
6 Biblioteka statyczna W ustawieniach projektu musimy zmienić właściwości tak, aby program kompilował się do pliku lib.
7 Biblioteka statyczna Standardowo bibliotekom skompilowanym w trybie Debug dodaje się na końcu nazwy pliku literę D, czyli libmojad.lib Po wygenerowaniu pliku lib możemy naszą bibliotekę wykorzystać w innym projekcie. W tym celu kopiujemy plik lib i jedynie pliki nagłówkowe biblioteki do naszego nowego projektu. Następnie ustawiamy opcje linkera tak, aby dodawał on plik lib do naszego projektu
8 Biblioteka statyczna Należy także dodać katalog, w którym umieścimy wszystkie pliki nagłówkowe biblioteki. Zazwyczaj taki katalog nazwany jest include.
9 Biblioteka statyczna Teraz możemy spokojnie wykorzystać naszą bibliotekę w nowym programie (to jedyna treść całego programu, wszystko jest już zaimplementowane w bibliotece!):
10 Biblioteka dynamiczna W przypadku bibliotek dynamicznych musimy wskazać które funkcje będą wyeksportowane do biblioteki dynamicznej. Po ustawieniu elementu docelowego jako dll otrzymamy 2 pliki -.lib i.dll
11 Biblioteka dynamiczna W aplikacji w której wykorzystujemy bibliotekę dołączamy stworzony plik lib (jak w przypadku statycznej), a do folderu projektu przegrywamy plik dll.
12 Biblioteka dynamiczna Stwórzmy teraz nową wersję biblioteki (żeby pokazać jak łatwa jest aktualizacja): I podmieniamy jedynie plik dll i uruchamiamy program jeszcze raz, bez ponownej kompilacji.
13 Assert Kontrola poprawności aplikacji. Wykonuje się jedynie w trybie Debug (czyli deweloperskim). Jeśli warunek w funkcji nie jest spełniony, to wyświetlana jest linijka w której wystąpił błąd. Jeśli warunek jest spełniony, to funkcja nie wykonuje żadnej akcji.
14 Assert W trybie release (z optymalizacją) funkcja assert jest ignorowana przez kompilator (niezależnie od spełnienia warunku, program wykonuje się dalej).
15 C++11 (C++0x) Nowy standard języka C++ Wprowadzony w 2011 roku. Założenia (m.in.): Ma być zgodny z poprzednim standardem. Ma ułatwić programowanie i naukę programowania C++ (m.in. wprowadzenie wielu elementów istniejących w innych językach programowania) Ma preferować rozszerzenia nad zmianą bazy języka. W chwili obecnej obsługiwany przez znaczną większość kompilatorów.
16 Nowe typy danych long long, unsigned long long (64 bitowe). char16_t, char32_t 16 i 32 bitowe reprezentacje znaków (np. do przechowywania znaków w UTF16 i UTF32) surowy napis (bez interpretacji), po cudzysłowie muszą być nawiasy:
17 Nowe metody inicjalizacji Obiekty inicjalizowane zwykle nie nawiasami () a {}. Inicjalizacja nie wymaga znaku =.
18 Nowe metody inicjalizacji Inicjalizacja obiektów (wywołanie konstruktora z parametrem):
19 Nowe metody inicjalizacji Wygodna inicjalizacja wartości domyślnych składowych klasy:
20 Nowe typy deklaracji auto automatyczny dobór typu zmiennej w zależności od inicjalizacji:
21 Nowe typy deklaracji decltype nadanie zmiennej typu odpowiadającego typowi podanej zmiennej
22 Nowe typy deklaracji Nowa składnia definiowania typu zwracanej zmiennej (trailing return) parametr zwracany definiowany jest na końcu funkcji: oznacza dokładnie to samo Niedopuszczalne! bo d nie jest jeszcze znane kompilatorowi Poprawne! d jest przed decltype
23 NULL nullptr stosowany zamiast NULL. Oznacza rzeczywiście wskaźnik nie wskazujący na żadne dane, a nie wartość (np. 0). Pomaga uniknąć niektórych błędnych zapisów. Nie zadziała, bo próbujemy przypisać wskaźnik do liczby Zadziała, bo próbujemy przypisać liczbę do liczby
24 NULL
25 Inteligentne wskaźniki (smart pointers) Wspomaga proces zarządzania pamięcią (tworzenia/usuwania zmiennych dynamicznych). Inteligentne wskaźniki zachowują się jak wskaźniki, ale posiadają kilka rozszerzeń. Jest kilka typów inteligentnych wskaźników, m.in. auto_ptr już przedawniony unique_ptr ulepszony auto_ptr shared_ptr wskaźnik z licznikiem wskaźników wskazujących na tę samą informację
26 Inteligentne wskaźniki Obiekty zaalokowane dynamicznie są automatycznie usuwane po usunięciu obiektu auto_ptr. auto_ptr jest klasą, która ma konstruktory, destruktor itp. Nie obsługuje tablic (delete, nie delete[]).
27 Inteligentne wskaźniki Przypisanie inteligentnego wskaźnika auto_ptr powoduje zmianę jego właściciela : Ten wskaźnik na nic nie wskazuje, bo został przejęty.
28 Inteligentne wskaźniki unique_pointer Błąd na etapie kompilacji a nie uruchomieniu. Obsługuje tablice (delete[]). Może być przenoszony (o konstruktorach przenoszących na dalszych slajdach), czyli np. zwracany w miejscach, gdzie unique_ptr jest zmienną tymczasową. Nie może być zwyczajnie kopiowany. Może być przekazany pod inny unique_ptr poprzez funkcję swap.
29 Inteligentne wskaźniki shared_ptr zlicza liczbą elementów wskazujących na to samo miejsce. Obiekt usuwa się po wyzerowaniu licznika.
30 Enumerate zakresowy Zmienne wyliczeniowe mogą odnosić się do konkretnego zakresu:
31 lvalues, rvalues Aby wprowadzić efektywną metodę przenoszenia elementów należy zapoznać się z dwiema rodzajami elementów lvalue i rvalue. Nieformalna definicja 1: lvalue to taki element, który może występować zarówno po lewej jak i po prawej stronie równania (a1=a2 i a2=a1 to znaczy, że a1 i a2 to lvalue) Rvalue to taki element, który może występować tylko po prawej stronie równania (a1=2 ale nie 2=a1)
32 lvalues, rvalues Nieformalna definicja 2: Z lvalue możemy pobrać adres (int a1; b = &a1, więc a1 jest lvalue) Z rvalue nie możemy pobrać adresu np. z a+b, bo jest to obiekt tymczasowy np. z liczby (nie może być a = &2)
33 lvalue, rvalue Do lvalue odnosi się taka referencja jaką znamy (&), natomiast do rvalue - &&: do 2 i do wyniku i+i nie pobierzemy adresu
34 Konstruktor przenoszący Po co nam l i rvalue? Przyjmijmy prosty obiekt: dynamicznie alokowana tablica znaków
35 Konstruktor przenoszący Dodajmy konstruktor kopiujący i wykorzystajmy klasę:
36 Konstruktor przenoszący Jak widać przy operatorze + następuje stworzenie obiektu tymczasowego a potem jego kopiowanie (i całej tablicy). A gdyby zamiast kopiowania całego obiektu skopiować jedynie zmienne niewskaźnikowe, natomiast wskaźniki jedynie przekazać nowemu obiektowi? Tymczasowy obiekt i tak się skasuje, wskaźnik mu już niepotrzebny Operator + zwraca obiekt typu rvalue, więc stwórzmy dla niego specjalny konstruktor kopiujący: 1. Skopiowanie wskaźnika na tablicę z obiektu tymczasowego do aktualnego. 2. Ustawienie wskaźnika obiektu tymczasowego na nullptr dzięki temu destruktor obiektu tymczasowego go nie skasuje!
37 Konstruktor przenoszący Efekt? Nie kopiujemy tablicy a jedynie wskaźniki na tablice! Daje to ogromny wzrost wydajności. Nowy obiekt kradnie tablicę. Poprzednio: rvalue Teraz:
38 std::move Funkcja move określa, że zmienna może zostać przeniesiona operatorem przenoszącym (która domyślnie byłaby zwyczajnie skopiowana) napis pozostał niezmieniony wskaźnik na ciąg został zmieniony, nie możemy już z niego korzystać
39 C++11 Inne istotne elementy standardu: Wątki (wreszcie!) Default (domyślne funkcje, konstruktory, funkcja = delete zakazanie używania metody (np. operatora przypisania) Delegaci wykonanie w konstruktorze treści innego konstruktora tak, aby nie powielać kodu Wyrażenia regularne, Inne
40 Optymalizacja kodu C++ Metoda optymalizacji zależy od jej celu. Zwykle jest to poprawa wydajności (szybkości) aplikacji zmniejszenie ilości zajmowanej pamięci poprawa przejrzystości, modułowości kodu Na wykładzie zajmiemy się poprawą wydajności aplikacji.
41 Tryby debug/release Pierwszy krok tryb debug służy jedynie procesom deweloperskim. Innymi słowy: Kod debug jest znacznie wolniejszy od release, Program stworzony w trybie debug w wielu przypadkach nie uruchomi się na innych komputerach (np. przy VS wymaga obecności bibliotek VS na uruchamianym komputerze)
42 Tryby debug/release W trybie release kod jest optymalizowany, co uniemożliwia w większości przypadków podglądanie zmiennych. Poszukiwanie błędów można sobie umożliwić poprzez komunikaty kontrolne albo wypisywanie informacji do pliku. Coś co uruchamia się poprawnie w debug nie musi uruchamiać się poprawnie w release (po zoptymalizowaniu mogą ujawnić się błędy implementacji). Ogólnie każdy program finalnie powinniśmy uruchamiać w trybie release.
43 Opcje preprocesora Często mamy możliwość wybrania odpowiednich opcji kompilacji w zależności od zapotrzebowania/sprzętu: preferencja małego lub szybkiego kodu, Wykorzystanie operacji wektorowych procesora (np. SSE), Optymalizacja pod względem funkcji inline Opcje te zwykle ustawiane są w opcjach projektu (W VS zakładki C++->Optimization i C++->Code generation)
44 Funkcje inline Ciało funkcji oznaczonych jako inline są przez kompilator wstawiane w miejsce wywołania. Kompilator nie musi respektować naszego życzenia Zwykle w procesie optymalizacji kompilator sam najlepiej określa które funkcje powinny być inline.
45 Podział zadań na wiele wątków We współczesnych komputerach mamy zwykle więcej niż jeden procesor. Możemy z nich korzystać wywołując kilka niezależnych programów: Procesor 1 Procesor 2 Procesor 3 Edytor Przeglądarka Film Procesor 4
46 Podział zadań na wiele wątków Jeśli na jednym procesorze wykonywanych jest więcej niż jeden program (proces), to wtedy system dysponuje po kawałku czasu procesora dla każdego programu. Możemy także wykonywać nasz jeden program na kilku procesorach Przykład - mamy aplikację wyszukującą w danym ciągu znaków określoną sekwencję (w praktyce miałoby to sens gdyby ciąg był bardzo długi): ABCDFADCACBCBABABCBDBACBABABAB Dzielimy tekst na 4 podzbiory i każemy każdemu procesorowi zająć się jednym fragmentem: ABCDFADCACBCBABABCBDBACBABABAB Procesor 1 Procesor 3 Procesor 2 Procesor 4
47 Podział zadań na wiele wątków Na koniec uwspólniamy wyniki wyszukiwania Teoretycznie przetwarzanie powinno być 4x szybsze (chociaż w praktyce wyjdzie mniej) Do tworzenia i zarządzania takimi osobnymi podprogramami (a dokładniej wątkami) są już w każdym środowisku gotowe narzędzia. Można także przeprowadzać obliczenia na całych klastrach komputerów. C++11 wprowadziło klasę thread do zarządzania wątkami. Można wykorzystać narzędzia działające z automatu (jak np. OpenMP)
48 Podział na wiele wątków wersja ekstremalna Wykorzystanie kart graficznych ostatnio bardzo popularny sposób zwiększenia wydajności, w szczególności w: Grach. Przetwarzaniu obrazu. Badaniach naukowych. Dlaczego jest to dobre? [źródło: NVIDIA CUDA C Programming Guide]
49 Podział na wiele wątków wersja ekstremalna Pytanie to dlaczego nie używamy tego do wszystkiego? [źródło: NVIDIA CUDA C Programming Guide]
50 Podział na wiele wątków wersja ekstremalna GPU (Graphical Processing Unit) jest zorientowane na dużą ilość przetwarzania przy minimalnej ilości operacji sekwencyjnych. Dostęp do pamięci musi odbywać się w sposób zorganizowany. [źródło: NVIDIA CUDA C Programming Guide]
51 Programowanie GPU Jest wiele technik pozwalających na programowanie GPU, np: shadery w potoku generowania obrazu, CUDA (Nvidia), OpenCl (teoretycznie ATI i Nvidia i dowolne inne urządzenia, Open Computing Language) C++ AMP Na chwilę obecną najpopularniejsza i najlepiej rozwinięta jest CUDA (Compute Unified Device Architecture)
52 Profiler Profilery są niesamowicie użyteczne przy wykrywaniu wąskich gardeł programów. Zwykle zatrzymują program co pewien okres czasu (np. co 50 mikrosekund) i sprawdzają w której funkcji aktualnie znajduje się program. Otrzymane wartości są sumowane. W Visual Studio wybieramy Analyze->Launch Performance Wizard (opcja dostępna w wybranych wersjach VS).
53 Profiler Ewidentnie widać, że wąskie gardło jest w destruktorze!
54 Profiler Klikamy dalej na funkcję zwrocwskaznikwezla:
55 Profiler Widać, że błędem jest przechodzenie od ostatniego węzła, bo wtedy wiele razy uruchamia się wspomniana funkcja! Zmieńmy nasz destruktor:
56 Profiler Program wykonał się 2x szybciej!
57 Profiler Pójdźmy dalej poprawmy push_back tak, aby nie trzeba było za każdym razem przechodzić przez wszystkie elementy. Jak? przecież można trzymać też wskaźnik na ostatni element! Nasza lista byłaby efektywna przy dodawaniu na początek listy.
58 Profiler Przyspieszyliśmy nasz program do niecałej 1.5 sekundy, tj. ok. 5 razy! Można dalej? To już zależy od tego czego potrzebujemy modułowość/prostota/szybkość.
59 Inne metody optymalizacji Przy obliczeniach/algorytmach itp. pierwszą rzeczą zawsze jest poszukiwanie zysku szybkości w samym algorytmie. Czy wszystkie kroki trzeba wykonywać? Czy można gdzieś oszczędzić? Czy można przeorganizować kod aby był efektywniejszy? Można próbować pisania kodu asemblerowego zwykle kończy się tym, że kompilator potrafi zrobić to lepiej od nas. Kompilator nie będzie myślał za nas zoptymalizuje tylko kod który mu dostarczyliśmy.
60 Ankiety! studia.elka.pw.edu.pl
PROE wykład 9 C++11, rzutowanie, optymalizacja. dr inż. Jacek Naruniec
PROE wykład 9 C++11, rzutowanie, optymalizacja dr inż. Jacek Naruniec Rzutowanie Różne typy rzutowania są szczególnie istotne przy dziedziczeniu. Załóżmy sobie prostą hierarchię klas: A B C Rzutowanie
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec
PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty
Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Wprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Wprowadzenie do środowiska Qt Creator
1.Instalacja środowiska Qt Creator Qt Creator jest wygodnym środowiskiem programistycznym przeznaczonym do tworzenia projektów, czyli aplikacji zarówno konsolowych, jak i okienkowych z wykorzystaniem biblioteki
C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
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
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
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
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
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...)
1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
PROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie. dr inż. Jacek Naruniec
PROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie dr inż. Jacek Naruniec Kolokwium wykładowe Pierwsze kolokwium 6 kwietnia Drugie kolokwium 1 czerwca Kolokwium poprawkowe 8 czerwca
Wstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Instrukcja laboratoryjna cz.3
Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:
Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
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
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE
WSKAŹNIKI KLASOWE Wskaźniki klasowe Każdy obiekt zajmuje fragment pamięci i wszystkie obiekty tego samego typu zajmują fragmenty pamięci tej samej długości początek miejsca w pamięci zajmowanego przez
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
Programowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Informatyka II. Laboratorium Aplikacja okienkowa
Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.
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
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
Kompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki
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
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Programowanie i struktury danych. Wykład 4 Dr Piotr Cybula
Programowanie i struktury danych Wykład 4 Dr Piotr ybula Typ wska ź nikowy int* pointer; //wskaźnik do zmiennych typu int pozwala na dostęp do dowolnego miejsca pamięci (zmienne
Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Przydzielanie pamięci Poniżej przedstawiono w C++ dwie klasy obrazujące sposób rezerwacji pamięci. class Osoba char imie[30];
Wykład 9: Polimorfizm i klasy wirtualne
Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm
Podstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28
Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera
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ę
7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Programowanie Równoległe Wykład, CUDA praktycznie 1. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe Wykład, 07.01.2014 CUDA praktycznie 1 Maciej Matyka Instytut Fizyki Teoretycznej Motywacja l CPU vs GPU (anims) Plan CUDA w praktyce Wykład 1: CUDA w praktyce Wykład 2: Cuda +
Nowoczesny C++ Rafał Wasilewski 1
Nowoczesny C++ Rafał Wasilewski 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok III Politechnika Częstochowska {wasilewski.rafael@gmail.com 1 Wstęp Streszczenie Tematem pracy
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 1 Wprowadzenie, środowisko programistyczne, pierwsze programy 1 CEL ZAJĘĆ LABORATORYJNYCH: Wprowadzenie do programowania w języku C++ oraz
Programowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python 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
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
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
PROE wykład 1. dr inż. Jacek Naruniec
PROE wykład 1 dr inż. Jacek Naruniec Informacje o przedmiocie Prowadzący: dr inż. Jacek Naruniec, J.Naruniec@ire.pw.edu.pl, pokój 450, konsultacje w poniedziałki w godzinach 14-16 Strona przedmiotu: ztv.ire.pw.edu.pl/proe
C++ Przeładowanie operatorów i wzorce w klasach
C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje
Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Programowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 22 XI 2011 Uwaga! Ponieważ już sobie powiedzieliśmy np. o wskaźnikach i referencjach, przez które nie chcemy przegrzebywać
Podstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
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
Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów
Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików
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
Szablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Delphi podstawy programowania. Środowisko Delphi
Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:
Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,
Baza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com
IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz
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
Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska
Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)
I. WSTĘP Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) Algorytm - sposób na osiągnięcie celu w pewnych ograniczonych krokach. Program komputerowy realizuje zawsze algorytm.
Utworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
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++...
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie Krzysztof Banaś Podstawy programowania 1 są sposobem na przechowywanie w ramach pojedynczej zmiennej zestawu zmiennych różnych typów,
Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski
Zaawansowane programowanie w języku C++ Klasy w C++
Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa
weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, 02-146 Warszawa www.adh.com.pl Spis treści 1. Wydajność aplikacji po stronie klienta... 3 2. Wybór przeglądarki
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika
Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania
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)
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,
2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
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
Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43
Programowanie w C++ Wykład 6 Katarzyna Grzelak 1 kwietnia 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
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
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
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
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
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ
Zak lad Chemii Teoretycznej UJ 26 listopada 2007 wielowymiarowe 1 2 wielowymiarowe 3 Typ tablicowy Plan wielowymiarowe Tablica Zajmujacy spójny obszar w pamieci zestaw zmiennych (obiektów) tego samego
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty
Wykład 1: Wskaźniki i zmienne dynamiczne
Programowanie obiektowe Wykład 1: Wskaźniki i zmienne dynamiczne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Podstawy programowania w C++ Wskaźniki 2 dr Artur Bartoszewski - Programowanie
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