Паскаль тілінің алфавиті



МАЗМҰНЫ

Кіріспе

Паскаль тілінің негізі
1.1. Паскаль тілінің алфавиті. Деректер типтері
1.2. Стандарт функциялар. Өрнектер
1.3. Паскаль тіліндегі программаның негізгі құрылымы

Паскаль тілінің операторлары
2.1. Меншіктеу, мәліметтерді енгізу, шығару операторлары. Сызықтық программа
2.2. Шартты оператор
2.3. Таңдау операторы
2.4. Қайталау операторы (цикл)
2.5. Goto операторы
2.6. Символдық (жолдық) айнымалылар. Оларға қолданылатын операторлар
2.7. Процедура және функция

Құрылымдық типтер.
3.1. Массив
3.2. Жиын. Жиынға қолданылатын операциялар
3.3. Жазулар. With операторы
3.4. Файл
Кіріспе:

Өзекілігі: Қазіргі кезде көптеген программалар қолданылады. Солардың ішінде Паскаль программалау тілдері.

Мәселе: Ақпарат қоғамға байланысты программалау тілдерін оқу
процесіне енгізу және мәселесі туындайды.

Мақсаты:
Программалау тілдерін оқу процесінде пайдалану.

Міндеттері:
1) Паскаль. Программалау тілін теориалық тұрғыдан зерттеу.
2) Паскаль. Программалау тілінде программа құру үлгілерін көрсету.

Зерттеу объектісі: Паскаль. Программалау тілі.

Зерттеу пәні: Информатика.

Болжам: Паскаль. Программалау тілінде программа құра білу
адамдардың жоғарғы дәрежелерде ақпарат құзіреттілігін
қалыптастыруға мүмкіндік жасайды.

Ғылымға пайдасы:
Паскаль. Программалау тілі есептерді тез шығаруға көмектеседі.
Және де бұл программаларды боллашақта мамандарға пайдалануға ұсынылады.

Құрылымы: Кіріспе, 4- бөлім, қорытындыдан тұрады. Соңында пайдаланылған әдебиеттер тізімі көрсетілген.

Мазмұны

Кіріспе
Паскаль тілінің негізі
1.1. Паскаль тілінің алфавиті. Деректер типтері
1.2. Стандарт функциялар. Өрнектер
1.3. Паскаль тіліндегі программаның негізгі құрылымы

Паскаль тілінің операторлары
1. Меншіктеу, мәліметтерді енгізу, шығару операторлары. Сызықтық
программа
2. Шартты оператор
2.3. Таңдау операторы

2.4. Қайталау операторы (цикл)

2.5. Goto операторы
2.6. Символдық (жолдық) айнымалылар. Оларға қолданылатын операторлар
2.7. Процедура және функция

Құрылымдық типтер.
1. Массив
3.2. Жиын. Жиынға қолданылатын операциялар
3.3. Жазулар. With операторы
3.4. Файл

Кіріспе:

Өзекілігі: Қазіргі кезде көптеген программалар қолданылады. Солардың
ішінде Паскаль программалау тілдері.

Мәселе: Ақпарат қоғамға байланысты программалау тілдерін оқу
процесіне енгізу және мәселесі туындайды.

Мақсаты:
Программалау тілдерін оқу процесінде пайдалану.

Міндеттері:
1) Паскаль. Программалау тілін теориалық тұрғыдан зерттеу.
2) Паскаль. Программалау тілінде программа құру үлгілерін көрсету.

Зерттеу объектісі: Паскаль. Программалау тілі.

Зерттеу пәні: Информатика.

Болжам: Паскаль. Программалау тілінде программа құра білу
адамдардың жоғарғы дәрежелерде ақпарат құзіреттілігін
қалыптастыруға мүмкіндік жасайды.

Ғылымға пайдасы:
Паскаль. Программалау тілі есептерді тез шығаруға көмектеседі.
Және де бұл программаларды боллашақта мамандарға пайдалануға ұсынылады.

Құрылымы: Кіріспе, 4- бөлім, қорытындыдан тұрады. Соңында пайдаланылған
әдебиеттер тізімі көрсетілген.

Программалау тілдері

