DZWONEK

Są tacy, którzy czytają te wiadomości przed tobą.
Subskrybuj, aby otrzymywać świeże artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać Dzwon
Bez spamu

Federalna Agencja Edukacji

abstrakcyjny

„RODZAJE DANYCH W PASCAL”

1. Typy danych

Wszelkie dane tj. stałe, zmienne, właściwości, wartości funkcji lub wyrażeń charakteryzują się ich typami. Typ określa zestaw prawidłowych wartości, które może mieć obiekt, a także zestaw prawidłowych operacji, które go dotyczą. Ponadto typ określa również format wewnętrznej reprezentacji danych w pamięci komputera.

Ogólnie rzecz biorąc, język Object Pascal charakteryzuje się rozgałęzioną strukturą typów danych (ryc. 1.1). Język zapewnia mechanizm tworzenia nowych typów, dzięki czemu całkowita liczba typów używanych w programie może być dowolnie duża.

Dane przetwarzane w programie są podzielone na zmienne, stałe i literały:

Stałe reprezentują dane, których wartości są ustawione w sekcji deklaracji stałych i nie zmieniają się podczas wykonywania programu.

Zmienne są zadeklarowane w sekcji deklaracji zmiennych, ale w przeciwieństwie do stałych, uzyskują swoje wartości już podczas wykonywania programu i można je zmieniać. Dostęp do stałych i zmiennych można uzyskać po nazwie.

Dosłowny nie ma identyfikatora i jest reprezentowany bezpośrednio w tekście programu przez wartość.

Typ definiuje zestaw wartości, które mogą przyjmować elementy danych, oraz zestaw dozwolonych operacji na nich.

Ten i następne cztery rozdziały zapewniają szczegółowy opis wszystkie typy.

1.1 Proste typy

Proste typy obejmują porządkowe, rzeczywiste i typy daty i godziny.

Typy porządkowe różnią się tym, że każda z nich ma skończoną liczbę możliwych wartości. Wartości te można uporządkować w określony sposób (stąd nazwa typów), a zatem do każdej z nich można przypisać określoną liczbę całkowitą - numer seryjny wartości.

Prawdziwe typy ściśle mówiąc, mają również skończoną liczbę wartości, która jest określona przez format wewnętrznej reprezentacji liczby rzeczywistej. Jednak liczba możliwych wartości typów rzeczywistych jest tak duża, że \u200b\u200bnie można porównać liczby całkowitej (jej liczby) z każdą z nich.

Wpisz datę i godzinę Zaprojektowany do przechowywania daty i godziny. W tym celu wykorzystuje format materiału.

1.1.1 Typy porządkowe

Typy porządkowe obejmują (patrz rys. 1.1) liczby całkowite, logiczne, znakowe, wyliczone i typ zakresu. Funkcja Ord (x) ma zastosowanie do dowolnej z nich, która zwraca numer seryjny wartości wyrażenia X.


Figa. 1.1 - Struktura typu danych

Dla cały typów, funkcja ord (x) zwraca wartość samego x, tzn. Ord (X) \u003d x dla x należącego do dowolnego cały rodzaj. Zastosowanie Ord (x) do logiczny , charakter i wyliczony typy daje dodatnią liczbę całkowitą od 0 do 1 ( typ logiczny), od 0 do 255 ( symboliczny), od 0 do 65535 ( wyliczalny). Typ zakresu zachowuje wszystkie właściwości bazy typ porządkowy, dlatego wynik zastosowania do niej funkcji ord (x) zależy od właściwości tego typu.

Możesz także zastosować funkcje do typów porządkowych:

pred (x) - zwraca poprzednią wartość typu porządkowego (wartość, która odpowiada liczbie porządkowej ord (x) -1, tj. ord (рred (x)) \u003d ord (x) - 1;

succ (x) - zwraca następną wartość typu porządkowego, która odpowiada liczbie porządkowej ord (x) +1, tj. ord (Succ (x)) \u003d ord (x) + 1.

Na przykład, jeśli program definiuje zmienną

wtedy funkcja PRED (c) zwróci znak „4”, a funkcja SUCC (c) zwróci znak „6”.

Jeśli wyobrażamy sobie jakikolwiek typ porządkowy jako uporządkowany zestaw wartości rosnących od lewej do prawej i zajmujących pewien segment na osi liczbowej, wówczas funkcja pred (x) nie jest zdefiniowana dla lewego, a succ (x) dla prawego końca tego segmentu.

Całe typy . Zakres możliwych wartości typów całkowitych zależy od ich wewnętrznej reprezentacji, która może zajmować jeden, dwa, cztery lub osiem bajtów. Na stole. 1.1 podano nazwy typów całkowitych, długość ich wewnętrznej reprezentacji w bajtach oraz zakres możliwych wartości.

Tabela 1.1 - Typy liczb całkowitych

Tytuł Długość, bajt Zakres wartości
Kardynał 4 0. .. 2 147 483 647
Bajt 1 0...255
Skrót 1 -128...+127
Smallint 2 -32 768...+32 767
Słowo 2 0...65 535
Liczba całkowita 4
Longint 4 -2 147 483 648...+2 147 483 647
Int64 8 -9*1018...+9*1018
Longword 4 0. . .4 294 967 295

Rodzaje Longword i Int64 po raz pierwszy wprowadzony w wersji 4 i typach Smallint i Kardynał brakuje w Delphi 1. Typ liczba całkowita w tej wersji zajmuje 2 bajty i ma zakres wartości od -32768 do +32767, tzn. pasuje Smallint .

Korzystając z procedur i funkcji z parametrami całkowitymi, należy kierować się „zagnieżdżaniem” typów, tj. gdziekolwiek można go użyć słowo dozwolone użycie Bajt (ale nie odwrotnie) w Longint "Wchodzić" Smallint który z kolei obejmuje Skrót .

Wykaz procedur i funkcji mających zastosowanie do typy całkowitepodano w tabeli. 1.2 Litery b, s, w, i, l oznaczają odpowiednio wyrażenia typu Bajt , Shortint, Word, Integer i Longint ,

x jest wyrażeniem dowolnego z tych typów; litery vb, vs, vw, vi, vl, vx oznaczają zmienne odpowiednich typów. Opcjonalny parametr podano w nawiasach kwadratowych.

Tabela 1.2 - Standardowe procedury i funkcje mające zastosowanie do typów całkowitych

Apel Rodzaj wyniku akt
abs (x) x Zwraca moduł x
chr (b) Zwęglać Zwraca znak po kodzie
dec (vx [, i]) - Zmniejsza vx o i, a przy braku i o 1
inc (vx [, i]) - Zwiększa vx o i, a przy braku i o 1
Cześć (w) Bajt Zwraca górny łuk argumentu
Cześć (i) Również Zwraca trzeci bajt z rzędu
Lo (i) Zwraca niski bajt argumentu
Niska) Również
nieparzysty (l) Boolean Zwraca wartość True, jeśli argument jest liczbą nieparzystą.
Losowo (w) Podobnie jak parametr Zwraca pseudolosową liczbę równomiernie rozmieszczoną w zakresie 0 ... (w-l)
sqr (x) X Zwraca kwadrat argumentu
zamiana (i) Liczba całkowita Zamienia bajty w słowie
zamiana (w) Słowo Również

W przypadku operacji na liczbach całkowitych rodzaj wyniku będzie odpowiadał typowi operandów, a jeśli operandy są różnych typów całkowitych - ogólny typ, który obejmuje oba operandy. Na przykład za pomocą skrót i słowo typ będzie powszechny liczba całkowita . W ustawieniu standardowym kompilator Delphi nie generuje kodu, który kontroluje ewentualną weryfikację wartości poza dopuszczalnym zakresem, co może prowadzić do nieporozumień.

Typy boolowskie . Typy logiczne obejmują Boolean, ByteBool, Bool, wordBool i Longbool . W standardowym Pascalu definiowany jest tylko typ Boolean , inne typy logiczne wprowadzone w Object Pascal dla kompatybilności z Windows: typy Boolean i Bytebool zajmują po jednym bajcie, Bool i Wordbool - 2 bajty każdy Longbool - 4 bajty. Wartości logiczne mogą być jedną z wcześniej zadeklarowanych stałych False (false) lub True (true).

Ponieważ typ boolowski jest typem porządkowym, może być używany w operatorze pętlowym typu policzalnego. W Delphi 32 dla Boolean wartość

Ord (True) \u003d +1, natomiast dla innych typów ( Bool, WordBool itp.)

Ord (True) \u003d -1, więc tego rodzaju operatorów należy używać ostrożnie! Na przykład dla Delphi 6 wykonywalna instrukcja showMessage („---”) w następnej pętli dla nigdy nie zostanie wykonany:

dla L: \u003d False to True do

