Podstawy programowania w języku

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

Download "Podstawy programowania w języku"

Transkrypt

1 Podstawy programowania w języku Józef Zieliński

2 o ri t ze ie i ki Recenzent: dr inż. Robert Dąbrowski Korekta: Joanna Kosturek raco anie t o ra iczne: Józef Zieliński Projekt okładki: Andrzej Augustyński ic na da nicza Krak rniejo a te a : i o ic na co e ai : i i o ic na co danie Krak

3 Spis treści Rozdział 1. Elementy języka C++ 7 Rozdział 2. Proste obliczenia Wprowadzenie Ćwiczenia Rozdział 3. Instrukcja warunkowa if Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 4. Instrukcje iteracyjne Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 5. Instrukcja iteracyjna for Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 6. Instrukcja wyboru switch Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 7. Funkcje Wprowadzenie Przykładoweprogramy Ćwiczenia... 60

4 4 Spis treści Rozdział 8. Tablice Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 9. Funkcje i tablice Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 10. Wskaźniki Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 11. Referencja, tablice znakowe Wprowadzenie Przykładoweprogramy Ćwiczenia Rozdział 12. Operacje wejścia i wyjścia Wprowadzenie Przykładowe programy Ćwiczenia Rozdział 13. Struktury Wprowadzenie Przykładowe programy Ćwiczenia Rozdział 14. Unie Wprowadzenie Przykładowe programy Rozdział 15. Tablice dwuwymiarowe Wprowadzenie Przykładowe programy Ćwiczenia

5 Spis treści 5 Rozdział 16. Zadania algorytmiczne Algorytmzachłanny Algorytm z powrotami Algorytm dynamiczny Kwiaciarnia Sortowanie przez zliczanie Sortowaniepozycyjne Unikalnaliczba Rozwiązania zadań 161 Bibliografia 191

6

7 Rozdział 1 Elementy języka C++ Translacja programu napisanego w języku wysokiego poziomu (do którego należy też język C++) polega na utworzeniu kodu wynikowego na podstawie kodu źródłowego. Translacja składa się z etapu kompilacji kodu źródłowego oraz etapu konsolidacji, czyli łączenia. Kompilacja polega na tłumaczeniu kodu źródłowego programu na wewnętrzny język język maszynowy i utworzeniu tzw. kodu obiektowego: analizy syntaktycznej (składniowej) polegającej na grupowaniu symboli leksykalnych w wyrażenia gramatyczne, analizy semantycznej polegającej na kontroli poprawności programu źródłowego i zbieraniu informacji do fazy tworzenia kodu wynikowego. Konsolidacja polega na łączeniu kodu obiektowego z dodatkowym kodem startowym, kodem z bibliotek i utworzeniu pliku końcowego z kodem wykonywalnym. W języku C++ wyróżnia się cztery podstawowe rodzaje jednostek leksykalnych (leksemów)[5]: 1. Identyfikatory, czyli nazwy zmiennych (np. x, x1, alfa), nazwy typów (np. int, double), nazwy funkcji (np. main, NWD, silnia), nazwy klas (np. complex, iostream), nazwy obiektów (np. cin, cout). Identyfikatory w języku C++ składają się tylko z sekwencji liter alfabetu angielskiego, cyfr i znaku podkreślenia _. Identyfikator nie może się rozpoczynać od cyfry. Identyfikatory rozpoczynające się znakiem podkreślenia są często rezerwowane dla bibliotek. Rozróżnia się małe i wielkie litery! 2. Słowa kluczowe zastrzeżone identyfikatory, których można używać tylko w ściśle określonym znaczeniu, np. float, long, if itd.

