Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia

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

Download "Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia"

Transkrypt

1 Informatyka 1 Wykład II Algorytm, podstawowe notacje, typy danych i wyrażenia Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: pojęcie algorytmu, diagramy algorytmów, przejście od algorytmu do programu, zapis składni programu, typy danych, operatory, wyrażenia, zmienne, instrukcje, struktura programu, instrukcja złożona, sekwencja instrukcji Copyright c Robert Muszyński Niniejszy dokument zawiera materiały do wykładu na temat podstaw programowania w językach wysokiego poziomu. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może być kopiowany wyłącznie w całości, razem ze stroną tytułową. Skład FoilTEX

2 Algorytm, podstawowe notacje, typy danych i wyrażenia 1 Algorytm scharakteryzowanie wszystkich poprawnych danych wejściowych oraz scharakteryzowanie oczekiwanych wyników jako funkcji danych wejściowych

3 Algorytm, podstawowe notacje, typy danych i wyrażenia 1 Algorytm scharakteryzowanie wszystkich poprawnych danych wejściowych dowolne dane wejściowe oraz ALGORYTM scharakteryzowanie oczekiwanych wyników jako funkcji danych wejściowych oczekiwane wyniki

4 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

5 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

6 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

7 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

8 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

9 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

10 Algorytm, podstawowe notacje, typy danych i wyrażenia 2

11 Algorytm, podstawowe notacje, typy danych i wyrażenia 3 Przykładowy algorytm START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c

12 Algorytm, podstawowe notacje, typy danych i wyrażenia 3 Przykładowy algorytm START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Wylicz wyróżnik d = b 2 4ac

13 Algorytm, podstawowe notacje, typy danych i wyrażenia 3 Przykładowy algorytm START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Wylicz wyróżnik d = b 2 4ac x 1 = b d 2a x 2 = b+ d 2a

14 Algorytm, podstawowe notacje, typy danych i wyrażenia 3 Przykładowy algorytm START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Wylicz wyróżnik d = b 2 4ac x 1 = b d 2a x 2 = b+ d 2a Wyświetl pierwiastki STOP

15 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora Elementy składowe schematów blokowych algorytmów.

16 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora blok przetwarzania Elementy składowe schematów blokowych algorytmów.

17 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora blok przetwarzania Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.

18 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora blok wejścia/wyjścia blok przetwarzania Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.

19 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora blok wejścia/wyjścia blok przetwarzania blok podprogramu Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.

20 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora blok wejścia/wyjścia blok przetwarzania blok podprogramu Nie blok decyzyjny blok łącznika Tak Elementy składowe schematów blokowych algorytmów.

21 Algorytm, podstawowe notacje, typy danych i wyrażenia 4 Diagramy algorytmów blok terminatora blok wejścia/wyjścia blok przetwarzania blok podprogramu Nie blok decyzyjny blok łącznika Tak blok komentarza Elementy składowe schematów blokowych algorytmów.

22 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c

23 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c a = 0?

24 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c a = 0? Nie Równanie kwadratowe Wylicz wyróżnik d = b 2 4ac

25 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c a = 0? Nie Równanie kwadratowe Wylicz wyróżnik d = b 2 4ac d > 0?

26 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c a = 0? Nie Równanie kwadratowe Wylicz wyróżnik d = b 2 4ac d > 0? Dwa pierwiastki rzeczywiste Tak x 1 = b d 2a x 2 = b+ d 2a Wyświetl pierwiastki STOP

27 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Równanie liniowe a = 0? Tak Rozwiąż równanie liniowe Nie Równanie kwadratowe Wylicz wyróżnik d = b 2 4ac d > 0? Dwa pierwiastki rzeczywiste Tak x 1 = b d 2a x 2 = b+ d 2a Wyświetl pierwiastki STOP

28 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Równanie liniowe a = 0? Tak Rozwiąż równanie liniowe Nie Wylicz wyróżnik d = b 2 4ac Równanie kwadratowe Jeden lub zero pierwiastków rzeczywistych Dwa pierwiastki rzeczywiste d > 0? Tak x 1 = b d 2a x 2 = b+ d 2a Nie d = 0? Wyświetl pierwiastki STOP

29 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Równanie liniowe a = 0? Tak Rozwiąż równanie liniowe Nie Wylicz wyróżnik d = b 2 4ac Równanie kwadratowe Jeden lub zero pierwiastków rzeczywistych d > 0? Nie d = 0? Dwa pierwiastki rzeczywiste Tak Tak Jeden pierwiastek rzeczywisty x 1 = b d 2a x 2 = b+ d 2a x 12 = b 2a Wyświetl pierwiastki STOP

30 Algorytm, podstawowe notacje, typy danych i wyrażenia 5 Przykładowy algorytm cd. START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Równanie liniowe a = 0? Tak Rozwiąż równanie liniowe Nie Równanie kwadratowe Wylicz wyróżnik d = b 2 4ac Jeden lub zero pierwiastków rzeczywistych Brak pierwiastków rzeczywistych d > 0? Nie d = 0? Nie Dwa pierwiastki rzeczywiste Tak Tak Jeden pierwiastek rzeczywisty x 1 = b d 2a x 2 = b+ d 2a x 12 = b 2a Wyświetl pierwiastki Wyświetl komunikat o braku pierwiastków rzeczywistych STOP

