1.3 Енгізу операторы.
Берілген мәндерді айнымалыға беру үшін меншіктеу операторын пайдалануға болады. Мысалы,А:=-15; ВЕС:=16.4;т.б. Бірақ бұл жағдайда программада жалпылық қасиет болмайды, яғни ол тек көрсетілген мәндер мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез келген мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез келген мәндер үшін дұрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасау үшін айнымалылардың мәндері өзгерілетін түрде жасалып, олар пернелерден енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс жұмыс атқара алады.Паскаль тілінде мәліметтерді енгізу және шығару үшін яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.Паскаль тілінде мәлімет енгізетін READ- ағылшынша оқу операторының жалпы түрі пішімі төмендегідей:
READ (a1,a2,…,an);
READLN (a1,a2,…,an);
READLN;
Мұндағы а1,а2,...,an- айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln алдыңғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіруді ғана атқарады.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string типтеріне жатуы мүмкін.Логикалық айнымалалардың мәндері енгізілмейді.Айнымалылар мәндері өз типтеріне сәйкес Паскаль тілінің ережесі бойынша енгізіледі.Егер ол шарт бұзылса, онда экранға енгізу-шығару қатесі шығады.READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды,бұл мәндер INPUT енгізу файлы арқылы жүзеге асырылады.Параметрлер жаңа мән қабылдағанда,оларда бұрын орналасқан ескі мән өшіріліп,орнына жаңа мәндер жазылып отырылады да программа параметрдің жаңа мәні бойынша жұмыс атқарады.Алғашқы нұсқасында мәлімет енгізу дұрыс орындалады,өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне сәйкес келіп тұрады,себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.
Егер енгізу пернетақта арқылы емес,дискіден арқылы емес,дискіден немесе файлдан жүзеге асырылса, онда жақша ішіне аодымен файл аты жазылады.
READ (FN,a1,a2,…,an);
READLN (FN a1,a2,…,an);
READLN (FN);
мұндағы FN-енгізілетін мәндер жазылған дискіде файлдың аты;а-айнымалылар идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады.Файлдағы мәліметтер де бір-бірімен бос орын не енгізу пернесін басу арқылы бөлінуі тиіс,яғни файлға әрбір мән енгізілгеннен кейін ал енгізу соңында “Enter” пернесі басылады.
Файлдардан мәлімет енгізу мысалдар кейінірек қарастырылады.READ операторы кез келген сандармен, символдармен және сөз тіркестерімен жұмыс атқара алады.
Сонымен,параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін Enter енгізу пернесі басылады.Мысалы, енгізу операторы READ (A,B,C); түрінде берілсе,параметрлерге мәндер былай беріледі: 5 6 2 4, 5 Enter. Бұл жағдайда А- 5, В- 6.2, С- 4.5 мәндер қабылдайды.Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны басынан бастап қайта орындау қажет.Бүтін айнымалыларға бүтін,нақты айнымалыларға нақты мәндер берілуі қажет.Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді.Ал машина «өзі» бүтін санды нақты сан түрінде келтіріп алады.Мысалы:VAR A,B: REAL; BEGIN READ(A,B); END.түрінде беріліпА,В айнымалылары үшін 4 5 Enter орындалса, онда машина оларды А-4.0, В-5.0 түрінде қабылдайды. Сандар арасына бір немесе бірнеше бос орын қалдыруға болады,себебі сан енгізілгенде бос орын есепке алынбайды.Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз немесе параметрге сәйкес READLN; , READLN(a1, a2,…, an);операторларының пайдалану қажет.Сонымен,READ(a1,a2,…,an);READLN;операторларының орнына бір ғана READLN(a1, a2,…,an)операторын пайдалануға болады.
Достарыңызбен бөлісу: |