Win32ASM. Asembler w Windows

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

Download "Win32ASM. Asembler w Windows"

Transkrypt

1 IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina Gliwice tel. (32) helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW CENNIK CZYTELNIA SPIS TRECI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Win32ASM. Asembler w Windows Autor: Adam B³aszczyk ISBN: Format: B5, stron: 360 Przekonanie, e programowanie w asemblerze odesz³o w przesz³oæ wraz z opartymi na interfejsie tekstowym systemami w rodzaju DOS i upowszechnieniem siê wysokopoziomowych jêzyków programowania takich jak Visual Basic, C++ czy Java, jest b³êdne. Ca³kiem spora grupa osób nadal u ywa asemblera w rodowisku Windows. Jeli chcesz do nich do³¹czyæ, znalaz³e w³aciw¹ ksi¹ kê. Asembler daje programicie poczucie ogromnej wolnoci i pe³nego panowania nad sprzêtem. Dziêki tej ksi¹ ce nauczysz siê programowaæ w tym jêzyku, poznasz równie ca³y zestaw aplikacji, które programowanie to u³atwi¹. W tekcie ksi¹ ki znajdziesz wiele przyk³adów kodu ilustruj¹cych najwa niejsze omawiane zagadnienia. Ksi¹ ka przedstawia: Podstawowe informacje zwi¹zane z asemblerem: systemy kodowania, zapis liczb i znaków Rejestry i pamiêæ maszyny z punktu widzenia programisty asemblera, adresowanie Instrukcje asemblera i listê rozkazów procesora Programowanie z u yciem MASM Makro Asemblera U ycie programu NMAKE i tworzenie plików Makefile Programowanie w Windows: WinAPI Biblioteki DLL Technologie COM i OLE Zasoby programów Windows Jeszcze jedna metoda tworzenia programów w Windows, która mo e zafascynowaæ osoby lubi¹ce d³ubanie w kodzie? Dlaczego nie! Przeczytaj tê ksi¹ kê, a sam bêdziesz móg³ oceniæ, czy asembler siê zdewaluowa³. Programowanie w Windows dla wtajemniczonych. Poznaj jêzyk asembler dla procesorów Intel i kompatybilnych Naucz siê u ywaæ Windows API z poziomu asemblera Poznaj narzêdzia u³atwiaj¹ce programowanie

2 Spis treści Od Autora... 9 Wstęp Rozdział 1. Zanim zaczniemy na poważnie Platform SDK, MSDN...S...S15 Pakiet Masm32...S...S Narzędziownia...S...S Rozdział 2. Asembler kontra Windows Krótko o różnych rodzinach okienek...s...19 Gdzie się podziały przerwania?...s...23 Windows API...S...S Windows z perspektywy asemblera...s...27 Rozdział 3. Co trzeba wiedzieć? Systemy liczbowe i nie tylko...s...31 Informacja i system dwójkowy (binarny)...s...32 Potęgi liczby 2...S...S Jednostki objętości danych...s...37 Kodowanie liczb...s...s NKB (naturalny kod binarny)...s...40 Kod dwójkowo-dziesiętny BCD (Binary Coded Decimal)...41 Reprezentacja liczb ujemnych...s...42 Reprezentacja stałoprzecinkowa...s...45 Reprezentacja zmiennoprzecinkowa...s...45 Problemy związane z błędami obliczeń...s...46 Kodowanie znaków...s...s...47 ASCII (ISO 646)...S...S...47 ASCII rozszerzone (ASCII Extended, HI-ASCII)...S...47 Polskie znaki diaktryczne w różnych systemach kodowania znaków...54 ASCIIZ (ASCII Zero)...S...55 Systemy kodowania MBCS (Multibyte Character Set) i DBCS (Double Character Set)...S...55 Unicode...S...S...5 6