Pokaż wiadomość ("-);

Jeśli zamienimy typ parametru pętli L w poprzednim przykładzie na Boolean , cykl zadziała, a komunikat pojawi się dwukrotnie na ekranie. [Dla wersji 1 i 2 Delphi ord (True) \u003d + 1 dla dowolnego typu logicznego.]

Rodzaj postaci . Wartości typu znaków to zestaw wszystkich znaków komputera. Każdy znak ma przypisaną liczbę całkowitą z zakresu 0 ... 255. Liczba ta służy jako kod wewnętrznej reprezentacji znaku; jest zwracana przez funkcję ord.

Do kodowania w systemie Windows wykorzystywany jest kod ANSI (nazwany na cześć American National Standard Institute - American Institute of Standardization, który zaproponował ten kod). Pierwsza połowa znaków komputera z kodami 0 ... 127 odpowiada tabeli 1.3. Druga połowa znaków o kodach 128 ... 255 różni się dla różnych czcionek. Standardowe czcionki Windows Arial Cyr, Courier New Cyr i Times New Roman używają ostatnich 64 kodów (od 192 do 256) do reprezentowania znaków cyrylicy (bez liter „ё” i „ё”): „A” ... „I” są kodowane wartości 192..223, „a” ... „I” - 224 ... 255. Symbole „ё” i „ё” mają odpowiednio kody 168 i 184.

Tabela 1.3 - Kodowanie znaków ANSI

Kod Symbol Kod. Symbol Kod. Symbol Kod Symbol
0 Nul 32 BL 64 @ 96 "
1 STREFA 33 ! 65 I 97 i
2 STX 34 66 W 98 b
3 ETX 35 # 67 Z 99 z
4 Eot 36 $ 68 re 100 re
5 ENQ 37 % 69 mi 101 mi
6 ACK 38 & 70 fa 102 fa
7 Bel 39 " 71 sol 103 re
8" BS 40 ( 72 N. 104 h
9 Ht 41 ) 73 ja 105 ja
10 Lf 42 * 74 jot 106 jot
11 VT 43 + 75 DO 107 k
12 Ff 44 fa 76 L. 108 1
13 CR 45 - 77 M. 109 m
14 WIĘC 46 78 N. 110 n
15 SI 47 / 79 0 111 o
16 DEL 48 0 80 R 112 P.
17 DC1 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S. 115 s
20 DC 4 52 4 84 T. 116 t
21 Nak 53 5 85 U 117 u
22 SYN 54 6 86 V. 118 v
23 ETB 55 7 87 W. 119 W.
24 MOGĄ 56 8 88 x 120 x
25 EM 57 9 89 Y 121 W
26 POD 58 : 90 Z .122 z
27 wyjście 59 ; 91 t 123 {
28 FS 60 < 92 \ 124 1
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 L. 126 ~
31 NAS 63 fa 95 127 r

Symbole z kodami 0 ... 31 odnoszą się do kodów serwisowych. Jeśli te kody są użyte w tekście symbolicznym programu, są traktowane jako spacje.

Pisać zwęglać obowiązują operacje relacji, a także funkcje wbudowane:

Char (c) - funkcja typu zwęglać ; konwertuje wyrażenie na typ Bajt w postać i zwraca ją wraz ze swoją wartością;

UpCase (CH) - funkcja typu zwęglać ; zwraca wielką literę, jeśli cn jest małą literą łacińską, w przeciwnym razie zwraca sam znak cn (dla Cyrylicy zwraca oryginalny znak).

Typ wyliczony . Typ wyliczony jest określony przez wyświetlenie wartości, które może otrzymać. Każda wartość nosi nazwę określonego identyfikatora i znajduje się na liście otoczonej nawiasami, na przykład:

kolory \u003d (czerwony, biały, niebieski);

Zastosowanie wymienionych typów powoduje, że programy są bardziej wizualne.

Zgodność między wartościami wyliczonego typu a numerami seryjnymi tych wartości ustalana jest według kolejności umieszczania na liście: pierwsza wartość na liście otrzymuje numer seryjny 0, druga - 1 itd. Maksymalna moc wyliczonego typu wynosi 65 536 wartości, więc rzeczywisty wyliczony typ definiuje pewien podzbiór typu całkowitego słowo i może być uważany za zwartą deklarację bezpośrednio grupy stałych całkowitych o wartościach 0, 1 itd.

Zastosowanie wymienionych typów zwiększa niezawodność programów ze względu na możliwość kontrolowania wartości, które odbierają odpowiednie zmienne. Obiekt Pascal umożliwia odwrotne przekształcenia: dowolne wyrażenie typu Słowo można przekonwertować na wartość wyliczonego typu, chyba że wartość wyrażenia całkowitego nie przekracza mocy tego typu. Taka konwersja jest osiągana poprzez użycie automatycznie deklarowanej funkcji o nazwie typu wyliczonego.

Typ zakresu . Zakres typów jest podzbiorem typu podstawowego, którym może być dowolny typ porządkowy, z wyjątkiem typu zakresu.

Zakres typów jest ustalany przez granice jego wartości wewnątrz typu podstawowego:

<мин.знач.>..<макс.знач.>

Tutaj<мин. знач. > - minimalna wartość zakresu typu;<макс. знач. > - jego maksymalna wartość.

Zakres typów nie jest konieczny do opisania w sekcji typu, ale można go określić bezpośrednio podczas deklarowania zmiennej.

Przy określaniu zakresu typów należy kierować się następującymi zasadami:

dwa znaki „..” są uważane za jeden znak, dlatego odstępy między nimi są niedozwolone; lewa granica zakresu nie powinna przekraczać prawej granicy.

Zakres typów dziedziczy wszystkie właściwości swojego typu podstawowego, ale z ograniczeniami związanymi z jego niższą mocą. W szczególności, jeśli zmienna jest zdefiniowana.

Biblioteka standardowa Object Pascal zawiera dwie funkcje, które wspierają pracę z typami zakresów:

Wysoka (x) - zwraca maksymalną wartość zakresu typów, do którego należy zmienna x;

Niski (x) - zwraca minimalną wartość typu zakresu.

1.1.2 Typy rzeczywiste

W przeciwieństwie do typów porządkowych, których wartości są zawsze porównywane z liczbą całkowitą, a zatem są reprezentowane w komputerze absolutnie dokładnie, wartości typów rzeczywistych określają dowolną liczbę z pewną skończoną dokładnością, w zależności od wewnętrznego formatu liczby rzeczywistej.

Tabela 1.4 - typy rzeczywiste

W poprzednie wersje Typ Delphi 1 ... 3 Real zajmował 6 bajtów i miał zakres wartości od 2,9 * 10-39 do 1,7 * 1038. W wersjach 4 i 5 ten typ jest równoważny typowi Podwójnie . W razie potrzeby (dla celów kompatybilności) użyj 6-bajtów Real , musisz określić dyrektywę kompilatora (SREALCOMPATIBILITY ON).

Jak widać ze stołu. 1.4, liczba rzeczywista w Object Pascal zajmuje od 4 do 10 sąsiednich bajtów i ma następującą strukturę w pamięci komputera.

Oto s jest cyfrą znaku liczby; e jest częścią wykładniczą; zawiera porządek binarny; m jest mantysą liczby.

Mantissa m ma długość 23 (dla pojedynczy) do 63 (dla Rozszerzony) cyfry binarne, co zapewnia dokładność 7 ... 8 dla pojedynczy i 19 ... 20 dla Rozszerzony cyfry dziesiętne. Kropka dziesiętna (przecinek) jest sugerowana przed lewą (najwyższą) cyfrą mantysy, ale w operacjach z liczbą jej pozycja jest przesuwana w lewo lub w prawo zgodnie z porządkiem binarnym liczby przechowywanej w części wykładniczej, dlatego operacje na liczbach rzeczywistych nazywane są arytmetyką zmiennoprzecinkową (przecinek) .

Zauważ, że koprocesor arytmetyczny zawsze przetwarza liczby w formacie Rozszerzony , a trzy inne rzeczywiste typy w tym przypadku uzyskuje się po prostu przycinając wyniki do pożądanych rozmiarów i służą one głównie do oszczędzania pamięci.

Obiekt Pascal ma specjalne miejsce w typach komp i Waluta , które są traktowane jako liczby rzeczywiste z ułamkowymi częściami o stałej długości: w komp część ułamkowa ma długość 0 cyfr, tzn. po prostu jest nieobecna w waluta długość części ułamkowej -4 miejsca po przecinku. W rzeczywistości oba typy definiują dużą liczbę całkowitą ze znakiem, która przechowuje 19 ... 20 znaczących cyfr dziesiętnych (w wewnętrznej reprezentacji zajmują 8 sąsiednich bajtów). Jednocześnie w wyrażeniach komp i waluta są one w pełni kompatybilne z innymi rzeczywistymi typami: wszystkie operacje materialne są na nich zdefiniowane, mogą być użyte jako argumenty funkcji matematycznych itp. Najbardziej odpowiednim obszarem zastosowania dla tych typów jest rachunkowość.

1.1.3 Wpisz datę i godzinę

Typ daty i godziny jest określony przez standardowy identyfikator TDateTime i jest przeznaczony do jednoczesnego przechowywania daty i godziny. W wewnętrznej reprezentacji zajmuje 8 bajtów i tym podobne waluta reprezentuje liczbę rzeczywistą ze stałą częścią ułamkową: data jest przechowywana w części całkowitej liczby, a czas w części ułamkowej. Data jest zdefiniowana jako liczba dni, które upłynęły od 30 grudnia 1899 r., A czas jako część dnia upłynął od 0 godzin, więc wartość 36444,837 odpowiada dacie 11.10.1999 i godzinie 20:05. Liczba dni może być ujemna, jednak wartości mniejsze niż -693594 (odpowiadające dacie 00.00.0000 pochodzącej od Narodzenia Pańskiego) są ignorowane przez funkcje konwersji daty na typ łańcucha.

Dane powyżej TDateTime te same operacje są zdefiniowane jak na liczbach rzeczywistych, a stałe i zmienne liczb całkowitych i rzeczywistych mogą uczestniczyć w wyrażeniach tego typu.

Ponieważ typ TDateTime zgodny z formatem liczb rzeczywistych, możesz łatwo określić datę z kilkudniowym wyprzedzeniem lub wstecz: wystarczy dodać żądaną liczbę całkowitą do danej daty lub odjąć ją.

1.2 Typy strukturalne

Każdy z typów strukturalnych (i są cztery z nich w Object Pascal: tablice, rekordy, zbiory i pliki) charakteryzuje się mnogością elementów tworzących ten typ. Każdy element z kolei może należeć do typu strukturalnego, co pozwala nam mówić o możliwym zagnieżdżaniu typów. Obiekt Pascal pozwala na dowolną głębokość zagnieżdżania typów, jednak całkowita długość dowolnego z nich w wewnętrznej reprezentacji nie powinna przekraczać 2 GB.

W celu zapewnienia zgodności ze standardowym Pascal w Object Pascal dozwolone jest umieszczenie słowa zarezerwowanego przed opisem typu strukturalnego zapakowane , instruując kompilator, jeśli to możliwe, aby zaoszczędzić pamięć przydzieloną dla obiektów typu strukturalnego; ale kompilator faktycznie ignoruje to wskazanie: „pakowanie” danych w Object Pascal odbywa się automatycznie tam, gdzie to możliwe.

1.2.1 Tablice

Tablice w Object Pascal są bardzo podobne do podobnych typów danych w innych językach programowania. Charakterystyczną cechą tablic jest to, że wszystkie ich komponenty są danymi tego samego typu (prawdopodobnie mają strukturę). Elementy te można łatwo zamówić i uzyskać dostęp do dowolnego z nich, po prostu podając jego numer seryjny.

Opis typu tablicy jest zdefiniowany następująco:

<имя типа> \u003d tablica [<сп.инд.типов> ] z<тип>;

Tutaj<имя типа> - poprawny identyfikator; tablica z - słowa zastrzeżone (tablica);<сп.инд.типов> - lista jednego lub więcej typów indeksu, oddzielonych przecinkami; nawiasy kwadratowe otaczające listę to wymagania dotyczące składni;<тип> - dowolny typ obiektu Pascal.

Jako typy indeksów w Object Pascal można używać dowolnych typów porządkowych o pojemności nie większej niż 2 GB (tj. Z wyjątkiem Longword i Int64)

Głębokość zagnieżdżania typów strukturalnych ogólnie, a zatem tablic, jest dowolna, dlatego liczba elementów na liście typów indeksów (wymiar tablicy) nie jest ograniczona, jednak całkowita długość wewnętrznej reprezentacji dowolnej tablicy nie może być większa niż 2 GB. W pamięci komputera elementy tablicy podążają za sobą, dzięki czemu przy przełączaniu z najniższych adresów na najwyższe najbardziej prawy indeks tablicy zmienia się najszybciej.

W Object Pascal możesz przenieść wszystkie elementy z jednej tablicy do innej tablicy tego samego typu za pomocą jednego operatora przypisania.

1.2.2 Wpisy

Rekord to struktura danych składająca się ze stałej liczby składników zwanych polami rekordów. W przeciwieństwie do tablicy rekordów komponentów (pól) mogą być różnego rodzaju. Aby móc odwoływać się do jednego lub drugiego elementu rekordu, pola są nazywane.

Struktura deklaracji typu post jest następująca:

<имятипа> \u003d rekord<сп.полей> koniec;

Tutaj<имя типа> - poprawny identyfikator; nagrywanie / koniec - słowa zastrzeżone (zapis, koniec);<сп.полей> - lista pól; reprezentuje sekwencję odcinków rekordu, pomiędzy którymi umieszczony jest średnik.

Każda sekcja rekordu składa się z jednego lub więcej identyfikatorów pól, oddzielonych przecinkami.

Zdanie przypadek otwierając wariant, na zewnątrz wygląda jak odpowiedni operator selekcji, ale w rzeczywistości odgrywa jedynie rolę słowa serwisowego oznaczającego początek wariantu. Dlatego nie powinieneś umieszczać na końcu wariantu koniec jak para do przypadek . (Ponieważ część wariantowa jest zawsze ostatnią częścią rekordu, wciąż ma koniec, ale tylko jako para do nagrania). Klucz wyboru oferty przypadek faktycznie zignorowany przez kompilator: jedynym wymaganiem w Object Pascal jest to, że klucz definiuje standardowy lub wcześniej zadeklarowany typ porządkowy.

Nazwy pól muszą być unikalne w obrębie rekordu, w którym zostały zadeklarowane, jednak jeśli rekordy zawierają pola rekordu, tj. Są zagnieżdżone jeden w drugim, nazwy można powtarzać na różnych poziomach zagnieżdżania.

1.2.3 Zestawy

Wiele - Są to zbiory tego samego typu obiektów logicznie ze sobą połączone. Charakter relacji między obiektami jest sugerowany tylko przez programistę i nie jest w żaden sposób kontrolowany przez Object Pascal. Liczba elementów w zestawie może wynosić od 0 do 256 (zestaw, który nie zawiera elementów, nazywany jest pustym). Niestałość polega na tym, że liczba zbiorów elementów różni się od tablic i rekordów.

Dwa zestawy są uważane za równoważne wtedy i tylko wtedy, gdy wszystkie ich elementy są takie same, a kolejność elementów w zestawie jest obojętna. Jeśli wszystkie elementy jednego zestawu są również zawarte w innym, mówią, że pierwszy zestaw jest zawarty w drugim. Pusty zestaw jest zawarty w każdym innym.

Opis typu zestawu to

<имя типа> \u003d zestaw<базовый тип>;

Tutaj<имя типа> - poprawny identyfikator; zestaw, z - słowa zastrzeżone (ustawione, wyłączone);<базовый тип> - podstawowy typ elementów zestawu, który może być używany jako dowolny typ porządkowy, z wyjątkiem Word, Integer, Longint, Int64 .

Aby określić zestaw, stosuje się tak zwany konstruktor zestawu: listę specyfikacji elementów zestawu oddzielonych przecinkami; lista jest otoczona nawiasami kwadratowymi. Specyfikacje elementów mogą być stałymi lub wyrażeniami typu podstawowego, a także typem zakresu tego samego typu podstawowego.

Wewnętrzna struktura zestawu jest taka, że \u200b\u200bdo każdego jego elementu przypisany jest jeden bit binarny (jeden bit); jeśli element jest zawarty w zestawie, odpowiadający mu bit ma wartość 1, w przeciwnym razie - 0. Jednocześnie minimalna jednostka pamięci to jeden bajt zawierający 8 bitów, więc kompilator przydzielił jeden bajt zestawom, w wyniku czego moc każdego z nich staje się 8 elementów. Maksymalna moc zestawu wynosi 256 elementów. W przypadku takich zestawów kompilator przydziela 16 ciągłych bajtów.

I jeszcze jeden eksperyment: zmień zakres typu podstawowego na 1..256. Chociaż moc tego typu wynosi 256 elementów, podczas próby kompilacji programu kompilator zgłosi błąd: Zestawy mogą zawierać maksymalnie 256 elementów, ponieważ numeracja elementów w zestawie rozpoczyna się od zera, niezależnie od dolnej granicy zadeklarowanej w programie . Kompilator umożliwia użycie zakresu typów liczb całkowitych o minimalnej granicy 0 i maksimum 255 lub dowolnego typu wyliczonego z nie więcej niż 256 elementami jako typem podstawowym (maksymalna moc wyliczonego typu to 65536 elementów).

1.3 Rzędy

Obiekt Pascal wykorzystuje następujące typy przetwarzania tekstu:

krótka linia shortString lub ciąg [n] gdzie n<= 255;

długi sznurek strunowy ;

szeroka linia Widestring ;

zerowy ciąg terminala pchar .

Wspólne dla tych typów jest to, że każda linia jest traktowana jako jednowymiarowa tablica znaków, liczba znaków, w których można zmienić w uruchomionym programie: dla ciągu [n] długość ciągu zmienia się od 0 do n, dla strunowy i pchar - od 0 do 2 GB.

Standardowy Pascal używa tylko krótkich ciągów znaków Ciąg [n] . W pamięci takiej linii przydzielane są n + i bajty, pierwszy bajt zawiera bieżącą długość linii, a same znaki znajdują się od drugiego bajtu. Ponieważ w tym przypadku przydzielony jest jeden bajt na długość ciągu, maksymalna długość krótkiego ciągu nie może przekraczać 255 znaków. Typ standardowy służy do deklarowania krótkiego ciągu o maksymalnej długości. Shortstring (odpowiednik Strunowy).

Windows szeroko stosuje ciągi zerowe, które są ciągami znaków ograniczonymi znakiem # o. Maksymalna długość takiego ciągu jest ograniczona tylko dostępną pamięcią i może być bardzo duża.

Nowy typ wprowadzony w 32-bitowych wersjach Delphi strunowy łącząc komfort obu typów. Podczas pracy z tym typem pamięć jest przydzielana w miarę potrzeb (dynamicznie) i ograniczona dostępną pamięcią programu.

1.4 Wskaźniki i pamięć dynamiczna

1.4.1 Pamięć dynamiczna

Pamięć dynamiczna - Jest to pamięć o swobodnym dostępie do komputera, dostarczona do programu podczas jego działania. Dynamiczna alokacja danych oznacza wykorzystanie pamięci dynamicznej bezpośrednio podczas działania programu. Natomiast statyczna alokacja jest wykonywana przez kompilator Object Pascal podczas kompilacji programu. Przy dynamicznej alokacji ani rodzaj, ani ilość umieszczanych danych nie są znane z góry.

1.4.2 Wskaźniki

PC RAM to zbiór komórek do przechowywania informacji - bajtów, z których każda ma swój własny numer. Liczby te nazywane są adresami; umożliwiają dostęp do dowolnego bajtu pamięci. Object Pascal zapewnia programiście elastyczny sposób zarządzania pamięcią dynamiczną - tak zwane wskaźniki. Wskaźnik to zmienna zawierająca adres bajtu pamięci jako jego wartość. Za pomocą wskaźników możesz umieścić w pamięci dynamicznej dowolny typ danych znany w Object Pascal. Tylko kilka z nich ( Byte, Char, ShortInt, Boolean) zajmują jeden bajt w wewnętrznej reprezentacji, reszta - kilka sąsiadujących. Dlatego w rzeczywistości wskaźnik dotyczy tylko pierwszego bajtu danych.

Zazwyczaj wskaźnik jest powiązany z jakimś typem danych. Takie wskaźniki będą nazywane maszynopisami. Aby zadeklarować wskaźnik maszynowy, użyj ikony ^, która znajduje się przed odpowiednim typem.

W Object Pascal możesz zadeklarować wskaźnik i nie kojarzyć go z żadnym konkretnym typem danych. Używany jest do tego typ standardowy. wskaźnik , np .:

Wskaźniki tego rodzaju będą nazywane bez typu. Ponieważ nietypowe wskaźniki nie są powiązane z konkretnym typem, wygodnie jest dynamicznie umieszczać dane za ich pomocą, których struktura i typ zmieniają się podczas programu.

Jak już wspomniano, wartości wskaźników to adresy zmiennych w pamięci, więc można oczekiwać, że wartość jednego wskaźnika można przekazać do drugiego. W rzeczywistości nie jest to prawdą. Obiekt Pascal może przekazywać wartości tylko między wskaźnikami powiązanymi z tym samym typem danych.

1.4.3 Przydział i zwolnienie pamięci dynamicznej

Cała pamięć dynamiczna w Object Pascal jest traktowana jako ciągła tablica bajtów zwana stertą.

Pamięć dla dowolnej dynamicznie alokowanej zmiennej jest przydzielana przez nową procedurę. Parametrem umożliwiającym dostęp do tej procedury jest wskaźnik maszynowy. W wyniku połączenia wskaźnik uzyskuje wartość odpowiadającą adresowi, z którego można umieścić dane. Wartość wskazywana przez wskaźnik, czyli rzeczywiste dane umieszczone na stercie, jest oznaczona znakiem ^, który jest umieszczany bezpośrednio za wskaźnikiem. Jeśli za wskaźnikiem nie ma symbolu ^, oznacza to adres, pod którym dane są umieszczane. Po raz kolejny warto pomyśleć o tym, co właśnie powiedziano: wartością dowolnego wskaźnika jest adres i aby wskazać, że nie chodzi o adres, ale o dane umieszczone pod tym adresem, ^ umieszcza się za wskaźnikiem (czasami jest to nazywane dereferencją) wskaźnik).

