biblioteka standardowa


  1. Wejście wyjście znakowe (I/O)

Procedury wyjścia:

Procedury wejścia:

Obsługa klawiatury

Każde wciśnięcie klawisza powoduje wprowadzenie do bufora klawiatury kodu lub kodów znaku odpowiadającego wciśniętemu klawiszowi. Bufor ten ma określoną pojemność. Jeżeli znaki wprowadzone do bufora nie zostaną z niego usunięte, to bufor się zapełni i nie będzie przyjmował kolejnych znaków. Objawia się to charakterystycznym piszczeniem przy wciskaniu klawiatury. Do obsługi bufora klawiatury służą poniższe funkcje.

ReadKey Wywołanie tej bezparametrowej funkcji powoduje pobranie znaku z bufora klawiatury. Po jej wywołaniu znak ten jest usuwany z bufora.

KeyPressed Funkcja zwraca wynik typu logicznego, który mówi czy w buforze klawiatury jest jakiś (choćby jeden) znak do pobrania. Jeśli w klawiaturze są znaki do pobrania to wynik jest TRUE jeśli bufor jest pusty to wynik jest FALSE.

  1. Funkcje matematyczne

Funkcja

Przykład

Opis

abs

y := abs(x)

 wartość bezwzględna |x|

cos

y := cos(x)

 kosinus kąta x [rad]

exp

y := exp(x)

 e do potęgi x czyli ex

ln

y := ln(x)

 logarytm naturalny z x czyli ln(x)

pi

y := pi

 liczba p (funkcja bezargumentowa)

sin

y := sin(x)

 sinus kąta x [stopnie kąta podawane w radianach]

sqr

y := sqr(x)

 kwadrat liczby x czyli x2

sqrt

y := sqrt(x)

 pierwiastek kwadratowy z liczby x

  1. Funkcje dla typów porządkowych

Ord( w ) Funkcja ta zwraca wynik typu integer, który podaje "numer" porządkowy danej wartości porządkowej w. Np.:

Typ w

w

Ord(w )

integer

-10

-10

Boolean

false

0

Boolean

true

1

Char

'a'

97

(slony, gorzki, kwasny)

gorzki

1

Pred( w ), Succ( w ) Funkcje te zwracają wynik typu zgodnego z typem wyrażenia w. Funkcja Pred() zwraca poprzednika wartości w o ile taki istnieje, natomiast funkcja Succ() zwraca następnika wartości w o ile taki istnieje. Oto przykłady:

Typ w

Pred(w )

w

Succ(w )

integer

-11

-10

-9

integer

5

6

7

Boolean

** błąd **

false

true

Boolean

false

true

** błąd **

Char

'b'

'c'

'd'

(slony, gorzki, kwasny)

** błąd **
slony
gorzki

slony
gorzki
kwasny

gorzki
kwasny
** błąd **

Dec( z ), Inc( z ),
Procedury te modyfikują wartość zmiennej z. Wywołanie Dec(z) jest równoważne z := Pred(z) a wywołanie Inc(z) odpowiada wyrażeniu z := Succ(z). Np.:

Typ z

z przed

Przykład

z po

integer

-10

Inc(z)
Dec(z)

-9
-12

Char

'h'

Inc(z)
Dec(z)

'i'
'g'

(slodki, slony, kwasny, pikantny, gorzki)

kwasny

Inc(z)
Dec(z)

pikantny
slony

Konwersja typów

W poniższych opisach n, m oraz i są wyrażeniami typu całkowitego; x jest wyrażeniem typu rzeczywistego; w - wyrażeniem typu liczbowego; s -wyrażeniem typu string a vs - zmienną typu string


Chr( n ) Funkcja dokonuje konwersji z typu całkowitego na znakowy. Wynik funkcji jest typu Char czyli znak o kodzie n.

Wywołanie

Wynik

Uwagi

Chr(27)
Chr(65)
Chr(57)
Chr(230)

0x01 graphic

'A'
'9'
'µ'

Znak ESC - niedrukowalny
duża lit. A
cyfra dziewięć
znak z tzw. rozszerzonej tab. ASCII


Round( x ), Trunc( x )

Obie funkcje dokonują konwersji z typu rzeczywistego na całkowity. Wynikiem funkcji jest liczba typu całkowitego (LongInt). W przypadku funkcji Round() konwersja polega na zaokrągleniu, zgodnie z zasadami stosowanymi w matematyce, wyrażenia x do liczby całkowitej. Natomiast w przypadku funkcji Trunc() konwersja polega tylko na obcięciu części ułamkowej.

Wywołanie

Wynik

Round(1.25)
Round(1.5)
Round(1.65)
Round(2.5)
Round(-1.25)
Round(-1.5)
Round(-1.65)
Round(-2.5)
Trunc(1.34)
Trunc(-1.5)
Trunc(1.5723450985e9)
Trunc(2.5723450985e9)

1
2
2
2
-1
-2
-2
-2
1
-1
1572345098
** błąd ** przekroczony zakres LongInt

Str( w, vs )

Procedura dokonuje konwersji z typu liczbowego na typ łańcuchowy. Pierwszy parametr w może być uzupełniony opisem pola w formacie

w : n

lub tylko dla wyrażeń rzeczywistych w formacie

w : n : m

