PODSTAWY PROGRAMOWANIA

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

Download "PODSTAWY PROGRAMOWANIA"

Transkrypt

1 PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright by Andrzej Marciniak PP-6(1 z 82)

2 Na poprzednim wykładzie... P typy danych i ich opis (typy opisujące obiekty, typy wskaźnikowe, proceduralne, wariantowe, zagnieżdżone definicje typów, zgodność typów) Pzmienne (deklaracje zmiennych, zmienne ideksowane, rekordowe, obiektowe, dynamiczne, proceduralne, wariantowe, wątkowe, z początkową wartością, nakładanie zmiennych, literały stałe i zmienne) PP-6(2 z 82)

3 Na tym wykładzie... P wyrażenia rodzaje operatorów i ich priorytet składnia wyrażenia wyrażenia stałe przeciążanie operatorów P instrukcje instrukcje proste (przypisania, skoku i pusta) instrukcje strukturalne (złożona i warunkowe) PP-6(3 z 82)

4 Wyrażenie jest zapisem algorytmu określającego sposób obliczania pewnej wartości i składa się z sensownej kombinacji operatorów i argumentów (operandów), które same mogą być też wyrażeniami. Wyrażenie nie stanowi samoistnej instrukcji języka Delphi, a jedynie jest jej częścią składową. PP-6(4 z 82)

5 Operatory dzielimy na: Parytmetyczne, P logiczne, P relacyjne, P teoriomnogościowe, P operator konkatenacji, P wariantowe, P P wskaźników znaków (pomijamy), PP-6(5 z 82) P odwołań do klas i obiektów.

6 Priorytet operatorów W celu jednoznacznego przypisania argumentów do operatorów, a tym samym wykonania obliczeń w pożądanej kolejności, stosuje się nawiasy okrągłe. W przypadku braku odpowiednich nawiasów kolejność wykonywania obliczeń jest ustalona przez priorytet operatorów. Obowiązują przy tym następujące zasady: P argument występujący pomiędzy dwoma operatorami o różnych priorytetach jest związany z operatorem o wyższym priorytecie, P argument znajdujący się między dwoma operatorami o tym samym priorytecie jest związany z operatorem z lewej strony, P wyrażenia występujące w nawiasach (okrągłych) są wykonywane przed użyciem ich jako pojedynczego argumentu. Operacje z równymi priorytetami są wykonywane od strony lewej do prawej (?). PP-6(6 z 82)

7 Priorytet operatorów Operatory Priorytet Kategoria operatorów not 1 (najwyższy) jednoargumentowe *, /, div, 2 multiplikatywne mod, and, shl, shr, as +,, or, xor 3 addytywne =, <>, <, >, 4 (najniższy) relacyjne <=, >=, in, is PP-6(7 z 82)

8 Składnia wyrażenia W ogólności wyrażenie jest zbudowane z czynników, składników i wyrażeń prostych. Czynnik jest to: P odwołanie do zmiennej, P odwołanie do zmiennej poprzedzone P nazwa funkcji lub procedury poprzedzona P kwalifikowana nazwa metody poprzedzona P stała bez znaku, P wywołanie funkcji, P konstruktor zbioru, P zmiana typu wyrażenia, P czynnik poprzedzony znakiem + (plus), (minus) lub operatorem not, P wyrażenie ujęte w nawiasy okrągłe. PP-6(8 z 82)

9 Składnia wyrażenia Przykłady a odwołanie do odwołanie do zmiennej poprzedzone 123 stała bez znaku (liczba bez znaku) 123 stała bez znaku (łańcuch) Sin(x) wywołanie funkcji [ 0.. 9, a.. b ] konstruktor zbioru Integer(x+123) zmiana typu wyrażenia 123 czynnik poprzedzony znakiem (minus) not a czynnik poprzedzony operatorem not (a+b+c) wyrażenie ujęte w nawiasy okrągłe PP-6(9 z 82)

10 Składnia wyrażenia Składnikiem nazywamy czynnik lub połączenie dwu lub większej liczby czynników operatorem multiplikatywnym (*, /, div, mod, and, shl, shr, as). Przykłady a*b a/(b 2) (x+y) div z (a<b) and (x>=y) alpha shl beta PP-6(10 z 82)

11 Składnia wyrażenia Wyrażenie proste jest to składnik lub połączenie dwu lub większej liczby składników operatorem addytywnym (+,, or, xor). Przykłady x a+b x*y+c PP-6(11 z 82)

12 Składnia wyrażenia Wyrażeniem nazywamy wyrażenie proste lub połączenie dwu wyrażeń prostych operatorem relacyjnym (<, <=, =, >, >=, <>, in, is). Przykłady (a+b)<1.5 (alpha>beta)<>gamma x in zbior nadawca is TButton PP-6(12 z 82)

13 Operatory arytmetyczne Stosuje się je do obliczania wartości liczbowych. Operator Operacja Typ argumentów Typ wyniku + (jednoarg.) identyczność całkowity Integer lub Int64 rzeczywisty Extended (jednoarg.) zmiana znaku całkowity Integer lub Int64 rzeczywisty Extended + dodawanie całkowity Integer lub Int64 rzeczywisty Extended odejmowanie całkowity Integer lub Int64 rzeczywisty Extended PP-6(13 z 82)