31 Algorytm, podstawowe notacje, typy danych i wyrażenia 6 Składnia programu Notacja MBNF LHS = RHS

32 Algorytm, podstawowe notacje, typy danych i wyrażenia 6 Składnia programu Notacja MBNF LHS = RHS Symbole nieterminalne: zdania, grupy podmiotu;

33 Algorytm, podstawowe notacje, typy danych i wyrażenia 6 Składnia programu Notacja MBNF LHS = RHS Symbole nieterminalne: zdania, grupy podmiotu; symbole terminalne: bezbarwne, zielone, pomysły, śpią, wściekle ;

34 Algorytm, podstawowe notacje, typy danych i wyrażenia 6 Notacja MBNF Składnia programu LHS = RHS Symbole nieterminalne: zdania, grupy podmiotu; symbole terminalne: bezbarwne, zielone, pomysły, śpią, wściekle ; operatory: konkatenacja, alternatywa, opcja [], powtórzenie {}, grupowanie ().

35 Algorytm, podstawowe notacje, typy danych i wyrażenia 7 Zdanie języka Symbol początkowy + Reguły zastępowania

36 Algorytm, podstawowe notacje, typy danych i wyrażenia 8 Składnia programu Diagramy składni Symbole nieterminalne B ;

37 Algorytm, podstawowe notacje, typy danych i wyrażenia 8 Składnia programu Diagramy składni Symbole nieterminalne B ; symbole terminalne x ;

38 Algorytm, podstawowe notacje, typy danych i wyrażenia 8 Składnia programu Diagramy składni Symbole nieterminalne B ; symbole terminalne x ; ( A ) operatory A +. X

39 Algorytm, podstawowe notacje, typy danych i wyrażenia 9 Notacja MBNF Przykładowe konstrukcje liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku.

40 Algorytm, podstawowe notacje, typy danych i wyrażenia 9 Notacja MBNF Przykładowe konstrukcje liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-".

41 Algorytm, podstawowe notacje, typy danych i wyrażenia 9 Notacja MBNF Przykładowe konstrukcje liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr.

42 Algorytm, podstawowe notacje, typy danych i wyrażenia 9 Notacja MBNF Przykładowe konstrukcje liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }.

43 Algorytm, podstawowe notacje, typy danych i wyrażenia 9 Notacja MBNF Przykładowe konstrukcje liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9".

44 Algorytm, podstawowe notacje, typy danych i wyrażenia 9 Notacja MBNF Przykładowe konstrukcje liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Porównaj ciag-cyfr = { cyfra }.

45 Algorytm, podstawowe notacje, typy danych i wyrażenia 10 Diagram składni Przykładowe konstrukcje znak-liczby liczba-calkowita liczba-calkowita-bez-znaku + znak-liczby - liczba-calkowita-bez-znaku ciag-cyfr ciag-cyfr cyfra 0 cyfra 1. 9

46 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok.

47 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra.

48 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra.

49 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra.

50 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9".

51 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Które z poniższych ciągów znaków spełniają definicję data? Jeśli nie spełniają to dlaczego?

52 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Które z poniższych ciągów znaków spełniają definicję data? Jeśli nie spełniają to dlaczego?

53 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Które z poniższych ciągów znaków spełniają definicję data? Jeśli nie spełniają to dlaczego?

54 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Które z poniższych ciągów znaków spełniają definicję data? Jeśli nie spełniają to dlaczego?

55 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Które z poniższych ciągów znaków spełniają definicję data? Jeśli nie spełniają to dlaczego?

56 Algorytm, podstawowe notacje, typy danych i wyrażenia 11 Notacja MBNF dalsze przykłady data = dzien "." miesiac "." rok dzien "-" miesiac "-" rok. dzien = cyfra cyfra cyfra. miesiac = [ "1" ] cyfra. rok = cyfra cyfra cyfra cyfra cyfra cyfra. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Które z poniższych ciągów znaków spełniają definicję data? Jeśli nie spełniają to dlaczego?

57 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B".

58 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? ABBA

59 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? ABBA BABA

60 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? ABBA BABA ABABA

61 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? ABBA BABA ABABA AAABAAA

62 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? ABBA BABA ABABA AAABAAA ABABA

63 Algorytm, podstawowe notacje, typy danych i wyrażenia 12 Notacja MBNF dalsze przykłady ciag = "A" [ ciag ] "A" "B" [ ciag ] "B" "A" "B". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? ABBA BABA ABABA AAABAAA ABABA AAABBAABABBABBABAABBAAA

64 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ].

65 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser".

66 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? p

67 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? p pd

68 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? p pd brmpd

69 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? p pd brmpd rmwpk

70 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? p pd brmpd rmwpk bcrmwh

71 Algorytm, podstawowe notacje, typy danych i wyrażenia 13 Notacja MBNF dalsze przykłady jedzonko = ( ( bc ) rmw bcrmw ) ( p h [ k ] ) [ d ]. b = "bigos". c = "chleb". r = "rogalik". m = "maslo". w = "wedlina". p = "piwo". h = "herbata". k = "cukier". d = "deser". Które z poniższych ciągów znaków spełniają definicję? Jeśli nie spełniają to dlaczego? p pd brmpd rmwpk bcrmwh bcp

