Жоғарғы деңгейлі программалау тілдерінің ішінде дүние жүзіне кең тараған тілдердің бірі – Бейсик. BASIC (Beginner’s All purpose Symbolic Instuctions Code ) – “Жаңадан үйренушілер үшін символдық нұсқаулар түріндегі көп мақсатты тіл ”сөйлемінің қысқарған сөз ретінде алынған түрі.
Жоспар
Кіріспе
Негізгі бөлім
1.Паскаль және Бейсик тілдерінде программа құру ерекшеліктері.
1.1 Сызықты және тармақты құрылымды алгоритмдерді программалау.
1.2 Қайталанған құрылымды алгоритмдерді программалау.
2.Тақырыпқа қатысты есеп шығару.
Қорытынды.
Пайдаланылған әдебиеттер.
Кіріспе
Жоғарғы деңгейлі программалау тілдерінің ішінде дүние жүзіне кең тараған тілдердің бірі – Бейсик. BASIC (Beginner’s All purpose Symbolic Instuctions Code ) – “Жаңадан үйренушілер үшін символдық нұсқаулар түріндегі көп мақсатты тіл ”сөйлемінің қысқарған сөз ретінде алынған түрі. Бейсиктің алғашқы жеңіл варианты 60 – жылдардың ортасында Америкада жарыққа шыққан болатын.Кейіннен әр елдің ғалымдары түрлі салалық информацияны өңдеуге мүмкіндік туғызатын тілдің 30 –дан аса дамытылған вариантарын жасап шықты.
Паскаль бағдарламалау тілі, XVII ғасырда өмір сүрген француз ғалымы – философы Блез Паскальдың құрметіне аталып отыр. Осы тілді құрастырушы Швейцариядағы жоғары политехникалық мектептің информатикалық институтының профессоры Никлаус Вирт болып табылады. Паскаль тілі жжөніндегі алғашқы дерек 1971 жылы пайда болып, содан бері тілдің дүниеге келген жылы болып табылады.
Qbasic және Pascal программалау тілінде тілдердің алфавитінен бастап, алгоритмдердің түрлері (сызықтық, тармақталу, қайталану), көмекші алгоритмдер, массивтер, жолдық шамалар, берілгендер файлы мен жазу, графикалық режим тақырыптары бойынша іріктелген. Сонымен бірге программа құрылымы, олардың ұқсастықтары мен айырмашылықтары, берілгендерді енгізу мен шығаруды ұйымдастыру, сызықтық және тармақталушы құрылым бойынша программалау, цикл құрылымы бойынша программалау, пайдаланушының функциясы, көмекші программа (процедура), массивтер,жолдық шамалар Бейсик және Паскаль тілдерінде программалау тәсілдері қарастырылған.
1 Паскаль және Бейсик тілдерінде программа құру ерекшеліктері
Экономика және ғылым мен техника өркендеп отырған бүгінгі уақытта программалау негіздерін жете меңгеру информатика саласындағы басты мәселеге айналып отыр. Осы мақсатта ұсынылған оқу құралы дидактикалық бірліктерді ірілендіру әдісіне негіздеп, салыстыру тәсілі бойынша Pascal және Qbasic программалау тілдерін қатар оқытуды қарастырады.
Жалпы жағдайда зерттелетін объектілердің ұқсастықтары мен айырмашылықтарын ойша тағайындау салыстыру деп аталады. Салыстыру — тиімді дидактикалық тәсілдердің бірі. Информатика пенінде оқу мазмұнын салыстыра игеру өзара тура және кері байланыстар арқылы жүзеге асырылады. Салыстыру тәсілі негізінде жаңа ұғымдарды енгізіп, бекітуге болады. Бұл кезде алдымен ұғыммдардың ұқсастығы, одан кейін айырмашылығы көрсетіледі. Салыстыру нәтижесінде дұрыс қорытынды алу үшін мынадай шарттар орындалу қажет:
1.Біртекті объектілерді ғана салыстыруға болады.
2.Объектілерді ортақ белгілері арқылы салыстыру нәтижесі жан-жақты,толық қарастырылуы тиіс. Оқушылардың салыстыра білу дағдысын қалыптастыру үшін салыстырылатын объектінің нақты құрылымын айқын көрсету қажет. Ол үшін:
а) игерілуге тиіс объектілердің елеулі белгілеріне көңіл бөлу;
ә) осы объектіні басқадан бөлектеп тұратын айырмашылық белгілерін табу;
б) осы белгілер арқылы объектілерді салыстыру қажет.
Демек, ұқсас ұғымдарды салыстыру білім мазмұнын игеруді жеңілдетеді, кейбір ұғымдардың қасиеттерін формальды жаттап алудан сақтандырады және информатикалық ұғымдар арасындағы байланыстарды тағайындауға жәрдемін тигізеді, оқушылардың өз бетінше іздену іскерлігінің, дағдысының қалыптасуына ықпал етеді. Салыстыра отырып бақылау және өзгерісті айыра алу адамның ойлауын дамытады.
Программалардың құрылымы
Qbasic тілінде
|
Pascal тілінде
|
Input<айнымалылар тізімі>
Тұрақтылар бөлімі (Const); Процедура және функциялар бөлімі (Procedure,function); Операторлар бөлімі; Print<тізім>.
|
Program<атау>(input,output);
Таңбалар бөлімі (Label); Тұрақтылар бөлімі (Const); Типтер бөлімі (Type); Айнымалылар бөлімі (Var); Процедура және функциялар бөлімі (Procedure,function); Операторлар бөлімі (Begin,end). |
Qbasic және Pascal тілінде программа басында және оның денесінде жиі пайдаланылатын сандық, жолдық тұрақтыларды const операторы арқылы сипаттауға болады. Qbasic тіліндегі Input операторы Pascal тіліндегі read қызметші сөзі айнымалылырды енгізу үшін пайдаланылады. Qbasic тілінде айнымалыларды сипаттау міндетті емес. Qbasic тілінде бірнеше операторларды бір жолға енгізу кезінде олардың арасына қос нүкте қойылады, ал Паскаль тілінде нүктелі үтір қойылады. Бұл символ алдында және соңында жазылған операторлар жазылу реті бойынша орындалуы тиіс екенін білдіретін белгі. Екі тілде де программалау қатарын нөмірлеу қажет емес. Қажет болған жағдайда нөмерлеуге болады. Qbasic программалау тілінде айнымалыларды экранға шығару print операторы арқылы орындалады. Тізімге өрнек, айнымалы және тұрақтылардың енгізілуі мүмкін. Олар нүктелі үтір немесе үтір арқылы бөлініп жазылуы тиіс.Нүктелі үтір қойылған кезде экранда мәндер тығыз форматта (арақашықтығы екі позициялық бос орын), ал үтір қойылған кезде зоналық форматта (әр мән үшін 14 позициялық орын) көрінеді. Print операторын программаға параметрсіз енгізуге де болады. Бұл кезде оператор экранда кезекті бір жолды бос тастап кетеді. Print операторының мәндерді экранға шығару түрі: Print x,y немесе экранға көрнекі етіп шығару үшін Print “x, y=”; x, y деп жазуға болады.
Pascal тілінде program (программа) қызметші сөзінен басталған бірінші жолды программа тақырыбы деп атайды. Ол программаның келесі бөлімдерінен нүктелі үтір арқылы ажыратылып жазылады.
Атау үшін тіл сөздігіне жатпайтын кез келген латын алфавитінің әріптерін немесе әріптер тізбегін алуға болады. Оны PROGRAM сөзінен соң бос орын қалдырып жазу керек . Паскаль тілінде белгілі мақсатта пайдаланылатын жүйелік файлдар бар. Сонда компьютер оларды тақырыпта бар деп автоматты түрде қабылдайды.
Жадтан мәндерді монитор экранға шығару Write операторы арқылы орындалады (Write- жазу). Мысалы x ,y айнымалыларының мәндерін экранға шығару операторы – write (х , у). Х,У айнымалыларын write операторының параметрлері деп атайды. Параметрлер үтір арқылы бөлініп, жай жақшалар ішінде жазылуы тиіс.
Write операторының жазылу мысалдары:
- Экранға х айнымалысының мәнін шығару – Write (х);
- х, у мәндерінің арасына бос орын қалдырып экранға шығару қажет болса – Write (х, ‘ ‘ , у);
- Жақша ішіндегі өрнектердің мәндерін экранға шығару — Write (2*х-1, ‘ ‘ , у+1);
- Нақты айнымалының мәнін экранда үлгі бойынша шығару – Write (х:n:m); Мұндағы n – санның бүтін бөлігі, m – санның бөлшек бөлігі.
Ескерту. Экранға бүтін типті айнымалының мәнін шығару қажет болса, онда Write (x:n); түрінде қолданылады.
5) Литерлік шамаларды немесе тексті экранға шығару — Write (‘символдар тізбегі ‘);
6) х мәнін принтерге шығару Write (lst, x ); Мұндағы LST (list pleace) – принтерге шығаруға арналған стандартты файл атауы.
1.1 Сызықты және тармақты құрылымды алгоритмдерді программалау
Тілдердің алфавиті
Qbasic тілінде | Pascal тілінде |
1 | 2 |
Латын алфавитінің бас және кіші әріптері: A,B,…,Z; a,b,…,z қазақ , орыс алфавитінің әріптері.
2. Араб цифрлары: 0,1,2,..,9 3. Өрнек таңбалары: + қосу, — азайту, * көбейту, / бөлу, ^ дәрежелеу. 4. Қатынас таңбалары: = тең не меншіктеу белгісі ,> улкен, >= үлкен не тең , < кіші , <= кіші не тең , <> тең емес. 5. Арнайы символдар: . нүкте , үтір ; нүктелі үтір : қос нүкте » » бос орын ( , ) ашу,жабу жақшалары “ , ” ашу, жабу тырнақшалары ! леп белгісі ? сұрақ белгісі # нөмір ‘ дәйекшк – апостроф _ астын сызу белгісі % процент $ ақша бірлігінің белгісі & амперсенд |
1.Латын алфавитінің бас және кіші әріптері:қазақ, орыс алфавитінің әріптері.
2. Араб цифрлары: 0,1,2,…,9 3. Өрнек таңбалары: + қосу, — азайту, * көбейту, / бөлу,дәрежелеу санды өзіне — өзін көбейту арқылы беріледі. 4. Қатынас таңбалары: тең не меншіктеу белгісі, үлкен, үлкен не тең, кіші, кіші не тең, тең емес. 5. Арнайы символдар: . нүкте , үтір ; нүктелі үтір : қос нүкте ‘ ‘ бос орын ( , ) ашу,жабу жақшасы ‘ , ’ ашу, жабу тырнақшалары ! леп белгісі ? сұрақ белгісі # нөмір ‘ дәйекше – апостроф _ астын сызу белгісі % процент $ ақша бірлігінің белгісі & амперсенд |
Qbasic және Pascal программалау тілдерінің стандартты функциялары
Qbasic тілінде | Pascal тілінде | Түсініктеме |
SIN(x)
COS(x) ATN(x) LOG(x) EXP(x) X^2 SQR(x) ABS(x) FIX(x) CINT(x) INT(x) PI RND(x)
SGN(x)
TAN(x)
|
Sin(x)
Cos(x) arctan(x) In(x) exp(x) sqr(x) sqrt(x) abs(x) trunc(x) round(x) int(x) Pi(x) Rnd(x)
Sgn(x)
—
|
Х-радиандық өлшем
X-радиандық өлшем Argtgx(-) Inx (x>0) Көрсеткіштік функция (e) Х-тің квадрат дәрежесі Х-тің квадрат түбірі (x 0) Х-тің абсолют шамасы Санның бүтін бөлігі Санды бүтінге дейін дөңгелектеу Санның бүтін бөлігі санының мәні (= 3.1415… ) (0;1) аралығындағы өндірілетін кездейсоқ нақты сан Сан таңбасы. Оның қабылдайтын мәндері: +1 (x>0), 0 (x=0 үшін ), -1(x<0 үшін) Tgx(x радиандық өлшемде) |
Ескерту:
1) егер х аргументі INTEGER типіне жататын болса, онда sqr (x), abs(x) функциялары да INTEGER типті;
2) Round, Trunc функциялары REAL типті мәндерді INTEGER типіне өзгертеді, ал Int – REAL типін қалдырады;
3) стандартты скалярлық функциялар қатарына жатпайтын тригонометриялық функция мәнін есептеу үшін алдымен оны стандартты функциялар арқылы өрнектейді;
4) негізгі оң сан болатын х дәрежесін ln(x) және exp(x) функцияларын пайдаланып есептеуге болады (x>0), яғни
х=exp(n*ln(x))
Паскаль тіліндегі стсндартты функциялар:
- Ord(‘x ’) – ‘x ’ символының кодын анықтайды.
Мысалы, ord(‘A’)=65;
- Chr(n) – коды бойынша символды анықтайды.
Мысалы, chr (66)= ’B’;
- Succ (x) –REAL- дан басқа типтегі мәндер тізімінде соңғы мәнді
анықтайды. Мысалы, succ (46)= 47; succ (‘a’) = ‘b’ ;
- Pred (x) – succ (x) –ке кері функция.
Мысалы, pred (47)= 46; pred (‘b’)=’a’.
Программалау тілдерінде енгізу мен шығаруды ұйымдастыру.
Операторлар форматтары
Паскаль тілінде енгізу операторының жазылуының жалпы үлгісі:
READ (x1,x2,…,xn)
мұндағы x(k=1,2,…,n) ендірілетін мәндерді сәйкес түрде қабылдайтын айнымалылар (read — оқу).
Программаның орындалу барысында read операторы кездессе , компьютер айнымалылар мәндерін жадқа ендіруді күтіп тоқтап қалады. Мәндер аралықтарына бос орын қалдырылып пернетақтадан енгізілуі тиіс. Енгізу аяқталған соң программаның орындалуы одан әрі жалғасады.
READ операторының алдында мәндерді жадқа ендірілуі тис айнымалыларды write операторы арқылы экранда көрсетіп қойған дұрыс. Мысалы, begin write (‘a,b,h = ?’); readln (a,b,h);
S:= (a+b)*h/2; write (‘s = ’, s:5:2);
End.
Кейде write, read – операторларының соңына ln жалғауын қосып, writeln, readln түрінде жазуға болады. Мысалы, readln(a,b,h); writeln(x:5:2);
Мұндай операторлар орындалған соң курсор экранда өзінің тұрған орнынан келесі жолдың басына ауыстырылады да, кезекті оператордың орындалуы экранда осы жерден бастап көріне бастайды. Егер келесі жолды бос күйінде тастап кету қажет болса,программаға соңғы орындалатын ln жалғауы оператордан соң парыметрсіз writeln операторын енгізсе жеткілікті.
Тармақталу командасы. Шартты операторлар
Сызықты программада операторлар ретіне қарай бірінен соң бірі орындалады. Мұны программаның табиғи реттілікпен орындалуы дейді. Тәжірибеде көптеген есептер мұндай сызықтық құрылымға келе бермейді. Есептерді шешуде есептеу жолдары тәуелді болатын шарттар жиі кездеседі.
Тармақталу алгоритмі алгоритмдік тілінде егер командасы арқылы жүзеге асырылатындығын белгілі. Тармақталу командасының толық және толық емес түрі бар. Олар мыналар:
Qbasic тілінде
|
Pascal тілінде |
а) if <шарт> then S1 else S2;
ә) If <шарт> then S; |
a) IF<шарт> then <оператор1> else <оператор2>;
ә) If <шарт> then <оператор>; |
Құрама шарттардың жазылуы:
Математикада | 0<x<1, x=0 немесе x5 |
Бейсик тілінде | x>0 and x<1, x=0 or x<>5 |
Паскаль тілінде | (x>0) and(x<1), (x=0) or (x<>5) |
Программалау тілдерінде шартты өту операторы – IF. Бейсик тілінде шартсыз өту операторы бар, ол – GOTO. Шартсыз өту операторы GOTO есептеуді одан әрі жалғастыруда программаның келесі кезекте орындалатын операторын көрсету үшін,яғни программаның қандай да бір бөлігін орап өту үшін қолданылады.Оператордың жазылу үлгісі: GOTO k. Мұнда к – қатар нөмері; GOTO (өту) – оператордың аты; k – GOTO операторынан соң орындалатын операторлық қатардың нөмері.Осылайша GOTO операторы программаның табиғи реттілікпен орындалуын бұзады.Кейде бір жолға нөмер қою керек болады. Ол GOTO операторы үшін керек. Мұнда ұқсастық, тармақталу командасының жазылу үлгісі QBASIC және PASCAL тілдерінде бірдей.Құрама шарттардың жазылуы да ұқсас. Тек PASCAL тілінде шарттар жақшаға алынып жазылады.
Qbasic , Pascal тілдерінде таңдау командасы.
SELECT – CASE операторы
Qbasic тілінде таңдау командасы үшін арналған ыңғайлы, құрылымдық SELECT – CASE операторы бар. (Select – таңдау, Case – жағдай).
Жазылу үлгісі:
SELECT CASE <айнымалы>
CASE<1-мән>: <1-блок>
CASE<2-мән>: <2-блок>
END SELECT
Жалпы жағдайда Case қызметші сөзінің параметрлері IS (IS — болу) сөзінін басталатын өрнек. Таңдау командасын SELECT – CASE операторын пайдаланып жазу программаны құрылымдық түрде жазу талабына сәйкес келеді.
Паскаль тілінде таңдау командасы END қызметші сөзінен аяқталатын Case m of операторы арқылы беріледі де, END операторынан соң нүктелі үтір қойылады. Мұндағы Case (жағдай) – деген қызметші сөз, m үшін Real типінен басқа кез келген скалярлық типте берілген айнымалы немесе өрнекті алуға болады.Оны сұрыптаушы деп атайды. Of (бойынша) – деген мағынасын білдіретін қызметші сөз.Яғни, Case — m сұрыптаушысы бойынша таңдау операторы. m айнымалының мәнін жадқа осы оператордың орындалуынан бұрын енгізілуі тиіс. Мұндағы m – Integer не 1..3 шектеулі типті айнымалы.Мысалы:
Case m of
1: y:=2*x-1;
2: y:= 3*sqr(x)-x+4;
3: y:= 5*sqr(x)*x-41;
end;
Qbasic, Pascal тілдерінде циклды ұйымдастыру
Qbasic тілінде “әзірше” циклын IF жәнеWHILE –WEND операторлары бойынша құруға болады.WHILE (әзірше) операторының құрамына логикалық амалдар мен қатынас белгілерінен тұратын өрнек кіреді.Құрамындағы шарт сақталып тұрған кезде цикл жұмыс істеп тұрады.Операторлардың орындалу нәтижесінде басқару WHILE операторына бағытталып, ондағы өрнек қайталанып есептеледі, яғни WHILE және WEND операторларының аралығындағы амалдар орындалады. Егер шарт сақталмайтын болса,онда басқару WEND операторынан кейін тұрған операторға бағытталады. WEND (wend – while және end сөздерінен құралған,бұл қызметші сөз циклдың соңы деген мағынада қолданылады).
Qbasic тілінде әзірше циклы төмендегі құрылымдар бойынша жазылуы мүмкін:
1) DO WHILE P 2) DO 3) WHILE P
S S S
LOOP LOOP WHILE P WEND
Мұндағы DO, WHILE, LOOP – (орындау, әзірше, айналу) қызметші сөздер, P – шарт, S – цикл денесі.
Pascal тілінде “әзірше” циклінің жазылу түрі: WHILE P DO S
WHILE P DO – цикл тақырыбы; WHILE (әзірше), DO (орындау ) – қызметші сөздер (DO соңына нүктелі үтір қойылмайды);
P –шарт (логикалық немесе бульдік өрнек); S – цикл денесі.
Qbasic тілінде “дейін” циклының “әзірше ” циклынан айырмашылығы “дейін” циклында шартты тексеруден бұрын цикл денесі бір рет орындалады. ”Дейін” циклы төмендегі құрылымдар бойынша жазылуы да мүмкін:
1) DO UNTIL P 2) DO
S S
LOOP LOOP UNTIL P
Pascal тілінде “дейін” циклының жазылуы:
REPEAT S UNTIL P
Repeat – цикл тақырыбы, UNTIL – циклдың аяқталу шарты. Repeat (қайталау), Until (дейін) – қызметші сөздер. Олар операторлық жақша ролін атқарады.
Until қызметші сөзінің алдындағы оператордан соң нүктелі үтір қойылмауы тиіс.Until қызметші сөзінен кейін соң жазылған шарт жақшаға алынбауы мүмкін.
Qbasic тілінде “үшін” циклы. Егер қайталаулар саны алдын ала белгілі болса, онда циклды FOR – NEXT (for – үшін,next — екелесі) операторлар арқылы ұйымдастырған тиімді.
“Үшін” циклының жазылуы:
FOR K=K TO K [STEP H]
S
NEXT <[цикл параметрі]>
FOR – цикл басының операторы немесе цикл тақырыбы, NEXT – цикл соңын көрсететін оператор, K – цикл параметрі немесе цикл санауыш немесе басқарушы айнымалы деп аталады. K мен K- параметрдің бастапқы және соңғы мәндері (H – қадам ұзындығы, S – цикл денесі), STEP (қадам), TO (дейін). Егер H=1 болса, STEP H қызметші сөзін жазбаса да болады.
Pascal тілінде “үшін” циклының жазылуы:
FOR <цикл параметрі>:=<бастапқы мән>
TO <соңғы мән > DO S
немесе FOR<цикл параметрі>:=<бастапқы мән>
DOWNTO <соңғы мән> DO S
Мұндағы FOR … DO цикл тақырыбы; FOR (үшін), TO (дейін), DOWNTO (төменге дейін) –қызметші сөздер; цикл параметрі Integer типті айнымалы. Мұнда бастапқы және соңғы мәндер өрнек түрінде берілуі де мүмкін.
FOR циклында параметр Integer типті болса, оның қадамы 1 не -1 мәндерінен өзгеше болуы мүмкін емес (FOR – TO циклында қадам 1-ге, FOR – DOWNTO циклында қадам — 1-ге тең). Қадамның басқа мәндерінде WHILE не REPEAT циклын пайдалану керек.
Qbasic.Pascal тілдерінде күрделі циклдарды ұйымдастыру
Бірінің ішінде бірі салынған бірнеше қарапайым циклды күрделі цикл деп атайды. Күрделі циклдарды сыртқы және ішкі циклдар деп бөледі. Біріне – бірі салынған цикл санын күрделі циклдың тереңдігі деп аталады. Күрделі циклдарды “үшін” циклының операторы арқылы құруға болады. Qbasic тілінде FOR арқылы берілетін цикл ішінде циклдың жазылу түрі:
FOR K =K TO K
FOR J=J TO J
NEXT J :NEXT K
Мұндағы J – ішкі цикл параметрі, K – сыртқы цикл параметрі.
Pascal тілінде FOR арқылы берілетін цикл ішінде циклдың жазылу түрі:
FOR K=K TO K DO S
FOR J= J TO J DO S
1.2 Қайталанған құрылымды алгоритмдерді программалау
Qbasic, Pascal тілдерінде сандық массивтер
Программалау тілдерінде бір типті шамаларды массивке біріктіруге болады. Аты біртекті элементтердің реттелген жиыны массив болып табылады. Ол математикада вектор ұғымына, ал мектептің алгоритмдік тілінде сызықтық кестеге сәйкес келеді. Массивтің аты жай айнымалының атын құрғандағы ережелерге сүйеніп құрылады. Массивтің әрбір элементіне соңынан индексі келетін массивтің аты меншіктеледі. Сондықтан да массив элементтерін индексті айнымалылар деп те атайды. Ұйымдастыру тәсілдері бойынша программалву тілдерінде бір өлшемді және екі өлшемді массивтер пайдаланылады. Бір өлшемді массив ретінде векторды, ал екі өлшемді массив үшін матрицаны қарастыруға болады.
Qbasic тілінде бір өлшемді массив. Кез келген сан немесе айнымалы шаманың мәнін өз жадында сақтау үшін ЭЕМ оған сәйкес ұяшық бөледі. Ал құрамында көп мәні бар массивтер үшін белгілі мөлшерде ұяшық бөлуге тиіс. Массивтер Бейсик тілінде DIM операторы арқылы сипатталынады. Оның жазылу тәртібі мынадай:
DIM <айнымалы> (индекстер); <айнымалы> — массив аты, оның соңына элементтер типін сипаттау символы енгізілуі тиіс (%,$); индекстер – ең соңғы элементтің индекстері. Мысалы, DIM A$ (5).
Pascal тілінде бір өлшемді массив. Массив элементтерін және оның атауын белгілеу Бейсик тіліндегі белгілеулерге ұқсас. Паскаль тілінде бір өлшемді массивтің жазылу тәртібі мынадай:
Type <тип атауы> = array[P1] of P2;
Var < массив атауы>:=<тип атауы>;
Мұндағы, array[P1] of P2 — массивті анықтау; P2 — массив элементтерінің типі (оны негіздік тип деп атайды);
P1 — элемент индексінің типі (ол Integer, Real типтерінен басқа кез келген жай тип болуы мүмкін. Әдетте ол үшін аралық тип алынады); тип атауы – типті (массивті) анықтайтын кез келген белгілеме (айнымалы);
массив атауы – типі тип атауынан тұратын айнымалы;
TYPE (тип), ARRAY (массив), OF – қызметші сөздер.
Qbasic тілінде екі өлшемсді массив. Екі өлшемді массивке мысал, математикадығы матрица бола алады. Екі өлшемді массивтердің элементтері екі индекспен көрсетіледі, оның біріншісі қатардың номері, ал екіншісі бағанның номерін анықтайды. Екі өлшемді массивтерде индекстер үтірмен бөлінеді . Программалау тілдерінде индекстер нөлден бастап нөмірленеді. Екі өлшемді массивтің жазылуы:
DIM A$(3,3) . Индекстің ең кіші мәні нөл, ал ең үлкен мәні DIM операторында белгіленген мәннен асып кетпеуі керек. Егер индекстің мәні бұл шекарадан асып кетсе, онда программаны орындауда, қателік кеткендігі жөнінде хабар экранға шығады. Массивтерді цикл ішінде , FOR және NEXT операторларын қолданып өңдеген ыңғайлы. Бұл жағдайда цикл параметрі циклдің санын санау қызметін атқарады және массив элементтерінің индексін белгілеуде қолданылады.
Pascal тілінде екі өлшемді массив. Паскальда екі өлшемді а массивін былай жазуға болады:
type ms = array [1..3,1..3] of P;
Var a:ms;
P – массив элементінің типі .
Qbasic,Pascal тілдерінде ішкі программа және процедура
Барлық программалау тілдерінде ішкі программалар жиі қолданылады. Бейсик программалау тілінде қосалқы алгоритмдер ішкі программа түрінде жазылады. Ішкі программа:
— алгоритмнің қайталанатын бөлігін бір рет жазып, одан кейін оны негізгі программа қажет еткенде шақырып алып қолдануға;
— күрделі программаны өте ықшамды және түсінікті түрде сипаттауға мүмкіндік береді.
Ішкі программа өзінше дербес программа бола отырып, негізгі программамен бірігіп жұмыс істейді. Ішкі программа негізгі программа сияқты өзінің орындалу нәтижесінде белгілі бір есепті толық шешіп бере алады. Ішкі программаның негізгі программадан айырмашылығы, оның өзбетінше орындала алмайтындығында. Ішкі программа міндетті түрде негізгі программа ішінде орындалуы тиіс. Ішкі программаларды жасаудағы бір ерекшелік, оны негізгі программаға қайтаратын арнайы оператор болады.
Qbasic тілінде көмекші программа құрудың бір құрылымдық тәсілі SUB – END SUB операторын пайдалану. Оның жазылу түрі:
SUB<атау> (айнымалылар тізімі) [STATIC]
S
END SUB
(SUB(subroutine – көмекші (қосалқы, бағынышты) программа; static – айнымалыларды өзгермейтін етіп қабылдау).
Мұндай құрылымдық көмекші программаны процедура деп атайды. Процедураны шақыру командасы (операторы) – CALL . Оның жазылу түрі (call — шақыру ):
CALL <атау> (айнымалылар тізімі)
Шақыру командасына call қызметші сөзін енгізбеуге де болады. Программаның негізгі бөлімі мен процедурада пайдаланылатын айнымалылар бірдей болады. Программа басына осы үшін арналған COMMON SHARER <айнымалылар тізімі>. Мұнда ескеретін жайт, программаның Sub espt(x) қатарын енгізген кезде жаңа процедура бөлімі (модуль) терезесі ашылады да,
SUB
END SUB
түрінде жазылған процедура форматы көрінеді.
Pascal тілінде ішкі программа және процедура. Паскаль тілінде көмекші программа толық программа түрінде құрылып, негізгі программаның VAR бөлімінен соң орналасылады. Олардың саны бірнеше болуы мүмкін.
Процедура тақырыбы көмекші программаны анықтаушы PROCEDURE қызметші сөзінен басталып, оның оң жағына процедураның атауы енгізіледі. Одан әрі жай жақшалар ішінде формальды параметрлер сипатталады да, тақырыптың соңына нүктелі үтір символы қойылады. ОЛ процедура тақырыбын өзінің басқа бөлімдерінен ажырату белгісі.
Тақырыптан соң негізгі программадағы сияқты сипаттау бөлімдерінің енгізілуі мүмкін. Бұдан әрі BEGIN, END қызметші сөздерімен шектелген операторлар бөлімі жазылады да, END – тен соң нүктелі үтір таңбасы қойылады:
Procedure<атау>[(<типтері сипатталған
Формальды параметрлер тізімі>)];
[<сипаттау бөлімдері>]
Begin
операторлар бөлімі
end;
Процедурада пайдаланылған t айнымалысы – нақты параметр мәнін қабылдайтын, ал P айнымалысы — мәні есептеліп нақты параметрге меншіктелетін формальды параметрлер. Соңғы BEGIN, END операторлық жақшаларының ішінде жазылғандар – программаның операторлар бөлімі. Программаның орындалуы осы оператордан басталады. Негізгі программаға енгізілген espt(xk, yk) – espt атаулы процедураны шақыру операторы. Шақыру операторының жазылу үлгісі:
<Процедура аты> [(нақты параметрлер тізімі)];
(тізім үтірлер арқылы бөлініп жазылады);
Параметрсіз процедура. Көптеген процедуралар формальды параметрлерді пайдаланбай , нақты параметрлермен тікелей жұмыс істейді. Мұндай параметрсіз процедура тақырыбының жазылу үлгісі:
Procedure <атау>;
Бұл кезде шақыру командасы тек процедура атауынан тұрады.
Qbasic, Pascal тілдерінде пайдаланушы – функциямен жұмыс
Qbasic тілінде пайдаланушының функциясымен (процедура — функцияны) құрылымдық форматта екі түрлі етіп жазу мүмкіндігі бар (Function — функция):
1) DEF FN атау (айнымалылар тізімі)
FN атау=… ‘функция
END DEF
2) FUNCTION <атау> (айнымалылар тізімі) [STATIC]
<атау> =…’ функция
END FUNCTION
Мұнда мәні есептелетін функция атауы DEF немесе FUNCTION қызметші сөздерінен соң жазылатын атаумен бірдей болуы тиіс. Програманың FUNCTION Y(x) қатарын енгізген кезде, SUB форматы сияқты бөлек терезеде
FUNCTION
END FUNCTION
құрылымы көрінеді.
Pascal тілінде пайдаланушы – функция. Бір ғана функция мәнін есептейтін көмекші программаны Паскаль тілінде функция деп атайды. Функция тақырыбының процедура тақырыбынан айырмашылықтары: тізім соңындағы жабу жақшасынан соң қос нүкте қойылып, одан әрі функция типі жазылады; формальды параметрлер – нақты параметрлер меншіктелетін параметр – мәндер. Мұнда анықтаушы функция (өрнек) мәнін есептеу операторының жазылуында да өзгешелік бар: Өрнек меншіктелетін айнымалының атауы – function тақырыбындағы атаумен бірдей болуы тиіс.
Негізгі программаға енгізілетін функцияны шақыру командасы да жеке оператор түрінде емес, Бейсик тіліндегі секілді sinx,cosx тағы басқа стандартты функциялар сияқты, өрнекке енгізіліп жазылады.
Qbasis, Pascal тілдерінде жолдық мәліметтер
Бейсик тілінде сандық шамалармен қатар символды тұрақтылар, айнымалылар және функциялар да қолданылады.Символды тұрақты деп ұзындығы 255 – тен аспайтын, тырнақшаға алынған , кез келген белгілер тізбегін айтады.Тырнақша тұрақтының құрамына енбей,тек қана оның шекарасын көрсетеді.Символды тұрақтыны міндетті түрде тырнақшаға алады,егер тырнақша белгісі болмаса, онда анықталмаған болып есептелінеді Себебі бос орынның өзі де символ ретінде тұрақтының құрамына кіре алады.
Компьютер жадында жолдық тұрақтылар ендірілетін арнайы блок бар.Жолдық айнымалыға меншіктелген әр мәтін осы блоктың бір адрестен тұратын ұяшықтар тобына енгізіледі.Мысалы,компьютердің A$ = “Мен оқушымын” командасын орындауы нәтижесінде A$ адресіне осы тұрақты жазылып қойылады. Бейсикте LEN (A$) функциясы арқылы мәтін ұзындығы (length -ұзындық) есептеледі.Мәтіндермен біріктіру және қиып алу амалдарын ғана орындау мүмкін.Біріктіру амалының таңбасы – плюс (+), ол екі мәтінді бір мәтін түрінд біріктіреді. Қиып алу операциясы мәтіннен бір шама үзінді бөліп алады.Ол Бейсикте MID$, LEFT$ және RIGTH$ функциялары арқылы орындалады (mid – ортта,left – сол, right-оң). MID$(A$,M,N) – A$ айнымалысы мәнінің m – символынан бастап
n – символын, MID$(A$,N) — A$ мәнінің m – символынан басталған үзіндісін,LEFT$(A$,N) – мәнінің сол жақ n символын, RIGTH$(A$,N) A$ мәнінің оң жақ n символын бөліп алатын функциялар.
Pascal тілінде жолдық мәліметтер. Жолдың типі оң жағына ашу,жабу тік жақшалары қойылып,олардың ішіне мәнін жадқа ендіру үшін таңдап алынған бүтін сан енгізілген STRING (string — жол) қызметші сөзі арқылы анықталады.Оны программаның TYPE не VAR бөлімінде сипаттауға болады.Мысалы, а1:=’сынып ’
Oku:= ‘Мен оқушымын’
1) type jol1=string[5];jol2=string[12]
var f1:jol1;oku:jol2;
2) var f1:string[5];oku:string[12]
Мұндағы string[5]6string[12] – жолдық типтер; jol1,jol2 – осы типтерге берілген атаулар, а1,oku – жолдық айнымалылар.STRING(M) типін оқып шығып, компьютер сипатталған айнымалы үшін жадтан әрқайсысына бір символ сиятын қатар орналасқан M ұяшық қалдырып кетеді. Турбо Паскальда жолдармен түрлі әрекеттер жасап,өңдеуге арналған стандартты функциялар бар.
LENGTH, “+” не CONCAT, COPY, POS (length –ұзындық; “+” – плюс таңбасы,concat –біріктіру;copy –көшірме; pos(position)-позиция,тұрған орны).
- Length(стр)-жолдың ұзындығын есептейді (стр(стринг)-жолдық айнымалының не оның мәнінің орнына пайдаланылған символдар тізбегі).Мысалы,length(a1)=S;length(oku)=17:length(‘мен’)=3
- Concat (стр1, стр2) не стр1+стр2 – стиринг1 мен стринг2 жолдарын біріктіреді.
Concat (‘оқушы’,’мын’) – оқушымын;
- Copy (стр,m,n) – жолдың m – символынан бастап n символдық үзіндісін кесіп алады.
Copy(‘оқушымын’,3,5) – ушымы;
- Pos(стр1, стр2)- стринг2 жолынан стринг1 үзіндісін іздеді де,жолдың басынан есептегенде үзінді басталған орынның нөмірін анықтайды,үзінді табылмаса, оны 0 –ге тең деп нәтижелейді.
Pos(‘ушы’,’оқушымын’) – 3
Берілгендер файлы. Жазу
Бейсикте төрт бұрышты кесте түрінде берілгендермен өңдеу жұмыстарын программа арқылы орындауға болады.Дискіге жазылатын информация берілгендер файлы (БФ) деп, онымен жұмыс істеуге арналған программаны файлдарды басқару программасы не программалық файл (ПФ) деп атайды.Мысалы,
- Мұстафаева Жадыра 1975 қазақ
- Қарабаев Мұқтар 1974 қазақ
- Сармантаева Жанна 1974 қазақ
Берілгендер файылының элементі жазу деп аталады; жазу құрайтын мәндер өріс элементтері делінеді.Яғни тізімнен тұратын берілгендер файлы – жазулар жиынтығы, әр жазу – файлдың бір элементі.Жазу ұзындығы 255 – тен аспауы тиіс.Өрістің атауы 8 символдан аспауы тиіс.
Мысалда берілген мәліметтік тізімде әр жазу төрт өріс элементінен, ал файл үш элементтен және оларға сәйкес төрт бағаннан тұр.Өріс элементтері ретінде студенттердің реттік нөмері, аты –жөні,туған жылы, ұлты жазылғандықтан,сипаттаманы СТУД1 деп атап, мынадай түрде жазып қоюға болады:
СТУД1(нөмірі, аты-жөні, туған жылы,ұлты)
Тізбекті ену тәсілі бойынша құрылған БФ –тің әр жазуын жол деп те атайды.Мәшине оны дискіге тиеу кезінде әр жолының соңына автоматты түрде таңба қойып кетеді.
Файлды дискіге жазу не оны дискіден мәшиненің жадына енгізу жолдардың басынан бастап ретімен жүргізіледі.Файлды жазуға, оқуға арналған дискілік операторлар барлық компьютерлер үшін бірдей емес.
IBM PC дербес компьютерінде тізбекті ену файлымен жұмыс істеу программасында пайдаланылатын операторлар:
OPEN (ашу)- файлды дискіге жазу не дискіден оқу үшін файлды ашу:
PRINT # M –файл жолын дискіге жазу;
INPUT # M – файл жолын дискіден оқу;
CLOSE (жабу)- файлды жабу
Бұлардың программада жазылу түрлері:
1) Атауы F$ арқылы берілгендер файлын дискіге жазу үшін орын белгілеп, оны ашу:
1: OPEN “O”,# M, F$
2: OPEN F$ FOR OUTPUT AS # M
Дискіде F$ атаулы файлды оқу үшін оны ашу:
1: OPEN “I” ,# M ,F$
2: OPEN F$ FOR INPUT AS # M
Мұндағы:
O,I – OUTPUT (шығару), INPUT (ендіру) қызметші сөздерінің бірінші әріптері;
F$ -берілгендер файлының атауы;
# M – файлдың логикалық нөмері;
Кез келген БФ тек жазу не тек оқу үшін ғана ашылыды. Оларды қатар орындау үшін ашу мүмкін емес.
2) Атрибуттарының атаулары A, B$, C, D$ арқылы және логикалық нөмірі.#1 арқылы белгіленген файлдың бір жазуын дискіге тиеу операторы:
PRINT # 1, A; “,”; B$; “,”; C; “,”;D$
Мұндағы “,” таңбасы – мәндерді дискіге үтір арқылы ажыратып, үнемді түрде жазу белгісі; D$ — тун соң қалдырылған бос аралық –жолдың аяқталу белгісі.
3) A, B$, C, D$ элементтерінен тұратын файл жолын дискіден оқу (жадқа енгізу) операторы;
INPUT #1, A, B$, C, D$ түрінде беріледі. Әр элементті үлгі бойынша манитор экранына шығару, әдеттегідей, PRINT операторы арқылы орындалады.
4) Ашылған берілгендер файлымен жұмыс істеуді аяқтаған соң оны жабу керек.Жабу операторының жазылу түрі:
CLOSE #1 не CLOSE 1
Жазу Паскаль тілінде түрлі типті элементтерден тұратын күрделі типті берілгендер ерекше орын алады.Ұзындығы 255 аспайтын мұндай берілгендердің әр қайсысын жазу деп, ал жазу құрайтын элементтерді жазудың өрістері деп атайды.Мысалы,
142141 Айдаболова Фариза 1986 қазақ
142142 Алибаева Нұргүл 1986 қазақ
142143 Болатова Гүлдана 1987 қазақ
Жазудың сипстталу үлгісі Type бөлімінде типтың атын анықтап аламыз.
Type <тип атауы>= record<өріс атауы>: <өріс типі>;
<өріс атауы>:<өріс типі>;
end;
var<жазу атауы>:< тип атауы>;
Өрістің атау 8 таңбадан аспауы тиіс.Өріс айнымалыларын толық түрде жазу гүрделі программаларды оқуды қиындатады. With (қосу,біріктіру) жалпы түрі.
With <жазу атауы> do
Begin
<операторлар>;
end;
Бейсиктегі сияқты,Паскальдаерекше орын алатынберілгендер файлы – жазулардан тұратын элементтер тізбегі.Жазулар саны файлдың ұзындығы деп аталады.Мысалы,
142141 Айдаболова Фариза 1986 қазақ
142142 Алибаева Нұргүл 1986 қазақ
142143 Болатова Гүлдана 1987 қазақ
Құрылымы; студент (шифры,аты –жөні, туған жылы,ұлты ).
Файл типін сипаттау үлгісі мынадай:
Type<тип атауы>=file of<элементтер типі>;
Var <айнымалы атауы>:<тип атауы >;
Мысалы, жоғарыда қарастырылған мәліметтік тізімнен тұратын файлды мынадай түрде сипаттау мүмкін.
Type student = record a1:longint; a2:string[17];
a3:integer; a4:string[10];
end;
var F:file of student;v:student;
Мұндағы student – жазу типінің атауы; f – элементтері сипатталған жазулардан тұратын файлды, V –осы жазуларды анықтайтын айнымалылар.Жазу өрістері нүкте арқылы бөлінгег жазу мен атрибут атауларынан тұрады:v.a1, v.a2, v.a3, v.a4.
Файл элементтері дискіге жазылғанда 0-ден бастап автоматьы түрде нөмірленіп қойылады.Файлды СУСҚ тиеу файлды жазу деп аталады, ол СҚ –дан анық машинаның аперативтік жадына енгізу файлды оқу деп аталады.
F – файлдық айнымалы
Bf – берілгендер файылының атауы меншіктелетін айнымалы
V – файлдық элементтер болсын
v.a1, v.a2, v.a3, v.a4 — өрістік айнымалылар болсын
Турбо Паскальда да файлмен жұмысты тізбекті және еркін ену тәсілдері бойынша жүргізу мүмкін.Файлды жазу үшін мынадай операторлар пайдаланылады:
ASSIGN(f,bf) –bf файлға f атауын беру.Ол bf-ң мәнін f–ке меншіктейді. Компьютер f-ті саны белгісіз элементтерден тұратын bf- тің атауы деп қабылдайды.Бұл әдіс программада түрлі берілгендер файлын өңдеуге мүмкіндік береді;
REWRITE(f) – атауы assign операторында анықталған файлды жазу үшін дискілік файлды ашу.Ол берілгендер файлы үшін дискіден орын бөліп,көрсеткішті осы орынның басына орналастырады.
Ескерту.Егер ол дискіде осындай атаулы Б.Ф бұрыннан бар болса rewrite (f) арқылы өшіріледі;
WRITE(f,v) –f үшін бөлінген дискілік файлға v элементін жазу.Ол элементті көрсеткіш тұрған орыннан бастап жазылып шығады.Оператор орындалған соң көрсеткіш келесі элемент жазылатын орынның басына ауысады;
CLOSE(f) – файлды жабу ;
Сыртқы құрылғыларда жазылған берілгендер файлын сыртқы файл деп атайды.БФ – н дискіден оқып экранға шығаруда төмендегі операторлар орындалады.
ASSIGN (f,bf)- bf файлын f файлын байланыстыру;
RESET(f)-атауы f пен берілген сыртқы файлды ашып,көрсеткішті осы файлдың басына орналастыру;
WHILE NOT EOF(f) –do — көрсеткіш файлдың соңына жеткенге дейін программаны орындау циклі. EOF end of file – файл соңы.Егер көрсеткіш файлдың соңғы элементтерінен енді асса,eof мәні –true, әйтпесе-false;
READ(f,v)- атауы f арқылы берілген файлдың бір элементін дискілік файлдан оқу.Оператор орындалып болған соң көрсеткіш келесі элементтің басына ауысады.
WRITE (v.a1, ‘ ’,v.a2, ‘ ’,v.a3, ‘ ’,v.a4 )- файл элементін экранға шығару.Кейде мына типте де жазуға болады. Write (v.a1:7, v.a2:17)
String типті айнымалы мәнін бағананың сол жағынан бастап шығарған дұрыс.Ол үшін v.a2,’’:18-length(v.a2) қолданылады.
Компьютерде жазуды бірден іздеп табу үшін программаға seek(f,k-1) операторы, одан кейін read (f,v) не rewrite (f,v) операторларының қажеттісі енгізіледі.Егер іздеу белгісі ретінде орындалатын k саны алдын ала енгізілмесе, онда seek (f, k-1) операторы керсеткішті 0 жазудың басына апарады.Керісінше жағдайда көрсеткіш k-шы жазудың басына орналастырады.(seek-іздеу).
Filesize(f) –файл жазулардың санын анықтайды.Сыртқы файл жазуларына осылайша тез жету тәсілі файлға еркін тікелей ену тәсілі деп , ал файлдың өзі еркін ену файл деп аталады.Жазудың ұзындығы 32767 –ден аспауы тиіс.
Қорытынды
Программалау тілдері бойынша программалау тілдерін салыстыра оқытудың тәсілдерін қарастырдық. Мұнда программалау тілдердің алфавиті, программа құрылымы , олардың ұқсастықтары мен айырмашылығын қарастырдық .
Буйсик және Паскаль тілдері бүгінгі таңда қолдану өте тиімді .Дүние жүзінде кең тараған тілдердің бірі – Бейсик.
Бұнда программалау тәсілдері баяндалып ,жиі кездесетін қызметші сөздер мен стандартты атаулар арқылы информацияны өңдеу программалары құрылған.
Негізінен салыстыра оқыту адам ббойындағы даму өрісін кеңейтеді. Салыстыру тәсілі негізінде жаңа ұғымдарды енгізіп ,біріктіруге болады.
Демек,ұқсас ұғымдарды салыстыру білім мазмұнын игеруді жеңілдетедіб кейбір ұғымдардың қасиеттерпін формальды жаттап алудан сақтандырады және информатикалық ұғымдар арасындағы байланыстарды тағайындауға жәрдемін тигізеді,оқушылардың өз бетінше іздену іскерлігінің, дағдысының қалыптасуына ықпал етеді. Салыстыра отырып бақылау және өзгерісті айыра алу адамның ойлауын дамытады.
Пайдаланылған әдебиеттер
- Алдамұратова Т.А. Математика: Жалпы бiлiм беретiн мектептiң 3-сыныбына арналған оқулық.- Алматы: Атамұра, 2002.-368 б.
- Камардинов О., Жантелi Х. Паскаль. Жоғары оқу орындарына арналған оқу құралы, Шымкент –2002. -214 б.
- Жуков А. Изучаем Паскаль.
- Б.Сариев, А. Әмiрбеков, Р. Қадiрбаева Компьютер көмегiмен көп нұсқалы бақылау жұмысын өткiзу. ИФМ. — №2. –Алматы,
- Камардинов О. Информатика. 2-бөлiм, -Шымкент: Полиграфия. -246 б.
- temakosan.net
- Бобровский С. Паскаль. Учебный курс. –М.,
- Фаронов В.В. Паскаль. Учебный курс. –М.
- Архангельский А.Я. Программирование В 5. –М.:ЗАО Издательство БИНОМ,
- Архангельский А.Я. Программирование В Паскаль. –М.: ЗАО Издательство БИНОМ.
- Нұрмұханбетова Г.К., Әмiрбекұлы А., Сүлейменова Л. Паскаль тiлiнен лабораториялық практикум. -Шымкент: Қ.А.Ясауи атындағы Халықаралық қазақ-түрiк университетi, 2002.-132 б.
- Камардинов О. Visual Basic0. -Шымкент, 2001.
- Епанешников А., Епанешников В. Программирование в среде Паскаль. Учебное пособие в 4-х частях. –М. 1997-1998.