8 8 Rozdział 1. Elementy języka C++ 3. Operatory: jednoznakowe, np. +, -; dwuznakowe, np. >>, ==, +=; trójznakowe, np. >>=, <<=; operatory dodatkowo pełnią rolę znaków przestankowych. 4. Literały (stałe): całkowite: dziesiętne, np. 13; ósemkowe, np. 015 (rozpoczynają się od 0, zawierają cyfry 0 7); szesnastkowe, np. 0xF, 0Xf (rozpoczynają się od 0x lub 0X i zawierają cyfry oraz litery z przedziałów a f, A F); zmiennopozycyjne: w notacji dziesiętnej z kropką, np. 6.0, 2.,.5, ; w notacji wykładniczej, np. 2.7e10, -75E-20, 10e10; znakowe składają się z jednego lub kilku znaków ujętych w apostrofy, np. x, A, \n ; stałe znakowe mogą zawierać sekwencje specjalne rozpoczynające się od lewego ukośnika \, oznaczające niektóre znaki niegraficzne lub znaki specjalne np. ", \,?, ; dowolne, pojedyncze znaki mogą też być podane za pomocą liczby kodowej tego znaku, przedstawionej w systemie ósemkowym lub szesnastkowym; w tablicy 1.1 na stronie 9 umieszczono sekwencje specjalne, nazywane również sekwencjami ucieczki; łańcuchowe będące ciągiem znaków ujętym w cudzysłów, np. "abcd", "Pole = ", "koniec\n", "c:\\folder\\plik"; separatory np. spacje, tabulacje, znaki nowego wiersza, oraz komentarze, gdzie znaki // oznaczają komentarz do końca wiersza, znaki /* oznaczają początek komentarza, natomiast znaki */ oznaczają koniec komentarza. Wszystkie zmienne występujące w programie muszą być przed wystąpieniem (zastosowaniem) zdefiniowane, co powoduje przydzielenie im miejsca w pamięci. Każda zmienna musi mieć określony typ, który określa zbiór wartości tej zmiennej, sposób kodowania wartości tej zmiennej, ilość bajtów zajmowanej pamięci oraz zbiór możliwych do wykonania operacji na tej zmiennej. W języku C++ wyróżnia się typy zmiennych podstawowe (wbudowane) oraz pochodne (definiowane przez programistę). W obliczeniach stosowane są typy arytmetyczne, w których wyróżnia się typy całkowite i zmiennopozycyjne. W grupie typów całkowitych, ze wzgledu na rozmiar, wyróżnia się cztery typy deklarowane jako short int, int, long int, long long int. Kody

9 Rozdział 1. Elementy języka C++ 9 Nazwa sekwencji Tablica 1.1. Sekwencje ucieczki Nazwa angielska Symbol Sekwencja nowy wiersz new line NL(LF) \n tabulacja pozioma horizontal tab HT \t tabulacja pionowa vertical tab VT \v cofnięcie o jeden znak backspace BS \b powrót karetki carriage return CR \r nowa strona form feed FF \f dzwonek alert BEL \a lewy ukośnik backslash \ \\ znak zapytania question mark? \? apostrof single quote \ cudzysłów double quote " \" zero całkowite integer 0 NUL \0 liczba ósemkowa octal number ooo \ooo liczba szesnastkowa hex number hhh \xhhh Źródło: W. Porębski, Programowanie w języku C++, Warszawa: Komputerowa Oficyna Wydawnicza Help, liczb typów dłuższych zajmują nie mniej pamięci niż krótszych. Najczęściej zmienne typu short int zajmują dwa bajty, typ int dwa lub cztery bajty, zależnie od kompilatora, typ long int cztery bajty, a typ long long int osiem bajtów. Liczby całkowite bez znaku (dodatnie) są kodowane w naturalnym kodzie dwójkowym. Nazwa typu całkowitego bez znaku poprzedzana jest specyfikatorem unsigned. Stąd nazwy typów: unsigned short int lub krócej: unsigned short; unsigned int lub krócej: unsigned; unsigned long int lub krócej: unsigned long; unsigned long long int lub krócej: unsigned long long. Liczby całkowite bez znaku kodowane są w zakresie od 0 do 2 b 1, gdzie b jest liczbą bitów przeznaczonych do reprezentacji liczby. Przy dwubajtowej reprezentacji maksymalna liczba całkowita to , czyli , przy reprezentacji czterobajtowej to , czyli , przy ośmiobajtowej reprezentacji maksymalna liczba całkowita to