Dynamicznie alokowane dane mogą być używane w dowolnym miejscu programu, gdzie jest to dozwolone dla stałych i zmiennych odpowiedniego typu

Pamięć dynamiczna może być nie tylko pobierana ze sterty, ale także zwracana. Aby to zrobić, skorzystaj z procedury Dispose. Na przykład operatorzy

Usuń (pJ);

Usuń (pR);

wrócą do sterty pamięci poprzednio przypisanej do pJ i pR (patrz wyżej).

Zwracam uwagę, że procedura Dispose (pPtr) nie zmienia wartości wskaźnika pPtr, a jedynie zwraca do sterty pamięć poprzednio powiązaną z tym wskaźnikiem. Ponowne zastosowanie procedury do wolnego wskaźnika spowoduje błąd okresu wykonania. Programista może oznaczyć wolny wskaźnik zarezerwowanym słowem zero.

1.5 Aliasy typu

Dla każdego typu możesz zadeklarować dowolną liczbę aliasów. Na przykład:

TMyInteger \u003d Liczba całkowita;

W przyszłości alias może być używany w taki sam sposób jak typ podstawowy:

Mylnt: TMyInteger;

Mylnt: \u003d 2 * Round (pi);

Tego rodzaju aliasy są powszechnie stosowane w celu zwiększenia widoczności kodu programu. Jednak w Object Pascal możesz zadeklarować mocno wpisane aliasy, dodając zarezerwowany typ słowa przed nazwą typu podstawowego:

TMyIntegerType \u003d type Integer;

MylntVar: TMyIntegerType;

Z punktu widzenia kompilatora wpisane aliasy są kompatybilne z typem podstawowym w różnego rodzaju wyrażeniach, ale w rzeczywistości deklarują nowy typ danych, dlatego nie mogą być używane jako formalne parametry dostępu do procedur zamiast typu podstawowego. Jeśli na przykład zadeklarowano procedurę

funkcja MylntFunc (APar: liczba całkowita): Liczba całkowita;

to taki apel do niej

MylntFunc (MylntVar)

zostanie uznany przez kompilator za błędny.

Ściśle wpisane aliasy zmuszają kompilator do generowania informacji o typie dla fazy uruchamiania programu (RTTI - Informacje o typie wykonania w czasie wykonywania). Informacje te są zwykle wykorzystywane przez środowisko Delphi, aby zapewnić funkcjonowanie różnego rodzaju edytorów.

Podstawy programowania
Każdy profesjonalista był kiedyś czajnikiem. Na pewno znasz stan, w którym „nie wiesz, jak zacząć myśleć, myśleć o czymś takim”. Na pewno masz do czynienia z sytuacją, w której po prostu nie wiesz od czego zacząć. Ta książka jest skierowana specjalnie do osób, które chciałyby zostać programistą, ale absolutnie nie wiedzą, jak rozpocząć tę ścieżkę. ...

Prawie wszystkie typy danych liczb całkowitych są względne. Te typy danych reprezentują liczby całkowite w określonym zakresie. Konkretne nazwy typów liczb całkowitych i zakresów wartości zależą od konkretnego języka programowania, kompilatora i trybu kompilacji. Dowiedz się więcej na ten temat w dokumentacji kompilatora.

Na przykład typ danych Liczba całkowita w Delphi ma zakres -2147483648 ... 2147483647, podczas gdy w Turbo Pascal typ danych to Liczba całkowita reprezentuje liczby z zakresu -35768 ... 32767. W Free Pascal: zakres wartości typów Liczba całkowita zależy od wybranego trybu.

Ponieważ Lazarus korzysta z kompilatora Free Pascal, wszystko, co zostało powiedziane o typach danych w odniesieniu do Free Pascal, dotyczy również Lazarus.

Zatem całkowite typy danych Free Pascal są wymienione w tabeli 13.1.

Tabela 13.1. Typy danych całkowitych Free Pascal (Lazarus).

Typ Rozmiar, bajty Zakres wartości
Bajt 1 0…255
Skrót 1 -128…127
Smallint 2 -35768…32767
Słowo 2 0…65535
Liczba całkowita 2 lub 4 Zależy od trybu kompilacji
Kardynał 4 0…4294967295
Longint 4 -2147483648…2147483647
Longword 4 0...4294967295
Int64 8 -9223372036854775808...9223372036854775807
QWord 8 0...18446744073709551615

UWAGA
W darmowych typach pascala Int64 i QWord nie są! Oznacza to, że nie można ich używać, na przykład do zmiennych indeksowych w pętlach. Przywiozłem je tutaj, aby nie opisywać w przyszłości osobno i zebrać w jednym miejscu wszystkie liczby całkowite Free Pascal. Jeśli nie rozumiesz niektórych słów, nie bój się. W odpowiednim czasie opowiem o wszystkim bardziej szczegółowo.

A teraz kilka wyjaśnień do tabeli.

W kolumnie TYP podane są identyfikatory typów danych (słowa kluczowe wskazujące kompilatorowi, do jakiego typu należą te dane). Dowiesz się, jak korzystać z tych identyfikatorów podczas poniższych lekcji.

W kolumnie ROZMIAR wskazany jest rozmiar, jaki zajmuje typ danych w pamięci komputera. Na przykład dodatnia liczba całkowita może być reprezentowana przez różne typy: Bajt, Słowo, Kardynał itp. Jednak numer typu Kardynał zajmie 4 bajty w pamięci, a numer typu Bajt - tylko 1 bajt. Dlatego jeśli wiesz na pewno, że liczba, z którą pracujesz, nigdy nie przyjmie wartości większej niż 255, lepiej zdefiniuj ją jako typ Bajt, ponieważ pozwoli to zaoszczędzić miejsce w pamięci komputera. Chociaż nie wszystko jest tutaj takie proste (niuanse alokacji pamięci i innych zasobów komputerowych są poza zakresem).

W kolumnie ZASIĘG zakres wartości określonych przez typ danych jest określony. Na przykład liczba jak Bajt może przyjmować wartości od 0 do 255.

A teraz ćwicz. Napiszemy program, który wyświetla zakresy wartości wszystkich typów danych całkowitych. Kod źródłowy tego programu pokazano poniżej:

Listing 13.1. Program do wyświetlania zakresów liczb całkowitych. program td; ($ mode objfpc) ($ H +) używa ($ IFDEF UNIX) ($ IFDEF UseCThreads) cthreads, ($ ENDIF) ($ ENDIF) Klasy (potem można dodawać jednostki); rozpocznij Writeln („Byte:”, Low (Byte), „..”, High (Byte)); Writeln („Shortint:”, Low (Shortint), „..”, High (Shortint)); Writeln („Smallint:”, Low (Smallint), „..”, High (Smallint)); Writeln („Word:”, Low (Word), „..”, High (Word)); Writeln („Integer:”, Low (Integer), „..”, High (Integer)); Writeln („Cardinal:”, Low (Cardinal), „..”, High (Cardinal)); Writeln („Longint:”, Low (Longint), „..”, High (Longint)); Writeln („Longword:”, Low (Longword), „..”, High (Longword)); Writeln („Int64:”, niski (Int64), „..”, wysoki (Int64)); Writeln („QWord:”, niski (QWord), „..”, wysoki (QWord)); Readln koniec.

Standardowa funkcja Niska określa minimalną wartość dla typu danych. Funtsia Wysoki określa maksymalną wartość. Z funkcjami Writeln i Readln już trochę wiesz. Porozmawiamy więcej o podprogramach (procedurach i funkcjach) w odpowiedniej sekcji.

Na koniec powiem, jak dane całkowite są zapisywane w programie. Tak, jak i wszędzie - wystarczy wpisać liczbę, bez cudzysłowów i żadnych dodatkowych znaków. Na przykład tak

10
178
35278

To prawda, że \u200b\u200bdotyczy to liczb w systemie dziesiętnym. Na pewno już wiesz, że istnieją inne systemy. Najbardziej rozpowszechnione systemy liczb binarnych, dziesiętnych i szesnastkowych.