14 Operatory arytmetyczne Stosuje się je do obliczania wartości liczbowych. Operator Operacja Typ argumentów Typ wyniku * mnożenie całkowity Integer lub Int64 rzeczywisty Extended / dzielenie całkowity Extended rzeczywisty Extended div dzielenie całkowity Integer lub Int64 całkowite mod reszta całkowity Integer lub Int64 z dzielenia PP-6(14 z 82)

15 Operatory arytmetyczne W języku Delphi nie występuje operator potęgowania. Kwadraty i pierwiastki oblicza się za pomocą funkcji standardowych Sqr i Sqrt. Podniesienie do potęgi całkowitej można zrealizować poprzez wielokrotne mnożenie lub za pomocą funkcji IntPower z modułu System.Math. W celu obliczenia dodatniej potęgi rzeczywistej liczby można zastosować w odpowiedni sposób na przykład funkcje standardowe Exp i Ln lub funkcję Power z modułu System.Math. PP-6(15 z 82)

16 Operatory arytmetyczne Uwaga! Wartość typu Int64 można otrzymać tylko w przypadku, gdy co najmniej jeden operand jest tego typu. Przypisanie wartości typu Integer do zmiennej typu Int64 może doprowadzić do otrzymania błędnego wyniku. Przykład Niech zmienne j oraz k będą zadeklarowane następująco: var j : Integer; k : Int64; W wyniku wykonania instrukcji j:=maxint; k:=j+1; otrzymamy niepoprawną wartość. Przypisanie właściwej wartości typu Int64 do zmiennej k nastąpi po wykonaniu instrukcji k:=int64(j)+1; PP-6(16 z 82)

17 Operatory logiczne Operatory te służą do wykonywania operacji logicznych na wartościach typów logicznych oraz na wartościach całkowitych. Operator Operacja Typ argumentów Typ wyniku not (jednoarg.) negacja całkowity całkowity logiczny Boolean and koniunkcja całkowity całkowity logiczny Boolean or alternatywa całkowity całkowity logiczny Boolean PP-6(17 z 82)

18 Operatory logiczne Operatory te służą do wykonywania operacji logicznych na wartościach typów logicznych oraz na wartościach całkowitych. Operator Operacja Typ argumentów Typ wyniku xor różnica całkowity całkowity symetryczna logiczny Boolean shl przesunięciecałkowity całkowity w lewo shr przesunięciecałkowity całkowity w prawo PP-6(18 z 82)

19 Operatory logiczne Uwaga! Jeżeli obydwa argumenty operatora and, or lub xor są różnych typów całkowitych, to typem wyniku jest predefiniowany typ całkowity o najmniejszym zakresie, w którym są zawarte wszystkie wartości typów obu argumentów. Jeżeli operandy operatora logicznego są typów logicznych, to wynik jest określony tak, jak w logice matematycznej. Operacje logiczne na operandach typów całkowitych są operacjami wykonywanymi na odpowiednich bitach operandów. Negacja operandu typu całkowitego polega na zamianie każdego bitu reprezentacji danej w pamięci na przeciwny, tj. bitu 0 na 1, a bitu 1 na 0. Dotyczy to także bitu znaku. PP-6(19 z 82)

20 Operatory logiczne Przykład Niech zmienne w oraz sh będą zadeklarowane następująco: var w : Word = 1000; sh : Shortint = 100; Jaka jest wartość wyrażenia w or sh? Typem o najmniejszym zakresie zawierającym wszystkie wartości typów argumentów jest typ Integer. Zatem najpierw zostaną wykonane konwersje: 1000 (10) = (2) : (2) 100 (10) = (2) : (2). dwójkowa arytmetyka uzupełnieniowa 100 (10) = (2) = (zamiana) (2) + 1 (2) PP-6(20 z 82)

21 Przykład Operatory logiczne Niech zmienne w oraz sh będą zadeklarowane następująco: var w : Word = 1000; sh : Shortint = 100; Jaka jest wartość wyrażenia w or sh? Następnie jest wykonywana operacja alternatywy na odpowiadających sobie bitach: (2) or (2) (2) PP-6(21 z 82)

22 Przykład Operatory logiczne Niech zmienne w oraz sh będą zadeklarowane następująco: var w : Word = 1000; sh : Shortint = 100; Jaka jest wartość wyrażenia w or sh? Pierwszy bit (1) wskazuje, że otrzymaliśmy liczbę ujemną. Zamieniając na pozostałych bitach cyfry 0 na 1, a cyfry 1 na 0, a następnie dodając jedynkę dwójkową otrzymujemy (przejście do zwykłego zapisu dwójkowego) (2), a więc w zapisie dziesiętnym mamy 4. PP-6(22 z 82)

23 Operatory logiczne Operacje logiczne shl (przesunięcie w lewo) i shr (przesunięcie w prawo) mogą dotyczyć wyłącznie argumentów typu całkowitego. Wynik operacji jest wartością uzyskaną z reprezentacji pierwszego argumentu po przesunięciu go w lewo (shl) lub w prawo (shr) o liczbę pozycji określoną drugim argumentem. Podczas przesuwania bit znaku nie ulega powieleniu, a zwolnione pozycje zapełniane są bitami o wartości 0. PP-6(23 z 82)

24 Przykłady Operatory logiczne wyrażenie wartość wyrażenie wartość 1 shl shr shl shr shl shr shl shr shl shr shl shr shl shr shl shr shl shr PP-6(24 z 82)

25 Operatory relacyjne Operatory relacyjne (dwuargumentowe) służą do konstrukcji wyrażeń porównania. Operatorami tymi są: = równy <> nierówny < mniejszy > większy <= nie większy lub jest zawarty, >= nie mniejszy lub zawiera, in jest elementem. Wynik wyrażenia porównania jest typu Boolean i ma wartość logiczną True, gdy relacja jest prawdziwa lub wartość False, gdy relacja jest fałszywa. PP-6(25 z 82)

26 Operatory relacyjne W zależności od typu argumentów relacje dzielimy na: P arytmetyczne (w tym logiczne), P łańcuchowe (w tym znakowe), P teoriomnogościowe, P wskaźnikowe (w tym działań na klasach, łączach programowych i odwołaniach do klas), P wariantowe. PP-6(26 z 82)

27 Relacje arytmetyczne oczywiste. Operatory relacyjne Porównanie łańcuchowe występuje wtedy, gdy oba argumenty są typu łańcuchowego, znakowego (Char, AnsiChar, WideChar) lub upakowanego typu łańcuchowego (jednowymiarową tablicą znaków). Nie wymaga się przy tym, aby argumenty te musiały być identycznych typów. Podczas porównywania wartości typu znakowego z wartością typu łańcuchowego pierwsza z nich jest uważana za wartość typu łańcuchowego o długości 1. PP-6(27 z 82)

28 Operatory relacyjne Porównanie zachodzi pomiędzy odpowiadającymi sobie znakami, zgodnie z ich uporządkowaniem w zestawie znaków Unicode. Dwa argumenty uważa się za równe, gdy składają się z identycznych znaków. Jeśli nie są równe i żaden nie składa się z pustego ciągu znaków, to relacja jest równoważna relacji pomiędzy pierwszymi różnymi i odpowiadającymi sobie znakami. Jeśli takie znaki nie istnieją, co występuje w przypadku, gdy jeden ciąg znaków jest podciągiem drugiego, to za mniejszy uważa się argument składający się z mniejszej liczby znaków. Pusty ciąg znaków jest mniejszy od każdego innego ciągu. PP-6(28 z 82)

29 Operatory relacyjne Przykłady wyrażenie ABC > ABD ABC < ABD ABC = abc ABC <= abc + <= wynik False True False True True 01 = 1 False PP-6(29 z 82)

30 Operatory relacyjne Na operandach a i b typu zbiorowego można wykonywać następujące operacje porównania (porównania teoriomnogościowe): a = b a <> b a <= b a >= b c in a równość zbiorów (relacja prawdziwa, jeśli zbiory a i b zawierają te same elementy), różność zbiorów (relacja prawdziwa, gdy zbiory a i b są zbiorami różnych elementów), zawieranie zbioru a w zbiorze b (relacja prawdziwa, gdy każdy element zbioru a jest także elementem zbioru b), zawieranie zbioru b w zbiorze a (relacja prawdziwa, gdy każdy element zbioru b jest także elementem zbioru a), sprawdzenie, czy element c typu porządkowego jest elementem zbioru a (typem bazowym zbioru a musi być PP-6(30 z 82) typ zgodny z typem elementu c).

31 Przykłady Operatory relacyjne Załóżmy, że jest dany następujący opis: type dni_pracy = set of (poniedziałek, wtorek, środa, czwartek, piątek); var dni : dni_pracy; oraz instrukcja dni:=[poniedziałek.. piątek]; Wówczas: wyrażenie wynik dni=[poniedziałek..piątek] dni=[wtorek..czwartek] [wtorek..czwartek]<>dni [wtorek..czwartek]<=dni dni<=[wtorek..czwartek] wtorek in dni True False True True False True PP-6(31 z 82)

32 Operatory relacyjne Operandy typu wskaźnikowego mogą być porównywane (porównanie wskaźnikowe) wyłącznie za pomocą operatorów = ( równy ) i <> ( nierówny ). Dwa wskaźniki uważane są za równe, jeżeli oznaczają ten sam adres w pamięci. Za pomocą tych operatorów można także porównywać elementy typów klasowych i typów odwołań do klas. Dwa takie elementy uważa się za równe, gdy wskazują na ten sam obiekt (a więc gdy podobnie jak poprzednio wskazują ten sam adres w pamięci). PP-6(32 z 82)

33 P suma, P różnica, P iloczyn zbiorów. Operatory teoriomnogościowe Operacjami teoriomnogościowymi, które mogą być bezpośrednio zaprogramowane w języku Delphi Pascal za pomocą odpowiednich operatorów są: Operacje te są wykonywane na argumentach typu zbiorowego o zgodnych typach bazowych. PP-6(33 z 82)

34 Operatory teoriomnogościowe Operator Operacja Typ argumentów Typ wyniku + suma zbiorów zbiorowy zbiorowy o zgodnych typach bazowych różnica zbiorów * iloczyn zbiorów Przykłady wyrażenie wynik [2, 3, 4]+[4, 5, 6] [2, 3, 4, 5, 6] [2, 3, 4] [4, 5, 6] [2, 3] [2, 3, 4]*[4, 5, 6] [4] wyrażenie wynik [20..30]+[25..50] [20..50] [True, False] [ ] [True, False] [ a, c, e ] [ e ] [ a, c ] PP-6(34 z 82)