72 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku.

73 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-".

74 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-". liczba-bez-znaku = cyfra { cyfra }.

75 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-". liczba-bez-znaku = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5".

76 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-". liczba-bez-znaku = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5". Czy w sensie powyższych reguł poprawna jest liczba? 13

77 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-". liczba-bez-znaku = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5". Czy w sensie powyższych reguł poprawna jest liczba?

78 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-". liczba-bez-znaku = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5". Czy w sensie powyższych reguł poprawna jest liczba?

79 Algorytm, podstawowe notacje, typy danych i wyrażenia 14 Notacja MBNF dalsze przykłady liczba = [ znak-liczby ] liczba-bez-znaku. znak-liczby = "+" "-". liczba-bez-znaku = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5". Czy w sensie powyższych reguł poprawna jest liczba?

80 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }.

81 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }. Zamówienie: Dwa piwa prosze

82 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }. Zamówienie: Dwa piwa prosze zamowienie = piwo piwo.

83 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }. Zamówienie: Dwa piwa prosze zamowienie = piwo piwo. Zamówienie: Obojętne co i czy w ogóle, ale jeśli cokolwiek to jedno

84 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }. Zamówienie: Dwa piwa prosze zamowienie = piwo piwo. Zamówienie: Obojętne co i czy w ogóle, ale jeśli cokolwiek to jedno zamowienie = [ piwo ].

85 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }. Zamówienie: Dwa piwa prosze zamowienie = piwo piwo. Zamówienie: Obojętne co i czy w ogóle, ale jeśli cokolwiek to jedno zamowienie = [ piwo ]. Zamówienie: Dwa Żywce lub EB i Lecha prosze

86 Algorytm, podstawowe notacje, typy danych i wyrażenia 15 Notacja MBNF dalsze przykłady piwo = "Piast" "EB" "Lech" "Zywiec" "Okocim". menu = piwo { piwo }. Zamówienie: Dwa piwa prosze zamowienie = piwo piwo. Zamówienie: Obojętne co i czy w ogóle, ale jeśli cokolwiek to jedno zamowienie = [ piwo ]. Zamówienie: Dwa Żywce lub EB i Lecha prosze zamowienie = [ "Zywiec" "Zywiec" ] ( "EB" "Lech").

87 Algorytm, podstawowe notacje, typy danych i wyrażenia 16 Notacja MBNF dalsze przykłady Czy poniższe konstrukcje definiują liczby całkowite? liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9".

88 Algorytm, podstawowe notacje, typy danych i wyrażenia 16 Notacja MBNF dalsze przykłady Czy poniższe konstrukcje definiują liczby całkowite? liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". konstrukcja = cyfra.

89 Algorytm, podstawowe notacje, typy danych i wyrażenia 16 Notacja MBNF dalsze przykłady Czy poniższe konstrukcje definiują liczby całkowite? liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". konstrukcja = cyfra. konstrukcja = "+" cyfra cyfra cyfra.

90 Algorytm, podstawowe notacje, typy danych i wyrażenia 16 Notacja MBNF dalsze przykłady Czy poniższe konstrukcje definiują liczby całkowite? liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". konstrukcja = cyfra. konstrukcja = "+" cyfra cyfra cyfra. konstrukcja = [ "-" "+" ] cyfra { cyfra }.

91 Algorytm, podstawowe notacje, typy danych i wyrażenia 16 Notacja MBNF dalsze przykłady Czy poniższe konstrukcje definiują liczby całkowite? liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". konstrukcja = cyfra. konstrukcja = "+" cyfra cyfra cyfra. konstrukcja = [ "-" "+" ] cyfra { cyfra }. konstrukcja = [ "-" "+" ] { cyfra }.

92 Algorytm, podstawowe notacje, typy danych i wyrażenia 16 Notacja MBNF dalsze przykłady Czy poniższe konstrukcje definiują liczby całkowite? liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra }. cyfra = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". konstrukcja = cyfra. konstrukcja = "+" cyfra cyfra cyfra. konstrukcja = [ "-" "+" ] cyfra { cyfra }. konstrukcja = [ "-" "+" ] { cyfra }. konstrukcja = [ ( "+" "-" ) [ cyfra [ cyfra ]]].

93 Algorytm, podstawowe notacje, typy danych i wyrażenia 17 Notacja MBNF rownoważność reguł Czy poniższe pary reguł są sobie równoważne? (1) cyfra = "0" "1" "2" "3" "4" "5" "6". (2) cyfra = mala-cyfra duza-cyfra. mala-cyfra = "0" "1" "2" "3" "4". duza-cyfra = "3" "4" 5" "6".

94 Algorytm, podstawowe notacje, typy danych i wyrażenia 17 Notacja MBNF rownoważność reguł Czy poniższe pary reguł są sobie równoważne? (1) cyfra = "0" "1" "2" "3" "4" "5" "6". (2) cyfra = mala-cyfra duza-cyfra. mala-cyfra = "0" "1" "2" "3" "4". duza-cyfra = "3" "4" 5" "6". (1) czas = godzina [ ":" minuta ] [ ":" sekunda ]. (2) czas = godzina [ ":" minuta [ ":" sekunda ] ].