Компьютерге түсінікті командалар тізбегі арқылы жазылған алгоритм –
программа деп, ал программа құру процесі программалау деп аталады.
Программалау тілі – ЭЕМ-де шешілетін әртүрлі есептердің программасын
компьютерге түсінікті формада жазу тәсілі болып табылады.
Программалау тілдері жоғарғы және төменгі деңгейлі тілдер болып бөлінеді.
Қолданбалы мазмұнды есептерді шешуге бағытталған, командалардың мол
жиынтығынан тұратын табиғи тілге ұқсас прогрммалау тілі – жоғарғы деңгейлі
программалау тілі деп аталады. Қазіргі кезде олардың бірнеше түрі бар.
Жоғарғы деңгейлі программалау тілдерінің бірі – Паскаль тілі. Оның алғашқы
вариантын 1971 ж. Швейцария ғалымы Никлаус Вирт жарыққа шығарған болатын.
Автор атақты француз математигі Блез Паскальдың (1623-1662 ж) құрметіне
жаңа программалау тіліне оның атын берді. Паскаль тілі оқып үйренуге жеңіл,
алгоритм құрылымы сақталған, қолданушыға ыңғайлы тіл болып қана қойған жоқ,
сонымен қатар көптеген күрделі есептерді шешу үшін қолданылатын қуатты
программалау тілі болып табылады.
Паскаль тілінің бірнеше баламалары бар. Қазіргі кезде кең қолданылатыны –
Турбо Паскаль7.0 баламасы. Кез-келген Паскаль программа жеке атынан және
pas кеңейтілуінен тұратын текстік файл болып табылады. Паскаль тілінде
құрылған программаны мәшинелік тілге аудару үшін компилятор қолданылады.
Турбо Паскаль жүйесі ТР бумасында жазылады. Программаны жүктеу файлы:
turbo.exe, ол әдетте BIN ішкі бумасында орналасады (мысал: C:\TP\BIN\
turbo.exe)
Паскальдағы кез-келген деректер, яғни айнымалылар, тұрақтылар, функция
мәндері және өрнектер, өздерінің типтері арқылы сипатталады. Тип аталған
объектінің қабылдайтын мәндерінің жиынын және деректердің компьютер
жадысында ішкі өрнектелу форматын анықтайды.
Көптеген программалау тілдерінде, сонымен қатар Паскальда программада
қолданылатын шамалар жөніндегі барлық ақпарат программаның сипаттау
бөлімінде міндетті түрде көрсетілуі қажет. Сипаттау бөлімдері төмендегідей
бөлімдерден тұрады:
1. Таңбалар бөлімі
2. Тұрақтылар бөлімі
3. Типтер бөлімі
4. Айнгымалылар бөлімі
5. Процедура мен функциялар бөлімі

Паскаль тілінің негізі.
1.1. Паскаль тілінің алфавиті. Деректер типтері.
Барлық программалау тілдерінің өз алфавиті болады. Алфавит – программада
пайдаланылатын түрлі символдар (әріптер, цифрлар, таңбалар, белгілер).
Паскаль тілінің алфавиті:
1. Латын алфавитінің бас (A-Z) және кіші (a-z) әріптері және _ астын сызу
белгісі.
2. Араб цифрлары: 0 – 9
3. Арнайы символдар: а) арифметикалық операция белгілері: +, -, *,
б) қатынас операцияларының белгілері: =, (тең емес), , =, , =
в) тыныс белгілері: ; : . , ..
г) қосарлы символдар: {}, [], (), (* *), (. .)
д) меншіктеу белгісі: : =
е) символдар: @, $, #, ^
4. Қызметші сөздер: and, begin, if, then, else, end ...

Паскальдағы деректер типтері.
Паскальдағы кез-келген деректер, яғни айнымалылар, тұрақтылар, функция
мәндері және өрнектер, өздерінің типтері арқылы сипатталады. Тип аталған
объектінің қабылдайтын мәндерінің жиынын және деректердің компьютер
жадысында ішкі өрнектелу форматын анықтайды. Паскаль тілінде деректердің
төмендегідей типтері бар:
1. Стандарт жәй тип: бүтін (integer)
нақты (real)
логикалық (boolean)
процедуралық
символдық (char, string)
2. Стандарт емес жәй тип: санақты және шектеулі типтер
3. Құрылымдық тип: массив
жазу
жиын
файл
Бүтін және нақты сандардың integer және real-дан басқа бірнеше типтері
қолданылады. Олар төмендегі кестеде көрсетілген.

Типтің аты Сан аралығы Форматы (байт)
1. Өрнектердің бүтін типтері.
Shortint (қысқа - 128 .. 127 1
бүтін)
Integer (бүтін) - 32768 .. 32767 2
Longint (ұзын бүтін) - 2147483648 .. 21474836474
Byte (байт) 0 .. 255 1
Word (сөз) 0 .. 65535 2
2. Деректердің нақты типтері.
Real 2.9 e – 39 .. 1.7 e38 6
Singlе 1.5 e – 45 .. 3.4 e38 4
Double 5.0 e – 324 .. 1.7 e308 8
Extended 3.4 e – 4932 .. 1.1 e4932 10
Comp - 9.2 e18 .. 9.2 e18 8