35 Konkatenacja Do połączenia dwu lub więcej łańcuchów w jeden łańcuch służy operator konkatenacji, zapisywany za pomocą znaku + (plus). Argumenty typu łańcuchowego, znakowego lub upakowanego typu łańcuchowego połączone tym operatorem tworzą wyrażenie konkatenacji. Typ wyniku zależy przy tym od typu operandów. Przykłady wyrażenie wynik Delphi + Pascal DelphiPascal Delphi + + Pascal Delphi Pascal E E 1 PP-6(35 z 82)

36 Operatory w wyrażeniach wariantowych Na elementach typów wariantowych mogą być wykonywane operacje określone operatorami +,, *, /, div, mod, not, and, or, xor, shl, shr, =, <>, <, >, <= oraz >=. Dla operatorów dwuargumentowych obowiązuje przy tym zasada, że jeśli jeden z argumentów jest typu Variant, to przed wykoniem operacji drugi argument jest automatycznie przekształcany na ten typ. Typem wyniku operacji nierelacyjnej (+,, *, /, div, mod, not, and, or, xor, shl i shr) jest zawsze Variant, a operacji relacyjnej (=, <>, <, >, <= i >=) Boolean. PP-6(36 z 82)

37 Jednoargumentowy służy do utworzenia wskaźnika (adresu) podanego argumentu. Postać wyrażenia zawierającego jest argument przy czym wartość tego wyrażenia jest typu wskaźnikowego, a argument może być zmienną, nazwą funkcji lub procedury lub kwalifikowaną nazwą metody. PP-6(37 z 82)

38 Przykłady Jeśli zmienne bajt i wsk_bajt będą zadeklarowane następująco: var bajt : Byte; wsk_bajt : ^Byte; to instrukcja przypisania wsk_bajt:=@bajt; spowoduje przypisanie zmiennej wsk_bajt adresu zmiennej bajt. PP-6(38 z 82)

39 Przykłady Załóżmy, że w programie występuje definicja typu proceduralnego funkcja postaci: type funkcja = function : Integer; deklaracja zmiennej proceduralnej zm_funk: var zm_funk : funkcja; oraz definicja funkcji bezparametrowej alfa o wartości typu Integer. W celu sprawdzenia, czy aktualnie zmienna proceduralna zm_funk reprezentuje funkcję alfa należy sprawdzić, czy jest prawdziwe wyrażenie Zastosowanie do tego celu porównania zm_funk=alfa PP-6(39 z 82) jest błędne (dlaczego?).

40 Przykłady W celu otrzymania adresu zmiennej proceduralnej z poprzedniego przykładu należy użyć określa bowiem adres funkcji, która jest aktualnie przypisana zmiennej zm_funk. PP-6(40 z 82)

41 Operatory odwołań do klas i obiektów Do wykonywania operacji na klasach i odwołaniach do klas służą operatory is i as. Operator is służy do sprawdzania typu obiektu podczas wykonywania programu, tzn. do określenia, czy dany obiekt (wartość zmiennej typu klasowego) jest aktualnie elementem pewnej klasy. Postać wyrażenia z operatorem is jest następująca: zmienna-typu-klasowego is odwołanie-do-klasy gdzie odwołanie do klasy jest identyfikatorem klasy lub zmienną typu odwołania do klasy. PP-6(41 z 82)

42 Operatory odwołań do klas i obiektów Wartością wyrażenia z operatorem is jest wartość logiczna True, gdy obiekt określony przez zmienną typu klasowego jest elementem klasy określonej przez odwołanie do klasy lub klasy z niej wyprowadzonej (potomnej). W przeciwnym przypadku wartością wyrażenia jest wartość logiczna False. Jeśli wartością zmiennej typu klasowego jest adres pusty (nil), to wartością wyrażenia jest zawsze False. Wyrażenie z operatorem is jest na ogół wykorzystywane w instrukcji warunkowej jeśli do zagwarantowania poprawności zmiany typu, na przykład if sterowanie is TEdit then TEdit(sterowanie).ClearSelection; PP-6(42 z 82)

43 Operatory odwołań do klas i obiektów Wyrażenie z operatorem as ma postać zmienna-typu-klasowego as odwołanie-do-klasy gdzie odwołanie do klasy ma takie samo znaczenie, jak poprzednio. Wyrażenie to pozwala zmienić typ wyspecyfikowanej zmiennej na typ określony drugim operandem, przy czym zmienna ta w dalszym ciągu będzie wskazywała ten sam obiekt w pamięci. Zmienna określająca obiekt musi mieć albo wartość nil, albo wskazywać na obiekt typu zdefiniowanego przez odwołanie do klasy, albo też na obiekt typu potomnego tej klasy. PP-6(43 z 82)

44 Operatory odwołań do klas i obiektów z operatorem as używa się zwykle w połączeniu z instrukcją wiążącą (będzie dalej) do skrócenia odwołań o zmienionym typie do pól, metod i własności. Przykład (nadawca as TButton).Caption:='&Ok'; (nadawca as TButton).OnClick:=OkClick; lub with nadawca as TButton do begin Caption:='&Ok'; OnClick:=OkClick end; Typ zmiennej nadawca musi być typem nadrzędnym, równym lub potomnym typu TButton. PP-6(44 z 82)