95 Algorytm, podstawowe notacje, typy danych i wyrażenia 17 Notacja MBNF rownoważność reguł Czy poniższe pary reguł są sobie równoważne? (1) cyfra = "0" "1" "2" "3" "4" "5" "6". (2) cyfra = mala-cyfra duza-cyfra. mala-cyfra = "0" "1" "2" "3" "4". duza-cyfra = "3" "4" 5" "6". (1) czas = godzina [ ":" minuta ] [ ":" sekunda ]. (2) czas = godzina [ ":" minuta [ ":" sekunda ] ]. (1) ciag-cyfr = { cyfra }. (2) ciag-cyfr = "" cyfra ciag-cyfr.

96 Algorytm, podstawowe notacje, typy danych i wyrażenia 18 Notacja MBNF rownoważność reguł Czy poniższe pary reguł są sobie równoważne? (1) liczba = cyfra cyfra { cyfra cyfra }. (2) liczba = cyfra cyfra. liczba = liczba liczba.

97 Algorytm, podstawowe notacje, typy danych i wyrażenia 18 Notacja MBNF rownoważność reguł Czy poniższe pary reguł są sobie równoważne? (1) liczba = cyfra cyfra { cyfra cyfra }. (2) liczba = cyfra cyfra. liczba = liczba liczba. (1) nr-telefonu = cyf cyf "-" cyf cyf "-" cyf cyf. (2) nr-telefonu = cyf cyf cyf "-" cyf cyf cyf.

98 Algorytm, podstawowe notacje, typy danych i wyrażenia 18 Notacja MBNF rownoważność reguł Czy poniższe pary reguł są sobie równoważne? (1) liczba = cyfra cyfra { cyfra cyfra }. (2) liczba = cyfra cyfra. liczba = liczba liczba. (1) nr-telefonu = cyf cyf "-" cyf cyf "-" cyf cyf. (2) nr-telefonu = cyf cyf cyf "-" cyf cyf cyf. (1) w1 = cyfra { cyfra }. (2) w2 = { cyfra } cyfra.

99 Algorytm, podstawowe notacje, typy danych i wyrażenia 19 Kategorie składniowe Pascala symbol-pascalowy = identyfikator dyrektywa liczba etykieta napis symbol-specjalny.

100 Algorytm, podstawowe notacje, typy danych i wyrażenia 19 Kategorie składniowe Pascala symbol-pascalowy = identyfikator dyrektywa liczba etykieta napis symbol-specjalny. symbol-specjalny = "+" "-" "*" "/" "=" "<" ">" "[" "]" "." "," ":" ";" "^" "(" ")" "**" "<>" "<=" ">=" ":=" ".." "><" "=>" ".." slowo-kluczowe.

101 Algorytm, podstawowe notacje, typy danych i wyrażenia 19 Kategorie składniowe Pascala symbol-pascalowy = identyfikator dyrektywa liczba etykieta napis symbol-specjalny. symbol-specjalny = "+" "-" "*" "/" "=" "<" ">" "[" "]" "." "," ":" ";" "^" "(" ")" "**" "<>" "<=" ">=" ":=" ".." "><" "=>" ".." slowo-kluczowe. slowo-kluczowe = "AND" "AND_THEN" "ARRAY" "BEGIN" "BINDABLE" "CASE" "CONST" "DIV" "DO" "DOWNTO" "ELSE" "END" "EXPORT" "FILE" "FOR" "FUNCTION" "GOTO" "IF" "IMPORT" "IN" "LABEL" "MOD" "MODULE" "NIL" "NOT" "OF" "ONLY" "OR" "OR_ELSE" "OTHERWISE" "PACKED" "POW" "PROCEDURE" "PROGRAM" "PROTECTED" "QUALIFIED" "RECORD" "REPEAT" "RESTRICTED" "SET" "THEN" "TO" "TYPE" "UNTIL" "VALUE" "VAR" "WHILE" "WITH".

102 Algorytm, podstawowe notacje, typy danych i wyrażenia 20 Kategorie składniowe Pascala cd. liczba-rzeczywista = [ znak-liczby ] liczba-rzeczywista-bez-znaku.

103 Algorytm, podstawowe notacje, typy danych i wyrażenia 20 Kategorie składniowe Pascala cd. liczba-rzeczywista = [ znak-liczby ] liczba-rzeczywista-bez-znaku. liczba-rzeczywista-bez-znaku = liczba-calkowita-bez-znaku "." ciag-cyfr [ "e" mnoznik-skalujacy ] liczba-calkowita-bez-znaku "e" mnoznik-skalujacy.

104 Algorytm, podstawowe notacje, typy danych i wyrażenia 20 Kategorie składniowe Pascala cd. liczba-rzeczywista = [ znak-liczby ] liczba-rzeczywista-bez-znaku. liczba-rzeczywista-bez-znaku = liczba-calkowita-bez-znaku "." ciag-cyfr [ "e" mnoznik-skalujacy ] liczba-calkowita-bez-znaku "e" mnoznik-skalujacy. mnoznik-skalujacy = liczba-calkowita.

105 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER Typy danych

106 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL Typy danych

107 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN Typy danych