10 10 Rozdział 1. Elementy języka C++ Przykładowo liczba 40000, przy zastosowaniu 2-bajtowego (16-bitowego) typu unsigned short int jest kodowana jako , natomiast przy zastosowaniu typu 4-bajtowego (32-bitowego) unsigned long int jest kodowana jako Gdy występują liczby całkowite ujemne, stosowane są typy całkowite ze znakiem. Liczby ujemne w typie całkowitym ze znakiem są kodowane w kodzie dwójkowym uzupełnieniowym do dwóch. Najstarszy bit ma wartość 0, gdy liczba jest dodatnia, 1 gdy liczba jest ujemna. Nazwa typu całkowitego ze znakiem może być poprzedzona specyfikatorem signed. Zazwyczaj specyfikator ten jest pomijany, gdyż typ całkowity ze znakiem jest domyślnym typem całkowitym. Stąd nazwy tych typów: signed short int lub krócej short, signed int lub krócej int, signed long int lub krócej long, signed long long int lub krócej long long. Liczby całkowite ze znakiem są kodowane w zakresie od 2 b 1 do 2 b 1 1, gdzie b jest liczbą bitów przeznaczoną do reprezentacji liczby. Przy reprezentacji dwubajtowej jest to zakres od 2 15 (-32768) do (32767), przy reprezentacji czterobajtowej od 2 31 ( ) do ( ). Natomiast przy reprezentacji ośmiobajtowej od 2 63 ( ) do ( ). Przykładowo liczba -1 jest kodowana przy zastosowaniu typu 2-bajtowego (16-bitowego), signed short int jako , natomiast przy zastosowaniu typu 4-bajtowego (32-bitowego), signed long int, jest kodowana jako Typy zmiennopozycyjne służą do reprezentacji liczb rzeczywistych wymiernych. Ich kod składa się z trzech części: bitu znaku, cechy i mantysy, kodowanych dwójkowo. Oto identyfikatory typów zmiennopozycyjnych: float, 4-bajtowy, double, 8-bajtowy, long double, 10-bajtowy. Najczęściej używany typ zmiennopozycyjny to 8-bajtowy, 64-bitowy typ double, znaczenie poszczególnych bitów zmiennej tego typu przedstawiono poniżej.