45 stałe Wyrażenie stałe jest to wyrażenie, które może być obliczone przez kompilator. Wyrażenie takie nie może zawierać zmiennych, literałów zmiennych, wskaźników, wywołań funkcji (z wyjątkiem funkcji wymienionych poniżej) oraz operatora W wyrażeniach stałych dozwolone jest stosowanie następujących funkcji standardowych: Abs High Low Pred Succ Chr Length Odd Round Swap Hi Lo Ord SizeOf Trunc PP-6(45 z 82)

46 Przykłady stałe 123*45.67 Abs( ) (432 div 2) informa + tyka [ ] + [ A.. Z, a.. z ] A +Chr(35) PP-6(46 z 82)

47 Zmiana typu wyrażenia Każde z przedstawionych wyrażeń daje w wyniku wartość określonego typu. Wartości wyrażeń typu porządkowego lub wskaźnikowego mogą być zmienione na wartości innego typu porządkowego lub wskaźnikowego. Do zmiany typu wyrażenia służy konstrukcja: identyfikator-typu (wyrażenie) przy czym typ wyrażenia i typ podany za pomocą identyfikatora typu muszą być jednocześnie albo typami porządkowymi, albo typami wskaźnikowymi. PP-6(47 z 82)

48 Zmiana typu wyrażenia Przykłady Integer( A ) Konstrukcja ta spowoduje zinterpretowanie wewnętrznego przedstawienia znaku A, tj. ciągu , jako liczby typu Integer. Wartością powyższego wyrażenia będzie zatem 65. Boolean(0) Liczba całkowita 0 zostanie zinterpretowana jako wartość logiczna False. PP-6(48 z 82)

49 Przeciążanie operatorów W obrębie definicji typów rekordowych można przeciążać pewne operatory, tj. spowodować ich działanie inne niż standardowe. Deklaracja operatora przeciążonego w typie rekordowym ma postać class operator sygnatura-deklaracyjna gdzie sygnatura deklaracyjna określa operator (operatory mają swoje nazwy), typy operandów i typ wyniku S zob. następne slajdy. Po definicji typu rekordowego z deklaracją operatora przeciążonego musi wystąpić definicja tego operatora. PP-6(49 z 82)

50 Przeciążanie operatorów sygnatura deklaracyjna oznaczenie symboliczne Implicit (a : typ) : typ-wyniku; niejawna zmiana typu Explicit (a : typ) : typ-wyniku; jawna zmiana typu Negative (a : typ) : typ-wyniku; Positive (a : typ) : typ-wyniku; + Inc (a : typ) : typ-wyniku; Inc (funkcja standardowa) Dec (a : typ) : typ-wyniku; Dec (funkcja standardowa) LogicalNot (a : typ) : typ-wyniku; not Trunc (a : typ) : typ-wyniku; Trunc (funkcja standardowa) Round (a : typ) : typ-wyniku; Round (funkcja standardowa) In (a : typ; b : typ) : Boolean; in Equal (a : typ; b : typ) : Boolean; = NotEqual (a : typ; b : typ) : Boolean; < > GreaterThan (a : typ; b : typ) : Boolean; > PP-6(50 z 82)

51 Przeciążanie operatorów sygnatura deklaracyjna oznaczenie symboliczne GreaterThanOrEqual (a : typ; b : typ) : Boolean; >= LessThan (a : typ; b : typ) : Boolean; < LessThanOrEqual (a : typ; b : typ) : Boolean; <= Add (a : typ; b : typ) : typ-wyniku; + Subtract (a : typ; b : typ) : typ-wyniku; Multiply (a : typ; b : typ) : typ-wyniku; * Divide (a : typ; b : typ) : typ-wyniku; / IntDevide (a : typ; b : typ) : typ-wyniku; div Modulus (a : typ; b : typ) : typ-wyniku; mod LeftShift (a : typ; b : typ) : typ-wyniku; shl RightShift (a : typ; b : typ) : typ-wyniku; shr LogicalAnd (a : typ; b : typ) : typ-wyniku; and LogicalOr (a : typ; b : typ) : typ-wyniku; or PP-6(51 z 82)

52 Przeciążanie operatorów sygnatura deklaracyjna LogicalXor (a : typ; b : typ) : typ-wyniku; BitwiseAnd (a : typ; b : typ) : typ-wyniku; BitwiseOr (a : typ; b : typ) : typ-wyniku; BitwiseXor (a : typ; b : typ) : typ-wyniku; oznaczenie symboliczne xor and or xor Definicja operatora przeciążonego powinna wystąpić po definicji typu rekordowego z jego deklaracją (w tej samej jednostce programowej). Jej postać jest podobna do definicji metody, tyle że rozpoczyna się od słów class operator. PP-6(52 z 82)

53 Przykład Przeciążanie operatorów type dod_mod5 = record var w : Integer; class operator Add (a, b : dod_mod5) : Integer; class operator Implicit (a : Integer) : dod_mod5; class operator Explicit (a : dod_mod5) : Integer; end; W definicji tej występują deklaracje trzech operatorów przeciążonych. Niech ich definicje będą następujące: class operator dod_m5.add (a, b : dod_m5) : dod_m5; begin Result:=a.w+b.w mod 5 end; PP-6(53 z 82)

54 Przykład Przeciążanie operatorów type dod_mod5 = record var w : Integer; class operator Add (a, b : dod_mod5) : Integer; class operator Implicit (a : Integer) : dod_mod5; class operator Explicit (a : dod_mod5) : Integer; end; W definicji tej występują deklaracje trzech operatorów przeciążonych. Niech ich definicje będą następujące: class operator dod_m5.implicit (a : Integer) : dod_m5; begin Result.w:=a end; PP-6(54 z 82)