Char – мәні символ болатын айнымалы типі, жадыдан 1 байт орын алады.
String – символдар жолы, жадыдан max+1 орын алады. Мұндағы max – жолдағы
символдардың ең көп саны.
Boolean – логикалық тип, false (ақиқат) немесе true (жалған) екі мәннің
біреуін қабылдайды, жадыдан 1 байт орын алады.

1.2. Стандарт функциялар. Өрнектер.
Мәндері компьютердің арнайы программалары арқылы автоматты түрде
есептелетін функциялар – стандарт функциялар деп аталады.
Паскаль тілінің стандарт функциялары келесі кестеде көрсетілген.

Математикалық Паскаль Аргумент Нәтиженің Ескерту
функцияның тілінде типі типі
жазылуы жазылуы
x abs (x) real, real,
integer integer
sinx sin(x) real real х- радиан
cosx cos(x) real real х- радиан
arctgx arctan(x) real real х- радиан
e x exp(x) real real e = 2,718 ...
lnx ln(x) real real x0
( PI - real ( = 3.141592653...
x 2 sqr(x) real real
sqrt(x) real real x=0
х санының бүтін int(x) real integer 5.76 ( 5
бөлігі
х санының бүтін trunc(x) real integer5.76 ( 5
бөлігі
х санының бөлшекfrac(x) real real 5.76 ( 0.76
бөлігі
х санын бүтінге round(x) real integer 5.76 ( 6
дейін
дөңгелектеу
кездейсоқ сан random - real (0,1) аралығындағы
кездейсоқ сан
кездейсоқ сан random(x) integer integer (0,х-1) аралығындағы
кездейсоқ сан
кездейсоқ сандарrandomize - - кездейсоқ сандар
генераторы генераторын іске қосу

Барлық басқа функциялар түрлендіріліп, стандарт функцияларға келтіріледі.
Паскаль тілінде дәрежелеу операциясы жоқ. х санын n дәрежеге шығару үшін
төмендегі формула қолданылады.
x n = e nlnx ( exp(n*ln(x))
Мыс: 1. x 5 ( exp (5*ln(x))
2. ( x 3 = x 32 ( exp (32 * ln(x))
3. sin 30° ( sin (pi*30)180) (радианға айналдыру)
4. log2 x ( log a b = log cb logca ( ln(x)ln(2)

Өрнектер тұрақтылар мен айнымалылардан, арифметикалық, логикалық және
қатынас операциясының белгілерінен және стандарт функциялардан құралады.
Математикалық өрнек және оның сәйкес Паскаль тілінде жазылуына мысалдар:
1. 4( 2x-y ( 4* SQRT(2*x-y)
2. ctgx+cos60º ( cos(x)sin(x)+cos((60*pi)180)
3. ( (-b+ SQRT(D))(2*a)

4. cos2x2 ( SQR(cos(SQR(x)))

5. e sinx ( exp (sin(x))*SQRT(x)

1.3. Паскаль тіліндегі программаның негізгі құрылымы.
Паскаль тілінде кез-келген программаның мәтіні бірнеше бөлімнен тұрады:
1. программа тақырыбы
2. сипаттау бөлімі
3. операторлар бөлімі
Программа тақырыбы.
Программа тақырыбының құрылымы:
Program программа атауы;
Ескертулер:
1. Программа атауы үшін латын алфавитінің әріптері, цифр және __ астын сызу
белгісі қолданылады
2. Атаудың бірінші символы цифр болмау керек.
3. Атауда бос орын белгісі қолданылмайды.
Программа тақырыбына мысалдар:
Program Geron;
Program Min;
Program Summa;
Program P_1;
Сипаттау бөлімі.
Көптеген программалау тілдерінде, сонымен қатар Паскальда программада
қолданылатын шамалар жөніндегі барлық ақпарат программаның сипаттау
бөлімінде міндетті түрде көрсетілуі қажет. Сипаттау бөлімдері төмендегідей
бөлімдерден тұрады:
6. Таңбалар бөлімі
7. Тұрақтылар бөлімі
8. Типтер бөлімі
9. Айнгымалылар бөлімі
10. Процедура мен функциялар бөлімі
1. Таңбалар бөлімі.
Оның құрылымы: label таңба;
label (таңба) – қызметші сөз. Таңба кез-келген идентификатор немесе бүтін
сан болып табылады. Егер программада бірнеше таңба қолданылса, онда олардың
арасына үтір белгісі қойылады.
Мысал : label 1;
label a1, b1, c1;
Таңбалар бөлімінің болуы операторлар бөлімінде кейбір оператордың ерекше
аталып көрсетілетінін білдіреді. Таңба мен оператор арасына қос нүкте
белгісі қойылып жазылады.
Мысал: 1: 1-оператор;
a1: 2-оператор;
b1: c1: 3-оператор;
2. Тұрақтылар бөлімі.
Тұрақты деп программадағы мәні өзгермейтін шаманы атайды. Оны сипаттау
бөлімінің құрылымы:
Const тұрақтының аты = мәні;
Мысал: const x=25; n=4;
Text = ‘Программа’;
3. Типтер бөлімі.
Оның құрылымы:
Тype типтің аты = типі;
Турбо Паскальда деректердің стандарт 5 типі бар екені белгілі:
бүтін (integer), нақты (real), символдық (char), логикалық (boolean),
жолдық (string). Сонымен қатар программалаушының өзі санақты және шектеулі
(немесе аралық )деп аталатын стандарт емес жаңа тип енгізуі мүмкін.
Санақты тип- мәндері латын әріптерімен белгіленетін, әр мән өзінің атауы
бойынша ғана анықталатын скаляр тип. Оның сипатталу үлгісі:
Тype типтің аты = (мәндер тізімі);
Var айнымалының аты: типтің аты;
Мысал : Type Month = (January, February, March, April, May);
Colors = (red, write, blue);
Var a: Month; b: Colors;
Шектеулі тип – екі бүтін санның, екі реттелген символдық тұрақтының, не
санақты типті екі мәннің аралығындағы мәндерді қабылдайтын айнымалылар
типі.
Сипатталу үлгісі:
Type типтің аты = 1-мән . . 2-мән;
Var айнымалының аты: типтің аты;
Мыс: Type San = 5..15;
Text = ‘a’.. ‘k’;
Month = 1..12;
Var a: San; b: Text; c: Month;
4. Айнымалылар бөлімі.
Айнымалыны сипаттау бөлімінің құрылымы төмендегіше болады:
Var айнымалының аты: типтің аты;
(variable-айнымалы). Бірдей типті айнымалылар үтір қойылып жазылады.

Мысал: Var a, b, c: integer;
x,y: real;
text1: string;

Операторлар бөлімі.
Программаға операторлар бөлімінен басқа бөлімдердің енгізілуі міндетті
емес. Олар қажетіне қарай енгізілуі тиіс. Program тақырыбының да жазылуы
міндетті емес, ол программаны оқуға ыңғайлы болу үшін жазылады.
Операторлар бөлімі – программаның орындалу бөлімі. Ол Begin қызметші
сөзінен басталып end сөзімен аяқталады. End сөзінің соңына нүкте қойылуы
тиіс, ол программаның аяқталу белгісі. Нүкте компиляторға программа
мәтінінің аяқталғандығын хабарлайды. Begin (басы), end (соңы) – ашу, жабу
жақшаларының ролін атқаратын қызметші сөздер немесе оларды басқаша
операторлық жақша деп те атайды.

Паскаль тілінің операторлары.

1. Меншіктеу, мәліметтерді енгізу, шығару операторлары.
Сызықтық программа.
Паскаль тіліндегі меншіктеу операторының жалпы түрі:
айнымалы: = өрнек;
Мысал: x:=0.5;
y:=a+b;
D:=b*b-4*a*c;
p:=(a+b+c)2;
Енгізу операторының жазылу үлгісі:
Read (айнымалылар тізімі);
(read-оқу)
Мысал: read(a,b,c);
Енгізілетін мәндер бос орын арқылы теріледі. Read операторының соңына ln
жалғауы қосып жазылуы мүмкін: readln (readline-жолды оқу). Бұл жағдайда
курсор келесі жолдың басына көшіріледі де, мәліметтер бірінің астына бірі
әрбір жаңа жолға енгізіледі.
Мыс: readln(a); readln(b); readln(c);
Мәндерді экранға шығару үшін Паскаль тілінде төмендегі оператор
қолданылады:
Write (параметрлер тізімі);
(write-жазу)
writeln болып жазылса (writeline –жолды жазу) курсор жаңа жолға көшіріліп,
мәліметтер бірінің астына бірі шығады.
Мысал: 1) Write (‘x- ті енгіз=?’);
read (x);
2) M:=10; N:=25;
Writeln (M);
Writeln (N);
Write(x:n:m) –нақты типті х айнымалысының мәнін экранға көрсетілген үлгіде
шығару.
Мұндағы n- экранға шығатын барлық символ саны.
m- бөлшек бөліктің цифрлар саны (0≤m≤n)
Мысал: 1)
х-тің мәні оператор экранда көрінуі
145 write (x:7) _ _ _ _ 145
86..92 write (x:7:3) _ 86..920
3.14589 write (x:4:2) 3.14

2) Write (x, ‘ ’, y); -х және у мәндерінің арасына бос орын
қалдыру.
Write (‘s=’, s:5:2);
Write (x+25, 3*x)- өрнек мәнін шығару.
Меншіктеу, енгізу, шығару операторларын қолданып құрылған сызықтық
программалар қарастырайық.
Жаттығулар:
1. Үш қабырғасы берілген үшбұрыштың ауданын табу программасын құрыңдар.
Program Geron;
Var a,b,c: integer;
P,S:real;
begin
Write (‘Үшбұрыш қабырғаларын енгіз ’);
read (a,b,c);
p:=(a+b+c)2;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln (‘Үшбұрыш ауданы =’, S);
end.
2. Радиусы 5,2-ге тең шеңбердің ұзындығын және дөңгелектің ауданын табу
программасын құрыңдар.
Program Audan;
Const r=5.2;
Var L,S:real;
begin
L:=2*pi*r;
S:=pi*sqr(r);
Writeln (‘Дөңгелек ауданы =’, S:4:2);
Writeln (‘Шеңбер ұзындығы =’, L:5:2)
end.
Программаны оқуға жеңіл, түсінікті болу үшін күрделі программаның әр жеріне
түсініктемелер қоюға болады. Олар (( немесе (* *) қосарлы жақшаға
алынады.
Мысалы: (Аудан есептеу(
(* Герон формуласы*)

3. Қабырғасы а-ға тең кубтың көлемін есептейтін программа құрыңдар.
Program Pl1;
Var a,V: integer; (a-кубтың қабырғасы, V-көлемі(
begin
read(a); (қабырғаны енгізу(
V:=exp(3*ln(a)); (* куб көлемі V=a^3 *)
Writeln (‘V=’, V);
end.

2. Шартты оператор
Шартты оператор қандай да бір шартты тексеріп, оның нәтижесіне байланысты
белгілі бір әрекетті орындауды жүзеге асырады.
Оның жазылу үлгісі:
1) IF шарт THEN 1-оператор ELSE 2-оператор;
2) IF шарт THEN оператор;
1-жағдай шартты оператордың жазылуының толық түрі, 2-жағдай қысқа түрі деп
аталады.
Мысал 1. Екі санның үлкенін табыңдар.
Program m1;
Var a,b, max: integer;
begin
Write (‘2 санды енгіз’); read (a,b);
If ab then max:=a else max:=b;
Writeln (‘Жауап:’, max);
end.
Кейде then, else қызметші сөздерінен кейін бір емес, бірнеше оператор
енгізілуі мүмкін. Паскальда осы сияқты 1 серияда орындалатын операторлар
тізбегі бір оператор түрінде қарастырылады да, оны құрама оператор деп
атайды. Құрама оператор begin, end операторлық жақшаға алынады.
Мысал 2. Квадрат теңдеудің түбірін табыңдар.
Program m2;
Var a,b,c,D:integer;
x1,x2: real;
begin
Write (‘кв.теңдеу коэффициенттерін енгіз:’); readln (a,b,c);
D:=b*b-4*a*c; ( дискриминантты есептеу (
If d0 then writeln (‘түбірі жоқ ’)
else begin x1:=(-b+sqrt(D))(2*a); x2:=(-b-sqrt(D))(2*a);
Writeln (‘x1=’, x1, ‘x2=’, x2); end;
end.
Мысал 3. Екі бүтін санның үлкені мен кішісін табыңдар.
Var a,b, max, min: integer;
begin
read (a,b);
if ab then begin max:=a; min:=b end
else begin max:=b; min:=a end;
Writeln (‘max=’, max, ‘min=’, min)
end.
Егер шарттың саны біреуден артық болса, онда ол құрама шарт деп аталады.
Құрама шарттар арасына and (және), or (немесе), not (емес) қызметші
сөздері жазылады және жәй шарттар жақшаға ( ) алынып жазылады.
0x≤5 шарты Паскальда былайша жазылады: (х(0) and (х((5)
Мысал 4. Жазықтықта берілген нүкте центрі координалар басындағы, ішкі
радиусы 2-ге, сыртқы радиусы 3-ке тең сақинаға тиісті бола ма?
Program m4;
const r1(2; r2(3;
var x,y:real;
begin
Write ('нүкте координасын енгіз(); read(х, у);
if (х*х+у*у((4) and (х*х+у*у((9) then
Writeln ((нүкте сақинаға тиісті() else writeln ((тиісті емес()
end.
Мысал 5. Функцияны есептеу прогрммасын жазыңдар:

y(

var x,у: real;
begin
read (х);
if х(1 then y:(sqrt (х)
else if x(0 then y:(sin(х)cos(х)
else y:(cos(х);
writeln (y)
end.

3. Таңдау операторы.

Таңдау операторы арқылы программадағы мүмкін болатын бірнеше оператордың
біреуі таңдалады. Real және String типтерінен басқа кез-келген типті
қабылдайтын айнымалы немесе өрнек таңдау параметрі болып табылады. Ол
сұрыптаушы деп аталады.
Таңдау операторының құрылымы:
Case сұрыптаушы of таңдау тізімі else оператор end;
немесе
сase өрнек of
1- тұрақты: 1- оператор;
2- тұрақты: 2- оператор;
...
n- тұрақты: n- оператор
else оператор
end;
сase-жағдай, of-бойынша қызметші сөздері.
Бұл оператор былайша жұмыс істейді:
Алдымен өрнектің мәні есептеледі, сонан соң өрнектің мәніне тең тұрақты
ізделінеді. Сәйкесінше сол тұрақтыдан кейін жазылған оператор орындалады
да, таңдау операторының жұмысы аяқталады. Егер тізімде есептелген мәнге
тең тұрақты табылмаса, басқару else сөзінен кейін тұрған операторға
беріледі.

Мысал 1. Апта күндерінің нөміріне байланысты оның атауын экранға шығаратын
программа.
Program m1;
var n: byte;
begin
write ((1-ден 7-ге дейінгі санды енгіз();
read (n);
сase n of
1: Writeln ((Дүйсенбі();
2: Writeln ((Сейсенбі();
3: Writeln ((Сәрсенбі();
4: Writeln ((Бейсенбі();
5: Writeln ((Жұма();
6: Writeln ((Сенбі();
7: Writeln ((Жексенбі()
else writeln ((Дұрыс емес()
end; (таңдау операторының соңы(
end. (программаның соңы(

Мысал 2. Y немесе y символы енгізілсе экранға иә сөзі,
N немесе n символы енгізілсе жоқ сөзі шығатын программа.
var c: char;
begin
readln (с);
сase с of
`n`, `N`: writeln (`жоқ ();
`y`, `Y`: writeln (`иә();
end
end.

Мысал 3. Енгізілген ай нөміріне байланысты (1-ден 12-ге дейінгі бүтін сан)
жыл мезгілін экранға шығаратын программа.
var k: byte;
begin
write (`Ай нөмірін енгіз:1-12(); read (к);
сase к of
1..2,12:Writeln ((Қыс();
3..5: Writeln ((Көктем();
6..8: Writeln ((Жаз();
9..11: Writeln ((Күз();
else Writeln ((қате();
end
end.

2.4. Қайталау операторы (цикл)

Кейбір программаларда белгілі-бір шарттардың сақталуына тәуелді
командалардың қандай да бір бөлігі бірнеше рет қайталанады. Мұндай
әрекеттерді жүзеге асыратын командаларды қайталану командасы деп атайды.
Турбо Паскаль тілінде программаның қайталанатын бөлігін программалау үшін
әртүрлі 3 оператор қолданылады.
Олар: 1) параметрлі цикл (немесе үшін циклі)
2) әзір циклі
3) дейін циклі
1. Параметрлі циклдің құрылымы:
FOR цикл параметрі:=бастапқы мән ТО соңғы мән ДО цикл денесі;
Мұндағы for (үшін), to (дейін) do(орындау)- қызметші сөздер. Бұл циклде
цикл параметрі integer типті бүтін сан, цикл қадамы 1-ге ғана тең. Қадамның
басқа мәндерінде әзір немесе дейін циклі қолданылады.
Қадам -1-ге тең болған параметрлі цикл төмендегіше жазылады:
FOR цикл параметрі:=бастапқы мән DOWNTO соңғы мән ДО
Мысал 1. Алғашқы 20 натурал санның қосындысын және көбейтіндісін табыңдар.
а) var i, s, p: integer; б) var i, s, p:
integer;
begin p:=1; begin p:=1;
for i:=1 to 20 do for i:=20
downto 1 do
begin begin
S:=S+i; S:=S+i;
P:=P*i; end ; P:=P*i; end;
Writeln (`S=`,S,`P=`,P) Writeln
(`S=`,S,`P=`,P)
end. end.

Цикл денесі құрама оператордан тұратын болса, онда олар begin, end
операторлық жақшаға алынады.
Мысал 2. n!-ды есептеу программасын жазыңдар.
Program m2;
var i, n : integer; P:longint;
begin
P:=1; read (n);
For i:=1 to n do
P:=P*i;
Write (`n!=’,P)
end.

Мысал 3. 5 санының көбейту кестесін экранға шығаратын программа
құрыңдар.
1*5=5
2*5=10
3*5=15
...
9*5= 45
Program m3;
var i, p : integer;
begin
for i:=1 to 9 do
begin
p:=5*i;
Writeln (i,`*5=`, p)
end;
end.

2. Әзір немесе шартты алдын-ала тексеру циклі.
Оның құрылымы:
WHILE шарт DO
цикл денесі ;
while (әзір), do (орындау)- қызметші сөздер.
Шарт- логикалық типті өрнек. Егер шарттың мәні ақиқат (true) болса, цикл
денесі орындалады және содан соң шарт қайта тексеріледі. Ал шарттың мәні
жалған (false) мәнге тең болса, цикл денесі орындалмай, басқару while
циклінен кейін тұрған бірінші операторға беріледі.

Мысал 1. n!-мәнін есептеу программасын әзір циклі арқылы жазайық..
Program m1;
var i, n: integer; P: longint;
begin
read (n);
P:=1;
i:=1;
While i=n do
begin
P:=P*i;
i:=i+1;
end;
Write ('n!=', P);
end.

Мысал 2. x-тің мәні -5-тен 5-ке дейін 0,2 қадаммен өзгерген мәндері үшін
у=х2-1 функциясының мәндерін экранға шығарындар.
Program m2;
var х, у: real;
begin
х:=-5;
While х=5 do
begin
y:=sqr(x)-1;
Writeln (x,'---',y);
х:=х+0.2;
end;
end.

Мысал 3. Екі натурал санның ең үлкен ортақ бөлгішін табыңдар.
Program m3;
var a,b, Eyob: integer;
begin
read (a,b);
While ab do
if ab then a:= a-b else b:= b-a;
Eyob:=х;
Write ('2 санның Eүoб-і =', Eyob);
end.

3. Дейін немесе шартты соңынан тексеру циклі.
Дейін циклінің құрылымы:

REPEAT

цикл денесі
UNTIL шарт
repeat (қайталау), until(дейін)-қызметші сөздер. Олар операторлық жақшалар
ролін де орындайды. Until- дің алдындағы оператордан соң нүктелі үтір
қойылмауы тиіс. Дейін циклінде цикл денесінің операторы ең болмағанда бір
рет орындалады, содан соң шарт тексеріледі. Егер шарттың мәні жалған болса,
цикл денесі қайталап орындалады, шарт ақиқат болғанда цикл аяқталады. Әзір
циклінен айырмашылығы бұл циклде кері шарт жазылады.

Мысал 1. n!-ды есептеуді дейін циклін қолданып программалауды
қарастырайық.
Program m1;
var i, n: integer;
P: longint;
begin
read (n);
P:=1;
i:=1;
Repeat
P:=P*1;
i:=i+1
Until in
writeln ('n!=', P);
end.
Мысал 2. Алғашқы 10 жұп санның көбейтіндісі мен арифметикалық ортасын
табыңдар.
Program m2;
var i, p, s: integer;
k: real;
begin
i:=2; S:=0; P:=1;
Repeat
P:=P*i; S:=S+i;i:=i+2;
Until i20
k:=S10;
writeln ('Көбейтінді=', P, 'Арифметикалық орта=',k)
end.
Мысал 3. 1, 14, 19,...1n2 тізбегінің әрқайсысы берілген Е- ден кем емес
мүшелерінің қосындысын табыңдар.
Program Summa;
var i: integer; S, E: real;
begin
readln (E);
i:=1;
Repeat
S:=S+isqr (i);
i:=i+1;
until 1 sqr (i)E
writeln ('S=’, S);
end.
Break және continue операторлары.

Паскаль тілінде циклді басқару үшін 2 оператор қолданылады. Олар циклді
қолдану мүмкіндігін кеңейтіп, программа құрылымын жақсартады.
Break- циклді тоқтатуды жүзеге асырады; басқару циклден кейін тұрған
операторға беріледі.
Continue -циклдің кезекті қадамының орындалуын мерзімінен бұрын аяқтауды
жүзеге асырады; басқару циклдің келесі мәніне беріледі.

Break операторын қолдануға мысалдар:
Мысал 1. n бүтін сан берілген. Олардың көбейтіндісін есептеңдер. Егер сан
0-ге тең болса, циклден шығу үшін Break операторын қолданыңдар.
var i, n, x, P: integer;
begin
read (n); (санның нешеу екенін енгізу(
for i :=1 to n do
begin
readln (x); ( әрбір санды енгізу(
if (x=0) then break;
P:=P*x;
end;
writeln ('P=',P)
end.

Мысал 2. n бүтін сан берілген. Олардың ішінен 5-ке бөлінетін ең алғашқы
санның индексін табыңдар.
var i, n, x: integer;
begin
readln (n);
for i :=1 to n do
begin
readln (x);
if x mod 5=0 then break;
end;
writeln ('5-ке бөлінетін алғашқы санның индексі= ',i)
end.

Continue операторын қолдануға мысалдар:

Мысал 1. n бүтін сан енгізіп, олардың ішінен оң сандардың ғана қосындысын
және санын есептеңдер.
var i, n, x, k,S: integer;
begin
readln (n);
for i :=1 to n do
begin
readln (x);
if x0 then continue;
S:=S+x; k:=k+1;
end;
writeln (S, k);
end.

Мысал 2. n нақты сандардың ішінен жұптарының ғана арифметикалық ортасын
табу.
var i, n, x,S:word;
k: integer;
begin
readln (n);
2.5. Goto операторы.
Программа құру кезінде кейде басқаруды келесі оператордан басқа операторға
беруге тура келеді. Ол үшін басқару берілетін оператор арнайы таңба бойынша
белгіленіп қойылуы тиіс. Қолданылған таңба программаның label таңбалар
бөлімінде сипатталуы қажет. Басқаруды операторға беру үшін Goto өту
операторы қолданылады.
Оның жалпы түрі: Goto таңба;
Мысал:
label a1, b1,c1;
begin
...
goto a1;
...
a1: оператор;
b1, c1: оператор;
goto b1;
...
end.

Мысал 1. ax2 +bx+c=0 квадрат теңдеуінің шешімдерін табыңдар.

var a, b, c, D: integer;
x1, x2, x: real; label 10;
begin
readln (a, b, c);
D:=b*b-4*a*c;
If D0 then begin x1:= (-b+sqrt (D))(2*a); x2:=(-b- sqrt (D))(2*a);
writeln ('x1=', x1,'x2=', х2); Goto10; end;
If D0 then writeln ('шешімі жоқ') else begin
x=-b(2*a); writeln ('x1=x2=', x); end;
10: end.
Бұл программада D0 шартының ақиқат жағдайында Goto10, яғни 10- жолға өту
операторын қоймаған жағдайда экранға х1, х2 мәндерімен қатар, басқару else
қызметші сөзінен кейін тұрған операторға беріліп, D=0 болғандағы х-тің мәні
де шыққан болар еді. Ал мұндай жағдай программаның қате орындалуына әкеліп
соғады.

Мысал 2:
егер 1≤x≤2

У = егер x1

егер x2

Берілген х бойынша у-ті есептеу программасын құрыңдар.
Var x,y; real;
label a1;
begin
read (x);
if (x=1) and (x=2) then begin y:=sqr(sin(x)); Goto a1; end;
if x1 then y:=1x else y:=exp(2*x)*exp(13*ln(x));
a1: Writeln (‘y=’,y)
end.
Кездейсоқ сандарды шығарудың Random функциясы.
Паскаль тілінде 0 мен 1 аралығындағы кездейсоқ бүтін санды шығару үшін
Random(1) функциясы қолданылады. Ал берілген [a,b] аралығындағы кездейсоқ
бүтін санды шығару үшін функция былайша жазылады:
Random (b-a)+a
Мысал 1. [10,50] аралығындағы 5 кездейсоқ бүтін санды шығару программасы.
Var x: real;
i: byte;
begin
for i:=1 to 5 do
begin
x:=random (40)+10;
Writeln (x)
end
end.
Бұл программаны әр қайталап орындатқан кезде тұрақты түрде 5 бүтін сан
экранға шығады. Әрбір орындатқанда уақытқа байланысты әр түрлі кездейсоқ
сандар алу үшін Randomize кездейсоқ ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Паскаль тілінің алғашқы түсініктері
Турбо Паскаль бағдарламысының тарихы
Турбо Паскальда тест дайындау
Turbo Pascal программалау тілі
Паскаль программалау тілі. Шығу тарихы
Паскаль программалау тілінің негізі
Turbo Pasсal – программалау тілі
Turbo Pascal программалау тілі туралы жалпы түсінік
Есептеу техникасынан дәрістер
Turbo Pascal бағдарламалау тілі
Пәндер