11 Rozdział 1. Elementy języka C bajtów { }} { 1 bit 11 bitów 52 bity {}}{ { }} { { }} { }{{} s c 10 c 9 c 1 c } {{ 0 m } 51 m 50 m 1 m } {{ 0 } znak cecha mantysa Wartość liczby w jest określona następująco: w = ( 1) s 2 (c 1023) (1.m), gdy 0 <c<2047, ( 1) s (0.m), gdy c =0im 0, ( 1) s 0, gdy c =0im =0, ( 1) s INF (przekroczenie zakresu), gdy c = 2047 i m =0, ( 1) s NAN (postać nienumeryczna), gdy c = 2047 i m 0 Obliczenia zmiennopozycyjne wykonywane są za pomocą koprocesora arytmetycznego, IN F oznacza stan koprocesora nieskończoność, a N AN postać zmiennej niearytmetyczna. Przykładowo liczba 0 jest zakodowana w następujący sposób (typ double): , gdzie bit znaku s = 0, c = 0, m = 0, zatem w = 0. Kod binarny liczby całkowitej 1, ale typu double ma postać: W tym przykładzie znak ma kod 0 (liczba dodatnia), to kod cechy, czyli c = 1023, natomiast wartość mantysy to 0, stąd w =( 1) (1, 0) = 1 Kod liczby 0.25 (typ double) jest następujący: , gdzie kod znaku 0, więc liczba dodatnia, cecha ma kod , czyli c = 1021, wartość mantysy 0, stąd w =( 1) (1, 0) = 2 2 = 1 4 = 0, 25 Kod liczby 4, 625 (typ double) zawiera pierwszy bit znaku (1), oznaczający liczbę ujemną, cechę o kodzie , więc c = 10025, natomiast kod mantysy to , co po odkodowaniu daje m = 5 32 =0, 15625, stąd w =( 1) (1, 15625) = 2 2 1, = 4, 625

12 12 Rozdział 1. Elementy języka C++ Kod liczby 0,2 (typ double), składający się z 64 bitów, ma postać: , pierwszy bit (0) będący bitem znaku oznacza liczbę dodatnią, cechę koduje następne 11 bitów, , więc c = 10025, natomiast 52 bity mantysy to Po zamianie ułamka z systemu dziesiętnego 2 10 = 1 5 na ułamek w systemie dwójkowym powstaje ułamek okresowy o okresie (1001) 2. Mantysa zawiera ograniczoną liczbę bitów, stąd jej wartość jest zaokrąglona, z dokładnością do 52 bitów. Ostatnia uwzględniona czwórka bitów ułamka okresowego została zaokrąglona w górę do (1010) 2. Stąd ułamek 0,2 jest zakodowany w sposób przybliżony z zaokrągleniem w górę. Przy obliczeniach zachodzą zaokrąglenia w górę lub w dół, które wzajemnie się kompensują i często są mało zauważalne. W niektórych przypadkach jednak błędy tych zaokrągleń kumulują się. Przykładowo wynik działania ( ), wynoszący 0, wykonany z zastosowaniem typu double daje następujący wynik niezerowy (wynik w postaci zakodowanej): W tym przykładzie s = 1, c = 970, m = 0, stąd w =( 1) , 0, w = 2 53, w = 1, Wskutek zaokrąglenia w górę kodu liczby 0.2 otrzymujemy wartość obliczanego wyrażenia ujemną, bardzo małą, ale jednak różną od 0. Zmienne typu float zajmują 4 bajty pamięci, gdzie kolejno są: 1 bit znaku, 8 bitów cechy, oraz 23 bity mantysy. 4 bajty { }} { 1 bit 8 bitów 23 bity {}}{ { }} { { }} { }{{} s c 7 c 6 c 1 c } {{ 0 m } 22 m 21 m 1 m } {{ 0 } znak cecha mantysa Wartość liczby w jest tu określona następująco: w = ( 1) s 2 (c 127) (1.m), gdy 0 <c<255, ( 1) s (0.m), gdy c =0im = 0, ( 1) s 0, gdy c =0im =0, ( 1) s INF (przekroczenie zakresu), gdy c = 255 i m =0, ( 1) s NAN (postać nienumeryczna), gdy c = 255 i m = 0 Przykładowo kod zmiennej typu float o wartości 7 jest następujący: Zatem s = 0, liczba dodatnia, kod cechy to , c = 129, kod mantysy to , czyli m = =0, 75. Stąd w =( 1) , 75, w =2 2 1, 75, w = 7.

13 Rozdział 1. Elementy języka C++ 13 Zmienne typu long double zajmują 10 bajtów pamięci, gdzie kolejne bity to: 1 bit znaku, 15 bitów cechy, 1 specjalny bit (i) oraz 63 bity mantysy. 10 bajtów { }} { 1 bit 15 bitów 1 bit 63 bity {}}{ { }} { {}}{ { }} { }{{} s c 14 c 13 c 1 c } {{ 0 i } }{{} m 62 m 61 m 1 m } {{ 0 } znak cecha bit specjalny mantysa Wartość liczby w jest tu określona następująco: w = ( 1) s 2 (c 16383) (i.m), gdy 0 <c<32767, ( 1) s 0, gdy c =0im =0, ( 1) s INF (przekroczenie zakresu), gdy c = i m =0, ( 1) s NAN (postać nienumeryczna), gdy c = i m 0 Przykładowy kod zmiennej typu long double o wartości 0, to: Zatem s = 1, czyli jest to liczba ujemna, kod cechy to , czyli c = 16380, bit specjalny i = 1, kod mantysy to: , czyli m =2 2 =0, 25. Stąd w =( 1) , 25, w = 2 3 1, 25, w = 1 8 1, 25, w = 0, Do typów arytmetycznych należy też typ znakowy char, który jest typem całkowitym jednobajtowym, zawierającym numer kodowy znaku w tablicy znaków. Przykładowo wartość 65 zmiennej znakowej odpowiada w tablicy kodu ASCII znakowi A. Typy pochodne są konstruowane z typów podstawowych, jak również z pochodnych. Najważniejsze typy pochodne to: tablice, wskaźniki, referencje, struktury, unie, klasy. Operatory w języku C++ można podzielić na 17 grup, charakteryzujących się poziomem priorytetu i łącznością lewostronną lub prawostronną. Operatory

14 14 Rozdział 1. Elementy języka C++ ze względu na liczbę operandów dzieli się na unarne (np. -, ++, *), binarne (np. -, /, %, *) oraz trynarne (? :). W tablicy 1.2 przedstawiono operatory w języku C++. Wyrażenia w kodzie źródłowym przedstawiają pewne działania i zawierają sekwencje operatorów i operandów (argumentów). Operandami mogą być stałe (literały) lub zmienne reprezentowane przez identyfikatory. Wyrażenia proste składają się najczęściej z jednego binarnego operatora i dwóch operandów, lewego i prawego. W wyrażeniu prostym może występować unarny operator, związany z jednym operandem, lewym lub prawym. Przykłady wyrażeń prostych: b=5, b+=x, b++, --b. Wyrażenia złożone zawierają kilka operatorów. Oto przykłady wyrażeń złożonych: x=(-b-p_delta)/(2*a), a=b=c=0. Operator - (minus) w zależności od liczby operandów ma dwa znaczenia. Z jednym operandem, np. -b=5, oznacza wartość przeciwną zmiennej b, natomiast z dwoma operandami, przykładowo x-y, oznacza odejmowanie. Unarny operator inkrementacji ++ może występować w dwóch wersjach, przedrostkowej, np. ++i, lub przyrostkowej, np. i++. Poziomy priorytetu zapewniają odpowiednią kolejność wykonywania operacji. Przykładowo w wyrażeniu x-y+z występują operatory addytywne z poziomu 12 o łączności lewostronnej, stąd najpierw będzie wykonane odejmowanie, później dodawanie. W wyrażeniu a+3*b najpierw będzie wykonane mnożenie (poziom 13), później dodawanie z poziomu niższego, 12. W wyrażeniu b=5*x będzie najpierw wykonane mnożenie (poziom 13), a poźniej przypisanie (podstawienie) iloczynu do zmiennej b, poziom 2. W wyrażeniu a=b=0 występuje tylko operator przypisania, z poziomu 2, o łączności prawostronnej, stąd pierwsza będzie wykonana operacja od prawej strony, czyli podstawienie za b wartości 0, a później podstawienie za a wartości zmiennej b, czyli zera. Wyrażenia zakończone średnikiem są w języku C++ instrukcjami wyrażeniowymi. Program jest strukturą składającą się z podprogramów, którymi

15 Rozdział 1. Elementy języka C++ 15 Tablica 1.2. Priorytety i łączność operatorów Poziom Operator Łączność Działanie 17 :: L zasięg globalny :: P zasięg klasy () L grupowanie 16. L bezpośredni dostęp do składowej obiektu -> L pośredni dostęp do składowej obiektu [] L indeks tablicy () L wywołanie funkcji () L konstrukcja obiektu sizeof L rozmiar obiektu lub typu 15! P negacja logiczna ~ P negacja bitowa + P unarny plus - P unarny minus (liczba przeciwna) ++ P inkrementacja przedrostkowa ++ P inkrementacja przyrostkowa -- P dekrementacja przedrostkowa -- P dekrementacja przyrostkowa & P adres argumentu (referencja) * P wyłuskanie (wartość pośrednia) new P dynamiczna alokacja obiektu w pamięci new[] P dynamiczna alokacja tablicy w pamięci delete P dynamiczne zwalnianie pamięci dla obiektu delete[] P dynamiczne zwalnianie pamięci dla tablicy () P konwersja typu (rzutowanie) 14.* L wyłuskanie wartości składowej ->* L pośrednie wyłuskanie wartości składowej 13 * L mnożenie / L dzielenie % L modulo (reszta z dzielenia całkowitego) 12 + L dodawanie - L odejmowanie 11 << L bitowe przesuwanie w lewo >> L bitowe przesuwanie w prawo 10 < L mniejsze niż <= L mniejsze lub równe > L wieksze niż >= L większe lub równe

16 16 Rozdział 1. Elementy języka C++ Tablica 1.2. Priorytety i łączność operatorów (cd.) Poziom Operator Łączność Działanie 9 == L równe!= L nierówne 8 & L koniunkcja bitowa 7 ^ L bitowa różnica symetryczna 6 L alternatywa bitowa 5 && L koniunkcja logiczna 4 L alternatywa logiczna 3? : L wyrażenie warunkowe 2 = P przypisanie *= P mnożenie i przypisanie /= P dzielenie i przypisanie %= P reszta z dzielenia i przypisanie += P dodawanie i przypisanie -= P odejmowanie i przypisanie <<= P przesunięcie w lewo i przypisanie >>= P przesunięcie w prawo i przypisanie &= P koniunkcja bitowa i przypisanie ^= P bitowa różnica symetryczna i przypisanie = P alternatywa bitowa i przypisanie 1, L połączenie kilku wyrażeń w jedno wyrażenie Źródło: W. Porębski, Programowanie w języku C++, Warszawa: Komputerowa Oficyna Wydawnicza Help, są w języku C++ funkcje. Program musi zawierać przynajmniej jedną funkcję, zwaną funkcją główną, main. Bardziej złożony program w programowaniu strukturalnym składa się z szeregu funkcji, które mogą być wzajemnie zagnieżdżone. Niekiedy funkcje mogą wywoływać same siebie, tworząc funkcje rekurencyjne. Poszczególne funkcje mogą się znajdować w jednym pliku lub w kilku plikach dołączanych do pliku wykonywalnego w procesie konsolidacji. Język C++ umożliwia realizację paradygmatu programowania obiektowego, polegającego na tworzeniu nowych typów i definiowaniu operatorów na zmiennych tak utworzonego typu [6]. Tworzenie nowych typów odbywa się za pomocą definiowania klas, co będzie wyjaśnione w kolejnej pracy. W tej pracy korzysta się głównie z gotowych obiektów klas bibliotecznych. Przykładem tych obiektów są cin i cout oraz na nich działające operatory strumieniowe <<, >>.

17 Bibliografia [1] Cormen Th.H., Leiserson Ch.E., Rivest R.L., Stein C., Introduction to Algorithms. Third Edition, Massachusetts: Massachusetts Institute of Technology, [2] Kernighan B.W., Ritchie D., Język ANSI C, Warszawa: Wydawnictwa Naukowo-Techniczne, [3] Kisilewicz J., Język C w środowisku Borland C++, Wrocław: Oficyna Wydawnicza Politechniki Wrocławskiej, [4] Langer A., Kreft K., C++ Biblioteka IOStreams i lokalizacja programów, Gliwice: Helion, [5] Porębski W., Programowanie w języku C++, Warszawa: Komputerowa Oficyna Wydawnicza Help, [6] Prata S., Szkoła programowania. Język C++, Wrocław: Robomatic, [7] Stroustrup B., Język C++, Warszawa: Wydawnictwa Naukowo-Techniczne, [8] Stroustrup B., Programowanie. Teoria i praktyka z wykorzystaniem C++, Gliwice: Helion, [9] Sutter H., Alexandrescu A., Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk, Gliwice: Helion, [10] Wirth N., Algorytmy + struktury danych = programy, Warszawa: Wydawnictwa Naukowo-Techniczne, [11] Zieliński J., Programowanie w języku Logo, Kraków: Impuls, [12] I XIV Olimpiada Informatyczna, Warszawa: OEIiZK,

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

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

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

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 Standardy reprezentacji wartości całkowitoliczbowych

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA C++

WPROWADZENIE DO JĘZYKA C++ WPROWADZENIE DO JĘZYKA C++ 1. Pierwszy program w C++ Przykład 1.1. pierwszy_program.cpp 1: #include //Dołączenie do programu biblioteki 2: using namespace std; //Deklaracja przestrzeni

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

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

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

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

Microsoft IT Academy kurs programowania

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

Bardziej szczegółowo

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych Reprezentacja danych w systemach komputerowych Kod (łac. codex - spis), ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli) oraz reguła ich przyporządkowania

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

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

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