55 Przykład Przeciążanie operatorów type dod_mod5 = record var w : Integer; class operator Add (a, b : dod_mod5) : Integer; class operator Implicit (a : Integer) : dod_mod5; class operator Explicit (a : dod_mod5) : Integer; end; W definicji tej występują deklaracje trzech operatorów przeciążonych. Niech ich definicje będą następujące: class operator dod_m5.explicit (a : dod_m5) : Integer; begin Result:=a.w end; PP-6(55 z 82)

56 Przykład Jeśli dalej zadeklarujemy zmienne: Przeciążanie operatorów var x, y : dod_m5; a, b : Integer; to wykonanie (w programie tekstowym) instrukcji: a:=20; b:=12; Writeln (a+b mod 5); x:=a; y:=b; niejawna zmiana typu z Integer Writeln (x+y); na dod_m5 spowoduje pojawienie się na ekranie napisów: PP-6(56 z 82)

57 Przykład Deklaracje zmiennych: var x, y : dod_m5; a, b : Integer; Instrukcje: a:=20; b:=12; Writeln (a+b mod 5); x:=a; y:=b; Writeln (x+y); Przeciążanie operatorów Gdyby nie zdefiniowano operatora Implicit (niejawnej zmiany typu), to instrukcje te trzeba by zastąpić instrukcjami: x.w:=a; y.w:=b; PP-6(57 z 82)

58 Przykład Deklaracje zmiennych: var x, y : dod_m5; a, b : Integer; Instrukcje: a:=20; b:=12; Writeln (a+b mod 5); x:=a; y:=b; Writeln (x+y); Przeciążanie operatorów Operator Explicit (jawnej zmiany typu) może być wykorzystany np. w instrukcjach: Writeln (Integer(x)); Writeln (Integer(y)); które spowodują pojawienie się na ekranie następujących napisów: PP-6(58 z 82)

59 Instrukcje Instrukcje służą do opisu czynności wykonywanych na danych i dzielą się na: P instrukcje proste, tj. takie, które nie zawierają jako składowych innych instrukcji, P instrukcje strukturalne, zbudowane na podstawie pewnego schematu strukturalizacji kilku instrukcji, P instrukcję asemblerową umożliwiającą pisanie fragmentów tekstów źródłowych bezpośrednio w asemblerze Poszczególne instrukcje oddziela się średnikami. PP-6(59 z 82)

60 P instrukcję przypisania, P instrukcję skoku, Pinstrukcję pustą, Instrukcje Instrukjce proste Do instrukcji prostych zaliczamy: P instrukcję wywołania procedury i funkcji (będzie w temacie dotyczącym funkcji i procedur), P instrukcję dziedziczenia (będzie w temacie dotyczącym przetwarzania obiektów). PP-6(60 z 82)

61 Instrukcje Instrukcja przypisania Instrukcja przypisania służy do przypisania zmiennej nowej wartości. Ogólna jej postać jest następująca: odwołanie-do-zmiennej:=wyrażenie Instrukcja ta powoduje obliczenie wartości wyrażenia prawostronnego i przypisanie tej wartości odwołaniu do zmiennej występującemu z lewej strony symbolu przypisania := (dwukropek i znak równości). Wartość wyrażenia musi być przy tym zgodna w sensie przypisania PP-6(61 z 82) z typem zmiennej.

62 Instrukcje Instrukcja przypisania W części operacyjnej funkcji (będzie dalej) powinna wystąpić co najmniej jedna instrukcja przypisania postaci nazwa-funkcji:=wyrażenie lub Result:=wyrażenie gdzie Result oznacza predefiniowany identyfikator, lokalny w każdej funkcji. PP-6(62 z 82)

63 Instrukcje Przykłady Instrukcja przypisania a:=1; b[1]:=2*c-d/(e[3,4]+f); war_log:=true; tekst:= Delphi + + Pascal ; x:=x+1; warunek:=a=b; x[i*(i+1)+1,j]:=2; PP-6(63 z 82)

64 Instrukcje Instrukcja skoku Instrukcja skoku jest jedyną instrukcją języka Delphi Pascal, której stosowanie podobnie jak w standardowym Pascalu nie jest zalecane. Jej używanie zmniejsza bowiem przejrzystość programu, ogranicza optymalizację kodu wynikowego wykonywaną przez kompilator i utrudnia dowodzenie poprawności programu, modułu czy biblioteki. Instrukcja ta może być zawsze zastąpiona instrukcjami dopóki lub powtarzaj (będzie dalej). Instrukcja skoku wymaga podania etykiety, która jest identyfikatorem lub ciągiem do dziesięciu cyfr dziesiętnych (od 0 do ) poprzedzonym ewentualnie zerami (zera te nie są znaczące). Etykiety powinny być zadeklarowane (dotyczy to także przypadku, gdy etykieta jest ciągiem cyfr). PP-6(64 z 82)

65 Deklaracje etykiet mają postać Instrukcje Instrukcja skoku label lista-etykiet; przy czym w liście etykiet poszczególne etykiety oddziela się przecinkami. Każda instrukcja może być poprzedzona jedną lub kilkoma etykietami. Instrukcja poprzedzona jedną etykietą ma postać etykieta: instrukcja PP-6(65 z 82)

