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

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

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Podstawy Programowania

Informatyka 1. Przetwarzanie tekstów

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

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

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

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

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

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

Podstawy Programowania

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

Programowanie RAD Delphi

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

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

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

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

Języki programowania zasady ich tworzenia

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

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

Algorytmika i Programowanie VBA 1 - podstawy

Lekcja 6: Pascal. Procedura i funkcja

Instrukcja warunkowa i wyboru

PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL

Pascal - wprowadzenie

Zasady Programowania Strukturalnego

Język programowania PASCAL

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

Podstawy programowania

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

Visual Basic for Application (VBA)

Podstawy Programowania Podstawowa składnia języka C++

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

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

ForPascal Interpreter języka Pascal

Wstęp do programowania

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

Podstawy programowania

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

Podstawy programowania

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

Wprowadzenie do języka Pascal

Zadanie analizy leksykalnej

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

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

Zapis algorytmów: schematy blokowe i pseudokod 1

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

Podstawy programowania w Pythonie

Podstawy programowania

Wstęp do informatyki- wykład 2

Jerzy Nawrocki, Wprowadzenie do informatyki

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

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

Definicje. Algorytm to:

Ilość cyfr liczby naturalnej

Programowanie obiektowe

Algorytmy od problemu do wyniku

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

Programowanie w Turbo Pascal

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

OPERACJE NA PLIKACH. Podstawowe pojęcia:

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

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

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

LibreOffice Calc VBA

Efektywna analiza składniowa GBK

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

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

1 Wprowadzenie do algorytmiki

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

Algorytmy i struktury danych

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

Język ludzki kod maszynowy

Programowanie Delphi obliczenia, schematy blokowe

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

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

Algorytmy i struktury danych. wykład 1

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

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}

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

Podstawy programowania

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

MATERIAŁY DO ZAJĘĆ II

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

Visual Basic for Application (VBA)

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

Wstęp do programowania

Jerzy Nawrocki, Wprowadzenie do informatyki

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

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

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

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

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

Referencje do zmiennych i obiektów

Wstęp do programowania 2

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

Transkrypt:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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

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?

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

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?

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

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

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

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

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

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

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

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 ;

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 ().

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

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

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

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

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

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

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.

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

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

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

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

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

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.

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.

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.

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

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

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? 12-12-12 3.10.67

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? 12-12-12 3.10.67 0-0-00

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? 12-12-12 3.10.67 0-0-00 00-00-00

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? 12-12-12 3.10.67 0-0-00 00-00-00 47-19-99

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? 12-12-12 3.10.67 0-0-00 00-00-00 47-19-99 12-2-997

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 +13 +7-666

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

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

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.

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

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

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

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").

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

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.

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.

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

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

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

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

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

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.

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.

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.

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.

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

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.

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

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

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.

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.

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

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

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

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

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

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

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;

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;

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;

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

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.

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.

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

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;

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;

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

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;

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;

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;

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;

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

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

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

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

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.

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

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

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

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

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

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

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 12tmp moja

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 12tmp moja moja_

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 12tmp moja moja_ moja dana

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 12tmp moja moja_ moja dana moja-dana

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 12tmp moja moja_ moja dana moja-dana moja dana

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 12tmp moja moja_ moja dana moja-dana moja dana moja^dana

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

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 1.401298e-45 3.402823e+38 8 bajtowa 4.94065645841246544e-324 1.79769313486231470e+308

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 1.401298e-45 3.402823e+38 8 bajtowa 4.94065645841246544e-324 1.79769313486231470e+308 zmienne logiczne FALSE TRUE

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 1.401298e-45 3.402823e+38 8 bajtowa 4.94065645841246544e-324 1.79769313486231470e+308 zmienne logiczne FALSE TRUE znaki ASCII CHR(0) CHR(255)

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

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

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

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

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

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

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;

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

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

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

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,

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,

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ść,

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,

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,

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.

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.

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

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

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

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;

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;

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;

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;

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;

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;

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;

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;

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

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

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 = 3.14159, im = ala ;

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 = 3.14159, im = ala ; wywołania funkcji SIN(Kat/180*pi)

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 = 3.14159, im = ala ; wywołania funkcji SIN(Kat/180*pi) wyrażenia operatorowe (a * b) + (c * d) (Kat >= 0.0) AND (Kat <= 180.0)