Bardziej szczegółowo

LICZBY ZMIENNOPRZECINKOWE

LICZBY ZMIENNOPRZECINKOWE LICZBY ZMIENNOPRZECINKOWE Liczby zmiennoprzecinkowe są komputerową reprezentacją liczb rzeczywistych zapisanych w formie wykładniczej (naukowej). Aby uprościć arytmetykę na nich, przyjęto ograniczenia

Bardziej szczegółowo

Naturalny kod binarny (NKB)

Naturalny kod binarny (NKB) SWB - Arytmetyka binarna - wykład 6 asz 1 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2 1 0 wartość 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 wartość 128 64 32 16 8 4 2 1 bity b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 System

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

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

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

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

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

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

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; }; Typy pochodne. Referencje Referencja jest inną nazwą zmiennej. KURS C/C++ WYKŁAD 7 Referencje tworzymy przy pomocy unarnego operatora &: int a; int &refer = a; // referencja musi być inicjowana Powyższe

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

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

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb. 2. Arytmetyka komputera. Systemy zapisu liczb: dziesietny, dwójkowy (binarny), ósemkowy, szesnatskowy. Podstawowe operacje arytmetyczne na liczbach binarnych. Zapis liczby binarnej ze znakiem. Reprezentacja

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

DZIESIĘTNY SYSTEM LICZBOWY

DZIESIĘTNY SYSTEM LICZBOWY DZIESIĘTNY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Dowolną liczbę w systemie dziesiętnym możemy przedstawić jako następująca

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

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

Bardziej szczegółowo

3.3.1. Metoda znak-moduł (ZM)

3.3.1. Metoda znak-moduł (ZM) 3.3. Zapis liczb binarnych ze znakiem 1 0-1 0 1 : 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 reszta 0 0 0 0 0 0 0 1 3.3. Zapis liczb binarnych ze znakiem W systemie dziesiętnym liczby ujemne opatrzone są specjalnym

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

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

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

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

. Podstawy Programowania 1. Wstęp. Arkadiusz Chrobot. 15 października 2015

. Podstawy Programowania 1. Wstęp. Arkadiusz Chrobot. 15 października 2015 Podstawy Programowania 1 Wstęp Arkadiusz Chrobot Zakład Informatyki 15 października 2015 1 / 41 Plan 1 Informacje organizacyjne 2 Bibliografia 3 Wprowadzenie 4 Algorytm 5 System komputerowy 6 Języki programowania

Bardziej szczegółowo

Python wstęp do programowania dla użytkowników WCSS

Python wstęp do programowania dla użytkowników WCSS Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Wstęp do programowania, część I

Wstęp do programowania, część I Wstęp do programowania, część I Rafał J. Wysocki Instytut Fizyki Teoretycznej, Wydział Fizyki UW 12 października 2011 Rafał J. Wysocki (rwys@fuw.edu.pl) Wstęp do programowania, część I 12 października

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

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 Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include

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

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

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

