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



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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Podstawy programowania

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

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Algorytmy i struktury danych. wykład 1

Wprowadzenie do języka Pascal

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

PODSTAWY PROGRAMOWANIA

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

Kompendium wiedzy z Pascala

Algorytmy i struktury danych

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

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

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Pascal - wprowadzenie

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

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

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Programowanie Delphi obliczenia, schematy blokowe

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

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

Java Podstawy. Michał Bereta

Pracownia Komputerowa wykład IV

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Podstawy Programowania C++

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

OPERACJE NA PLIKACH. Podstawowe pojęcia:

Zasady Programowania Strukturalnego

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

PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL

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

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

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

Pracownia Komputerowa wyk ad IV

Informatyka 1. Przetwarzanie tekstów

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

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

Wstęp do programowania

MATERIAŁY DO ZAJĘĆ II

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Pracownia Komputerowa wykład V

Instrukcja standardowa Writeln

Programowanie RAD Delphi

Podstawy programowania

Język programowania PASCAL

Kodowanie informacji. Przygotował: Ryszard Kijanka

Struktury, unie, formatowanie, wskaźniki

Elementy języków programowania

Programowanie komputerowe. Zajęcia 4

Podstawy programowania

PODSTAWY PROGRAMOWANIA

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

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Dr Michał Tanaś(

1 Podstawy c++ w pigułce.

Podstawy programowania

Wprowadzenie do języka Java

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

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

2 Przygotował: mgr inż. Maciej Lasota

Programowanie w języku Pascal

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Elementy Pascala Konstrukcja programu w Pascalu Typy danych

Zapis liczb binarnych ze znakiem

Tablice (jedno i wielowymiarowe), łańcuchy znaków

MySQL. Darmowa baza danych. Æwiczenia praktyczne

2 Przygotował: mgr inż. Maciej Lasota

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Podstawy i języki programowania

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Pracownia Komputerowa wykład VI

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

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Ściągawka z funkcji i właściwości systemowych VBA. Opis działania i parametrów. Nazwa funkcji. Składnia zwracanej wartości

Techniki multimedialne

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

Podstawy Informatyki

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

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

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

1. Wprowadzanie danych z klawiatury funkcja scanf

Różności w C++ Marek Pudełko

Kod U2 Opracował: Andrzej Nowak

Transkrypt:

Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym var (od variable zmienna). Przykładowa deklaracja. var x : integer; deklaracja nazwa zmiennej : typ zmiennej; 2 Według miejsca: Podział typów danych: wewnętrzne - przechowywane w pamięci operacyjnej w czasie działania programu, zewnętrzne - przechowywane w pamięci masowej w czasie działania programu. Według rezerwacji pamięci: statyczne -pamięć przydzielana jest przed rozpoczęciem działania instrukcji bloku dynamiczne - pamięć przydzielana jest w czasie działania określonych instrukcji. 3 prosty Porządkowy Wyliczeniowy Logiczny Znakowy Całkowity Rzeczywisty napisowy Strukturalny Tablicowy Rekordowy Zbiorowy plikowy (zewnętrzny) wskaźnikowy (dynamiczny) Obiektowy Typy pascalowe 4

Reprezentacja typów danych Zmienne w komputerze są reprezentowane za pomocą bitów. W zależności od ilości bitów słowo może mieć różną długość. Oznacza to, że zmienna może mieć różny zakres, jak zajmować niejednakową ilość miejsca w pamięci. Zależność jest prosta: im więcej ma bitów, tym większy zakres, ale zmienna zajmuje więcej miejsca w pamięci komputera. Dlatego wyróżniamy kilka typów każdego rodzaju Typy całkowite Typ całkowity to liczba całkowita. Typ całkowity jest predefiniowany słowem Integer. Liczby bez znaku Ten typ danych odpowiada kodowaniu wartości całkowitych w naturalnym kodzie dwójkowym. byte 1-bajtowa liczba całkowita bez znaku (8 bitów). Zakres od 0 do 2 8-1 (0-255). word 2-bajtowa liczba całkowita bez znaku (16 bitów). Zakres od 0 do 2 16-1 (0-65535). liczb i innych zmiennych. 5 6 Typy całkowite Liczby ze znakiem Ten typ danych odpowiada kodowaniu wartości całkowitych w kodzie uzupełnieniowym do 2 - U2. shortint 1-bajtowa liczba całkowita ze znakiem w kodzie U2 (8 bitów). Zakres od -2 7 (-128) do 2 7-1 (127). integer 2-bajtowa liczba całkowita ze znakiem w kodzie U2 (32 bity). Zakres od -2 15 (-32768) do 2 15-1 (32767) longint 4-bajtowa liczba całkowita ze znakiem w kodzie U2 (32 bity). Zakres od -2 31 (-2147483648) do 2 31-1 (2147483647) Typy całkowite zestawienie (dla wszystkich języków Pascal) bez znaku - NBC byte word longword cardinal Ilość bitów 8b - 1B 16b - 2B Zakres 0...2 8-1 0...2 16-1 0...2 32-1 0...2 32-1 ze znakiem - U2 shortint smallint longint int64 integer 8b - 1B 16b - 2B 64b - 8B Zakres -2 7...2 7-1 -2 15...2 15-1 -2 31...2 31-1 -2 63...-1-2 31...2 31-1 7 8

Działania na typach całkowitych := + - * / DIV MOD = <> < <= > >= NOT AND OR XOR (t) SHL (t) SHR (t) Abs Chr Odd Ord Pred Sqr Succ Dec (t) Inc (t) Str (t) Val (t) Stałe całkowite: 0 +1-25 59-116 Typ okrojony typów całkowitych type cyfra = 0.. 9; indeks = 1.. 100; bajt = 0.. 255; bit = 0.. 1; zakres = -7.. 13; jeden = 1.. 1; end; 9 10 Typy rzeczywiste Nazwa Bajty Dokładność Maximum Typy rzeczywiste to liczby z przecinkiem. Zawierają część całkowitą i ułamkową. Real Single 6 4 12 cyfr 8cyfr 1.7E38 3.4E38 Typ rzeczywisty jest predefiniowany słowem Real. W odróżnieniu od rzeczywistości typ REAL to skończony podzbiór liczb wymiernych. Double Extended Comp 8 10 8 16 cyfr 19 cyfr 19 cyfr 1.7E38 1.1E4932 9.2E18 11 12

Działania na liczbach rzeczywistych: := + - * / = <> < <= > >= Abs Arctan Cos Exp Ln Round Sin Sqr Sqrt Trunc Frac (t) Str (t) Val (t) NIE MA : Pred Succ NIE MA typu okrojonego Stałe rzeczywiste: 0.0-3.1416 +0.01 1E6 123.456 13 Typ logiczny Boolean Przyjmuje dwie wartości logiczne: TRUE (prawda, tak) i FALSE (fałsz, Nie). Zmienna 8-bitowa (1 bajt). Jeśli wszystkie bity są ustawione na 0, to przedstawia wartość logiczną FALSE. Jeśli chociaż jeden z bitów ma wartość 1, to przedstawia wartość logiczną TRUE. Standardowo wyrażenia logiczne zmieniają zawartość najmłodszego bitu - pozostałe przyjmują zawsze wartość 0: 00000000(BOOLEAN) = FALSE (fałsz) 00000001(BOOLEAN) = TRUE (prawda) 14 Typy znakowe Znaki przechowywane są w pamięci komputera w postaci kodów ASCII (8 bitów) lub Unicode (16 bitów). Kod znaku jest liczbą całkowitą w naturalnym kodzie binarnym. char Dana 1-znakowa. Zmienna tego typu przechowuje jeden znak ASCII (8-bitów, 1 bajt). Kod znaku zawiera się w granicach od 0 do 255. Znaki o kodach mniejszych od 32 są zwykle tzw. znakami sterującymi, których celem nie jest prezentacja znaków, lecz wykonanie określonych działań. Na przykład znak NL o kodzie 10 powoduje przejście z wydrukiem do nowego wiersza. Znak CR o kodzie 13 ustawia kursor na początku wiersza. 15 string Typy znakowe Dana typu string jest 256 elementową tablicą znakową i może przechowywać ciąg znaków.] Dostęp do poszczególnych literek przechowywanego tekstu uzyskuje się za pomocą indeksu. Element o indeksie 0 zawiera informację o ilości przechowywanych znaków. Kolejne elementy zawierają poszczególne znaki tekstu. Ilość znaków jest zatem ograniczona do 255. 16