Free Pascal obsługuje cztery formaty nagrywania liczb całkowitych:

  1. Zapis dziesiętny. Tylko liczba, na przykład 10.
  2. Notacja szesnastkowa. Liczba z prefiksem $. Na przykład liczba szesnastkowa $ 10 jest równa liczbie dziesiętnej 16.
  3. Zapis ósemkowy. Liczba z prefiksem &. Na przykład liczba ósemkowa i 10 to liczba dziesiętna 8.
  4. Zapis binarny. Liczba z prefiksem%. Na przykład liczba binarna% 10 to liczba dziesiętna 2.

Zadanie domowe:

Utwórz program, który wyświetla zakresy wartości całkowitych (Listing 13.1). Skompiluj program i uruchom go. Upewnij się, że wartości te są zgodne z tabelą 13.1.

W kodzie źródłowym programu znajdź wiersz, który ustawia tryb kompilacji:

($ mode objfpc) ($ H +)

W tym wierszu zamiast słowa objfpc Napisz słowo tp. Oznacza to, że ostatnia linia powinna wyglądać następująco:

($ mode tp) ($ H +)

Uruchom program. Zobacz zakres wartości typów Liczba całkowita. Wyciągać wnioski.

Naucz się myśleć jak programista, czyli logicznie. Nikt was nie przeżuje aż do przejścia na emeryturę, tak jak teraz. Musisz przyzwyczaić się do samodzielnego myślenia. W przeciwnym razie wpadniesz w „małpą zasadę uczenia się”, a wtedy twoje szanse zostania fajnym programistą zbliżą się do zera. Aby pomóc ci nie wpaść w poziom „wkuwania”, okresowo zostawiam luki w twoim treningu, abyś sam spróbował wymyślić jakieś rzeczy.

O wiele lepiej, jeśli pomyślisz o sobie zła decyzja, sam znajdziesz błąd i sam go poprawisz, który zawsze będzie korzystał z cudzych poprawnych decyzji i głupio je kopiował.

W każdym programie musisz określić rodzaj i rodzaj ilości, które zostaną wykorzystane do rozwiązania problemu. Z wyglądu proste wielkości (w programowaniu wszystkie nazywane są danymi) są podzielone na stałe i zmienne.

Stałe- są to dane, których wartości podczas wykonywania programu nie można zmienić. Są one wprowadzane do bloku const.

Zasadniczo opis prostej stałej bez typu jest wykonywany w następujący sposób:

Const stała_nazwa \u003d wyrażenie;

Wpisane stałe są opisane jako:

Stała stała_nazwa: typ \u003d wyrażenie;

W wyrażeniach można użyć:

· Cyfry lub zestaw znaków w apostrofach;

· Operacje matematyczne;

· Operacje relacji i operacje logiczne;

Funkcje abs (x), round (x), trunc (x);

Funkcje chr (x), ord (x), pred (x), succ (x) i inne.

Format stałej opisu:

identyfikator \u003d wartość;

1. Liczby całkowite - określane liczbami zapisanymi w formacie dziesiętnym lub szesnastkowym, nie zawierające kropki dziesiętnej.

2. Rzeczywiste - są określone liczbami zapisanymi w formacie dziesiętnym.

3. Postać - dowolna postać komputera osobistego, ujęta w apostrofy.

4. Ciąg - są określone przez ciąg dowolnych znaków zawartych w apostrofach.

5. Wartości logiczne są fałszywe lub prawdziwe.

Typ stałej nie jest określony, ale jest określany automatycznie podczas kompilacji: wartości wyrażeń są natychmiast obliczane, a następnie zastępowane tylko nazwami.

Zmienne - Są to dane, które mogą ulec zmianie podczas wykonywania programu. Każda zmienna ma własną nazwaną komórkę / komórki. Te. zmienna jest rodzajem kontenera, w którym można umieścić pewne dane i tam je przechowywać. Zmienne mają nazwę, typ i wartość.

Nazwa zmiennej - musi koniecznie zaczynać się od litery, nie może zawierać spacji i może zawierać tylko:

· Litery alfabetu łacińskiego;

Podkreślać.

Przykłady: A, A_1, AA, i, j, x, y itd. Niepoprawne nazwy: My 1, 1A. Nazwa zmiennej może mieć do 126 znaków, więc spróbuj wybrać sensowne nazwy zmiennych. Jednak kompilator rozróżnia pierwsze 63 znaki w nazwach. Ale nie rozróżnia małych i wielkich liter, zarówno w nazwach zmiennych, jak i w pisaniu identyfikatorów usług.

Typ zmiennej - musi być zdefiniowany w bloku opisu zmiennej VAR. Wartość zmiennej jest stałą tego samego typu.

Każdy program działa z danymi. Dane to w szerokim znaczeniu tego słowa obiekty przetwarzane przez program. Rodzaj danych jest jego cechą charakterystyczną. Zależy od typu:

· W jakiej formie dane te będą przechowywane,

· Ile komórek pamięci zostanie przydzielonych do przechowywania,

· Jaką minimalną i maksymalną wartość może przyjąć,

· Jakie operacje można z nim wykonać.

Niektóre proste typy danych Pascal:

1. Typy liczb całkowitych (ShortInt, Integer, LongInt, Byte, Word).

2. Typy rzeczywiste (rzeczywiste, pojedyncze, podwójne, rozszerzone, komp.).

3. Logiczne (logiczne).

4. Postać (Char).

5. Typy ciągów (ciąg, ciąg [n]).

9. Bezwarunkowi operatorzy w Pascal. Opis i zastosowanie.

Widok operatora

iść do<метка>;

Cel - przekazanie kontroli w programie operatorowi oznaczonemu etykietą<метка>. Etykieta może być nazwą (zapisaną zgodnie z regułami dla nazw językowych) lub liczbą całkowitą bez znaku opisaną w operatorze Opis etykiety etykiety i poprzedzoną zaznaczonym operatorem, ale tylko w jednym miejscu w programie. Etykieta jest oddzielona od operatora symbolem „:”. Przejście do etykiety może nastąpić kilka razy w bloku, ale sama etykieta - tylko raz. Jeśli nie ma przeniesienia kontroli do żadnej etykiety, nie wystąpi błąd.

Mówiąc ogólnie, bezwarunkowy operator skoku nie jest dozwolony w programowaniu strukturalnym. Chociaż pozwala na skrócenie tekstu programu, jego użycie w pascal jest ograniczone przez szereg zasad i zaleceń. Zabrania się wchodzenia do instrukcji złożonej, wewnątrz lub na początku podprogramu i wychodzenia z podprogramu do programu, który go spowodował. Nie zaleca się wychodzenia poza stronę (ekran) tekstu programu, z wyjątkiem przejścia do końcowych instrukcji programu. Wszystko to wiąże się z możliwością pominięcia ważnych operatorów dla prawidłowego funkcjonowania programu. Zwykle operator bezwarunkowego skoku jest używany tylko do powrotu do początku bryły cyklu, jeśli cykl jest konstruowany przy użyciu operatorów warunkowych i bezwarunkowych.

Zauważ, że instrukcja po goto musi być również oznaczona inną etykietą (jeśli goto nie jest ostatnim w grupie instrukcji). W przeciwnym razie następny operator nie będzie mógł przejść do następnego.

10. Oddział Operatorzy w Pascal. Opis i zastosowanie.

Do operatorów, które pozwalają wybrać tylko jedną z kilku możliwych opcji wykonania programu (gałęzi) należą

Te. operatory te pozwalają zmienić naturalną kolejność wykonywania instrukcji programu.

gdyby<условие> następnie< оператор 1 >

jeszcze<оператор 2> ;

jeśli a\u003e \u003d b, to Max: \u003d a else Max: \u003d b;

W instrukcji if można wykonać tylko jedną instrukcję dla obu gałęzi (wtedy i jeszcze)!

Przykład zadania dla rozgałęzionych operatorów w pascal. Wprowadź dwie liczby całkowite i wyświetl największą z nich.

Idea rozwiązania: musisz wyświetlić pierwszy numer, jeśli jest on większy niż drugi, lub drugi, jeśli jest większy niż pierwszy.

Cecha: działania wykonawcy zależą od pewnych warunków (jeśli ... inaczej ...).

var a, b, max: liczba całkowita;

writeln („Wpisz dwie liczby całkowite”);

jeśli a\u003e b to max: \u003d a else max: \u003d b;

writeln („Największa liczba”, maks.);

Trudne warunki

Warunek złożony to warunek składający się z kilku prostych warunków (relacji) związanych z pomocą logiki

operacje:

Not - NOT (negacja, inwersja)

I - I (logiczne mnożenie, koniunkcja,

jednoczesne spełnienie warunków)

Lub - LUB (dodanie logiczne, rozłączenie,

spełnienie co najmniej jednego z warunków)

Xor - wyłączne OR (tylko wykonanie

jeden z dwóch warunków, ale nie oba)

Proste warunki (relacje)

< <= > >= = <>

Kolejność wykonania (priorytet \u003d starszeństwo)

Wyrażenia w nawiasach

<, <=, >, >=, =, <>

Cecha - każdy z prostych warunków musi być ujęty w nawiasy kwadratowe.

Instrukcja wyboru wielkości liter

Instrukcja case pozwala wybrać pomiędzy kilkoma opcjami.

Wariant operatora składa się z

Øz wyrażenia zwanego selektorem,

Ø i lista operatorów, z których każdy jest oznaczony stałą tego samego typu co selektor.

Selektor powinien być tylko porządkowym typem danych, a nie typem longint.

Selektor może być zmienną lub wyrażeniem.

Listę stałych można określić jako jawne wyliczenie, a także interwał lub ich kombinację. Powtarzanie stałych nie jest

dozwolony.

Typ przełącznika i typy wszystkich stałych muszą być kompatybilne.

Walizka< выражение {селектор}> z

<список констант 1> : < оператор 1>;

< список констант K> : < оператор K>;

Instrukcja case jest wykonywana w następujący sposób:

1) obliczana jest wartość selektora;

2) uzyskany wynik jest sprawdzany pod kątem przynależności do określonej listy stałych;

3) jeśli taka lista zostanie znaleziona, dalsze kontrole nie są już wykonywane, a operator odpowiada

wybraną gałąź, po której kontrola zostaje przekazana operatorowi słowo kluczowe koniec, który zamyka wszystko

konstrukcja przypadku

4) jeżeli nie ma odpowiedniej listy stałych, wykonywany jest operator słowa kluczowego else; jeśli nie ma innej gałęzi,

wtedy nic się nie robi.

W przypadku operatora gałęzi tylko jedna instrukcja może być wykonana na wszystkich gałęziach!

Jeśli chcesz wykonać wiele, musisz użyć początkowych nawiasów operatora.

indeks przypadku mod 4 z

1: x: \u003d y * y - 2 * y;

11.Operator opcji (wybór) w Pascal. Opis i zastosowanie.

Operator wyboru (opcja, przełącznik) realizuje wybór jednej z możliwych alternatyw, tj. opcje kontynuowania programu.

Format zapisu:

Case - wybór, opcja;

S - selektor, wyrażenie typu porządkowego;

Ki - stałe wyboru, stałe, których rodzaj pokrywa się z rodzajem selektora;

OPi - dowolny operator, w tym pusty;

Operator selekcji implementuje następującą konstrukcję:

Operacja operatora wyboru Pascala: Obliczane jest wyrażenie selektora. Obliczona wartość jest kolejno porównywana ze stałymi alternatywami, a kontrola jest przenoszona na operatora, stałą wyboru, która pokrywa się z obliczoną wartością selektora. Operator jest wykonywany, a sterowanie jest przekazywane poza operatora wyboru. Jeśli obliczona wartość selektora nie pokrywa się z żadną ze stałych, wówczas kontrola jest przenoszona do gałęzi Else, której obecność, niekoniecznie w tym przypadku, kontrola jest przenoszona poza operator selekcji.

Schemat blokowy operatora selekcji.

Strukturę operatora selekcji można zaimplementować za pomocą zagnieżdżenia instrukcje warunkowe, ale ogranicza widoczność programu. Zalecane nie więcej niż 2-3 poziomy załączników.

12. Rodzaje operatorów cyklu w Pascal, ich przeznaczenie.

5. Algorytmiczna konstrukcja cykli. Rodzaje cykli.

Istnieją trzy rodzaje algorytmów cyklicznych: cykl z parametrem (zwany cyklem arytmetycznym), cykl z warunkiem wstępnym i cykl z warunkiem dodatkowym (nazywane są iteracyjnymi).

12.13 Cykl arytmetyczny.W cyklu arytmetycznym liczba jego kroków (powtórzeń) jest jednoznacznie określona przez regułę zmiany parametru, która jest ustalana przy użyciu wartości początkowej (N) i końcowej (K) parametru oraz kroku (h) zmiany tego parametru. Oznacza to, że na pierwszym etapie cyklu wartością parametru jest N, na drugim - N + h, na trzecim - N + 2h itp. Na ostatnim etapie cyklu wartość parametru nie jest większa niż K, ale taka, że \u200b\u200bjego dalsza zmiana doprowadzi do wartości większej niż K.