Proste programy w C++ zadania

Proste programy w C++ zadania Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna

Bardziej szczegółowo

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010 ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010 Do zapisu liczby ze znakiem mamy tylko 8 bitów, pierwszy od lewej bit to bit znakowy, a pozostałem 7 to bity na liczbę. bit znakowy 1 0 1 1

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

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

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach

ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach Reprezentacja danych w komputerach dr inż. Wiesław Pamuła wpamula@polsl.katowice.pl Literatura 2. J.Biernat: Architektura komputerów, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław2002. 3. Null

Bardziej szczegółowo

Pracownia specjalistyczna. Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka

Pracownia specjalistyczna. Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka Pracownia specjalistyczna Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka Język C++ 1. Podstawowa struktura pliku źródłowego: #include #include "main.h" 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

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

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

Bardziej szczegółowo

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 5 6 7 Charakter wykładu ˆ zakłada znajomość idei programowania strukturalnego (np. w Pascalu) oraz podstaw używania środowiska UNIX (wykonywanie

Bardziej szczegółowo

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)

Bardziej szczegółowo

Informatyka 1. Wykład nr 5 (13.04.2008) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Informatyka 1. Wykład nr 5 (13.04.2008) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia (zaoczne) Rok akademicki 2007/2008 Wykład nr 5 (3.04.2008) Rok akademicki 2007/2008,