108 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN zbiór znaków ASCII CHAR Typy danych

109 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN zbiór znaków ASCII CHAR Podstawowe typy złożone typ okrojony Miesiace = 1..12; Typy danych

110 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN zbiór znaków ASCII CHAR Podstawowe typy złożone Typy danych typ okrojony Miesiace = 1..12; typ wyliczeniowy DniTygodnia = (Pon,Wto,Sro,Czw,Pia,Sob,Nie);

111 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN zbiór znaków ASCII CHAR Podstawowe typy złożone Typy danych typ okrojony Miesiace = 1..12; typ wyliczeniowy DniTygodnia = (Pon,Wto,Sro,Czw,Pia,Sob,Nie); tablice Zal = ARRAY [1..200] OF 2..5;

112 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN zbiór znaków ASCII CHAR Podstawowe typy złożone Typy danych typ okrojony Miesiace = 1..12; typ wyliczeniowy DniTygodnia = (Pon,Wto,Sro,Czw,Pia,Sob,Nie); tablice Zal = ARRAY [1..200] OF 2..5; rekordy Zespolona = RECORD Re, Im: REAL; END;

113 Algorytm, podstawowe notacje, typy danych i wyrażenia 21 Podstawowe typy proste liczby całkowite INTEGER liczby rzeczywiste REAL zmienne logiczne BOOLEAN zbiór znaków ASCII CHAR Podstawowe typy złożone Typy danych typ okrojony Miesiace = 1..12; typ wyliczeniowy DniTygodnia = (Pon,Wto,Sro,Czw,Pia,Sob,Nie); tablice Zal = ARRAY [1..200] OF 2..5; rekordy Zespolona = RECORD Re, Im: REAL; END; zbiory Litery = SET OF CHAR;

114 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ].

115 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ.

116 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.

117 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ....

118 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL;

119 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL; Miesiace = 1..12;

120 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL; Miesiace = 1..12; DniTygodnia = (Po,Wt,Sr,Cz,Pi,So,Ni);

121 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL; Miesiace = 1..12; DniTygodnia = (Po,Wt,Sr,Cz,Pi,So,Ni); Zal = ARRAY [1..200] OF INTEGER;

122 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL; Miesiace = 1..12; DniTygodnia = (Po,Wt,Sr,Cz,Pi,So,Ni); Zal = ARRAY [1..200] OF INTEGER; Zespolona = RECORD Re, Im: MojTyp; END;

123 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL; Miesiace = 1..12; DniTygodnia = (Po,Wt,Sr,Cz,Pi,So,Ni); Zal = ARRAY [1..200] OF INTEGER; Zespolona = RECORD Re, Im: MojTyp; END; Liczba = Zespolona;

124 Algorytm, podstawowe notacje, typy danych i wyrażenia 22 Definicja typów danych sekcja-definicji-typow = [ "TYPE" definicja-typu ";" { definicja-typu ";" } ]. definicja-typu = identyfikator "=" typ. typ = identyfikator-typu nowy-typ.... TYPE MojTyp = REAL; Miesiace = 1..12; DniTygodnia = (Po,Wt,Sr,Cz,Pi,So,Ni); Zal = ARRAY [1..200] OF INTEGER; Zespolona = RECORD Re, Im: MojTyp; END; Liczba = Zespolona; Tablica = ARRAY [1..10] OF Zespolona;

125 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }.

126 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_"

127 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = małe i duże litery alfabetu łacińskiego

128 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne

129 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi.

130 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana

131 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana

132 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA

133 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2

134 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d3233

135 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp

136 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp moja

137 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp moja moja_

138 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp moja moja_ moja dana

139 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp moja moja_ moja dana moja-dana

140 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp moja moja_ moja dana moja-dana moja dana

141 Algorytm, podstawowe notacje, typy danych i wyrażenia 23 Identyfikatory identyfikator = litera { [ podkreslenie ] ( litera cyfra ) }. podkreslenie = "_" litera = cyfra = małe i duże litery alfabetu łacińskiego cyfry dziesiętne Idnetyfikator nie może pokrywać się ze słowami kluczowymi. Które z napisów są poprawnymi identyfikatorami? moja_dana Moja_Dana MOJA_DANA moja_dana2 tmp21d tmp moja moja_ moja dana moja-dana moja dana moja^dana

142 Algorytm, podstawowe notacje, typy danych i wyrażenia 24 liczby całkowite Typy danych zakres wartości reprezentacja min max 2 bajtowa -32,768 32,767 4 bajtowa -2,147,483,648 2,147,483,647

143 Algorytm, podstawowe notacje, typy danych i wyrażenia 24 liczby całkowite Typy danych zakres wartości reprezentacja min max 2 bajtowa -32,768 32,767 4 bajtowa -2,147,483,648 2,147,483,647 liczby rzeczywiste reprezentacja min max 4 bajtowa e e+38 8 bajtowa e e+308

144 Algorytm, podstawowe notacje, typy danych i wyrażenia 24 liczby całkowite Typy danych zakres wartości reprezentacja min max 2 bajtowa -32,768 32,767 4 bajtowa -2,147,483,648 2,147,483,647 liczby rzeczywiste reprezentacja min max 4 bajtowa e e+38 8 bajtowa e e+308 zmienne logiczne FALSE TRUE