66 Instrukcje Instrukcja skoku Do instrukcji poprzedzonej etykietą można przekazać sterowanie za pomocą instrukcji skoku o następującej postaci: goto etykieta Instrukcja, do której ma nastąpić przejście może występować przed lub po odnośnej instrukcji skoku. Obowiązuje przy tym zasada, że instrukcja poprzedzona etykietą musi występować w tym samym bloku, co instrukcja skoku z tą etykietą (nie jest dozwolony skok do wnętrza i na zewnątrz procedury lub funkcji). Ponadto skok do wnętrza instrukcji strukturalnej, choć dozwolony (kompilator nie wykaże błędu), może mieć nieokreślone skutki. PP-6(66 z 82)

67 Instrukcje Instrukcja pusta Zapisanie instrukcji pustej nie wymaga użycia żadnego symbolu języka i nie powoduje ona wykonania żadnych czynności. Instrukcję pustą stosuje się w tych kontekstach, w których jest wymagane użycie instrukcji, ale chce się uniknąć wykonania jakiejkolwiek czynności, lub w celu ułatwienia opracowywania programu. PP-6(67 z 82)

68 Instrukcje Instrukcje strukturalne Do instrukcji strukturalnych zaliczamy: P instrukcję złożoną, P instrukcje warunkowe ( jeśli i wyboru), P instrukcje iteracyjne ( dla, dopóki i powtarzaj ), P instrukcję wiążącą, P instrukcje obsługi warunków i stanów wyjątkowych (raise, try...except i try...finally). PP-6(68 z 82)

69 Instrukcje Instrukcja złożona Instrukcja ta tworzy z ciągu instrukcji jedną i używana jest w przypadku, gdy składnia języka wymaga użycia jednej instrukcji, a niezbędne jest wykonanie wielu. Instrukcje wchodzące w skład instrukcji złożonej wykonywane są sekwencyjnie. PP-6(69 z 82)

70 Instrukcje Instrukcja złożona Struktura instrukcji złożonej jest następująca: begin instrukcja-1; instrukcja-2;... instrukcja-n end Przykład begin a:=1; b.c:=2; d[1,2]:=3 end PP-6(70 z 82)

71 Instrukcje Instrukcje warunkowe Instrukcje warunkowe uzależniają wykonanie innych instrukcji od spełnienia określonego warunku. W języku Delphi Pascal istnieją dwie instrukcje warunkowe: P instrukcja jeśli (mająca dwie postacie), P instrukcja wyboru. PP-6(71 z 82)

72 Instrukcje Instrukcja jeśli Instrukcja ta uzależnia wykonanie innej lub innych instrukcji od spełnienia lub niespełnienia podanego warunku. Ogólna postać instrukcji jeśli jest następująca: if wyrażenie then instrukcja lub if wyrażenie then instrukcja else instrukcja przy czym wartością wyrażenia powinna być wartość logiczna True lub False. PP-6(72 z 82)

73 Przykłady Instrukcje Instrukcja jeśli 1) if x<y then a:=0 else a:=1 Zapis równoważny: if x>=y then a:=1 else a:=0 2) if x=(y=z) then x:=y=x else y:=x=z PP-6(73 z 82)

74 Instrukcje Instrukcja jeśli Instrukcje warunkowe jeśli mogą być zagnieżdżone. Z zagnieżdżoną instrukcją jeśli mamy do czynienia wówczas, gdy po słowach then lub else występuje znowu instrukcja jeśli, która z kolei może zawierać następną instrukcję tego typu itd. W zagnieżdżonych instrukcjach jeśli obowiązuje zasada, że każda jednostka else jest przyporządkowana najbliższej poprzedzającej ją jednostce then, dla której nie wystąpiła jeszcze jednostka else. PP-6(74 z 82)

75 Instrukcje Instrukcja jeśli Przykłady if a<0 then if b<>0 then x:=a/b Instrukcję tę krócej można zapisać następująco: if (a<0) and (b<>0) then x:=a/b PP-6(75 z 82)

76 Instrukcje Instrukcja jeśli Przykłady Rozważmy następujący schemat: if y<0 then if z>0 then if x<>0 then a:=(y+2)/x else else else a:=1 Użycie dwóch jednostek else z instrukcją pustą jest konieczne! PP-6(76 z 82)

77 Instrukcje Przykłady Instrukcja jeśli Opuszczenie jednostek else, tj. instrukcja: if y<0 then if z>0 then if x<>0 then a:=(y+2)/x else else a:=1 else a:=1 odpowiadałoby schematowi z lewej strony. PP-6(77 z 82)

78 Instrukcje Instrukcja wyboru Instrukcja ta służy do wykonywania różnych operacji w zależności od wartości pewnej zmiennej. Jej ogólna postać jest następująca: case wyrażenie of sekwencja-instrukcji-wyboru end lub (verté) PP-6(78 z 82)

79 Instrukcje Instrukcja wyboru case wyrażenie of sekwencja-instrukcji-wyboru else instrukcja end gdzie wartość wyrażenia, zwanego selektorem, musi być typu porządkowego. Sekwencja instrukcji wyboru składa się z instrukcji, przy czym każda z nich poprzedzona jest jedną lub kilkoma stałymi wyboru, które od instrukcji oddzielone są dwukropkiem. Poszczególne stałe wyboru oddzielane są przecinkami i mogą mieć postać: stała lub stała.. stała PP-6(79 z 82)