3 6 Win32ASM. Asembler w Windows Rozdział 4. Asembler Z czego składa się typowy program?...s...63 Program wykonywalny od środka...s...70 Gdzie umieszczać kod i dane?...s...73 Zamiana tekstu programu na kod wykonywalny...s...74 Procesory 80x86 krótkie wprowadzenie...s...77 Pamięć model płaski...s...77 Rejestry...S...S Rejestry tzw. ogólnego przeznaczenia...s...80 Rejestr EIP...S...S...82 Rejestry segmentowe...s...82 Rejestr eflags...s...s...83 Moment uruchomienia programu...s...86 Dostęp do pamięci i sposoby jej adresowania...s...87 Adresowanie bezpośrednie...s...87 Adresowanie pośrednie...s...88 Adresowanie a wielkość danych...s...89 Adresowanie a rejestry segmentowe...s...90 Adresowanie łańcuchów...s...91 Instrukcje 32- i 16-bitowe...S...92 Stos...S...S Wywoływanie procedur...s...94 Przekazywanie parametrów przez rejestry...s...95 Przekazywanie parametrów przez stos...s...95 Deklarowanie zmiennych...s...95 Zmienne, wskaźniki adresowanie...s...97 Najważniejsze instrukcje programu...s...99 Instrukcja mov...s...s...99 Para instrukcji push/pop...s Rozkazy dotyczące operacji na łańcuchach...s Rozkazy arytmetyczne...s Etykiety, pętle, skoki...s Rozkazy związane z procedurami...s Rozkazy logiczne...s...s105 Rozkazy przesunięć...s Lista rozkazów IA-32 opis skrócony...s Instrukcje transferu danych...s Instrukcje arytmetyczne...s Instrukcje porównujące i testujące ustawienie danego bitu Instrukcje arytmetyczne (kod BCD)...S Instrukcje logiczne...s Instrukcje przesunięć...s Instrukcje obrotów...s Intrukcje operujące na bitach...s Intrukcje przenoszące kontrolę do innego miejsca w programie Intrukcje operujące na łańcuchach...s Instrukcje dotyczące rejestru znaczników...s Instrukcje dotyczące segmentów...s Instrukcje różne...s...s Rozdział 5. Macro Assembler MASM Macro Assembler...S Jak powstają makra?...s...133

4 Spis treści 7 Najważniejsze informacje o makrach...s Znaki specjalne...s...s Zapis liczb...s...s Przedefiniowane symbole i funkcje...s Operatory...S...S Makra związane z procesem asemblacji...s Operatory związane z programowaniem...s Tworzenie własnych makr...s Plik macro.inc przykłady użytecznych makr...s Słowa zarezerwowane w języku Macro Assembler...S Rozdział 6. Pisanie plików makefile program NMAKE Zawartość pliku projektowego...s Bloki komentarzy...s...s176 Bloki opisowe...s...s Pora na praktykę budowanie własnych projektów...s..178 Uniwersalny makefile (plik makefile.mak)...s Rozdział 7. Parametry wywołania programów MASM, LINK, RC i NMAKE Parametry wywołania ML.EXE...S Parametry wywołania LINK.EXE...S Parametry wywołania RC.EXE...S Parametry wywołania NMAKE...S Rozdział 8. Podstawy programowania Windows Pojęcie okna...s...s Komunikaty okna...s...s Szkielet aplikacji dialogowej...s Konsola...S...S Podsumowanie...S...S Rozdział 9. Jak korzystać z dokumentacji SDK? Notacja węgierska...s...s Funkcje Win API...S...S Parametry funkcji Win API...S Funkcje Unicode kontra funkcje ANSI...S Rozdział 10. Win32ASM graficzny interfejs użytkownika GUI Rola interfejsu użytkownika...s Elementy interfejsu...s Zmiany wprowadzone przez Windows XP...S Wszystko o oknach...s Menu...S...S Rozdział 11. Zasoby programów Windows Skrypty zasobów w plikach.rc i.res...s Binaria, czyli zasoby w plikach wykonywalnych...s Dostęp do zasobów z poziomu programu...s Jeszcze raz o narzędziach...s Tworzenie plików z zasobami...s Piszemy własny edytor tekstu...s Inne rodzaje zasobów...s Manifest w Windows XP...S Zakładka Wersja informacje o programie...s...291

5 8 Win32ASM. Asembler w Windows Rozdział 12. WinAPI najczęściej wykorzystywane funkcje Wersja systemu...s...s Odczyt parametrów systemu...s Dostęp do katalogów systemowych...s Powiadomienia o zmianach (stanu systemu, jego ustawień lub stanu okna itp.) Dostęp do linii poleceń programu...s Operacje na liczbach i łańcuchach...s Pliki w systemie Windows...S Dostęp do Rejestru...S...S Liczniki czasowe...s...s Rozdział 13. Zagadnienia wcale niezaawansowane Biblioteki DLL...S...S Haki w systemie Windows...S Internet...S...S Uaktualnianie wersji programu przez internet...s Piszemy konia trojańskiego, czyli oprogramowanie typu serwer-klient Rozdział 14. Technologia COM i kontrolki OLE Obecność na pasku zadań interfejs ITaskbarList...S Plik skrótu interfejs IShellLink...S Najmniejsza przeglądarka świata interfejs IWebBrowser Rozdział 15. Materiały pomocnicze Dokumentacja i podręczniki...s Najważniejsze strony domowe poświęcone Win32ASM Opracowania i literatura dotyczące Win32ASM, WinAPI i tematyki pokrewnej Asemblery, kompilatory, programy łączące...s Inne...S...S Wybrane strony z narzędziami...s Rozdział 16. Programy źródłowe Skorowidz