Typy znakowe W zmiennej s umieszczamy napis Janusz. Zawartość zmiennej typu string s[0] \0 s[1] J s[2] a s[3] n s[4] u s[5] s s[6] z s[7] Zawartość komórek zmiennej s poza obszarem tekstu (s[7]...s[255]) jest niezdefiniowana, tzn. mogą tam być dowolne znaki pochodzące z poprzednich działań nad tą zmienną lub obszarem pamięci przez nią zajmowanym.? 17 Typy wyliczeniowe Typ wyliczeniowy to rodzaj typu danych zawierający listę wartości, jakie może przyjmować zmienna tego typu. Przykład Type pora_roku = (wiosna, lato, jesien, zima); miesiac = (styczen, luty, marzec, kwiecien); 18 Typy okrojone Typ okrojony określa podzbiór dowolnego typu porządkowego lub wyliczeniowego. Jest on ograniczony pewnym zakresem. Wykorzystywany jest do określania typu zmiennych, które mogą przyjąć wartości ze ściśle określonego przedziału, np. TYPE TRok=1990..1999; VAR a : TRok; Zmienna "a" może przyjąć wartości od 1990 do 1999. Type Dni_robocze=(poniedziałek,wtorek,środa,czwartek,piątek); 19 Typy całkowite Typ zbiorowy określa zbiór potęgowy, którego elementy są typu porządkowego. Przez zbiór potęgowy należy rozumieć zbiór wszystkich możliwych podzbiorów wartości typu porządkowego, włączając w to zbiór pusty. Definicja tego typu jest następująca: Typ_zbiorowy = SET OF Typ; Przykład: TYPE Litery = SET OF 'a'..'z'; Cyfry = SET OF '0'..'9'; Teraz zmienne typu Cyfry mogą przyjmować tylko wartości od '0' do '9'. 20