80 Przykłady Instrukcje Instrukcja wyboru case miesiac of 1, 3, 5, 7, 8, 10, 12 : dni:=31; 2 : dni:=28; 4, 6, 9, 11 : dni:=30 end Jeśli zmienna miesiac będzie zadeklarowana następująco: var miesiac : ; to powyższa instrukcja może być też zapisana w postaci: case miesiac of 2 : dni:=28; 4, 6, 9, 11 : dni:=30; else dni:=31 end PP-6(80 z 82)

81 Instrukcje Przykłady case a+b of : begin x:=5; y:=(a+2)/10 end; : x:=a*a; else begin x:=(a+2)/10; y:=5 end end; Instrukcja wyboru case znak of + : k:=1; : k:=2 end; PP-6(81 z 82)

82 ... i to wszystko na dzisiaj Zapraszam na stronę podstrona Dydaktyka PP-6(82 z 82)

Przeciążanie operatorów

Przeciążanie operatorów Przeciążanie operatorów 1. Przeciążanie operatorów - teoria W języku Delphi w ramach typów rekordowych można przeciążać pewne operatory czyli spowodować ich działanie inne niż standardowe. Poszczególne

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

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

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

Bardziej szczegółowo

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

Wstęp do programowania. Różne różności

Wstęp do programowania. Różne różności Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste

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

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

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem

Bardziej szczegółowo

Programowanie Delphi obliczenia, schematy blokowe

Programowanie Delphi obliczenia, schematy blokowe Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu

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

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

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

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

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

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

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

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

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

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

Bardziej szczegółowo

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

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem. Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

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

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

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

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu

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

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

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE @KEMOR SPIS TREŚCI. SYSTEMY LICZBOWE...3.. SYSTEM DZIESIĘTNY...3.2. SYSTEM DWÓJKOWY...3.3. SYSTEM SZESNASTKOWY...4 2. PODSTAWOWE OPERACJE NA LICZBACH BINARNYCH...5

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część piąta Proste typy danych w języku Pascal Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

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

Właściwości i metody obiektu Comment Właściwości

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

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

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Bardziej szczegółowo

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

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

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

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

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

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

Bardziej szczegółowo

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

WYRAŻENIA ALGEBRAICZNE

WYRAŻENIA ALGEBRAICZNE WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.

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

Wprowadzenie do języka Pascal

Wprowadzenie do języka Pascal Wprowadzenie do języka Pascal zmienne i typy standardowe operatory arytmetyczne, funkcje standardowe odczyt danych i wyświetlanie wyników obsługa wyjątków Techniki programowania I s.2-1 Podstawowe zasady

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

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

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

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

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

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie

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

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

JAVAScript w dokumentach HTML (1)

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

Bardziej szczegółowo

Elementy języków programowania

Elementy języków programowania Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone

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

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

PODSTAWY PROGRAMOWANIA

PODSTAWY PROGRAMOWANIA PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2016 by Andrzej Marciniak PP-7(1 z 84) Na poprzednim wykładzie...

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

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

Przykład programu Rozwiązanie równania postaci:

Przykład programu Rozwiązanie równania postaci: Przykład programu Rozwiązanie równania postaci: a x 2 + b x + c = 0 program trojmian; var a, b, c : real; var delta, x1, x2 : real; writeln('podaj wspolczynniki a, b, c równania kwadratowego: '); readln(a,

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

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

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

Bardziej szczegółowo

PODSTAWY PROGRAMOWANIA

PODSTAWY PROGRAMOWANIA PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2017 by Andrzej Marciniak PP-4(1 z 88) Na poprzednim wykładzie...

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

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

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

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

Bardziej szczegółowo

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

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

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

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

Bardziej szczegółowo

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Wykład 2 Informatyka Stosowana 8 października 2018, M. A-B Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października

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

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer

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

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Przeciążanie operatorów

Przeciążanie operatorów Instrukcja laboratoryjna nr 4 Programowanie w języku C 2 (C++ poziom zaawansowany) Przeciążanie operatorów dr inż. Wilk-Jakubowski Jacek mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz Wprowadzenie Oprócz

Bardziej szczegółowo

Stan wysoki (H) i stan niski (L)

Stan wysoki (H) i stan niski (L) PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo

Bardziej szczegółowo

Instrukcja standardowa Writeln

Instrukcja standardowa Writeln Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

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

Bardziej szczegółowo

Kiedy i czy konieczne?

Kiedy i czy konieczne? Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Obliczenia matematyczne (operatory) Operator

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

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe Podstawy programowania Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe 1 Podstawy programowania Część I Łańcuchy znaków 2 I. Zmienne łańcuchowe Klasyfikacja zmiennych statycznych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Delphi Laboratorium 3

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

Bardziej szczegółowo

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka PASCAL Kompendium Środowisko TURBO PASCAL Skróty klawiaturowe Edycja kodu F1 Pomoc spis treści CTRL + F1 Pomoc kontekstowa SHIFT + strzałki Zaznaczanie bloku CTRL + INSERT Skopiowanie zaznaczonego bloku

Bardziej szczegółowo

Wstęp do wskaźników w języku ANSI C

Wstęp do wskaźników w języku ANSI C Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,

Bardziej szczegółowo

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania

Bardziej szczegółowo