6 Rozdział 5. Macro Assembler Niniejsza część książki poświęcona jest całkowicie przybliżeniu podstawowych i najważniejszych z punktu widzenia programisty informacji cna temat języka Macro Assembler. MASM Macro Assembler Macro Assembler to język całkowicie typowy i nic dziwnego, że sterują nim pewne, odgórnie ustalone zasady. Przede wszystkim jest to zwykły asembler, w którym można tworzyć programy w klasyczny sposób pisząc kolejne instrukcje w osobnych linijkach. Prawdziwa siła Macro Assemblera tak naprawdę tkwi jednak w makrach. Czym są i jak używać ich skutecznie w swoich programach opowiemy za chwilę, zastanówmy się jednak najpierw, co jest największą bolączką programistów piszących w języku asembler. Odpowiedź na to pytanie znalazła się już w poprzednim podrozdziale chodzi o chaos widoczny w większości programów pisanych w tym języku. Jeśli masz już jakieś doświadczenia jako programista pracujący w asemblerze, zapewne znasz doskonale uczucie towarzyszące przeglądaniu programów źródłowych, szczególnie tych pochodzących z przeszłości lub pisanych przez innych programistów. Sporo czasu zajmuje zwykle zrozumienie sedna sprawy i to tutaj właśnie Macro Assembler ma okazję pokazać swoje największe zalety, a już szczególnie swój zbawienny wpływ na przejrzystość kodu. Weźmy na przykład bardzo często stosowaną w asemblercze konstrukcję:

7 132 Win32ASM. Asembler w Windows która pozwala na wykonywanie różnego kodu w zależności od określonych warunków. W przypadku jednego rozgałęzienia nie ma problemu, natomiast komplikacje są od razu widoczne przy większej liczbie warunków. Macro Assembler świetnie rozwiązuje tę kwestię, pozwalając na uproszczenie tego typu konstrukcji za pomocą bloku, który dla powyższego przykładu moglibyśmy zastosować wc następujący sposób: Od razu rzucają się w oczy trzy rzeczy. Po pierwsze, zapis jest o wiele krótszy; po drugie, nie musimy korzystać z uciążliwych etykiet; po trzecie składnia bardzo przypomina zapis języka wyższego poziomu. I tak jest w istocie. Istnieje nawet opinia, iż programowanie w Macro Asemblerze w niedużym stopniu różni się od programowania w języku C lub podobnym. Chyba już wiesz, jaką potęgę skupia w sobie ten niepozorny język? Tak, tak Składnia języka wysokiego poziomu, instrukcje asemblera, bezpośredni dostęp do pamięci, bezpośredni dostęp do funkcji Win API, możliwość ingerencji w kod programu na najniższym poziomie i wiele innych czynników, włączając w to jeden drobny, acz chyba najbardziej lubiany przez wszystkich koderów szczegół programy wynikowe są o wiele krótsze niż pisane w językach wysokiego poziomu. Odpowiednio zdefiniowany zestaw makr może także służyć do wykrywania błędów w programie (ułatwione śledzenie programu, dzięki informacjom na temat jegoc wykonywania). Poznaliśmy już konstrukcję makra. Jeszcze raz popatrzmy, jak wygląda ono w praktyce, biorąc za przykład wykonanie pewnego typowego kodu w zależności od jakiegoś warunku. Na szybko wymyślmy sytuację, w której chcemy wyświetlić na ekranie komunikat o błędzie, jeśli wynik zwrócony przez funkcję octwierającą plik jest niepoprawny.

8 Rozdział 5. Macro Assembler 133 I tak, zapisany w typowy sposób kod miałby postać: ; w tym przykładzie parametry nas nie interesują ; -1 oznacza tutaj kod błędu ; jeśli błąd skok do etykiety Blad ; \ dalsza część programu, wykonująca się ; / jeśli nie ma błędu ; obsługa błędu Z kolei w języku MASM taka operacja może zostać zastąpciona kodem: ; w tym przykładzie parametry nas nie interesują ; -1 oznacza tutaj kod błędu ; \ dalsza część programu, wykonująca się ; / jeśli nie ma błędu ; obsługa błędu Jak powstają makra? Makra w MASM to bloki tekstu, które mogą być dołączane w dowolnym momencie kodu. Definicja makra nadaje mu nazwę i opisuje, co dane makro ma robić z praktycznego punktu widzenia makro ma ogólną postać typu: ; tutaj umieść treść makra Dla przykładu makro, którego celem jest wstawienie do kodu funkcji tzw. epilogu zwracającego daną wartość w rejestrze, może mieć postać: Wywołanie zdefiniowanego makra wygląda następująco (wc przykładzie zwracamy ): Umieszczenie powyższego kodu w programie powoduje, że analizujący kod asembler po napotkaniu tego wyrażenia rozwinie je w następucjący kod: a za wartość zostanie podstawiona wartość, dając finalną wersję kodu: Powyższy przykład przewija się w wielu programach źródłowych Win32ASM, jakie można znaleźć w internecie.

