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,

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

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

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne

Bardziej szczegółowo

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

Bardziej szczegółowo

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: accept - typy zawartości MIME akceptowane przez serwer (opcjonalny) accept-charset - zestaw znaków akceptowanych

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

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

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. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. Ważne terminy: Java DevelopRment

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

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

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok

Bardziej szczegółowo

Pracownia Komputerowa wykład VI

Pracownia Komputerowa wykład VI Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1

Bardziej szczegółowo

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych

Bardziej szczegółowo

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5. Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach

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

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja

Bardziej szczegółowo

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy

Bardziej szczegółowo

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI Ćwiczenia i laboratorium 2 Kolokwia zaliczeniowe - 1 termin - poniedziałek, 29 stycznia 2018 11:30

Bardziej szczegółowo

Pracownia Komputerowa wyk ad VI

Pracownia Komputerowa wyk ad VI Pracownia Komputerowa wyk ad VI dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Przypomnienie 125 (10) =? (2) Liczby ca kowite

Bardziej szczegółowo

Odczyt danych z klawiatury Operatory w Javie

Odczyt danych z klawiatury Operatory w Javie Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje

Bardziej szczegółowo

Program w C. wer. 12 z drobnymi modyfikacjami! Wojciech Myszka :59:

Program w C. wer. 12 z drobnymi modyfikacjami! Wojciech Myszka :59: Program w C wer. 12 z drobnymi modyfikacjami! Wojciech Myszka 2018-06-29 14:59:06 +0200 Tak wygląda program w języku C 1 /* H e l l o World i n C, Ansi s t y l e */ 2 # i n c l u d e < s t d i o. h> 3

Bardziej szczegółowo

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Materiały pomocnicze do wykładu 3 - Elementy języka Java Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648

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

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Pracownia Komputerowa wykład V

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

Bardziej szczegółowo

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

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami

Bardziej szczegółowo

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28:

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28: Program w C wer. 10 z drobnymi modyfikacjami! Wojciech Myszka 2015-05-02 18:28:29 +0200 Tak wygląda program w języku C 1 / Hello World in C, Ansi s t y l e / 2 #include < s t d i o. h> 3 i n t main ( void

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

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami

Bardziej szczegółowo

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski Wykład 2 Wejście i wyjście - funkcje scanf i printf Operator przypisania prostego Operatory arytmetyczne Kolejność wykonywania operacji Operatory przypisania arytmetycznego Operatory inkrementacji/dekrementacji

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

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

Wstęp do informatyki- wykład 1 Systemy liczbowe

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

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. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 4 Jan Kazimirski 1 Reprezentacja danych 2 Plan wykładu Systemy liczbowe Zapis dwójkowy liczb całkowitych Działania arytmetyczne Liczby rzeczywiste Znaki i łańcuchy znaków

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

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

Bardziej szczegółowo

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

Wstęp do informatyki- wykład 2

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

Bardziej szczegółowo

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania http://torus.uck.pk.edu.pl/~fialko Operatory, wyrażenia, instrukcja przypisania Operatory arytmetyczne * / + - % operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.

Bardziej szczegółowo

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy

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

Bardziej szczegółowo

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

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

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Programowanie strukturalne język C - wprowadzenie

Programowanie strukturalne język C - wprowadzenie Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

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

Systemy zapisu liczb.

Systemy zapisu liczb. Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:

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

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE 1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne

Bardziej szczegółowo

Języki i metody programowania. Omówienie języków C, C++ i Java

Języki i metody programowania. Omówienie języków C, C++ i Java Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC

Bardziej szczegółowo

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

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

Bardziej szczegółowo

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa. INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa http://www.infoceram.agh.edu.pl http://home.agh.edu.pl/~grzesik/ KONSULTACJE Zbigniew Grzesik środa, 9 ; A-3, p. 2 tel.: 67-249 e-mail: grzesik@agh.edu.pl

Bardziej szczegółowo

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe ARCHITEKTURA KOMPUTERÓW 17.11.2010 Liczby zmiennoprzecinkowe Sprawa bardzo podobna jak w systemie dziesiętnym po przecinku mamy kolejno 10-tki do ujemnych potęg, a w systemie binarnym mamy 2-ki w ujemnych

Bardziej szczegółowo

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================

Bardziej szczegółowo

Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia Krzysztof Banaś Podstawy programowania 1 Typy danych Podstawowe wbudowane typy danych języka C: _Bool 0 i 1 (C99) znaki (char) 7

Bardziej szczegółowo

Arytmetyka binarna - wykład 6

Arytmetyka binarna - wykład 6 SWB - Arytmetyka binarna - wykład 6 asz 1 Arytmetyka binarna - wykład 6 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Arytmetyka binarna - wykład 6 asz 2 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2

Bardziej szczegółowo

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com

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

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

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

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo