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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ć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

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

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

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

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

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

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

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

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

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

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

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

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

Bardziej szczegółowo

Pracownia Komputerowa wyk ad VII

Pracownia Komputerowa wyk ad VII Pracownia Komputerowa wyk ad VII dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Notacja szesnastkowa - przypomnienie Szesnastkowy

Bardziej szczegółowo

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

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

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

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

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

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

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

Bardziej szczegółowo

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Pracownia Komputerowa wyk ad IV

Pracownia Komputerowa wyk ad IV Pracownia Komputerowa wykad IV dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Reprezentacje liczb i znaków Liczby: Reprezentacja

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

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

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

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

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

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

Bardziej szczegółowo

Delphi Laboratorium 3

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

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

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

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503) Spis treści Dzień 1 I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503) 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

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

Bardziej szczegółowo

MySQL. Darmowa baza danych. Æwiczenia praktyczne

MySQL. Darmowa baza danych. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOœCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREœCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

1 Wielokrotne powtarzanie tych samych operacji

1 Wielokrotne powtarzanie tych samych operacji 1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie

Bardziej szczegółowo

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Aplikacje w środowisku VBA. Visual Basic for Aplications

Aplikacje w środowisku VBA. Visual Basic for Aplications Aplikacje w środowisku VBA Visual Basic for Aplications Podstawowe informacje o VBA Visual Basic for Aplications, w skrócie VBA, to język programowania rozwijany przez Microsoft, którego zastosowanie pozwala

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

Dokumentacja techniczna systemu wydruków tekstowych w systemie GW-MAX

Dokumentacja techniczna systemu wydruków tekstowych w systemie GW-MAX Dokumentacja techniczna systemu wydruków tekstowych w systemie GW-MAX 1. Struktura definicji raportu 2. Język skryptowy 3. Makra 4. Funkcje 5. Formuły Ad 1. Definicja raportu zawiera się w zwykłym pliku

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Użycie Visual Basic for Applications ("VBA")

Użycie Visual Basic for Applications (VBA) Użycie Visual Basic for Applications ("VBA") Przegląd SEE z modułem VBA Developer SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie programy zwane "makrami".

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Ćwiczenie nr 6. Programowanie mieszane

Ćwiczenie nr 6. Programowanie mieszane Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

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 Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora

Bardziej szczegółowo

Podstawy Programowania 2

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

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Podstawy programowania

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

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

Visual Basic for Applications. Wstęp

Visual Basic for Applications. Wstęp Visual Basic for Applications Materiały źródłowe: http://www.vbamania.estrefa.pl 2008-01-14 Wstęp Visual Basic for Applications to język programowania, dołączony do wielu aplikacji. Wspierają go między

Bardziej szczegółowo

Skorzystaj z Worda i stwórz profesjonalnie wyglądające dokumenty.

Skorzystaj z Worda i stwórz profesjonalnie wyglądające dokumenty. ABC Word 2007 PL. Autor: Aleksandra Tomaszewska-Adamarek Czasy maszyn do pisania odchodzą w niepamięć. Dziś narzędziami do edycji tekstów są aplikacje komputerowe, wśród których niekwestionowaną palmę

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

1 Moduł Inteligentnego Głośnika 3

1 Moduł Inteligentnego Głośnika 3 Spis treści 1 Moduł Inteligentnego Głośnika 3 1.1 Konfigurowanie Modułu Inteligentnego Głośnika........... 3 1.1.1 Lista elementów Modułu Inteligentnego Głośnika....... 3 1.1.2 Konfigurowanie elementu

Bardziej szczegółowo

Zastanawiałeś się może, dlaczego Twój współpracownik,

Zastanawiałeś się może, dlaczego Twój współpracownik, Kurs Makra dla początkujących Wiadomości wstępne VBI/01 Piotr Dynia, specjalista ds. MS Office Czas, który poświęcisz na naukę tego zagadnienia, to 15 20 minut. Zastanawiałeś się może, dlaczego Twój współpracownik,

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw

Bardziej szczegółowo

MySQL. Æwiczenia praktyczne

MySQL. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ

Bardziej szczegółowo

Należy ściągnąć oprogramowanie Apache na platformę

Należy ściągnąć oprogramowanie Apache na platformę Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/

Bardziej szczegółowo

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Wprowadzenie do programu Mathcad 15 cz. 1

Wprowadzenie do programu Mathcad 15 cz. 1 Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Wprowadzenie do Scilab: podstawy języka Scilab

Wprowadzenie do Scilab: podstawy języka Scilab Wprowadzenie do Scilab: podstawy języka Scilab Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

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

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo