Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет45/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   41   42   43   44   45   46   47   48   ...   210
Байланысты:
boribaev-algoritmdeu

Val (<сөз тіркесі>,<сан>,<код>)

Сөз тіркесін сандық мəнге




түрлендіру (егер қате жоқ болса,




онда <код>=0)




1)A:=’135’;







Val(A,R,Code);







Нəтиже: R=135; Code=0




2)A:=’_135’;







Val(A,R,Code);







Нəтиже: R=анықталмаған;







Code=1




3)A:=’2.5Е+4’;







Val(A,R,Code);







Нəтиже: R=25000; Code=0











Delete процедурасы үшін, егер <позиция> символдар тір-кесінің ұзындығынан үлкен болса, онда ол өзгермейді. Егер <по-


74

зиция> + <саны> тіркес ұзындығынан үлкен болса, онда көр-сетілген позициядан бастап сөз тіркесінің соңы өшіріледі. Егер <позиция> нөмірі [1,255] аралығына жатпайтын болса, онда про-грамма орындалуында қате пайда болады.
Insert процедурасында, егер бір символдар тіркесін кірістіру нəтижесінде бастапқы берілген сөз тіркесінің максимальды ұзын-дығынан артық тіркес шықса, онда кірістірілген сөз тіркесінің соңғы символдары қойылмайды. Егер <позиция> нөмірі бастапқы тіркестің Length функциясымен анықталған нақты ұзындығынан артық болса, онда нəтиже жалғастырылған (сцепленная) сөз тіркесі болып саналады.
Val процедурасы үшін сөз тіркесіне түрлендірілетін сан ал-дында жəне соңында бос орындар болмауы тиіс.
4.5 Басқа процедуралар мен функциялар


Функция аты

Модулі

Процедура немесе функцияның







қызметі










Keypressed

Crt

Функция. Пернетақтадан бір пер-







не басылса, True мəнін береді, кері







жағдайда False мəнін береді










ReadKey

Crt

Функция. Кез келген перне







басылғанша, программаның орын-







далуын тоқтата тұрады.










SizeOf(X)

System

Функция. Аргументтің ұзынды-







ғына сəйкес байт санын береді










WhereX

Crt

Функция. Ағымдағы терезеге бай-







ланысты, курсор тұрған позиция-







ның горизонталь координатасын







(нөмірін) береді










WhereY

Crt

Функция. Ағымдағы терезеге бай-







ланысты, курсор тұрған позиция-







ның вертикаль координатасын







береді










ClrScr

Crt

Процедура. Экранды тазалайды










Delay (Х)

Crt

Процедура. Программаның







орындалуын Х миллисекундке







тоқтатады











75

Exit

System

Процедура. Процедураның,







функцияның немесе негізгі







программаның уақытынан







бұрын аяқталуын іске асырады

FillChar(X,COUNT,Value)

System

Процедура. Х айнымалысының







тізбек байттарының берілген







COUNT санын Value мəнімен







толтырады

GetDate(<жыл>,<ай>,

Dos

Процедура. Ағымдағы датаның

<күн>,<апта күні>)




мəнін береді

GotoXY(X,Y)

Crt

Процедура. Курсорды экранның







координатасы көрсетілген







жеріне жылжытады

Window(X1,Y1,X2,Y2)

Crt

Процедура. Экрандағы мəтіндік







терезе көлемін анықтайды







(X1,Y1- сол жақ жоғарғы







бұрыш координатасы; X2,Y2-







оң жақ төменгі бұрыш коорди-







натасы)


4.6 Енгізу-шығару процедурасы
Турбо Паскаль тілінде мəндерді енгізу стандартты READ немесе READLN процедуралары (операторлары), ал мəндерді шығару WRITE немесе WRITELN процедуралары (оператор-лары) арқылы орындалады. READ жəне READLN процедурала-ры символдарды (мəндер типі CHAR), сөз тіркестерін (мəндер типі STRING_),_онда_READ'>STRING) немесе сандық мəндерді (мəндер типі INTEGER, BYTE, REAL жəне т.б.) енгізу үшін қолданылады.
READ процедурасын шақыру:
READ ([<файл аты>,]<айнымалылар тізімі>);
READLN процедурасы үшін сəйкесінше:
READLN ([<файл аты >,]< айнымалылар тізімі >);
Егер <файл аты> көрсетілмесе, онда мəндерді оқу стандартты INPUT файлынан жүргізіледі, бұл жағдайда стндартты құрылғы INPUT файлымен байланысқан пернетақта немесе дисплей бо-лып саналады.
Əр енгізу операторының тізімінде көрсетілген айнымалыларға меншіктелетін тұрақты мəндері бар өз мəндер жиыны бар. Енгізу


76

тізіміне мəндерді меншіктеу айнымалылардың орналасу ретіне байланысты, солдан оңға қарай жүргізіледі.

Есте сақтаңыздар:


  1. Айнымалылар жəне тұрақтылар типі сəйкес болу керек (тек REAL типті мəндерін енгізерде, INTEGER типті ай-нымалылар мен тұрақтыларды көрсетуге болады).




  1. Енгізілетін сандық мəндер бір немесе бірнеше бос орын-мен ажыратылуы керек; санның таңбасын жəне цифрла-рын бос орын арқылы бөлуге болмайды.

  2. Егер сөз тіркесі, яғни жол енгізілетін болса (мəндер типі STRING), онда READ операторы VAR сипатталуында көрсетілген максимальді ұзындықтан аспайтын символдар тізбегін ғана оқиды.

  3. Символдар тізбегі (мəндер типі CHAR немесе STRING)

оларенгізілмегенжағдайда,босорынретіндеқабылданады.



Мысал.
А) Сандық мəндерді енгізу:

VAR B,A,D: REAL;




K:INTEGER;

Енгізілетін мəндер:

. . .

2.5 –4.95 20 1.25Е2

READ(A,D);

Енгізгеннен кейін:

READ(K,B);

A=2.5; D=-4.95; K=20; B=125

Ə) Сандық жəне тіркестік (жолдық) мəндерді енгізу.


VAR A: REAL;
B:INTEGER;

C1,C2,C3: CHAR; Енгізілетін мəндер:

D: STRING[5]; 2.5 10 ЖОЛБАРЫС

. . . Енгізгеннен кейін:

READ(A,B,C1,C2,C3,D); A=2.5; B=10; C1=’ ’;


C2=’K’;C3=’L’;

D=’ ЛБАРЫ’


Мысалдан көріп отырғандай, мəндерді араластырып (сан-дық жəне жолдық) енгізу дұрыс орындалмайды. Егер енгізілетін мəндер тізбегінен кейін бос орын қалдырылмаса, онда енгізуде қате (ERROR 106) орын алады. Сондықтан сандық мəндер мен тіркестік немесе символдық мəндерден жеке-жеке бөле отырып енгізу керек.


77

READ операторын орындаған кезде енгізу жолының соңы (<Еnter> пернесін басу), мəндер элементтерін ажырататын бос орын енгізумен бірдей болып саналады, сондықтан енгізудің келесі жолына көшу орындалмайды. Ал енгізілетін мəндер тізбек бойынша сəйкес айнымалыға меншіктеледі
Мысалы, ұқсас операторлар үшін енгізілетін мəндер тізбегі əр түрлі болып келуі мүмкін:

READ(A,B,C); Енгізілетін мəндер: 2 9 5 3 7 немесе

READ(D,Е); Енгізілетін мəндер: 1 жол: 2 9 5
2жол:37

READ оераторының READLN операторынан ерекшелігі, READLN операторында соңғы айнымалы оқылғаннан кейін сөз тіркесінің қалған бөлігі қабылданбайды. Бұдан кейінгі READ немесе READLN операторы мəндерді жаңа жолдың басынан бастап оқиды, демек READLN операторы жолдың соңын (<Еnter> пернесін басу) қабылдамайды. Жолдың соңына жетіп, енгізілетін мəндердің келесі жолына ауысуда READLN операторын параметрсіз қолдануға болады; мұндайда енгізу мəндерінің келесі жолына шартсыз көшу орындалады.
Мысалы, екі өлшемді жиымның элементтерін енгізудің əр түрлі тəсілдерін қарастырайық:

1)FOR I:=1 TO 2 DO


BEGIN
FOR J:=1 TO 3 DO
READ (A[I,J]);
READLN

END;


Енгізілетін мəндер: 3 5 1
-479
2)FOR I:=1 TO 2 DO
FOR J:=1 TO 3 DO

READ (A[I,J]);

Енгізілетін мəндер: 3 5 1
-479
3)FOR I:=1 TO 2 DO
FOR J:=1 TO 3
READLN(A[I,J]);



78

Енгізілетін мəндер: 3
5
1
-4
7
9
Келесі мысалда READLN операторын қолданғанда, жолдың соңындағы мəндердің қабылданбайтындығын анық көруге бо-лады.


VAR A,B,C,D:INTEGER;

Енгізілетін мəндер:




1 жол:

10

20 30 40 50



2 жол:

60




READLN(A,B,C);
READLN(D); Нəтиже:
A=10;B=20;C=30;D=60



Достарыңызбен бөлісу:
1   ...   41   42   43   44   45   46   47   48   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет