Klasyfikacja typów w C++

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

Download "Klasyfikacja typów w C++"

Transkrypt

1 Klasyfikacja typów w C++ Typy języka C++ można na przykład podzielić na: typy fundamentalne (podstawowe, proste), typy złożone (pochodne). Te same typy ze względu na autora ich definicji dzielimy na: typy wbudowane (standardowe, predefiniowane), typy definiowane przez programistę. 44 Klasyfikacja typów w C++ Typy fundamentalne: typy całkowite, typy zmiennoprzecinkowe (rzeczywiste), typ logiczny (boolowski), typy znakowe, typy wyliczeniowe, typ pusty. Typy złożone będą omawiane w dalszej części wykładu. 45 dr inż. P. Borowiecki (KAMS, WETI, PG) 1

2 Klasyfikacja typów w C++ Definicja typu określa między innymi: nazwę typu, zbiór wartości, które mogą przyjmować zmienne tego typu, sposób zapisu wartości, operacje, które można wykonywać na wartościach oraz zmiennych tego typu i odpowiadające im operatory. Typy predefiniowane o tych samych nazwach mogą mieć różne realizacje, tzn. zakresy, reprezentację wewnętrzną oraz dokładność zależną od platformy (procesor, kompilator). 46 Typy 1 47 dr inż. P. Borowiecki (KAMS, WETI, PG) 2

3 Typy całkowite Zmienne tych typów służą do reprezentacji liczb całowitych. short int int long int w skrócie short w skrócie long Każdy z wymienionych typów ma dwa warianty: ze znakiem (wariant domyślny), bez znaku. Wariant ustalamy przez specyfikator signed albo unsigned. signed short int signed int signed long int unsigned short int unsigned int unsigned long int W definicji zmiennej x: unsigned long int x; 48 Typy całkowite ( zakresy wartości ) Najczęściej spotykane wartości dla aplikacji 32-bitowych. nazwa typu bajty zakres wartości short int signed short int unsigned short int int signed int unsigned int long int signed long int unsigned long int dr inż. P. Borowiecki (KAMS, WETI, PG) 3

4 Typy całkowite ( wewnętrzne reprezentacje danych ) aplikacje 16-bitowe int 2 bajty 15 0 long int 4 bajty 31 aplikacje 32-bitowe 0 short int 2 bajty int long int bajty 50 Typy zmiennoprzecinkowe Zmienne tych typów służą do reprezentacji liczb rzeczywistych. float ( ang. floating point zmienny przecinek ) double ( ang. double precision - podwójna precyzja ) long double ( rozszerzona dokładność ) W definicji zmiennej x: long double x; Typy zmiennoprzecinkowe różnią się nie tylko zakresem dopuszczalnych wartości ale również dokładnością ich reprezentacji. float 3.4 e e+38 double 1.7 e e+308 long double 3.4 e e+4932 Wartości dla aplikacji 32-bitowych 51 dr inż. P. Borowiecki (KAMS, WETI, PG) 4

5 Typy zmiennoprzecinkowe ( wewnętrzne reprezentacje danych ) float aplikacje 32-bitowe 4 bajty double 0 8 bajtów long double 0 10 bajtów znak wykładnika - wykładnik - znak liczby - mantysa 52 Przykład Stałe dosłowne W treści programów często posługujemy się literałami (ciągami znaków), które reprezentują stałe wartości określonego typu. float x = 12.34; k = k + 14; znak = * ; ciag_znakow = język C++ ; koniec = true; stała rzeczywista 14 stała całkowita * stała znakowa język C++ stała napisowa true stała logiczna... itp. 53 dr inż. P. Borowiecki (KAMS, WETI, PG) 5

6 Stałe dosłowne reprezentujące liczby całkowite Zapis liczb całkowitych ósemkowych zaczynamy od 0 (zero): w systemie dziesiętnym (1*8 + 0*1 = 8) w systemie dziesiętnym (1*8 + 4*1 = 12) błąd, bo w systemie ósemkowym nie ma cyfry 9 Zapis liczby całkowitych szesnastkowych zaczynamy od 0x: 0x10-16 w systemie dziesiętnym (1*16 + 0*1 = 16) 0xa1-161 w systemie dziesiętnym (10*16 + 1*1 = 161) 0xff w systemie dziesiętnym (15* *1 = 255) 0,...,9,a,...,f cyfry szesnastkowe (małe i duże litery zamiennie) 54 Stałe dosłowne reprezentujące liczby całkowite Stałe całkowite traktuje się domyślnie jako typu int, chyba że reprezentują duże liczby, które wykraczają poza zakres int. Wówczas stałe takie są typu long. Można wymusić zmianę typu stałej z typu int na typ long nawet dla niewielkiej liczby. Robi się to przez dopisanie na końcu literału litery L lub l. Przykład 0L 123L Jeśli chcemy by liczba miała typ unsigned, należy dodatkowo dopisać na końcu literę u. Przykład 213u 34uL 55 dr inż. P. Borowiecki (KAMS, WETI, PG) 6

7 Stałe dosłowne reprezentujące liczby całkowite #include <iostream> using namespace std; int main () int i; int k; i = 5; k = i + 010; cout << "k = " << k << endl; cout << "wypisujemy: " << 0x22 << " " << 022 << " " << 22 << endl; system("pause"); return 0; k = 13 wypisujemy: Aby kontynuować, naciśnij dowolny klawisz Stałe dosłowne zmiennoprzecinkowe e2 12.3e e 3.2e4 5e2 oznacza 5 * 10 2 czyli e4 oznacza 32.5 * 10 4 czyli e-3 oznacza 7.3 * 10-3 czyli Domyślnie stałe zmiennoprzecinkowe są typu double. Aby stała była typu float dopisujemy f lub F f 7.3e-3f 57 dr inż. P. Borowiecki (KAMS, WETI, PG) 7

8 Operatory arytmetyczne Operator Działanie Przykład * mnożenie a = b * c; / dzielenie a = b / c; % reszta z dzielenia (modulo) a = b % c; + dodawanie a = b + c; - odejmowanie a = b - c; Operator % można stosować wyłącznie do operandów całkowitych. 25 / / / / % % % 2 0 tzn. 18 jest liczbą parzystą Typ rezultatu może zależeć od typu operandów. W zależności od typu operandów kompilator może dokonać niejawnej konwersji ich typów, np. dla 25 / 7. konwersja 25 do typu double. 58 Wybrane funkcje matematyczne sin sinus x (w radianach) double sin ( double ); cos cosinus x (w radianach) double cos ( double ); tan tangens x (w radianach) double tan ( double ); Przyjęto następującą konwencję opisu prototyp funkcji double fun ( double, double ); nazwa funkcji typ rezultatu funkcji typy parametrów funkcji 59 dr inż. P. Borowiecki (KAMS, WETI, PG) 8

9 Wybrane funkcje matematyczne acos arkus cosinus x double acos ( double ); asin arkus sinus x double asin ( double ); atan arkus tangens x double atan ( double ); sqrt pierwiastek kwadratowy z x double sqrt ( double ); exp funkcja wykładnicza e x double exp ( double ); abs wartość bezwzględna z całkowitego x int abs ( int ); <cstdlib> 60 Wybrane funkcje matematyczne fabs wartość bezwzględna z rzeczywistego x double fabs ( double ); ceil najmniejsza liczba całkowita nie mniejsza niż x double ceil ( double ); floor największa liczba całkowita nie większa niż x double floor ( double ); log logarytm naturalny double log ( double ); log10 logarytm o podstawie 10 double log10 ( double ); 61 dr inż. P. Borowiecki (KAMS, WETI, PG) 9

10 Wybrane funkcje matematyczne fmod reszta z dzielenia x/y w postaci liczby zmiennoprzecinkowej double fmod ( double, double ); pow potęga x y double pow ( double, double ); pow10 potęga 10 p double pow10 ( int ); rand liczba losowa z zakresu <0,RAND_MAX>, <cstdlib> gdzie RAND_MAX jest stałą z biblioteki cstdlib o wartości co najmniej największej liczby dwubajtowej tzn. RAND_MAX > int rand (); srand - inicjalizacja generatora liczb losowych void srand (unsigned int ); <cstdlib> 62 x 1.5 Przykłady wyrażeń arytmetycznych 1.5ln x = e exp( 1.5*log(x) ) pow( x, 1.5 ) a b b a c = e a cln b b a = e c( bln a alnb) exp( c * ( b*log(a) a*log(b) ) ) a x+ y n = e ( x+ y n )ln a = e ( x+ e n ln y )ln a exp( log(a) * ( x + exp( n * log(y) ) ) ) pow( a, x + pow( y, n ) ) Uwaga: standard C++ nie określa kolejności wartościowania wyr. arytm. Nie wszystkie języki programowania mają odpowiednik funkcji pow. 63 dr inż. P. Borowiecki (KAMS, WETI, PG) 10

11 Różne operatory przypisania zmienna opr wyrażenie; opr zapis skrócony równoważny zapis rozwinięty += a += b a = a + b -= a -= b a = a b /= a /= b a = a / b %= a %= b a = a % b... oraz inne operatory konstruowane zgodnie z tym samym schematem, w tym operatory bitowe. 64 Wybrane funkcje matematyczne (generowanie liczb losowych) Wartości zwracane przez funkcję rand należą do przedziału <0,RAND_MAX> Aby otrzymać liczbę losową x z przedziału <0,b> x = rand() % (b + 1) Liczbę losową x z <a,b> dla nieujemnego a generujemy x = a + rand() % (b a + 1) Generator liczb pseudolosowych można zainicjować np. srand(time(0)) gdzie time(0) z biblioteki ctime zwraca bieżący czas w sek. 65 dr inż. P. Borowiecki (KAMS, WETI, PG) 11

12 Instrukcje sterujące 1 66 Instrukcje sterujące Wykonanie programu jest wykonaniem pewnego ciągu instrukcji. W zależności od przetwarzanych danych wykonaniu tego samego programu mogą odpowiadać różne ciągi instrukcji. O tym, która instrukcja zostanie wykonana jako następna decydują tzw. instrukcje sterujące. Podstawowe rodzaje instrukcji sterujących: sekwencja, wybór, iteracja: iteracja ograniczona, iteracja warunkowa. 67 dr inż. P. Borowiecki (KAMS, WETI, PG) 12

13 Sekwencja Najpierw wykonaj P, potem wykonaj Q. P Q P i Q mogą reprezentować zarówno proste instrukcje jak i całe bloki algorytmu. 68 Problem [zamiana zawartości] Sekwencja Dane: trzy jednakowe pojemniki A, B, C. A - pełny, B - pełny, C - pusty. Cel: zamienić ze sobą zawartość pojemików A i B, dysponując urządzeniem, przekładającym zawartość pojemnika pełnego do pustego. A (2) B (1) C (3) 69 dr inż. P. Borowiecki (KAMS, WETI, PG) 13

14 Program [zamiana zawartości] (1) C A (2) A B (3) B C Sekwencja Czy można problem zamiany rozwiązać dysponując mniejszą ilością zasobów, tzn. dwoma pojemnikami? A (2) B (1) C (3) 70 Sekwencja Problem [zamiana liczbowej zawartości] Dane: dwa jednakowe pojemniki A i B. Każdy zawiera liczbę. Cel: zamienić ze sobą zawartość pojemików A i B, dysponując urządzeniem, pobierającym liczby z obu pojemników i obliczającym ich sumę albo różnicę oraz zapisującym wynik do wskazanego pojemnika. A A+B A-B B-A B Uwaga na błędy zaokrągleń i przybliżoną reprezentację wartości! 71 dr inż. P. Borowiecki (KAMS, WETI, PG) 14

15 Sekwencja Problem [zamiana liczbowej zawartości] Dane: dwa jednakowe pojemniki A i B. Każdy zawiera liczbę. Cel: zamienić ze sobą zawartość pojemików A i B, dysponując urządzeniem, pobierającym liczby z obu pojemników i obliczającym ich sumę albo różnicę oraz zapisującym wynik do wskazanego pojemnika. A B A+B A-B B-A A A +B B A - B A A - B Sekwencja Uwagi dotyczące dwóch sposobów zamiany Kluczem do zrozumienia działania drugiego sposobu jest spostrzeżenie, że dysponując wartością sumy obu liczb i wartością jednej z nich można obliczyć wartość drugiej liczby (zaniedbując błędy zaokrągleń). Drugi sposób działa tylko na danych liczbowych. Potrafi jednak zamienić zawartość dwóch obiektów nie używając obiektu pomocniczego. Drugi przykład pokazuje, że dokładna specyfikacja dopuszczalności danych wejściowych (dane są liczbami) może pomóc projektantowi w skonstruowaniu lepszego (wymagającego mniej pamięci) rozwiązania. Zastosowanie dodatkowego urządzenia nie ogranicza zastosowań drugiego rozwiązania czynności realizowane przez to urządzenie wykonywane są w naturalny sposób przez procesor, natomiast poszczególne pojemniki można utożsamiać z obszarami pamięci. 73 dr inż. P. Borowiecki (KAMS, WETI, PG) 15

16 Sekwencja // // Program zamienia wartości dwóch zmiennych // #include <iostream> using namespace std; int main () int A, B; int buf; cout << "Podaj wartość pierwszej zmiennej: "; cin >> A; cout << "Podaj wartość drugiej zmiennej: "; cin >> B; cout << "Przed zamianą: " << " A = " << A << " B = " << B << endl; buf = A; A = B; B = buf; cout << "Po zamianie: " << " A = " << A << " B = " << B << endl; system("pause"); return 0; 74 Sekwencja // // Obliczanie wartości wielomianu stopnia 3 wg schematu Hornera // ax^3 + bx^2 + cx + d = ( ( ax + b ) x + c) x + d // #include <iostream> using namespace std; int main () double x, y, a, b, c, d; cout << "Podaj współczynniki a, b, c, d wielomianu: "; // kaskadowe czytanie z cin w kolejności a,...,d cin >> a >> b >> c >> d; cout << "Podaj wartość argumentu x: "; cin >> x; y = a; y = y * x + b; y = y * x + c; y = y * x + d; cout << "Wartość wielomianu: " << y << endl; system("pause"); return 0; 75 dr inż. P. Borowiecki (KAMS, WETI, PG) 16

17 Typy 2 76 Typ logiczny (boolowski) Zmienne tego typu służą do reprezentacji dwóch wartości logicznych: prawda (ang. true) i fałsz (ang. false). Nazwa typu: bool W definicji zmiennej flaga: bool flaga; Stałe dosłowne false true Wartości logiczne true i false wyrażeń logicznych mają reprezentację wewnętrzną taką jak liczby całkowite 0 i 1 Język C nie posiada wyróżnionego typu logicznego. Czasami w C++ korzysta się z faktu, że tak jak w języku C liczba całkowita równa 0 interpretowana jest jako false, podczas gdy dowolna liczba całkowita różna od 0 interpretowana jest jako wartość true. 77 dr inż. P. Borowiecki (KAMS, WETI, PG) 17

18 Operatory relacji Operator Działanie Przykład < mniejszy a < b <= mniejszy lub równy a <= b > większy a > b >= większy lub równy a >= b == równy a == b!= różny a!= b Podczas porównywania dwóch elementów, jeden typu rzeczywistego a drugi całkowitego, wykonywana jest automatyczna konwersja reprezentacji wewnętrznej elementu typu całkowitego na reprezentację odpowiednią dla typu rzeczywistego a następnie porównywane są dwie liczby rzeczywiste. Wynik działania operatora relacji czyli wynik porównania jest typu logicznego. 78 Operatory i wyrażenia logiczne Operator Działanie Przykład! negacja! a && koniunkcja (iloczyn logiczny) a && b alternatywa (suma logiczna) a b Operator! jest operatorem jednoargumentowym. bool p = true; bool q = false; int zero = 0; int nzero = 5; cout << ( p q ) << endl; cout << ( p && q ) << endl; cout <<!( p && q ) << endl; cout << (!p && q ) << endl; cout << ( p && zero ) << endl; cout << ( p && nzero ) << endl; cout << (!nzero ) << endl; cout << (!zero ); _ 79 dr inż. P. Borowiecki (KAMS, WETI, PG) 18

19 true Operatory i wyrażenia logiczne!p // p jest zmienną typu bool true && ( x <= y ) ( x > y ) && ( x > z ) ( ( x == y) ( x == z)) && ( x!= w ) p = ( x < 18 ); // ważna konstrukcja! czy_grac = (jest_publicznosc && chce_sluchac); Operatory &&,,! mają swoje odpowiedniki and, or i not. Na przykład jest równoważne ( x > y ) && ( x > z ) ( x > y ) and ( x > z ) 80 Wartościowanie wyrażeń logicznych Wyrażenia logiczne wartościowane są od lewej do prawej z uwzględnieniem nawiasów ale tylko do momentu, gdy wartość jest jednoznacznie określona. int x = 0; int y = 10; int z = -1; bool p; p = ( x > y ) and ( x > z ); Po wyznaczeniu wartości wyrażenia ( x > y ), która wynosi false wiadomo już, że wartość całej koniunkcji wynosi false. Dlatego wyrażenie ( x > z ) nie będzie już wartościowane. 81 dr inż. P. Borowiecki (KAMS, WETI, PG) 19

20 Priorytet operatorów logicznych Priorytet operatorów logicznych && i jest niższy od priorytetu operatorów relacji W szczególności jest równoważne <, <=, >, >=, ==,!= p = ( x > y ) && ( x > z ); p = ( x > y && x > z ); Rozsądne stosowanie dodatkowych nawiasów podnosi jednak czytelność skomplikowanych wyrażeń. 82 Priorytet wybranych operatorów Priorytety, przypisane operatorom oraz nawiasy pozwalają na jednoznaczne ustalenie kolejności w jakiej operatory te będą stosowane. ( ) nawiasy [ ] indeks tablicy * dereferencja ++ postinkrementacja new, new[], delete, delete[] -- postdekrementacja * mnożenie operatory rzutowania / dzielenie ++ preinkrementacja % dzielenie modulo -- predekrementacja + dodawanie + operator zachowania znaku - odejmowanie - operator zmiany znaku operatory relacji <, <=, >,! negacja logiczna && iloczyn logiczny & pobranie adresu suma logiczna Pamiętaj aby sprawdzić priorytet każdego nowopoznanego operatora. 83 dr inż. P. Borowiecki (KAMS, WETI, PG) 20

21 Instrukcje sterujące 2 84 Wybór Jeżeli W, to wykonaj P, w przeciwnym przypadku wykonaj Q. W Fałsz Prawda P Q W jest wyrażeniem logicznym (warunkiem). P i Q mogą reprezentować zarówno proste instrukcje jak i całe bloki algorytmu. 85 dr inż. P. Borowiecki (KAMS, WETI, PG) 21

22 Wybór Problem [wyznaczenie największej spośród trzech liczb] Dane: trzy dowolne, różne liczby A, B, C. Cel: wyznaczyć największą spośród danych liczb, czyli maxa,b,c. 86 Wybór B nie jest największa START A B C A nie jest największa Prawda A > B Fałsz Prawda A > C Fałsz Prawda B > C Fałsz A C B C STOP 87 dr inż. P. Borowiecki (KAMS, WETI, PG) 22

23 Wybór Problem [wyznaczenie największej spośród trzech liczb] Dane: trzy dowolne, różne liczby A, B, C. Cel: wyznaczyć największą spośród danych liczb, czyli maxa,b,c. Program [ max3 ] (1) Jeżeli A > B (1.1) to jeżeli A > C (1.1.1) to A jest największa (1.1.2) w przeciwnym przypadku C jest największa (1.2) w przeciwnym przypadku jeżeli B > C (1.2.1) to B jest największa (1.2.2) w przeciwnym przypadku C jest największa 88 Wybór START A B C (1.1) Prawda A > B Fałsz (1.2) Prawda A > C Fałsz Prawda B > C Fałsz A C B C STOP 89 dr inż. P. Borowiecki (KAMS, WETI, PG) 23

24 Wybór START A jak rozwiązać problem A B C wyboru największej spośród 4 danych liczb? Prawda Fałsz A > B A jak rozwiązać problem wyboru największej spośród 5 danych liczb? Prawda Fałsz Prawda Fałsz A > C B > C A jak rozwiązać problem wyboru największej spośród 6 danych liczb? A C B C... STOP 90 Instrukcja warunkowa if Instrukacja warunkowa może mieć jedną z dwóch postaci: (1) (2) if ( warunek ) instrukcja_1; if ( warunek ) instrukcja_1; else instrukcja_2; Warunek może być dowolnym wyrażeniem logicznym. (1) Jeżeli wyrażenie to ma wartość true, to wykonywana jest instrukcja_1 a jeżeli false, to nie. (2) Jeżeli wyrażenie to ma wartość true, to wykonywana jest instrukcja_1 a jeżeli false, to instrukcja_2. 91 dr inż. P. Borowiecki (KAMS, WETI, PG) 24

25 Instrukcja warunkowa if Zarówno instrukcja_1 jak i instrukcja_2 mogą być prostymi pojedyńczymi instrukcjami albo blokami. if ( warunek ) instrukcja_1; else instrukcja_2; if ( warunek ) instrukcja_1; else instrukcja_2_1; instrukcja_2_2; // Instrukcja warunkowa if Instrukcje warunkowe można zagnieżdżać. if ( warunek_a ) if ( warunek_b ) instrukcja_1; else instrukcja_2_1; instrukcja_2_2; //... Słowo kluczowe else odnosi się zawsze do najbliższego poprzedzającego if, chyba że nawiasy klamrowe stanowią inaczej. 93 dr inż. P. Borowiecki (KAMS, WETI, PG) 25

26 Instrukcja warunkowa if Poprzednią konstrukcję można więc zapisać następująco. if ( warunek_a ) if ( warunek_b ) instrukcja_1; else instrukcja_2_1; instrukcja_2_2; //... Wcięcia ułatwiają interpretację struktury logicznej programu. 94 Instrukcja warunkowa if Przykład użycia nawiasów do zmiany priorytetu wiązania else. if ( warunek_a ) if ( warunek_b ) //... else instrukcja_2_1; instrukcja_2_2; // dr inż. P. Borowiecki (KAMS, WETI, PG) 26

27 // Obliczenie wartości funkcji f(x) w punkcie x. // f(x) = 1/(x^2 + 1), dla x <= 0 // f(x) = ln x, dla x > 0 // #include <iostream> #include <iomanip> using namespace std; int main () double x, f; cout << "Podaj wartość x: "; cin >> x; if (x <= 0) f = 1./(x*x + 1); else f = log(x); cout << "Dla x = "; cout << setw(4); cout << setprecision(1); cout << x << " mamy f(x) = "; cout << setw(5); cout << f; return 0; Instrukcja warunkowa if // funkcje formatowania strumieni we/wy Podaj wartość x: -2 Dla x = -2 mamy f(x) = Instrukcja warunkowa if // // Wyznaczenie największej spośród trzech danych liczb // Wejście: a, b, c różne liczby. Wyjście: maxa,b,c // #include <iostream> using namespace std; int main () double a, b, c; cout << "Podaj liczby a, b, c: "; cin >> a >> b >> c; if(a>b) if(a>c) cout<<"najwieksza liczba to " << a << endl; else cout<<"najwieksza liczba to " << c << endl; else if(b>c) cout<<"najwieksza liczba to " << b << endl; else cout<<"najwieksza liczba to " << c << endl; system("pause"); return 0; 97 dr inż. P. Borowiecki (KAMS, WETI, PG) 27

28 Instrukcja warunkowa if // // Program oblicza stopień na podstawie liczby punktów // pkt pkt. - 3 // pkt pkt. - 4 // pkt pkt. - 5 // #include <iostream> #include <iomanip> using namespace std; int main () int lp; float stopien; cout << "Podaj liczbę punktów (0 <= lp <= 100): "; cin >> lp; if (lp <= 49) stopien = 2; else if (lp <= 59) stopien = 3; else if (lp <= 69) stopien = 3.5; else if (lp <= 79) stopien = 4; else if (lp <= 89) stopien = 4.5; else stopien = 5; cout << "Twoja ocena: " << stopien << endl; return 0; 98 // // Program oblicza stopień na podstawie liczby punktów // pkt pkt. - 3 // pkt pkt. - 4 // pkt pkt. - 5 // #include <iostream> #include <iomanip> using namespace std; int main () int lp; float stopien; Instrukcja warunkowa if Dla ciągu if-else-if wielu programistów preferuje zapis bez wcięć cout << "Podaj liczbę punktów (0 <= lp <= 100): "; cin >> lp; if (lp <= 49) stopien = 2; else if (lp <= 59) stopien = 3; else if (lp <= 69) stopien = 3.5; else if (lp <= 79) stopien = 4; else if (lp <= 89) stopien = 4.5; else stopien = 5; cout << "Twoja ocena: " << stopien << endl; return 0; 99 dr inż. P. Borowiecki (KAMS, WETI, PG) 28

29 Instrukcja warunkowa switch switch (wyrażenie) case wart_1 : instr_1; break; case wart_2 : instr_2; break; case wart_n : instr_n; break; default : instr_(n+1); break; 100 Instrukcja switch obliczane jest wyrażenie umieszczone w nawiasach po słowie switch. jeżeli jego wartość odpowiada którejś z wartości podanej w jednej z etykiet case, wówczas wykonywane są instrukcje począwszy od tej etykiety. Wykonywanie ich kończy się po napotkaniu instrukcji break. Działanie instrukcji switch zostaje wówczas zakończone. jeżeli wartość wyrażenia nie zgadza się z żadną z wartości podanych w etykietach case, wówczas wykonywane są instrukcje umieszczone po etykiecie default. etykieta default może być umieszczona w dowolnym miejscu instrukcji switch, nawet na samym jej początku. Co więcej, etykiety default może nie być wcale. Wówczas, jeśli w zbiorze etykiet case nie ma żadnej etykiety równej wartości wyrażenia, efekt jest taki jakby instrukcja switch nie została wykonana. instrukcje występujące po etykiecie case nie muszą kończyć się instrukcją break. Jeśli jej nie umieścimy, to będą wykonywane instrukcje umieszczone pod następną etykietą case. 101 dr inż. P. Borowiecki (KAMS, WETI, PG) 29

30 Przykład Instrukcja switch // // Program oblicza stopień na podstawie liczby otrzymanych // punktów. Kryteria: // pkt. - 2 // pkt. - 3 // pkt // pkt. - 4 // pkt // pkt. - 5 // #include <iostream.h> #include <iomanip.h> int main () int lp; float stopien; cout << "Podaj liczbę punktów (0 <= lp <= 109): "; cin >> lp; lp = lp/10; Instrukcja switch switch (lp) case 5 : stopien = 3; break; case 6 : stopien = 3.5; break; case 7 : stopien = 4; break; case 8 : stopien = 4.5; break; case 9 : case 10 : stopien = 5; break; default : stopien = 2; break; cout << "Twoja ocena: " << setw(3) << setprecision(1) << stopien << endl; return 0; 103 dr inż. P. Borowiecki (KAMS, WETI, PG) 30

31 Wyrażenie warunkowe ( warunek )? wartość1 : wartość2 Jeżeli warunek jest spełniony, to wartością wyrażenia jest wartość1, w przeciwnym razie wartość2. ( i > 5)? 15 : 20 c = ( x > y )? 17 : 56; Przykład [ wyznaczenie największej spośród trzech liczb ]... cin >> a >> b >> c; int m = (a > b)? a : b; int max = (m > c)? m : c; cout << max; dr inż. P. Borowiecki (KAMS, WETI, PG) 31

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 Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

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

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

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

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

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 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ż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu

Bardziej szczegółowo

4. Funkcje. Przykłady

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

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

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

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

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

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

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

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

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

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji

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

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

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

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

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne 1 Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) Liczby, znaki, napisy, operatory logiczne, stałe. Pętle typu while.

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) Liczby, znaki, napisy, operatory logiczne, stałe. Pętle typu while. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) dr hab. inż. Barbara Putz, prof. PW bputz@mchtr.pw.edu.pl godziny konsultacji: poniedz. 12:30-14:00,

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