Pętle z licznikiem są używane, gdy cykliczna część programu musi być powtarzana określoną liczbę razy. W takich pętlach znajduje się zmienna typu całkowitego nazywana licznikiem pętli.

Jeśli konieczne jest powtórzenie fragmentu programu określoną liczbę razy, wówczas używana jest konstrukcja:

DLA<имя счетчика цикла> = <начальное значение> DO<конечное значение> ZROBIĆ<оператор>;

FOR, TO, DO - słowa zastrzeżone (angielski: for, to, execute);

<счетчик (параметр) цикла> - zmienna typu INTEGER, która zmienia się w przedziale od<начального значения>, zwiększając się o jeden na końcu każdego etapu cyklu;

<оператор> - dowolny (często złożony) operator.

Istnieje inna forma tego oświadczenia:

DLA<имя счетчика цикла>:= <начальное значение> AŻ DO<конечное значение> ZROBIĆ<оператор> :

Zastąpienie TO słowem DOWNTO (angielski: w dół do) oznacza, że \u200b\u200bkrok zmiany parametru cyklu wynosi -1, to znaczy licznik jest stopniowo zmniejszany o jeden.

12.14 Cykl z warunkiem wstępnym. Liczba kroków cyklu nie jest z góry określona i zależy od danych wejściowych zadania. W tej cyklicznej strukturze wartość wyrażenia warunkowego (warunek) jest najpierw sprawdzana przed wykonaniem następnego kroku cyklu. Jeśli wartość wyrażenia warunkowego jest prawdziwa, wówczas wykonywana jest treść pętli. Następnie kontrola jest ponownie przenoszona na sprawdzenie warunków itp. Działania te są powtarzane, dopóki wyrażenie warunkowe nie przyjmie wartości FAŁSZ. Przy pierwszej niezgodności z warunkami cykl kończy się.

Ten najczęściej używany operator powtarzania to:

PODCZAS<условие> ZROBIĆ<оператор>;

WHILE, DO - słowa zastrzeżone (angielski: na razie, do);

<условие> - wyrażenie typu logicznego;

<оператор> - dowolny operator (być może złożony).

Osobliwością cyklu z warunkiem wstępnym jest to, że jeśli wyrażenie warunkowe jest początkowo fałszywe, wówczas ciało cyklu nigdy nie zostanie wykonane.

Wstępnie warunkowane pętle są używane, gdy wykonanie pętli jest powiązane z jakimś warunkiem logicznym. Operator cyklu z warunkiem wstępnym składa się z dwóch części: warunku wykonania cyklu i treści cyklu.

12.15 Pętla z warunkiem dodatkowym (pętla iteracyjna). Podobnie jak w cyklu z warunkiem wstępnym, w konstrukcji cyklicznej z warunkiem dodatkowym, liczba powtórzeń treści cyklu nie jest z góry określona, \u200b\u200bzależy to od danych wejściowych problemu. W przeciwieństwie do cyklu z warunkiem wstępnym, treść cyklu z warunkiem dodatkowym zostanie zawsze wykonana co najmniej raz, po czym warunek zostanie sprawdzony. W tej konstrukcji ciało pętli będzie wykonywane, dopóki wartość wyrażenia warunkowego będzie fałszywa. Gdy tylko stanie się to prawdą, wykonanie polecenia zostaje zakończone.

Ten operator ma postać:

POWTARZAĆ<тело цикла> AŻ DO<условие>:

REPEAT, UNTIL - słowa zastrzeżone (angielski: powtórz, jeszcze nie);

<условие> - wyrażenie typu logicznego, jeśli jego wartość jest prawdą, to pętla kończy się.

Należy zauważyć, że w tej konstrukcji sekwencja instrukcji definiujących treść pętli nie jest zawarta w nawiasach instrukcji BEGIN ... END, ponieważ są one parą REPEAT ... UNTIL.

Cykle z warunkiem wstępnym są podobne do cykli z warunkiem wstępnym, ale w nich stan znajduje się po treści cyklu.

W przeciwieństwie do cyklu z warunkiem wstępnym, który może zakończyć zadanie bez wykonywania całego cyklu cyklu (jeśli warunek spełnienia jest fałszywy przy pierwszym przejściu cyklu), ciało cyklu z warunkiem dodatkowym musi zostać wykonane co najmniej raz, po czym warunek jest sprawdzany.

Jeden z operatorów ciała pętli musi wpływać na wartość warunku wykonania pętli, w przeciwnym razie pętla zostanie powtórzona nieskończoną liczbę razy.

Jeśli warunek jest spełniony, wówczas pętla kończy działanie, w przeciwnym razie operatory pętli są powtarzane.

16. Szyk- Jest to zestaw elementów tego samego typu, połączonych wspólną nazwą i zajmujących pewien obszar pamięci w komputerze. Liczba elementów w tablicy jest zawsze skończona. W ogólnym przypadku tablica jest strukturalnym typem danych składającym się ze stałej liczby elementów o tym samym typie. Tablice mają nazwę typu regularnego (lub serii), ponieważ łączą ten sam typ (logicznie jednorodnych) elementów, uporządkowanych (rozliczanych) według indeksów, które określają pozycję każdego elementu w tablicy. Dowolny typ danych może być użyty jako element tablicy, dlatego istnienie tablic rekordów, tablic wskaźników, tablic ciągów, tablic itp. Jest całkiem uzasadnione. Elementami tablic mogą być dowolne dane, w tym strukturalne. Typ elementów tablic nazywa się podstawowym. Osobliwością języka Pascal jest to, że liczba elementów tablicy jest stała podczas opisu i nie zmienia się podczas wykonywania programu. Elementy składające się na tablicę są uporządkowane w taki sposób, że każdy element odpowiada zestawowi liczb (indeksów), które określają jego położenie w ogólnej sekwencji. Dostęp do każdego elementu odbywa się poprzez indeksowanie elementów tablicy. Indeksy są wyrażeniami dowolnego typu skalarnego (zwykle całego), z wyjątkiem prawdziwego. Typ indeksu określa granice zmiany wartości indeksu. Aby opisać tablicę, przeznaczona jest tablica fraz (tablica).

Tablica nazywana jest agregacją danych, która wykonuje podobne funkcje i jest oznaczona jedną nazwą. Jeśli do każdego elementu tablicy przypisany jest tylko jeden numer seryjny, wówczas tablica taka nazywana jest liniową lub jednowymiarową.

17. Tablica jednowymiarowa- jest to stała liczba elementów tego samego typu, połączonych jedną nazwą, a każdy element ma swój unikalny numer, a liczba elementów jest z rzędu.

Aby opisać takie obiekty w programowaniu, musisz najpierw wpisać odpowiedni typ w sekcji opisu typu.

Typ tablicy opisano w następujący sposób:

Type Name \u003d Array [typ indeksu (-ów)] typu elementów;

Nazwa zmiennej: nazwa typu;

Zmienna typu tablicowego może zostać natychmiast opisana w sekcji opisu zmiennej Var:

Var Nazwa zmiennej: array [typ indeksu (-ów)] typu elementów;

Array - słowo serwisowe (przetłumaczone z angielskiego oznacza „tablica”);

Of - słowo serwisowe (przetłumaczone z angielskiego oznacza „z”).

Typ indeksu - dowolny typ porządkowy, z wyjątkiem liczb całkowitych, typów longint.

Typ samych elementów może być inny niż typ pliku.

Liczba elementów w tablicy nazywana jest jej wymiarem. Łatwo obliczyć, że w ostatnim sposobie opisu zestawu wskaźników wymiar tablicy to: maksymalna wartość indeksu - minimalna wartość indeksu + 1.

Na przykład:

mas \u003d tablica rzeczywistych;

Tablica X - jednowymiarowa, składająca się z dwudziestu elementów typ materiału. Elementy tablicy są kolejno przechowywane w pamięci komputera.

W przypadku używania zmiennych do wskazywania indeksu ich wartości należy określić w momencie użycia, aw przypadku wyrażeń arytmetycznych ich wynik nie powinien wykraczać poza minimalne i maksymalne wartości indeksów tablicowych.

Indeksy elementów tablicy mogą zaczynać się od dowolnej liczby całkowitej, w tym ujemnej, na przykład:

Wpisz bb \u003d Array [-5..3] Of Boolean;

Tablice tego typu będzie zawierać 9 zmiennych logicznych o numerach od -5 do 3.

18. Dwuwymiarowy masyw w Pascal traktowane jako jednowymiarowa tablica, której typ elementów jest również tablicą (tablicą tablic). Położenie elementów w dwuwymiarowych tablicach Pascala opisuje dwa wskaźniki. Mogą być reprezentowane jako prostokątny stół lub matryca.

Rozważ dwuwymiarową tablicę Pascala o wymiarze 3 * 3, to znaczy, że będzie ona miała trzy rzędy, a każdy rząd będzie miał trzy elementy:

Każdy element ma swój własny numer, jak w tablicach jednowymiarowych, ale teraz liczba ta już składa się z dwóch liczb - numeru linii, w której znajduje się element, i numeru kolumny. Zatem numer elementu jest określony przez przecięcie wiersza i kolumny. Na przykład 21 to element w drugim rzędzie i pierwszej kolumnie.

Opis dwuwymiarowej tablicy Pascal.

Istnieje kilka sposobów deklarowania dwuwymiarowej tablicy Pascal.

Wiemy już, jak opisywać tablice jednowymiarowe, których elementy mogą być dowolnego typu, a zatem same elementy mogą być tablicami. Rozważ następujący opis typów i zmiennych:

Podstawowe działania za pomocą tablice dwuwymiarowe Pascal

Wszystko, co zostało powiedziane o podstawowych działaniach z tablicami jednowymiarowymi, dotyczy również macierzy. Jedyne działanie, które można wykonać na tym samym typie macierzy jako całości, to przypisanie. To znaczy, jeśli w programie opisaliśmy dwie macierze tego samego typu, na przykład

macierz \u003d tablica liczb całkowitych;

następnie podczas wykonywania programu możesz przypisać macierz a do wartości macierzy b (a: \u003d b). Wszystkie pozostałe akcje są wykonywane element po elemencie, natomiast na elementach można wykonywać wszystkie prawidłowe operacje zdefiniowane dla typu danych elementów tablicy. Oznacza to, że jeśli tablica składa się z liczb całkowitych, wówczas na jej elementach można wykonywać operacje zdefiniowane dla liczb całkowitych; jeśli tablica składa się ze znaków, wówczas mają zastosowanie do nich operacje zdefiniowane dla pracy ze znakami.

21. Technologie pracy z dokumentami tekstowymi. Edytory i procesory tekstu: cel i funkcje.

bardziej zaawansowane edytory tekstu (np. Microsoft Word i OpenOffice.org Writer), czasami nazywane edytorami tekstu, mają szeroki zakres możliwości tworzenia dokumentów (wstawianie list i tabel, sprawdzanie pisowni, zapisywanie poprawek itp.).

Aby przygotować się do publikacji książek, czasopism i gazet w trakcie układania publikacji, stosuje się potężne programy do edycji tekstu - systemy do publikowania na pulpicie (na przykład Adobe PageMaker, Microsoft Office Publisher).

Specjalistyczne aplikacje (takie jak Microsoft FrontPage) służą do przygotowywania stron internetowych i witryn sieci Web do publikacji w Internecie.

Edytory tekstu to programy do tworzenia, edycji, formatowania, zapisywania i drukowania dokumentów. Nowoczesny dokument może zawierać, oprócz tekstu, inne obiekty (tabele, diagramy, ryciny itp.).

Edycja - transformacja, która umożliwia dodawanie, usuwanie, przenoszenie lub korektę zawartości dokumentu. Edycja dokumentu odbywa się zwykle poprzez dodawanie, usuwanie lub przenoszenie znaków lub fragmentów tekstu.

Formatowanie to projektowanie tekstu. Oprócz znaków tekstowych sformatowany tekst zawiera specjalne niewidoczne kody, które mówią programowi, jak wyświetlać go na ekranie i drukować na drukarce: jaka czcionka ma być użyta, jaki powinien być styl i rozmiar znaków, jak rysowane są akapity i nagłówki.

Sformatowane i niesformatowane teksty różnią się nieco charakterem. Tę różnicę należy zrozumieć. W sformatowanym tekście wszystko jest ważne: rozmiar liter, ich obraz oraz miejsce, w którym kończy się jedna linia, a zaczyna inna. Oznacza to, że sformatowany tekst jest nierozerwalnie związany z parametrami kartki papieru, na której jest drukowany.

Podczas przetwarzania dokumentów tekstowych często wymagane jest dodanie do dokumentu elementów lub obiektów nietekstowych. Zaawansowane edytory tekstu pozwalają to zrobić - mają dużą możliwość wstawiania rysunków, diagramów, wzorów i tak dalej do tekstu.