145 Algorytm, podstawowe notacje, typy danych i wyrażenia 24 liczby całkowite Typy danych zakres wartości reprezentacja min max 2 bajtowa -32,768 32,767 4 bajtowa -2,147,483,648 2,147,483,647 liczby rzeczywiste reprezentacja min max 4 bajtowa e e+38 8 bajtowa e e+308 zmienne logiczne FALSE TRUE znaki ASCII CHR(0) CHR(255)

146 Algorytm, podstawowe notacje, typy danych i wyrażenia 25 Ograniczanie zakresu zmiennych TYPE unsigned_int = ;

147 Algorytm, podstawowe notacje, typy danych i wyrażenia 25 Ograniczanie zakresu zmiennych TYPE unsigned_int = ; capital = A.. Z ;

148 Algorytm, podstawowe notacje, typy danych i wyrażenia 25 Ograniczanie zakresu zmiennych TYPE unsigned_int = ; capital = A.. Z ; digits1 = ;

149 Algorytm, podstawowe notacje, typy danych i wyrażenia 25 Ograniczanie zakresu zmiennych TYPE unsigned_int = ; capital = A.. Z ; digits1 = ; digits2 = 0..9;

150 Algorytm, podstawowe notacje, typy danych i wyrażenia 26 Przykłady typów wyliczeniowych i okrojonych TYPE kolory = (czerwony, niebieski, zielony, Azja);

151 Algorytm, podstawowe notacje, typy danych i wyrażenia 26 Przykłady typów wyliczeniowych i okrojonych TYPE kolory = (czerwony, niebieski, zielony, Azja); kontynenty = (Afryka, Ameryka_Pd, Ameryka_Pn, Antarktyda, Australia, Azja, Europa);

152 Algorytm, podstawowe notacje, typy danych i wyrażenia 26 Przykłady typów wyliczeniowych i okrojonych TYPE kolory = (czerwony, niebieski, zielony, Azja); kontynenty = (Afryka, Ameryka_Pd, Ameryka_Pn, Antarktyda, Australia, Azja, Europa); tydzien = (pon,wto,sro,czw,pia,sob,nie); weekend=sob..nie; robocze=pon..pia;

153 Algorytm, podstawowe notacje, typy danych i wyrażenia 26 Przykłady typów wyliczeniowych i okrojonych TYPE kolory = (czerwony, niebieski, zielony, Azja); kontynenty = (Afryka, Ameryka_Pd, Ameryka_Pn, Antarktyda, Australia, Azja, Europa); tydzien = (pon,wto,sro,czw,pia,sob,nie); weekend=sob..nie; robocze=pon..pia; tydzien=(pon,wto,sro,czw,pia,sob,nie); weekend=(sob,nie); robocze=(pon,wto,sro,czw,pia);

154 Algorytm, podstawowe notacje, typy danych i wyrażenia 26 Przykłady typów wyliczeniowych i okrojonych TYPE kolory = (czerwony, niebieski, zielony, Azja); kontynenty = (Afryka, Ameryka_Pd, Ameryka_Pn, Antarktyda, Australia, Azja, Europa); tydzien = (pon,wto,sro,czw,pia,sob,nie); weekend=sob..nie; robocze=pon..pia; tydzien=(pon,wto,sro,czw,pia,sob,nie); weekend=(sob,nie); robocze=(pon,wto,sro,czw,pia); robocze=(pon,wto,sro,czw,pia); tydzien=(robocze,sob,nie);

155 Algorytm, podstawowe notacje, typy danych i wyrażenia 27 Przykłady typów wyliczeniowych i okrojonych X = ; Y = 1..1; Z = true..true; V = INTEGER; Przyjaciele = Ameryka_Pd..Ameryka_Pn

156 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala,

157 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala, b) typ, który określa, jakie informacje będą przechowywane w zmiennej; nazwa i typ zmiennej są wymienione w jej deklaracji,

158 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala, b) typ, który określa, jakie informacje będą przechowywane w zmiennej; nazwa i typ zmiennej są wymienione w jej deklaracji, c) aktualną wartość,

159 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala, b) typ, który określa, jakie informacje będą przechowywane w zmiennej; nazwa i typ zmiennej są wymienione w jej deklaracji, c) aktualną wartość, d) alokację, która jest miejscem w pamięci, gdzie ma być przechowywana wartość zmiennej,

160 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala, b) typ, który określa, jakie informacje będą przechowywane w zmiennej; nazwa i typ zmiennej są wymienione w jej deklaracji, c) aktualną wartość, d) alokację, która jest miejscem w pamięci, gdzie ma być przechowywana wartość zmiennej, e) zakres, który jest miejscem w programie, gdzie można odwoływać się do zmiennej,

161 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala, b) typ, który określa, jakie informacje będą przechowywane w zmiennej; nazwa i typ zmiennej są wymienione w jej deklaracji, c) aktualną wartość, d) alokację, która jest miejscem w pamięci, gdzie ma być przechowywana wartość zmiennej, e) zakres, który jest miejscem w programie, gdzie można odwoływać się do zmiennej, f) czas trwania, to jest czas, w jakim mogą wystąpić odwołania do zmiennej.