Struktura pliku projektu Console Application

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

Bardziej szczegółowo

Funkcje matematyczne w C. Programowanie w C Marek Pudełko

Funkcje matematyczne w C. Programowanie w C Marek Pudełko Funkcje matematyczne w C Programowanie w C Marek Pudełko Używanie funkcji matematycznych W standardowym ANSI C jest możliwe skorzystanie z 22 funkcji matematycznych. By to zrobić, do programu należy włączyć

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

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 2 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Liczby Korzystanie z liczn C++ zna różne rodzaje liczb (różne typy liczbowe) i potrafi wykonywać na nich różne operacje

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

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

#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 ); }

#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

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

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 5 - konwersja i rzutowanie oraz wprowadzenie do klasy Round i Math mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 9 listopada 2018 1 / 23 mgr

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

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

Wstęp do programowania

Wstęp do programowania wykład 2 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Inicjalizacja zmiennych Zmiennej możemy nadać wartość już w momencie jej definiowania (inicjalizacja zmiennej). Przypisywana

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

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

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

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else

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

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji

Bardziej szczegółowo

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie. Funkcje Deklaracja funkcji typ funkcji identyfikator_funkcji(lista parametrów formalnych); Typ funkcji określa typ wartości zwracanej przez funkcję (typ zdefiniowany pierwotnie jak int, typ zdefiniowany

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów

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

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

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

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Wyrażenie warunkowe operator selekcji Instrukcja switch

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Wyrażenie warunkowe operator selekcji Instrukcja switch 1 Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Wyrażenie warunkowe operator selekcji Instrukcja switch Treści prezentowane w wykładzie zostały oparte o:

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

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmika i programowanie dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmy i sposoby ich przedstawiania Algorytm - informatyczny opis planu rozwiązania zadania Sposoby

Bardziej szczegółowo

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i

Bardziej szczegółowo

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

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

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

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 języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

1. Wypisywanie danych

1. Wypisywanie danych 1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout

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

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

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość. Typy danych Aby zapisać w komputerze jakąś daną, trzeba zapamiętać trzy jej podstawowe cechy: miejsce przechowywania informacji, przechowywaną wartość, rodzaj przechowywanej wartości. Typ użyty w deklaracji

Bardziej szczegółowo

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Wyrażenia c.d. Pętle typu while.

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Wyrażenia c.d. Pętle typu while. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Język programowania: Środowisko programistyczne: C/C++ Qt Creator Wykład 2: Wyrażenia c.d. Pętle

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

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

Stałe. Funkcje standardowe. Niektóre stałe i funkcje z pliku nagłówkowego math.h. M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2

Stałe. Funkcje standardowe. Niektóre stałe i funkcje z pliku nagłówkowego math.h. M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 Niektóre stałe i funkcje z pliku nagłówkowego math.h. Stałe Identyfikator M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 M_1_PI M_2_PI M_1_SQRTPI M_2_SQRTPI Znaczenie e log 2 (e) log 10 (e) ln(2)

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

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

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

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

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

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

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 4 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 4 1 NAPISY W C++ Tablice znakowe (typu char) kłopotliwe w użyciu Biblioteka standardowa C++ ma zaimplementowaną uogólnioną klasę napisów zwaną string

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

Struktury Struktura polami struct struct struct struct

Struktury Struktura polami struct struct struct struct Struktury Struktura jest zbiorem zmiennych występujących pod wspólna nazwą. Zmienne wchodzące w skład struktury nazywane są polami lub elementami, a czasem członkami struktury. Struktury używamy, jeśli

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

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

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

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

Instrukcje sterujące

Instrukcje sterujące Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:

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

Wyrażenia arytmetyczne

Wyrażenia arytmetyczne Wyrażenia arytmetyczne Do budowania wyrażeń w języku C używa się operatorów jednoargumentowych oraz dwuargumentowych. Podstawowy operator jednoargumentowy to operator zmiany znaku (-), który jest prawostronnie

Bardziej szczegółowo