Dokumenty papierowe i elektroniczne. Dokumenty mogą być w formie papierowej lub elektronicznej. Dokumenty papierowe są tworzone i formatowane w celu zapewnienia najlepszej prezentacji podczas drukowania na drukarce. Dokumenty elektroniczne są tworzone i formatowane w celu uzyskania najlepszej prezentacji na ekranie monitora. Stopniowe wypieranie elektronicznego obiegu dokumentów papierowych - jeden z trendów rozwojowych technologie informacyjne. Ograniczenie zużycia papieru ma korzystny wpływ na oszczędność zasobów naturalnych i zanieczyszczenie środowiska.

Format dokumentów papierowych i elektronicznych może się znacznie różnić. W przypadku dokumentów papierowych akceptowane jest tak zwane formatowanie bezwzględne. Wydrukowany dokument jest zawsze formatowany do wydrukowanego arkusza o znanym rozmiarze (formacie). Na przykład szerokość linii dokumentu zależy od szerokości kartki papieru. Jeśli dokument został zaprojektowany do drukowania na arkuszach wielkoformatowych, nie można go wydrukować na małych liściach - część dokumentu nie będzie na nich pasować. Jednym słowem formatowanie drukowanego dokumentu zawsze wymaga najpierw wybrania kartki papieru, a następnie oprawienia tego arkusza. W przypadku dokumentu drukowanego zawsze możesz dokładnie nazwać (w dowolnej jednostce miary) rozmiary czcionek, marginesy, odstępy między wierszami lub akapitami itp.

W przypadku dokumentów elektronicznych akceptowane jest tak zwane formatowanie względne. Autor dokumentu nie może przewidzieć z góry, na jakim komputerze, przy jakim rozmiarze ekranu dokument będzie przeglądany. Co więcej, nawet jeśli rozmiary ekranów były znane z góry, nadal nie można przewidzieć, jaki będzie rozmiar okna, w którym czytelnik zobaczy dokument. Dlatego dokumenty elektroniczne są dostosowywane do bieżącego rozmiaru okna i formatowane „w locie”.

Autor dokumentu elektronicznego również nie wie, jakie czcionki znajdują się na komputerze przyszłego czytelnika, i dlatego nie może sztywno wskazać, która czcionka powinna wyświetlać tekst i nagłówki. Ale może określić formatowanie, w którym nagłówki na dowolnym komputerze będą wyglądać na większe niż tekst.

Formatowanie względne służy do tworzenia elektronicznych dokumentów internetowych (tak zwane strony internetowe), a formatowanie bezwzględne służy do tworzenia drukowanych dokumentów w edytorach tekstu.

22. Główny elementy konstrukcyjne dokument tekstowy. Czcionki, style, formaty.

Formatowanie czcionek.

Symbole to litery, cyfry, spacje, znaki interpunkcyjne, znaki specjalne. Symbole można sformatować (zmienić je wygląd) Wśród głównych właściwości symboli można wyróżnić: czcionkę, rozmiar, styl i kolor.

Czcionka to kompletny zestaw znaków określonego stylu. Każda czcionka ma swoją nazwę, na przykład Times New Roman, Arial, Comic Sans MS. Jednostką czcionki jest element (1 pkt \u003d 0,367 mm). Rozmiary czcionek można zmieniać w szerokich granicach. Oprócz normalnego (normalnego) stylu znakowego zwykle stosuje się pogrubienie, kursywę i pogrubioną kursywę.

Czcionki rastrowe i wektorowe wyróżnia się sposobem, w jaki są reprezentowane na komputerze. Metody reprezentują czcionki bitmapowe. grafika rastrowa, znaki czcionki to grupy pikseli. Czcionki bitmapowe można skalować tylko przy użyciu określonych czynników.

W czcionkach wektorowych symbole są opisywane wzorami matematycznymi i możliwe jest ich dowolne skalowanie. Spośród czcionek wektorowych najczęściej używane są czcionki TrueType.

Możesz także zainstalować dodatkowe opcje formatowanie znaków: podkreślanie znaków o różnych typach linii, zmiana wyglądu znaków (indeks górny i dolny, przekreślenie), zmiana odległości między znakami.

Jeśli planujesz wydrukować dokument w kolorze, możesz ustawić różne kolory dla różnych grup znaków.

Aby sprawdzić pisownię i składnię, stosuje się specjalne moduły programu, które zwykle są zawarte w edytorach tekstu i systemach wydawniczych. Takie systemy zawierają słowniki i reguły gramatyczne dla kilku języków, co pozwala korygować błędy w dokumentach wielojęzycznych.

24. Baza danych - Jest to model informacyjny, który umożliwia uporządkowane przechowywanie danych o grupie obiektów, które mają ten sam zestaw właściwości.

Istnieje kilka różne rodzaje Bazy danych: tabelaryczne (relacyjne), hierarchiczne i sieciowe.

Tabelowe bazy danych

Baza danych tabeli zawiera listę obiektów tego samego typu, czyli obiektów o tym samym zestawie właściwości. Wygodnie jest przedstawić taką bazę danych w postaci dwuwymiarowej tabeli.

W relacyjnych bazach danych wszystkie dane są prezentowane w postaci prostych tabel podzielonych na wiersze i kolumny, na których przecięciu znajdują się dane. Zapytania dotyczące takich tabel zwracają tabele, które same mogą stać się przedmiotem dalszych zapytań. Każda baza danych może zawierać kilka tabel.

Główną zaletą tabel jest ich zrozumiałość. Informacje tabelaryczne przetwarzamy prawie codziennie. Spójrz na przykład w swoim dzienniku: harmonogram zajęć jest przedstawiony w formie tabelarycznej. Po przybyciu na stację patrzymy na rozkład jazdy pociągów. Jaki to ma? To jest stół! I jest stolik mistrzostw piłki nożnej. A dziennik nauczyciela, w którym daje ci oceny, jest również stołem.

W skrócie funkcje relacyjnej bazy danych można sformułować w następujący sposób:

1. Dane są przechowywane w tabelach składających się z kolumn („atrybuty”, „pola”) i wierszy („rekordy”);

2. Na przecięciu każdej kolumny i wiersza znajduje się dokładnie jedna wartość;

3. Każda kolumna ma swoją nazwę, która służy jako jej nazwa, a wszystkie wartości w jednej kolumnie są tego samego typu.

4. Zapytania do bazy danych zwracają wynik w postaci tabel, które mogą również pełnić rolę obiektu zapytania.

5. Wiersze w relacyjnej bazie danych są nieuporządkowane - porządkowanie odbywa się w momencie formowania odpowiedzi na zapytanie.

6. Zazwyczaj informacje w bazach danych nie są przechowywane w jednej tabeli, ale w kilku połączonych ze sobą.

W relacyjnych bazach danych wywoływany jest wiersz tabeli nagraniea kolumna to przez pole. Każde pole tabeli ma nazwę.

Pola - są to różne cechy (czasem mówią - atrybuty) obiektu. Wartości pól w jednym wierszu odnoszą się do tego samego obiektu.

Główny klucz w bazie danych wywoływane jest pole (lub zestaw pól), którego wartość nie jest powtarzana dla różnych rekordów.

Każde pole ma inną bardzo ważną właściwość - typ pola. Typ pola określa zestaw wartości, które dane pole może przyjmować w różnych rekordach.

Relacyjne bazy danych wykorzystują cztery podstawowe typy pól:

Liczbowy;

Postać

Logiczny.

25. Systemy zarządzania bazami danych i zasady pracy z nimi. Wyszukaj, usuń i posortuj dane w bazie danych. Warunki wyszukiwania (wyrażenia logiczne); klucze sortowania i sortowania.

Systemy zarządzania bazami danych (DBMS).

Przeznaczone jest tworzenie baz danych, a także wykonywanie operacji wyszukiwania i sortowania danych specjalne programy - system zarządzania bazą danych (DBMS).

Dlatego konieczne jest rozróżnienie między rzeczywistą bazą danych (DB) - uporządkowanymi zestawami danych a systemami zarządzania bazami danych (DBMS) - programami zarządzającymi przechowywaniem i przetwarzaniem danych. Na przykład aplikacja Access zawarta w pakiecie biurowym programy Microsoft Office to system zarządzania bazami danych, który pozwala użytkownikowi tworzyć i przetwarzać bazy danych tabel.

Relacyjna baza danych jest zasadniczo dwuwymiarową tabelą. Zapis oznacza tutaj rząd tabeli dwuwymiarowej, której elementy tworzą kolumny tabeli. W zależności od rodzaju danych kolumny mogą być liczbowe, tekstowe lub zawierać datę. Wiersze tabeli są ponumerowane.

Praca z DBMS rozpoczyna się od stworzenia struktury bazy danych, tj. Od definicji:

liczba kolumn

nazwy kolumn

typy kolumn (tekst / liczba / data);

szerokości kolumn.

Główne funkcje DBMS:

Zarządzanie danymi podczas pamięć zewnętrzna (na dyskach);

Zarządzanie danymi w pamięć o dostępie swobodnym;

Zmień rejestrowanie i odzyskiwanie bazy danych po awarii;

Obsługa języków baz danych (język definicji danych, język manipulacji danymi).

W komendach DBMS warunek wyboru jest zapisany w formie wyrażenia logicznego.

Wyrażenie logiczne, podobnie jak wyrażenie matematyczne, jest wykonywane (obliczane), ale wynikiem nie jest liczba, ale wartość logiczna: prawda (prawda) lub fałsz (fałsz).

Wyrażenie składające się z jednej wielkości logicznej lub jednej relacji będzie nazywane prostym wyrażeniem logicznym.

Często występują problemy, w których nie stosuje się indywidualnych warunków, ale zestaw powiązanych ze sobą warunków (relacji). Na przykład musisz wybrać uczniów, których waga jest większa niż 60, a wzrost mniejszy niż 168.

Wyrażenie zawierające operacje logiczne będzie nazywane złożonym wyrażeniem logicznym.

Kombinacja dwóch (lub kilku) instrukcji w jedną za pomocą unii „i” nazywa się operacją logicznego mnożenia lub koniunkcji.

Wynik mnożenia logicznego (koniunkcji) jest prawdziwy, jeśli wszystkie wyrażenia logiczne są prawdziwe.

Połączenie dwóch (lub kilku) instrukcji za pomocą związku „lub” nazywa się logiczną operacją dodawania lub rozłączeniem.

Wynik dodania logicznego (rozłączenia) jest prawdziwy, jeśli co najmniej jedno wyrażenie logiczne jest prawdziwe.

Dołączenie „nie” cząstki do instrukcji nazywa się logiczną operacją negacji lub inwersją.

27. Arkusze kalkulacyjne, cel i główne funkcje.

Arkusz to program do przetwarzania danych numerycznych, który przechowuje i przetwarza dane w prostokątnych tabelach.

Arkusz kalkulacyjny składa się z kolumn i wierszy. Nagłówki kolumn są oznaczone literami lub kombinacjami liter (A, G, AB itp.), Nagłówki wierszy są oznaczone cyframi (1, 16, 278 itd.). Komórka to przecięcie kolumny i wiersza.

Każda komórka tabeli ma swój własny adres. Adres komórki arkusza kalkulacyjnego składa się z nagłówka kolumny i nagłówka wiersza, na przykład: A1, F123, R1. Komórka, z którą wykonywane są niektóre działania, jest podświetlona ramką i nazywa się aktywną.

Typy danych Arkusze kalkulacyjne umożliwiają pracę z trzema głównymi typami danych: liczbą, tekstem i formułą.

Liczby w formie elektronicznej arkusze kalkulacyjne Excel można zapisać w zwykłym formacie numerycznym lub wykładniczym, na przykład: 195.2 lub 1.952E + 02. Domyślnie liczby są wyrównane w komórce po prawej stronie. Wynika to z faktu, że umieszczając liczby pod sobą (w kolumnie tabeli) wygodnie jest wyrównywać cyfry (jednostki pod jednostkami, dziesiątki pod dziesiątkami itp.).

Formuła musi zaczynać się od znaku równości i może obejmować liczby, nazwy komórek, funkcje (matematyczne, statystyczne, finansowe, data i godzina itp.) Oraz znaki operacji matematycznych. Na przykład formuła „\u003d A1 + B2” zapewnia dodanie liczb przechowywanych w komórkach A1 i B2, a formuła „\u003d A1 * B” mnoży liczbę przechowywaną w komórce A1 przez 5. Po wprowadzeniu formuły sama formuła nie jest wyświetlana w komórce, oraz wynik obliczeń według tego wzoru. Zmiana początkowych wartości zawartych w formule powoduje natychmiastowe ponowne obliczenie.

Linki bezwzględne i względne. Formuły wykorzystują odwołania do adresów komórek. Istnieją dwa główne typy łączy: względne i bezwzględne. Różnice między nimi pojawiają się podczas kopiowania formuły z aktywnej komórki do innej komórki.

Łącze względne w formule służy do wskazania adresu komórki obliczonego względem komórki, w której znajduje się formuła. Podczas przenoszenia lub kopiowania formuły z aktywnej komórki odnośniki względne są automatycznie aktualizowane w zależności od nowej pozycji formuły. Łącza względne są następujące: A1, BZ.