162 Algorytm, podstawowe notacje, typy danych i wyrażenia 28 Zmienne Zmienne posiadają: a) nazwę, która musi być identyfikatorem pascalowym i różnić się od słów kluczowych Pascala, b) typ, który określa, jakie informacje będą przechowywane w zmiennej; nazwa i typ zmiennej są wymienione w jej deklaracji, c) aktualną wartość, d) alokację, która jest miejscem w pamięci, gdzie ma być przechowywana wartość zmiennej, e) zakres, który jest miejscem w programie, gdzie można odwoływać się do zmiennej, f) czas trwania, to jest czas, w jakim mogą wystąpić odwołania do zmiennej. a), b) określone treścią programu, c), d) ustalone chwilowo w trakcie wykonywania programu, e), f) określone w Pascalu na stałe.

163 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ].

164 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ.

165 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }.

166 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok : INTEGER;

167 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok delta : INTEGER; : REAL;

168 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok delta delta1 : INTEGER; : REAL; : MojTyp;

169 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok delta delta1 delta2 : INTEGER; : REAL; : MojTyp; : Zespolona;

170 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok : INTEGER; delta : REAL; delta1 : MojTyp; delta2 : Zespolona; i, j, k : INTEGER;

171 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok : INTEGER; delta : REAL; delta1 : MojTyp; delta2 : Zespolona; i, j, k : INTEGER; z1 : Zal;

172 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok : INTEGER; delta : REAL; delta1 : MojTyp; delta2 : Zespolona; i, j, k : INTEGER; z1 : Zal; z2, z3 : Zal;

173 Algorytm, podstawowe notacje, typy danych i wyrażenia 29 Deklaracja zmiennych sekcja-deklaracji-zmiennych = [ "VAR" deklaracja-zmiennych ";" { deklaracja-zmiennych ";" } ]. deklaracja-zmiennych = lista-identyfikatorow ":" typ. lista-identyfikatorow = identyfikator { "," identyfikator }. VAR krok : INTEGER; delta : REAL; delta1 : MojTyp; delta2 : Zespolona; i, j, k : INTEGER; z1 : Zal; z2, z3 : Zal; z4, z5 : ARRAY [1..200] OF INTEGER;

174 Algorytm, podstawowe notacje, typy danych i wyrażenia 30 Wyrażenia zmienne VAR Promien, Kat, Luk: REAL;

175 Algorytm, podstawowe notacje, typy danych i wyrażenia 30 Wyrażenia zmienne VAR Promien, Kat, Luk: REAL; stałe jawne 3, 3.14, TRUE, a, ala ma kota

176 Algorytm, podstawowe notacje, typy danych i wyrażenia 30 Wyrażenia zmienne VAR Promien, Kat, Luk: REAL; stałe jawne 3, 3.14, TRUE, a, ala ma kota symboliczne CONST pi = , im = ala ;

177 Algorytm, podstawowe notacje, typy danych i wyrażenia 30 Wyrażenia zmienne VAR Promien, Kat, Luk: REAL; stałe jawne 3, 3.14, TRUE, a, ala ma kota symboliczne CONST pi = , im = ala ; wywołania funkcji SIN(Kat/180*pi)

178 Algorytm, podstawowe notacje, typy danych i wyrażenia 30 Wyrażenia zmienne VAR Promien, Kat, Luk: REAL; stałe jawne 3, 3.14, TRUE, a, ala ma kota symboliczne CONST pi = , im = ala ; wywołania funkcji SIN(Kat/180*pi) wyrażenia operatorowe (a * b) + (c * d) (Kat >= 0.0) AND (Kat <= 180.0)

Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia

Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia Informatyka 1 Wykład II Algorytm, podstawowe notacje, typy danych i wyrażenia Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: pojęcie algorytmu, diagramy algorytmów, przejście od algorytmu do programu, zapis

Bardziej szczegółowo

Informatyka I. Wyk lad II Algorytm, podstawowe notacje, typy danych i wyrażenia

Informatyka I. Wyk lad II Algorytm, podstawowe notacje, typy danych i wyrażenia Informatyka I Wyk lad II Algorytm, podstawowe notacje, typy danych i wyrażenia Zagadnienia: pojecie algorytmu, diagramy algorytmów, przejście od algorytmu do programu, zapis sk ladni programu, typy danych,

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

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

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

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład II Algorytm, podstawowe notacje, typy danych, wyrażenia i instrukcje Robert Muszyński ZPCiR IIAiR PWr Algorytm, podstawowe notacje, typy danych, wyrażenia i instrukcje 1 scharakteryzowanie

Bardziej szczegółowo

Informatyka 1. Przetwarzanie tekstów

Informatyka 1. Przetwarzanie tekstów Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie

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

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu Informatyka 1 Wykład V Procedury i funkcje, struktura programu w Pascalu Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: deklaracje procedury i funkcji, parametry procedur i funkcji, reguły użycia parametrów

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

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

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Podstawy Programowania. Algorytm, podstawowe notacje, typy danych, wyrażenia i instrukcje