Typy tablicowe Typ tablicowy określa tablicę składającą się ze stałej liczby elementów. Wszystkie elementy tablicy też muszą być określonego typu. Do każdego elementu odwołuje się przez indeks podawany w nawiasach kwadratowych i określający pozycję elementu. Każda tablica może być wielowymiarowa. Przykładowa deklaracja tablicy 50 znaków może wyglądać następująco: Type wektor = array[0...50] of Integer; 21 Typy plikowe Typy plikowe są powiązane z plikami. Plik jest ciągiem elementów tego samego typu, tyle że liczba jego składowych jest zmienna. Jest ona uzależniona od przebiegu wykonywania programu, a w szczególności od skojarzenia pliku z fizycznym zbiorem danych. Od tablicy plik różni się ponadto metodą dostępu do poszczególnych elementów. Definicja pojedynczego typu plikowego ma postać: TYPE Identyfikator_typu=file of opis_typu_elementów_pliku; lub TYPE Identyfikator_typu = file; Przykłady: TYPE Dane = file of Integer; Zbior = file; Wyniki = Text; 22 Typy rekordowe Typ rekordowy opisuje złożoną strukturę danych. Taka struktura składa się z pewnej liczby pól. Każde z nich jest ściśle określonego typu. Definicję rekordu zamieszcza się między słowami RECORD i END;. Przykładowo, by zapamiętać dane o pracownikach firmy, używając definicji tablicy typu X, gdzie X jest typem rekordowym: TYPE Osoba = RECORD Imie : String[10]; Nazwisko : String [20]; Wiek : Byte; END; VAR Ludzie : Array[1..1000] of Osoba; Do odczytania informacji zapisanych w polu rekordu używa się kropki np.: Writeln(Ludzie[10].imie); Ludzie[11].nazwisko:='Nowak'; 23