Jeśli symbol dolara poprzedza literę (na przykład: $ A1), wówczas współrzędna kolumny jest bezwzględna, a wiersze są względne. Jeśli symbol dolara poprzedza liczbę (na przykład A $ 1), to przeciwnie, współrzędna kolumny jest względna, a wiersze są bezwzględne. Takie linki są nazywane mieszanymi.

Załóżmy na przykład, że w komórce C1 zapisana jest formuła \u003d A $ 1 + $ J31, która po skopiowaniu do komórki D2 przyjmuje postać \u003d B $ 1 + $ B2. Łącza względne podczas kopiowania uległy zmianie, ale bezwzględne nie.

Sortuj i wyszukuj dane. Arkusze kalkulacyjne pozwalają sortować dane. Dane w arkuszach kalkulacyjnych są sortowane w kolejności rosnącej lub malejącej. Podczas sortowania dane są uporządkowane w określonej kolejności. Możesz przeprowadzać sortowanie zagnieżdżone, tzn. Sortować dane według kilku kolumn i przypisywać sekwencję sortowania kolumn.

W arkuszach kalkulacyjnych możesz wyszukiwać dane zgodnie z określonymi warunkami - filtrami. Filtry są definiowane przy użyciu warunków wyszukiwania (więcej, mniej, równość itp.) I wartości (100, 10 itd.). Na przykład ponad 100. W wyniku wyszukiwania zostaną znalezione te komórki, które zawierają dane spełniające określony filtr.

Budowanie wykresów i wykresów. Arkusze kalkulacyjne pozwalają przedstawiać dane liczbowe w postaci wykresów lub wykresów. Wykresy są różnego rodzaju (kolumnowe, okrągłe itp.); Wybór typu wykresu zależy od charakteru danych.

28. Technologia przetwarzania informacji w arkuszach kalkulacyjnych (ET). Struktura arkusza kalkulacyjnego.

Arkusz kalkulacyjny to program do przetwarzania danych numerycznych, który przechowuje i przetwarza dane w prostokątnych tabelach. Arkusz kalkulacyjny składa się z kolumn i wierszy. Nagłówki kolumn są oznaczone literami lub kombinacjami liter (A, G, AB itp.), Nagłówki wierszy są oznaczone cyframi (1, 16, 278 itd.). Komórka to przecięcie kolumny i wiersza. Każda komórka tabeli ma swój własny adres. Adres komórki arkusza kalkulacyjnego składa się z nagłówka kolumny i nagłówka wiersza, na przykład: Al, B5, E7. Komórka, z którą wykonywane są niektóre działania, jest podświetlona ramką i nazywa się aktywną. Arkusze kalkulacyjne, z którymi użytkownik pracuje w aplikacji, nazywane są arkuszami. Możesz wprowadzać i modyfikować dane jednocześnie w kilku arkuszach, a także wykonywać obliczenia na podstawie danych z kilku arkuszy. Dokumenty arkusza kalkulacyjnego mogą zawierać wiele arkuszy i są nazywane skoroszytami.

29. Typy danych w arkuszach kalkulacyjnych (ET): liczby, formuły, tekst. Zasady pisania formuł.

Typy danych

Arkusze kalkulacyjne umożliwiają pracę z trzema głównymi typami danych: liczbą, tekstem i formułą.

Liczby w arkuszach kalkulacyjnych Excela można zapisywać w zwykłym formacie numerycznym lub wykładniczym, na przykład: 195.2 lub 1.952Е + 02. Domyślnie liczby są wyrównane w komórce po prawej stronie. Wynika to z faktu, że umieszczając liczby pod sobą (w kolumnie tabeli) wygodnie jest wyrównywać cyfry (jednostki pod jednostkami, dziesiątki pod dziesiątkami itp.).

Tekst w arkuszach kalkulacyjnych Excel to ciąg znaków składający się z liter, cyfr i spacji, na przykład wpis „32 MB” to tekst. Domyślnie tekst jest wyrównany do lewej w komórce. Wyjaśnia to tradycyjny sposób pisania (od lewej do prawej).

Formuła powinna zaczynać się od znaku równości i może obejmować liczby, nazwy komórek, funkcje (matematyczne, statystyczne, finansowe, data i godzina itp.) Oraz znaki matematyczne: operacje. Na przykład formuła „\u003d A1 + B2” zapewnia dodanie liczb przechowywanych w komórkach A1 i B2, a formuła „\u003d A1 * 5” mnoży liczbę przechowywaną w komórce A1 przez 5. Po wprowadzeniu formuły sama formuła nie jest wyświetlana w komórce, oraz wynik obliczeń według tego wzoru. Zmiana początkowych wartości zawartych w formule powoduje natychmiastowe ponowne obliczenie.

Zasady pisania formuł w arkuszach kalkulacyjnych

1. Formuły zawierają liczby, nazwy komórek, znaki operacji, nawiasy, nazwy funkcji

2. Operacje arytmetyczne i ich znaki:

Nazwa operacji Znak Kombinacja klawiszy

add + (Shift + + \u003d) lub (+) na dodatkowej klawiaturze

odejmowanie - (-)

mnożenie * (Shift + 8) lub (*) na dodatkowej klawiaturze

dzielenie / (Shift + | \\) lub (/) na dodatkowej klawiaturze

potęgowanie ^ (Shift + 6) w języku angielskim

3. Formuła jest zapisana w linii, znaki są kolejno ułożone jeden po drugim, wszystkie znaki operacji są umieszczone; używane są nawiasy.

4. Przede wszystkim operacje są wykonywane w nawiasach; jeśli nie ma nawiasów, kolejność wykonywania jest określana przez priorytet operacji. W kolejności malejącej starszeństwa operacje są uporządkowane w następującej kolejności:

1. potęgowanie

2. mnożenie, dzielenie

3. dodawanie, odejmowanie

Operacje o tym samym stażu pracy są wykonywane w kolejności, w jakiej są pisane od lewej do prawej.

5. Formuły można wprowadzać w trybie wyświetlania obliczeń, tj. użytkownik zaczyna pisać formułę w bieżącej komórce znakiem \u003d, a po naciśnięciu klawisza Enter wynik obliczenia według formuły jest wyświetlany w komórce.

6. Formuły można wprowadzać w trybie wyświetlania formuł, tj. użytkownik zapisuje formułę unsigned \u003d w bieżącej komórce, a formuła jest wyświetlana w komórce po naciśnięciu klawisza Enter.

30. Główne wbudowane funkcje. Bezwzględne i względne odniesienia w elektronicznych arkuszach kalkulacyjnych (ET).

Łącze względne w formule służy do wskazania adresu komórki obliczonego względem komórki, w której znajduje się formuła. Podczas przenoszenia lub kopiowania formuły z aktywnej komórki odnośniki względne są automatycznie aktualizowane w zależności od nowej pozycji formuły. Łącza względne są następujące: A1, OT.

Bezwzględne odwołanie w formule służy do wskazania stałego adresu komórki. Podczas przenoszenia lub kopiowania formuły łącza bezwzględne nie ulegają zmianie. W linkach bezwzględnych znak dolara (na przykład $ A $ 1) jest umieszczony przed niezmienną wartością adresu komórki.

Jeśli symbol dolara poprzedza literę (na przykład: $ A1), wówczas współrzędna kolumny jest bezwzględna, a wiersze są względne. Jeśli symbol dolara poprzedza liczbę (na przykład A $ 1), to przeciwnie, współrzędna kolumny jest względna, a wiersze są bezwzględne. Takie linki są nazywane mieszanymi. Załóżmy na przykład, że w komórce C1 zapisana jest formuła \u003d A $ 1 + $ B1, która po skopiowaniu do komórki D2 przyjmuje postać \u003d B $ 1 + $ B2. Łącza względne podczas kopiowania uległy zmianie, ale bezwzględne nie.

Lekcja wyjaśni algorytm tworzenia typów danych użytkownika w Pascal (typ). Przykłady zostaną przeanalizowane.

Typy danych Pascala są podzielone na proste i złożone.

Proste typy obejmują standardowe, wyliczone i ograniczone.

Do złożonych typów - tablice, zestawy, rekordy, pliki. Elementy typów złożonych mogą być typami prostymi i złożonymi. Dowiemy się więcej o złożonych typach danych później.

Jednym z najczęstszych typów jest typ standardowy porządkowy.
Zwykły typ standardowy oznacza skończony liniowy zestaw wartości. Jest to zwykle określane jako typy całkowite, bajty, znaki i logiczne.

Nowe (niestandardowe) typy danych potrzebne przede wszystkim dla przejrzystości i wygody:

Przykład: Określono macierz 10 x 50. Wykonaj opis macierzy, używając niestandardowego typu danych

procedura p (a: tablica liczb całkowitych);

Ale powinien utworzyć typ danych i napisz to w ten sposób:

1 2 typ wektor \u003d tablica [1 .. 10] liczby całkowitej; procedura var p (a: wektor);

typ wektora \u003d tablica liczb całkowitych; procedura var p (a: wektor);

Przykłady opisywania tablic przy użyciu nowych typów