Tu n oznacza szerokość pola a m liczbę miejsc po przecinku. Sens opisu pola jest identyczny jak w procedurze write, writeln. Szczegóły w opisie szerokości pola tych procedur. Działa to tak, że w jest zamieniane na łańcuch tekstowy a następnie jest on wstawiany do zmiennej vs. Jeżeli rozmiar zmiennej vs nie pozwala na wpisanie całego łańcucha to do zmiennej vs zostanie wstawionych tylko tyle znaków, ile może się w niej zmieścić.

Rozmiar s

Wywołanie

Wynik

1
3
2
3
8
6
10
20
3
8
8

str(12,s)
str(12,s)
str(12:-2,s)
str(12:3,s)
str(-15.547:-2,s)
str(-15.547:0,s)
str(-15.547:10,s)
str(-15.547:16,s)
str(-15.547:-2:0,s)
str(-15.547:5:-1,s)
str(-15.547:5:4,s)

'1'
'12'
'12'
' 12'
'-1.6E+01'
'-1.6E+'
'-1.555E+01'
'-1.554700000E+01'
'-16'
'-1.6E+01'
'-15.5470'

Val( s, z, e )

Procedura dokonuje konwersji z typu łańcuchowego na liczbowy. Tutaj z jest zmienną typu rzeczywistego lub całkowitego natomiast e jest zmienną typu word. Procedura działa podobnie jak procedura read. Dokonuje ona zamiany napisu s na liczbę typu zgodnego z typem zmiennej z, o ile taka konwersja jest możliwa. Do zmiennej e wpisywany jest kod błędu. Jeśli konwersja przebiegła bezbłędnie, to e=0. Jeśli wystąpił błąd, to w e znajdzie się numer znaku z łańcucha s, który spowodował ten błąd.

Wywołanie

z

e

Uwagi

val('1234',z,e)
val('1abc',z,e)
val('1.2E3',z,e)
val('1.2E*4',z,e)
val('1,2E4',z,e)

1234

1200

0
2
0
5
2

ok
błąd 2-gi znak 'a'
ok
błąd 5-ty znak '*'
błąd 2-gi znak ','

Przetwarzanie łańcuchów tekstowych

W poniższych opisach n oraz i są wyrażeniami typu całkowitego; s -wyrażeniem typu string a vs - zmienną typu string


Length( s )

Funkcja zwarca długość łańcucha tekstowego s jako liczbę typu całkowitego (byte).

Wywołanie

Wynik

Length('Free Pascal')
Length('F')
Length('')

11
1
0


Copy( s, i, n )

Funkcja, której wynikiem jest dana typu string, wyciąga z łańcucha s podłańcuch o długości co najwyżej n znaków zaczynający się od pozycji i-tej. Znaki w łańcuchu numerowane są od 1 w górę.

Wywołanie

Wynik

copy('Free Pascal',6,6)
copy('Free Pascal',6,10)
copy('Free Pascal',20,6)

'Pascal'
'Pascal'
'' (pusty łańcuch)


Pos( s1, s )

Funkcja zwraca wynik typu całkowitego, który jest numerem pozycji w łańcucha s, od której zaczyna się podłańcuch s1. Jeżeli łańcuch s nie zawiera podłańcucha s1 to wynikiem jest 0.

Wywołanie

Wynik

pos('Free', 'Free Pascal')
pos('Pascal', 'Free Pascal')
pos('Turbo', 'Free Pascal')

1
6
0


Delete( vs, i, n )

Procedura ta usuwa ze zmiennej łańcuchowej vs podłańcuch o długości conajwyżej n znaków zaczynający się od pozycji i-tej. Znaki w łańcuchu numerowane są od 1 w górę.

s przed

Wywołanie

s po

'Free Pascal'
'Turbo Pascal'
'Free Pascal'

delete(s,5,7)
delete(s,6,10)
delete(s,20,2)

'Free'
'Turbo'
'Free Pascal'


Insert( s, vs, i )

Procedura wstawia łańcuch s do zmiennej łańcuchowejvs począwszy od pozycji danej wyrażeniem i

s przed

Wywołanie

s po

'Pascal'
'Pascal'
'Pascal'

insert('Free ',s,1)
insert('-1.0.10', s, 7)
insert('-1.0.10' s,20)

'Free Pascal'
'Pascal-1.0.10'
'Pascal-1.0.10'

  1. Inne funkcje modułu CRT

W poniższym opisie w - jest wyrażeniem typu Word; b, x, y - wyrażeniami typu Byte

4



Wyszukiwarka

Podobne podstrony:
c biblioteka standardowa, podręcznik programisty Y5F7SZG25QO5ALU4C6AMSXIKODGWUVID7RY665A
C Biblioteka standardowa, podręcznik programisty [HELION]
C Biblioteka standardowa Podrecznik programisty
C Biblioteka standardowa Podrecznik programisty cpbspp
C Biblioteka standardowa Podrecznik programisty cpbspp
C Biblioteka standardowa Podręcznik programisty
C Biblioteka standardowa Podrecznik programisty
Dodatek E Standardowa biblioteka ANSI C
Rymsza M (red ) Standardy współpracy administracji publicznej z sektorem pozarządowym Aneks 2 bibl
Standardowe biblioteki C UL
Dodatek E Standardowa biblioteka ANSI C
standard HL7
Metodologia SPSS Zastosowanie komputerów Golański Standaryzacja
standaryzacja w geomatyce
Biblioteka
Wykł 1 Omówienie standardów
Złote standardy w diagnostyce chorób układowych 3
SQL3 Nowy standard jezyka SQL 1998
Biblioteki naukowe gromadzenie

więcej podobnych podstron