Podstawy Programowania. Algorytm, podstawowe notacje, typy danych, wyrażenia i instrukcje Podstawy Programowania Wykład II Algorytm, podstawowe notacje, typy danych, wyrażenia i instrukcje Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: pojęcie algorytmu, przejście od algorytmu do programu, zapis

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład II Algorytm, podstawowe notacje, typy danych, wyrażenia i instrukcje Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Algorytm, podstawowe notacje, typy danych, wyrażenia

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

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

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

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia Informatyka 1 Wykład IV Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: instrukcja warunkowa CASE-OF-END, instrukcja pętli REPEAT-UNTIL,

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

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

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 zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

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

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie

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

Lekcja 6: Pascal. Procedura i funkcja

Lekcja 6: Pascal. Procedura i funkcja Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej

Bardziej szczegółowo

Instrukcja warunkowa i wyboru

Instrukcja warunkowa i wyboru Instrukcja warunkowa i wyboru projektowanie algorytmów instrukcje sterujące języka Pascal instrukcja warunkowa operatory relacyjne i logiczne instrukcja wyboru echniki programowania I s.3-1 Projektowanie

Bardziej szczegółowo

PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL

PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL! Podstawowe wiadomości o języku Turbo Pascal " Symbole podstawowe. " Jednostki leksykalne. # Słowa kluczowe # Deklaratory # Identyfikatory # Liczby # Łańcuchy

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

Zasady Programowania Strukturalnego

Zasady Programowania Strukturalnego Zasady Programowania Strukturalnego Rafał Jakubowski Zespół Teoretycznej Biofizyki Molekularnej rjakubowski@fizyka.umk.pl www.fizyka.umk.pl/~rjakubowski Tel: 33 46 Konsultacje w sem. letnim 11/12: środa,

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

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część trzecia sterujące wykonaniem programu wprowadzenie Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)

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

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

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe Informatyka 1 Wykład VII Dokumentacja programu, moduły programowe, typy tablicowe Robert Muszyński ZPCiR ICT PWr Zagadnienia: reguły stylu programowania, komentarze marginesowe, blokowe, moduły programowe

Bardziej szczegółowo

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if

Bardziej szczegółowo

ForPascal Interpreter języka Pascal

ForPascal Interpreter języka Pascal Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:

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

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

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

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

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

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje

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

Zadanie analizy leksykalnej

Zadanie analizy leksykalnej Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:

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

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice Podstawy programowania Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice 1 Podstawy programowania Iteracja 2 III. Iteracja Iteracja o nieznanej liczbie powtórzeń while warunek do instrukcja_do_wykonania;

Bardziej szczegółowo

Zapis algorytmów: schematy blokowe i pseudokod 1

Zapis algorytmów: schematy blokowe i pseudokod 1 Zapis algorytmów: schematy blokowe i pseudokod 1 Przed przystąpieniem do napisania kodu programu należy ten program najpierw zaprojektować. Projekt tworzącego go algorytmu może być zapisany w formie schematu

Bardziej szczegółowo

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu Programowanie V Dariusz Skibicki Wydział Inżynierii Mechanicznej Uniwersytet Technologiczno-Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy dariusz.skibicki(at)utp.edu.pl Programowanie Projektowanie

Bardziej szczegółowo

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie Podstawy programowania w Pythonie Wykład 5 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 7 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część dziewiąta Procedury i funkcje Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

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

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Ilość cyfr liczby naturalnej

Ilość cyfr liczby naturalnej Ilość cyfr liczby naturalnej Użytkownik wprowadza liczbę naturalną n. Podaj algorytm znajdowania ilości cyfr liczby n. (Np.: po wprowadzeniu liczby 2453, jako wynik powinna zostać podana liczba 4). Specyfikacja

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy

Bardziej szczegółowo

Algorytmy od problemu do wyniku

Algorytmy od problemu do wyniku Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie

Bardziej szczegółowo

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa

Bardziej szczegółowo

Programowanie w Turbo Pascal

Programowanie w Turbo Pascal Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji

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

OPERACJE NA PLIKACH. Podstawowe pojęcia:

OPERACJE NA PLIKACH. Podstawowe pojęcia: OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania

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

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

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

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) 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

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

Bardziej szczegółowo

Efektywna analiza składniowa GBK

Efektywna analiza składniowa GBK TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji

Bardziej szczegółowo

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

#include <stdio.h> void main(void) { 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

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

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

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Zmienne Proste typy danych Strukturalne typy danych Witold Marańda maranda@dmcs.p.lodz.pl 1 Zmienne Liczby (i struktury danych) występują w algorytmach i programach komputerowych

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

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

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

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

Operacje wejścia/wyjścia odsłona pierwsza

Operacje wejścia/wyjścia odsłona pierwsza Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 1

Algorytmy i struktury danych. wykład 1 Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,

Bardziej szczegółowo

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie. CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0)

Bardziej szczegółowo

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis} 1 WIADOMOŚCI WSTĘPNE Programowanie komputerów najogólniej mówiąc polega na zapisaniu pewniej listy poleceń do wykonania przez komputer w pewnym umownym języku Taką listę poleceń nazywamy programem Program

Bardziej szczegółowo

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część siódma Tablice różne zastosowania Zbiory Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1 Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).

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

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

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

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Referencje do zmiennych i obiektów

Referencje do zmiennych i obiektów Referencje do zmiennych i obiektów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie

Bardziej szczegółowo

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny

Bardziej szczegółowo