typ wektora \u003d tablica liczb całkowitych; matritsa \u003d tablica wektora;

  • 1 typ matritsa \u003d tablica [1 .. 8] tablicy [1 .. 10] liczby całkowitej;

    typ matritsa \u003d tablica tablicy liczb całkowitych;

  • 1 typ matritsa \u003d tablica [1 .. 8, 1 .. 10] liczby całkowitej;

    typ matritsa \u003d tablica liczb całkowitych;

  • W poniższym przykładzie zmienne do i re są opisane identycznie:

    1 2 3 4 5 6 typ wektor \u003d tablica [1 .. 10] liczby całkowitej; matritsa \u003d tablica [1 .. 8] wektora; var a, b: wektor; c: matritsa; d: tablica [1 .. 8] wektora;

    typ wektora \u003d tablica liczb całkowitych; matritsa \u003d tablica wektora; var a, b: wektor; c: matritsa; d: tablica wektora;

    Typ 1: Podano tablice a, b i c. Znajdź średnią arytmetyczną minimalnych elementów tablicy (użyj tworzenia tablicy i).
    Opisując procedury, użyj typy niestandardowe dane

    Typ wyliczony i typ przedziału w Pascal

    Typ wyliczony

    W programie można używać zmiennych typu, które nie pasują do żadnego ze standardowych typów.

    Tak więc typ można określić, wyliczając wartości, gdy są deklarowane; zmienna tego typu może przyjąć dowolną z tych wartości.

    Te wartości nie mogą być łańcuchami, nie można ich wydrukować ani wprowadzić do komputera za pomocą operatorów odczytu i zapisu.

    Rozważ przykład tworzenia wyliczonego typu w Pascal:

    wpisz pt \u003d (słowo 1, słowo 2, ... słowo N); var w: pt;

    wpisz pt \u003d (słowo 1, słowo 2, ... słowo N); var w: pt;

  • pt - identyfikator typu (dowolny),
  • word1, word2 ... - określone wartości, które może przyjąć zmienna w należąca do typu pt
  • wartości tego typu są uważane za uporządkowane, tj. opis typu jednocześnie wprowadza zamawianie słowo 1.
  • Rodzaj interwału

    Rodzaj interwału definiuje określony podzbiór wartości, które może przyjąć dana zmienna. Jest tworzony przez ustawienie najmniejszych i największych wartości typu porządkowego.. Jako stałe (wartości minimalne i maksymalne) można stosować wartości dowolnych typów prostych, z wyjątkiem typów rzeczywistych.

    Rozważ przykład deklaracji typu interwałowego:

    a: min .. max;
  • za - zmienna przedziałowa
  • min - dolna linia
  • max - górna granica podzbioru
  • granice zasięgu są oddzielone dwoma punktami
  • granica minzawsze powinno być mniej max
  • stałe mini maxmusi należeć do tego samego typu. Określają podstawowy typ zmiennej. za.
  • Typy udostępnione i wyliczone

    Zmienna typu interwału może być ustawiona za pomocą podstawy na typ wyliczony z podstawy. Rozważ przykład:

    Przykład: Jeśli zmienna b może przyjąć jedną z wartości czerwony, żółty, zielony, następnie tę zmienną można opisać następująco: b: czerwony..zielony; typ podstawowy dla b jest typem kolor:

    typ koloru \u003d (czerwony, żółty, zielony, niebieski); var b: czerwony .. zielony; początek b: \u003d czerwony; writeln (b); b: \u003d żółty; writeln (b); b: \u003d zielony; writeln (b); koniec.

    typ koloru \u003d (czerwony, żółty, zielony, niebieski); var b: czerwony..zielony; początek b: \u003d czerwony; writeln (b); b: \u003d żółty; writeln (b); b: \u003d zielony; writeln (b); koniec.

    W ten przykład typ koloru - jest podstawą. Zmienna b typu interwału jest definiowana przy użyciu podstawowego typu wyliczanego.

    Przykład: Wiadomo, ile dni w każdym miesiącu roku. Ile dni w lecie?
    31,28,31,30,31,30,31,31,30,31,30,31

    Jedna z opcji rozwiązania tego problemu wygląda następująco:

      Pokaż rozwiązanie:

      1 2 3 4 5 6 7 8 const dni: tablica [1 .. 12] bajtu \u003d (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var s, i: liczba całkowita; początek s: \u003d 0; dla i: \u003d 6 do 8 do s: \u003d s + dni [i]; (miesiące letnie - 6, 7, 8) koniec zapisu (ów).

      const dni: tablica bajtów \u003d (31,28,31,30,31,30,31,31,30,31,30,31); var s, i: liczba całkowita; początek s: \u003d 0; dla i: \u003d 6 do 8 do s: \u003d s + dni [i]; (miesiące letnie - 6, 7, 8) koniec zapisu (ów).

      Kod tego rozwiązania nie ma najlepszej widoczności, ponadto musisz samodzielnie obliczyć liczbę miesięcy początku i końca lata (6 i 8).
      Wygoda i widoczność takich programów można poprawić w następujący sposób:

      Pokaż rozwiązanie:

      1 2 3 4 5 6 7 8 9 TYP mes \u003d (styczeń, luty, marzec, kwiecień, maj, czerwiec, lipiec, sierpień, wrzesień, październik, listopad, grudzień); CONST dni: tablica [styczeń .. grudzień] Byte \u003d (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); VAR s: Integer; i: mes; (zmienna licznika pętli i jest ustawiona na mes, a nie Integer) POCZĄTEK s: \u003d 0; dla i: \u003d od czerwca do sierpnia do s: \u003d s + dni [i]; WriteLn (s) END.

      TYP mes \u003d (styczeń, luty, marzec, kwiecień, maj, czerwiec, lipiec, sierpień, wrzesień, październik, listopad, grudzień); CONST dni: tablica bajtów \u003d (31,28,31,30,31,30,31,31,30,31,30,31); VAR s: Integer; i: mes; (zmienna licznika pętli i jest ustawiona na mes, a nie Integer) BEGIN s: \u003d 0; dla i: \u003d od czerwca do sierpnia do s: \u003d s + dni [i]; WriteLn (s) END.

    Typ 2: Określ według nazwy dnia tygodnia, czy jest to dzień wolny od pracy, czy dzień roboczy.

  • Zdefiniuj typ wyliczeniowy z wartościami dni tygodnia ( pon, wt, poślubić, czw, pt, sob, słońce).
  • W programie przypisz wartość do zmiennej (na podstawie wartości typu, na przykład pon).
  • Sprawdź zmienną: jeśli wartością jest sobota lub niedziela - przekaż komunikat "Wynik!"Inaczej "Pracujemy!".
  • Typ 3: W zależności od miesiąca roku wyślij wiadomość "ozięble" - jeśli miesiąc zimowy, oraz "ciepło" - jeśli lato.

  • Zdefiniuj typ wyliczony z nazwami miesięcy roku.
  • Zadeklaruj zmienną tego typu.
  • W programie przypisz wartość zmiennej (na podstawie wartości typu).
  • Sprawdź zmienną: jeśli wartość odnosi się do miesiąca zimowego, podaj komunikat "ozięble" Inaczej - "ciepło".
  • Wdrażaj na kilka sposobów.
  • Writeln (pribitie) end.

    var otpravlenie, pribitie: byte; rozpocząć otpravlenie: \u003d 22; pribitie: \u003d otpravlenie + 10; writeln (pribitie) end.

    zamiast odpowiedzi „8” program wydrukuje odpowiedź „32”.
    Wprowadzenie typu ograniczonego zakresu pozwala uniknąć błędnego wyniku, ale kompilator nadal zgłasza błąd:

    1 2 3 4 5 6 var otpravlenie, pribitie: 0 .. 24; rozpocząć otpravlenie: \u003d 22; pribitie: \u003d otpravlenie + 10; writeln (pribitiedeva); var a: znak; rozpocznij a: \u003d lev; Jeśli<= strelets then writeln ("огонь" ) ; if (a>\u003d vesi) i (a<= bliznetsi) then writeln ("воздух" ) ; if (a>\u003d rak) i (a<= ribi) then writeln ("вода" ) ; if (a>\u003d kozerog) i (a<= deva) then writeln ("земля" ) ; end .

    typ znak \u003d (piekarnik, lew, streliki, vesi, vodoley, bliznetsi, rak, skorpion, ribi, kozerog, telets, deva); var a: znak; rozpocznij a: \u003d lev; Jeśli<=strelets then writeln("огонь"); if (a>\u003d vesi) i (a<=bliznetsi) then writeln ("воздух"); if (a>\u003d rak) i (a<=ribi) then writeln ("вода"); if (a>\u003d kozerog) i (a<=deva) then writeln ("земля"); end.

    Typ 5: W zależności od nazwy kwiatu należy podać, której pory roku dotyczy:

  • Wiosna: przebiśnieg, irys, żonkile
  • Lato: rumianek, mniszek lekarski, mak
  • Jesień: aster, chryzantema, floks
  • Opisując zmienną, musisz określić jej typ. Typ zmiennej opisuje zestaw wartości, które może przyjąć, i działania, które można na nim wykonać. Opis typu definiuje identyfikator, który określa typ.

    Proste typy są podzielone na standardowe (porządkowe) i wyliczone (ograniczone).

    {!LANG-9a8539da0149016440b901e01017b3ac!}

    {!LANG-430e39bc7bcbcbac9a433d014b57b5a2!}

    {!LANG-76bbf44ce9538192801da1aa059fff51!}

    {!LANG-5f37ec87af4edcc2f76af90f37707c82!}

    {!LANG-b3d0e2aa84871b5bff774205913c08a9!}

    {!LANG-9d1bfffeb6ea5544009f55f385c10dda!}

    {!LANG-d93fea3eab240f1261dd752825556a29!}

    {!LANG-15a4750846fde8d5e2aae750be68188a!}

    {!LANG-fde3efe3bde4e1d3d57a09b2ff1947b1!}

    2147483648 +2147483647

    {!LANG-7124acfe8c809d463d514a454686a55e!}

    {!LANG-44a8e995fedcd1845ba0e76e6e447954!}

    {!LANG-6731b2b15f1c12107570035ce733d253!}

    {!LANG-796df03ad45f1106b72dcdda30b665e2!}

    1. {!LANG-81e702807760890abd252ff850741525!}
    2. {!LANG-5b410405b0d9c5b03b6f9d7953d5aba0!}
    3. {!LANG-5c21a159828918e65ccbd96902061624!}

    {!LANG-3a093ba441150758f7bc1f6654ac6da4!}

    {!LANG-b9dd46cce04ade26a74da0180eb17c11!}

    {!LANG-3ab41f6d5dfb64ec26b2334092f4fe80!}

    {!LANG-af8a627c27de1333ac8822cb1e416c9c!}

    {!LANG-acaf48bbf98f583495a097256b3a5126!}

    {!LANG-e1f3d1593bf06467d8cf502c71d02b2d!}

    {!LANG-ce910165b939dfcbde974f7fcafd5c51!}

    {!LANG-8d32d8ba71cc6c5f47a2ebb17c21a06a!}

    {!LANG-68dc95829d1d0860d8d08ffb0b071eac!}

    {!LANG-44c7e1106fe336e7714f97c71320aeed!}

    {!LANG-8c47655bb8e11877c42bbe496b2a7c6f!}

    {!LANG-0ab011296aca507cb87abb81679e0279!}

    {!LANG-cdef3e4ceae5ecb6bd78a7a479731ee4!}

    {!LANG-edbe3727048f2d3c64c458d98e32b4f1!}

    {!LANG-23916f10d81321677cfbe5d37cd6d361!}

    {!LANG-5af5d370c7ee760b0c980fb59285c155!}

    {!LANG-f0f0695626d8d0f4f9fce8b8db1fb6b6!}

    {!LANG-9d1bfffeb6ea5544009f55f385c10dda!}

    {!LANG-0c0c368292bd42a40df5bf0e21826be5!}

    {!LANG-ce32c9ec9b8086b204f8103878948a11!}

    {!LANG-e80f5c0247690ef6767156866ce821fd!}

    {!LANG-cd145e10a1136aeee4d12f88efd2a898!}

    {!LANG-7bd3b3140ce6b46355f462698ab824e3!}

    {!LANG-a45d154aac45e1379140ca59a3db1728!}

    {!LANG-f07c572e4bbbfda52e4cef0c95194eb8!}

    • {!LANG-b21a38f870a88fa4408187ad168584fb!}
    • {!LANG-74d0be63aabc0e6e6f39beab984e98f9!}
    • {!LANG-cf68b58b439466fb2e4448e578a08617!}
    • {!LANG-8b4fcb731a2b9cde1da4cdec6f195e88!}
    • {!LANG-3ba8759b387f4a3d9c4e4840bc58aa42!}
    • {!LANG-e7278bce09f786f20588b65871992843!}
    • {!LANG-a16bb42909645444347794ab53064fd4!}
      • {!LANG-90b829f3da9a6a393cd0bff5f9c65081!}
      • {!LANG-b9b59934e07f7f69114563bd7a22f820!}
    • {!LANG-d44b94106f89077fd8ff42ea9f54e1ec!}
      • {!LANG-f2cf1a5d8ffb13709b8483a0ce2fe8cd!}
      • {!LANG-e37d23a234a927a984226db977cff2db!}
      • {!LANG-1b79f5b916826c21892fca177d09d1b3!}
      • {!LANG-7379c1a88af717cc6ce097be6081ed71!}

    {!LANG-552357ee3d1a1cf988fd51572d7b0429!}

    {!LANG-d76ba0cbe8b2646a335bfa23326e0ccd!}

    Na przykład:

    {!LANG-2dc08ee74e0d7373b540a85382734d41!}

    {!LANG-9c932e76dd90bdecd1404fc946cfb64a!}

    {!LANG-e79a66c2e0285888b54fe63a1483d4c3!}

    {!LANG-3011c8045002629691c0fef0143dfedd!}

    {!LANG-f82cd7228da499f905a84ca8d81b72a6!}

    > , < , >=, <=, <> .

    {!LANG-066ee6346a9649bd9ad43e26be105992!}< ‘W’

    {!LANG-c4ddfe631dd864c6f21a28906457e385!}

    1. {!LANG-c15ef462a16447478b00d668a920aa55!}
    2. {!LANG-fdcad6456bdfb89269213eeac286c485!}
    3. {!LANG-9b9df1df361eddf3dc31ae2fdcc7dc3c!}
    4. {!LANG-5f2aa2cf9a632e7e33274ab62d9b5554!}

    {!LANG-52b3827c88264ed7a5295de75aac14ef!}

    {!LANG-87e8462f317746a901ae06b5997549c1!}

    {!LANG-506fd0f1761fe1408000b1c7d1397c49!}<имя типа>{!LANG-d0bdeab691815b515ff9cc9c6b6473d7!}<имя переменной>:<имя типа>;

    {!LANG-b4105a8365f96fbf4ef90b1000a2102e!}<список констант>{!LANG-e51f1b13962f7419c7ad45082a4ee884!}

    Na przykład:

    {!LANG-a8532071ccd14f7b92fbe060697c55c7!}

    {!LANG-ae48852fda0a28bedc4e2d50b61e5da5!}

    {!LANG-f6c637bcf80c40c6885e83dfc529aae2!}

    {!LANG-3acefeb4044d8d72b96c06c9aa2cf2cb!}

    {!LANG-57a0212da5b9616d8e6f6a4f1b90f751!}

    {!LANG-20d0237248fbdaba33743c5e8c7a345c!}

    {!LANG-3aa1cf2b8aec2f64e88580927422fad3!}

    {!LANG-34a519820d8ca363d229802dcb0af5f9!}

    {!LANG-469729bd6759f326331992fc4e7873ee!}

    {!LANG-75f7994fcaba4e867c26e6cd082c4653!}

    {!LANG-271c4586b9199b2f68bca5b456431eae!}< юг, июнь < январь имеют значения TRUE, а юг>{!LANG-f25a1e01c983e62c597437bcb6f4957e!}<бочка значение FАLSE.

    {!LANG-fc495093385ff53a0a0850d79957a37e!}

    {!LANG-a8dc54d4f38b45ea510346b4c2771d62!}

    {!LANG-51c2ecd3d6086f4e0c35176e891b7a39!}

    {!LANG-f86c83953689d94772e6d35e50803e7e!}<имя типа>{!LANG-b2df41d53d55952f29d74e0e765158f4!}

    {!LANG-46ff07fcf73c42eb9a27f55e327ff0c7!}

    1. {!LANG-63497ea4092123926fa15aa8490a3b91!}
    2. {!LANG-8972ccda69bfc42449fe4aa6af6b4090!}
    3. {!LANG-2e97052cda7b2a7afe457ce46abfeb64!}
    {!LANG-c1f28761fbe40f36b1f340fc1c139e2b!}

    {!LANG-c98a9b152167fd24cc03b73d61ad8883!}

    {!LANG-3dc67fbb368474071d974e00e3c5116c!}

    DZWONEK

    Są tacy, którzy czytają te wiadomości przed tobą.
    Subskrybuj, aby otrzymywać świeże artykuły.
    E-mail
    Imię
    Nazwisko
    Jak chcesz przeczytać Dzwon
    Bez spamu