Bardziej szczegółowo

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000 SYSTEMY LICZBOWE I. PODZIAŁ SYSTEMÓW LICZBOWYCH: systemy liczbowe: pozycyjne (wartośd cyfry zależy od tego jaką pozycję zajmuje ona w liczbie): niepozycyjne (addytywne) (wartośd liczby jest sumą wartości

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy. Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy. Niniejsza publikacja, ani żadna jej część, nie może być kopiowana, ani

Bardziej szczegółowo

Podstawy informatyki (3)

Podstawy informatyki (3) Podstawy informatyki (3) wykład : 15 godz. ćwiczenia : 15 godz. Prowadzący: dr inż. Jacek Piątkowski 1 Języki programowania Języki programowania - dają możliwość zapisu algorytmów w postaci zarówno wygodnej

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

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Wprowadzenie do programowania w języku C

Wprowadzenie do programowania w języku C Wprowadzenie do programowania w języku C Część czwarta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

Algorytmy i język C++

Algorytmy i język C++ Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

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

KURS C/C++ WYKŁAD 6. Wskaźniki

KURS C/C++ WYKŁAD 6. Wskaźniki Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres 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

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI

UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI INSTRUKCJA DO ĆWICZENIA I Algorytmizacja zadań, struktura programu Opracował: dr inż. Marcin Drechny

Bardziej szczegółowo

#include int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej 1. Pozycyjne systemy liczbowe 2. Zasady zapisu liczb w pozycyjnych systemach liczbowych 3. Podstawowe działania na liczbach binarnych 4. Liczby

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

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

1. System pozycyjny zapisu liczb

1. System pozycyjny zapisu liczb W.K.: Kody i liczby 1. System pozycyjny zapisu liczb Oznaczenia: R - podstawa pozycyjnego systemu liczenia (liczba naturalna) L - wartość liczby a i - cyfra ; a i {0,1,.., R-1} Zapis liczby (łańcuch cyfr):

Bardziej szczegółowo

Programowanie (C++) NI 5

Programowanie (C++) NI 5 Forma kształcenia i sposób weryfikacji efektów kształcenia Efekty kształcenia WYDZIAŁ FIZYKI UwB kierunek studiów: FIZYKA specjalność: FIZYKA KOD USOS: 0900 FS1 2 PRO Karta przedmiotu Przedmiot moduł ECTS

Bardziej szczegółowo

Ćwiczenie 3. Konwersja liczb binarnych

Ćwiczenie 3. Konwersja liczb binarnych 1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się

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

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

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

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

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

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za

Bardziej szczegółowo

Podprogramy. Procedury

Podprogramy. Procedury Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Podstawy Systemów Liczbowych

Podstawy Systemów Liczbowych HTTP://WWW.HAKERZY.NET 001 Krzysztof Kryczka Podstawy Systemów Liczbowych Wersja: 1.0 Będzin, dn. 03-11-2010 r. Copyright by Krzysztof Kryczka (gsystem) Data: 03.11.2010 Wydanie I Darmowy poradnik, dostarczony

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