9 134 Win32ASM. Asembler w Windows Najważniejsze informacje o makrach Pisanie makr oraz wykorzystanie możliwości języka Macro Assembler są związane z koniecznością zapoznania się z najważniejszymi makrami, symbolami oraz operatorami używanymi do zapisu wyrażeń różnego typu. Zaczniemy od znaków o specjalnym znaczeniu. Znaki specjalne Zapis liczb oznacza aktualną (tj. w danym momencie procesu asemcblacji) wartość licznika określającego adres bieżącej instrukcji; w praktyce można traktować to jako symboliczny zapis adresu miejsca, w którym symbol ten wystąpił. symbol używany podczas deklaracji danych; jego zasctosowanie informuje asembler, że zmienna zadeklarowana przy użyciu symbolu nie ma wartości początkowej. symbol używany przy deklaracji etykiet oraz w nazcwach przedefiniowanych symboli (opisanych w następnym podrozdziale). symbole używane przy deklaracji zmiennych lub stacłych tekstowych oraz podczas łączenia wielu parametrów w jeden ciąg (traktowany jako jeden parametr). symbole używane przy odwoływaniu się do komórek pacmięci. reprezentuje dziesiętną; z reguły nie trzeba dodawać przyrostkac, chyba że zostanie zmieniony domyślny system liczbowcy (używany przez asembler w trakcie asemblacji). reprezentuje szesnastkową (heksadecymalną); przedrostek dodaje się w przypadku liczb rozpoczynających się od cyfr cszesnastkowych,,,, lub. reprezentuje dwójkową (binarną). Przedefiniowane symbole i funkcje reprezentuje aktualną datę.

10 Rozdział 5. Macro Assembler 135 reprezentuje aktualny czas. reprezentuje wersję programu Macro Assembler. reprezentuje nazwę pliku poddawanego asemblacji. reprezentuje pełną nazwę pliku poddawanego asemblcacji. dostarcza informacji o segmencie kodu. dostarcza informacji o segmencie danych. dostarcza informacji o segmencie stosu. dostarcza informacji o bieżącym (tzn. tym, w którym acktualnie użyty jest symbol ) segmencie. Poniższy przykład pokazuje, w jaki sposób można wykorzystać opisane symbole do wyświetlania informacji diagnostycznych w trakcie kompilowania programu. archiwum: \Win32ASM\Src\!Symbole\!Symbole.asm ; =========================================================== ; Opis : Demonstracja wykorzystania różnych ; funkcji wbudowanych w Macro Assembkler ; =========================================================== ; instrukcje 586 ; płaski model pamięci ; konwencja STDCALL ; sekcja kodu ; początek programu ; powrót z procedury ; tu zaczyna się program

11 136 Win32ASM. Asembler w Windows A oto rezultat przykładowej asemblacji programu. archiwum: \Win32ASM\Src\!Symbole\!Symbole.txt Operatory Operatory matematyczne zwraca sumę obu. zwraca różnicę obu. zwraca iloczyn obu. zwraca iloraz obu. zwraca ze znakiem zmienionym na przeciwny. zwraca resztę z dzielenia (funkcja, funkcja ) przez. Operatory logiczne zwraca iloczyn logiczny (funkcja ) obu. zwraca sumę logiczną (funkcja ) obu.

12 Rozdział 5. Macro Assembler 137 zwraca negację logiczną (funkcja ). zwraca sumę modulo (funkcja, inaczej ) obu. Operatory przesunięć zwraca wartość powstałą z przesunięcia w lewo warctości zadaną razy. zwraca wartość powstałą z przesunięcia w prawo wacrtości zadaną razy. Operatory porównań Operatory inne zwraca wartość (o wartości ), jeśli jest równe ; w przeciwnym przypadku zwraca wartość (o wartości ). zwraca wartość (o wartości ), jeśli nie jest równe ; w przeciwnym przypadku zwraca wartość (o wartości ). zwraca wartość (o wartości ), jeśli jest większe od ; w przeciwnym przypadku zwraca wartość (o wartości ). zwraca wartość (o wartości ), jeśli jest mniejsze od ; w przeciwnym przypadku zwraca wartość (o wartości ). zwraca wartość (o wartości ), jeśli jest większe lub równe ; w przeciwnym przypadku zwraca wartość (o wartości ). zwraca wartość (o wartości ), jeśli jest mniejsze lub równe ; w przeciwnym przypadku zwraca wartość (o wartości ). powoduje, że odnosi się do innego niż domyślny; może być nazwą rejestru, segmentu, grupy segmentów lucb wyrażeniem stałym. zwraca adres będący sumą adresu i adresu w strukturze lub unii; w ten sposób można odwoływać się także do strucktur zagnieżdżonych np. ; może być nazwą rejestru lub zmiennej.

13 138 Win32ASM. Asembler w Windows powoduje, że traktowany jest jako łańcuch tekstowy. powoduje, że traktowany jest jako łańcuch tekstowy. powoduje, że będące parametrem przekazywanym do makra będzie traktowane jako łańcuch tekstowy. powoduje zastąpienie łańcucha wartością. zwraca adres ; najczęściej dotyczy zmiennych lokalnych. zwraca adres (offset, przesunięcie) ; najczęściej dotyczy zmiennych globalnych. zwraca rozmiar (w bajtach). Makra związane z procesem asemblacji Przyjrzymy się teraz bliżej wszystkim ważniejszym poleceniom, jakie można wykorzystać w języku Macro Asembler. Na końcu tego rozdziału przedstawię plik, w którym zawarłem najczęściej używane makra, z powodzeniem możesz ich użyć w swoich programach, bez konieczności pisania od zecra. Makra o charakterze ogólnym Definicja rodzaju procesora pozwala wykorzystywać instrukcje procesora 8086 i kocprocesora 8087; ustawienie domyślne. pozwala wykorzystywać instrukcje koprocesora 8087; usctawienie domyślne. pozwala wykorzystywać instrukcje procesora i kocprocesora pozwala wykorzystywać instrukcje procesora i kocprocesora 80287; nie pozwala na skorzystanie z instrukcji uprzywilejowanych (dotyczy trybu chronionego). pozwala wykorzystywać instrukcje procesora i kocprocesora 80287; pozwala na użycie instrukcji uprzywilejowanych (dotcyczy trybu chronionego).

14 Rozdział 5. Macro Assembler 139 pozwala wykorzystywać instrukcje koprocesora pozwala wykorzystywać instrukcje procesora i kocprocesora 80387; nie pozwala na skorzystanie z instrukcji uprzywilejowanych (dotyczy trybu chronionego). pozwala wykorzystywać instrukcje procesora i kocprocesora 80387; pozwala na użycie instrukcji uprzywilejowanych (dotcyczy trybu chronionego). pozwala wykorzystywać instrukcje koprocesora pozwala wykorzystywać instrukcje procesora (koprcocesor jest wbudowany w procesor); nie pozwala skorzystanie z incstrukcji uprzywilejowanych (dotyczy trybu chronionego). pozwala wykorzystywać instrukcje procesora (koprcocesor jest wbudowany w procesor); pozwala na użycie instrukcji uprzywilejowanych (dotyczy trybu chronionego). nie pozwala wykorzystywać instrukcji koprocesora. Komentarze powoduje, że pierwsza linia (z wyrażeniem ) oraz wszystkie inne, w których występuje będą traktowane przez asembler jako komentarz. powoduje, że traktowany będzie jako komentarz. powoduje, że traktowany będzie jako komentarz tylko w definicjic makra i nie będzie widoczny na listingu (po rozwinicęciu makra). Listingi definiuje listingu programu. lub definiuje listingu.

15 140 Win32ASM. Asembler w Windows Wyświetlanie informacji (w trakcie asemblacji) powoduje wyświetlenie w trakcie asemblacji. powoduje wyświetlenie w trakcie asemblacji; znak powoduje, że wszystkie makra tekstowe użyte w zostaną rozwinięte. powoduje wyświetlenie w trakcie asemblacji. Dołączanie kodu źródłowego umieszczonego w innym plikru powoduje, że w miejscu wystąpienia zapisu zostanie dołączony tekst zapisany w pliku ; powinna być objęta parą nawiasów ostrych, jeśli w nazwie występuje którykolwiek ze znaków: (lewy ukośnik), (średnik), (większy niż zero, nawias ostry zamykający), (mniejszy niż zero, nawias ostry otwierający), (apostrof), (znak cudzysłowia w standardzie ASCII; dokładniej: znak cala). Dołączanie zewnętrznej biblioteki w trakcie budowanira programu powoduje, że w trakcie łączenia (budowania) pliku wycnikowego program łączący dołączy bibliotekę zawartą w pliku ; powinna być objęta parą nawiasów ostrych, jeśli w nazwie występuje którykolwiek ze znaków: (lewy ukośnik), (średnik), (większy niż zero, nawias ostry zamykający), (mniejszy niż zero, nawias ostry otwierający), (apostrof), (znak cudzysłowia w standardzie ASCII; dokładniej: znak cala). Przerywanie procesu asemblacji Konstrukcja.ERR powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie ; powinien być objęty parą nawiasów ostrych. Konstrukcja.ERR2 powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie ; powinien być objęty parą nawiasów ostrych ; w przeciwieństwie do, błąd generowany będzie przy każdym przebiegu asemblera (opcja musi być równa wartości ).

16 Rozdział 5. Macro Assembler 141 Konstrukcja.ERRB powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli jest pusty; i muszą być objęte parą nawiasów ostrych. Konstrukcja.ERRNB powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli nie jest pusty; i muszą być objęte parą nawiasów ostrych. Konstrukcja.ERRDEF powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli była już wcześniej zdefiniowana jako zmienna, etykieta lub symbol; powinien być objęty parą nawiasów ostrych. Konstrukcja.ERRNDEF powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli nie była wcześniej zdefiniowana jako zmienna, etykieta lub symbol; powinien być objęty parą nawiasów ostrych. Konstrukcja.ERRDIF powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli nie jest identyczny z ; i muszą być objęte parą nawiasów ostrych ; małe i wielkie litery są rozróżniane podczas operacji porównania. Konstrukcja.ERRDIFI powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli nie jest identyczny z ; i muszą być objęte parą nawiasów ostrych ; małe i wielkie litery nie są rozróżniane podczas operacji porównania. Konstrukcja.ERRIDN powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli jest identyczny z ;

17 142 Win32ASM. Asembler w Windows i muszą być objęte parą nawiasów ostrych ; małe i wielkie litery są rozróżniane podczas operacji porównania. Konstrukcja.ERRIDNI powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli jest identyczny z ; i muszą być objęte parą nawiasów ostrych ; małe i wielkie litery nie są rozróżniane podczas operacji porównania. Konstrukcja.ERRE powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli zwraca wartość ; musi być objęty parą nawiasów ostrych. Konstrukcja.ERRNZ powoduje wygenerowanie błędu i przerwanie asemblaccji oraz ewentualnie wyświetlenie, jeśli zwraca wartość ; musi być objęty parą nawiasów ostrych. Sterowanie przebiegiem asemblacji Etykiety i skoki powoduje, że kolejną przetwarzaną przez asembler lcinią będzie linia, w której umieszczono zapis (tj. przed etykietą zawsze występuje dwukropek); makroinstrukcja może być wykorzystywana tylko i wyłącznie wewnątrz bloków:,,,,. definiuje ; do można odwoływać się w innych miejscach programu za pomocą konstrukcji. Pętle FOR i IRP lub równoważne: gdzie:

18 Rozdział 5. Macro Assembler 143 określają początek pętli. oznacza, któremu można przypisać wartość, oznaczają kolejne, na których będzie wykonana zadana w kolejnych obiegach pętli. oznacza koniec bloku. Pętle FORC i IRPC lub równoważne: gdzie: określają początek pętli. oznaczają, któremu będzie przypisana kolejna litera z ; na każdej z liter będzie wykonana zadana. oznacza koniec bloku. Pętla REPEAT i REPT lub równoważne: gdzie: określają początek pętli oraz powtórzeń generowanego. określa powtarzany zadaną razy. oznacza koniec bloku.

19 144 Win32ASM. Asembler w Windows Pętla WHILE gdzie: określają początek pętli, w której będzie przetwarzany tak długo, jak długo będzie zwracało wartość prawdziwą. określa asemblowany (w kółko) tak długo, jak długo będzie zwracało wartość prawdziwą. oznacza koniec bloku. Asemblacja warunkowa Asemblacja warunkowa pozwala na asemblację wybranych fragmentów kodu w zależności od pewnych parametrów. Konstrukcja IF gdzie: oznacza początek konstrukcji zostanie poddane asemblacji po wystąpieniu określonego. oznacza kolejne bloki (,,, ) wykonywane, jeśli spełnione są odpowiednio:,,,, gdzie może przyjmować wartości: jeśli (uproszczona wersja zapisu ), jeśli jest puste,

20 Rozdział 5. Macro Assembler 145 jeśli jest zdefiniowane, jeśli następne wyrażenie jest inne (małe i wielkice litery są rozróżniane), jeśli następne wyrażenie jest inne (małe i wielkice litery nie są rozróżniane), jeśli jest równe, jeśli następne wyrażenie jest identyczne (małe i cwielkie litery są rozróżniane), jeśli następne wyrażenie jest identyczne (małe i cwielkie litery nie są rozróżniane), jeśli jest niepuste, jeśli nie jest zdefiniowane. określa wykonywane tylko wtedy, jeśli żaden z powyższych warunków, tj.,,,, nie został spełniony. kończy konstrukcję. Konstrukcja IFB powoduje asemblację, jeśli jest pusty; składnia jest identyczna jak w konstrukcji. Konstrukcja IFDEF powoduje asemblację, jeśli był wcześniej zdefiniowany jako symbol, zmienna lub etykieta; składnia jest idecntyczna jak w konstrukcji. Konstrukcja IFE powoduje asemblację, jeśli jest równy (wartość ); składnia jest identyczna jak w konstrukcji.

21 146 Win32ASM. Asembler w Windows Konstrukcja IFDIF powoduje asemblację, jeśli i są różne (małe i wielkie litery są rozróżniane); składnia jest identcyczna jak w konstrukcji. Konstrukcja IFDIFI powoduje asemblację, jeśli i są różne (małe i wielkie litery nie są rozróżniane); składnia jest identyczna jak w konstrukcji. Konstrukcja IFIDN powoduje asemblację, jeśli i są identyczne (małe i wielkie litery są rozróżniane); składnia jest identyczna jak w konstrukcji. Konstrukcja IFIDNI powoduje asemblację, jeśli i są identyczne (małe i wielkie litery nie są rozróżniane); składnia jest identyczna jak w konstrukcji. Konstrukcja IFNB powoduje asemblację, jeśli jest niepusty; składnia jest identyczna jak w konstrukcji. Konstrukcja IFNDEF powoduje asemblację, jeśli nie był wcześniej zdefiniowany; składnia jest identyczna jak w konstrukcji.

22 Rozdział 5. Macro Assembler 147 Konstrukcja IF2 konstrukcja warunkowa ma identyczną składnię jak ; różnica polega na tym, że w przypadku konstrukcji asembler interpretuje tylko raz, natomiast w przypadku przy każdym przebiegu (opcja musi być równa wartości ). Konstrukcja ELSEIF2 konstrukcja warunkowa ma identyczną składnię jak ; w przypadku konstrukcji asembler interpretuje tylko raz, natomiast w przypadku przy każdym przebiegu (opcja musi być równa wartości ). Operatory związane z programowaniem Operatory porównań matematycznych znaczenie: czy jest równe? znaczenie: czy nie jest równe? znaczenie: czy jest większe od? znaczenie: czy jest większe lub równe? znaczenie: czy jest mniejsze od? znaczenie: czy jest mniejsze lub równe? Operatory porównań logicznych znaczenie: czy i są prawdziwe? znaczenie: czy lub są prawdziwe?

23 148 Win32ASM. Asembler w Windows znaczenie: czy iloczyn logiczny i jest prawdziwy? znaczenie: czy przeciwieństwo jest poprawne?; negacja logiczna. znaczenie: czy jest ustawiony znacznik przeniesiencia w rejestrze znaczników? znaczenie: czy jest ustawiony znacznik nadmiaru w rejestrze znaczników? znaczenie: czy jest ustawiony znacznik przepełniencia w rejestrze znaczników? znaczenie: czy jest ustawiony znacznik znaku w rejestrze znaczników? znaczenie: czy jest ustawiony znacznik zera w rejestrze znaczników? Podział programu na sekcje (segmenty) Deklaracja sekcji (segmentów) określa początek sekcji (segmentu) kodu; może występcować wielokrotnie w treści programu; istnieje możliwość nadania tej scekcji programu wybranej ; domyślną nazwą dla modelu jest. określa początek sekcji (segmentu) danych zainicjowcanych (z wartościami początkowymi, z wartościami znanymi w momencie asemcblacji); może występować wielokrotnie w treści programu; nazwą tej sekcji dla modelu jest. określa początek sekcji (segmentu) danych niezainiccjowanych (bez wartości początkowych, wartości nie są znane w momencie asemcblacji); może występować wielokrotnie w treści programu; nazwą tej sekcji dlca modelu jest. określa początek sekcji (segmentu) danych zainicjowcanych (z wartościami początkowymi, z wartościami znanymi w momencie asemcblacji); może występować wielokrotnie w treści programu; sekcja tca posiadać będzie atrybut tylko do odczytu ; nazwą tej sekcji dla modelu jest.

24 Rozdział 5. Macro Assembler 149 Sygnalizacja końca modułu, segmentu oraz początku progrramu określa koniec bieżącego modułu. określa początek programu jako tego miejsca (tej lcinii kodu) w programie, w którym występuje deklaracja ; typowo używa się zapisu. określa koniec segmentu o podanej. Inne konstrukcje dotyczące sekcji (segmentów) ustawia segmenty w kolejności alfabetycznej. ustawia segmenty w kolejności występowania w kodzcie; ustawienie domyślne. dodaje zadane segmenty,,, do. pozwala kontrolować błędy wynikające z przypisanica nieodpowiednich wartości; użycie powoduje, że asembler będzie kontrolował wartości przypisane danym po czym, w przypadku wykrycia próby przypisania im niepoprawnej wartościc, zgłosi błąd; istnieje możliwość całkowitego zabronienia użycia danych przy użyciu konstrukcji: a w celu wyłączenia kontroli wartości przypisywanej należy użyć następującego zapisu: Typowe konstrukcje Definicja symboli (stałych) w programie definicja symbolu ; definicja może być wielokrotnie zmieniana. definicja symbolu i przypisanie mu wartości liczbowej ; definicja nie może być zmieniana. definicja symbolu i przypisanie mu wartości tekstowej ; definicja może być zmieniana.

25 150 Win32ASM. Asembler w Windows Pętle definicja symbolu i przypisanie mu wartości ; może być łańcuchem tekstowym, stałą poprzedzaną znakiem lub łańcuchem tekstowym zwracanym przez makro. powoduje przypisanie symbolowi wartości będącej długością zadanego. Definicja etykiety na poziomie programu definiuje ; do można odwoływać się w innych miejscach programu za pomocą instrukcji zmieniających bieg programu (rozkazy skoków, pętli, wywołania procedur). definiuje o zadanym ; do można odwoływać się w innych miejscach programu za pomocą instrukcji zmieniających biceg programu (rozkazy skoków, pętli, wywołania procedur). Pętla.REPEAT.UNTIL powoduje wykonywanie zadanego po uruchomieniu programu tak długo, aż zostanie spełniony zadany. Pętla.REPEAT.UNTILCXZ powoduje wykonywanie zadanego po uruchomieniu programu tak długo, aż wartość rejestru przyjmie wartość i ewentualnie zostanie spełniony dodatkowy. Pętla.WHILE powoduje wykonywanie zadanego po uruchomieniu programu tak długo, jak długo spełniony jest zadany.

Win32ASM. Asembler w Windows

Win32ASM. Asembler w Windows IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE

Bardziej szczegółowo

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4 Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest

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

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Dziekan Wydziału Nauk Społecznych i Technik Komputerowych S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko

Bardziej szczegółowo

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika: PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej

Bardziej szczegółowo

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler Programowanie hybrydowe C (C++) - assembler MS Visual Studio Inline Assembler Wprowadzenie Możliwość wprowadzania kodu asemblerowego bezpośrednio w kodzie źródłowym w języku C lub C++ Nie wymagany MASM

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

Zmienne, stałe i operatory

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

Bardziej szczegółowo

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

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

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Wykład 4. Środowisko programistyczne

Wykład 4. Środowisko programistyczne Wykład 4 Dostępne kompilatory KEIL komercyjny GNU licencja GPL ARM komercyjny IAR komercyjny 2 Porównanie kompilatorów 3 Porównanie kompilatorów 4 Keil uvision Graficzny edytor Kompilator i linker Symulator

Bardziej szczegółowo

Blockly Kodowanie pomoc.

Blockly Kodowanie pomoc. 1 Blockly Kodowanie pomoc. Słowniczek: Zmienna posiada nazwę wywoływaną w programie oraz miejsce na przechowywanie wartości. Instrukcja warunkowa pozwala na wykonanie instrukcji w zależności od warunku

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

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

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

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

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

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

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

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

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

Bardziej szczegółowo

Języki skryptowe w programie Plans

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

Bardziej szczegółowo

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

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer

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

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

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ć

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

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

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

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

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

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

Bardziej szczegółowo

Programowanie Niskopoziomowe

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

Bardziej szczegółowo

Podstawy Informatyki Języki programowania c.d.

Podstawy Informatyki Języki programowania c.d. Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak

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

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie. TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej

Bardziej szczegółowo

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Przewodnik użytkownika (instrukcja) AutoMagicTest

Przewodnik użytkownika (instrukcja) AutoMagicTest Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik

Bardziej szczegółowo

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53: Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

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

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

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

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

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

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

7. Pętle for. Przykłady

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

Bardziej szczegółowo

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2 Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone

Bardziej szczegółowo

Pracownia Komputerowa wykład V

Pracownia Komputerowa wykład V Pracownia Komputerowa wykład V dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny system

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

Bardziej szczegółowo

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują

Bardziej szczegółowo

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

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

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

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Kodowanie informacji. Przygotował: Ryszard Kijanka

Kodowanie informacji. Przygotował: Ryszard Kijanka Kodowanie informacji Przygotował: Ryszard Kijanka Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, ale także inne obiekty, takie jak litery, wartości logiczne, obrazy

Bardziej szczegółowo

Autor: dr inż. Katarzyna Rudnik

Autor: dr inż. Katarzyna Rudnik Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe

Bardziej szczegółowo

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN AHDL - Język opisu projektu. Podstawowe struktury języka Przykładowy opis rewersyjnego licznika modulo 64. TITLE "Licznik rewersyjny modulo 64 z zerowaniem i zapisem"; %------------------------------------------------------------

Bardziej szczegółowo