Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bakit-pasсал-лек.doc
Скачиваний:
45
Добавлен:
01.05.2015
Размер:
665.6 Кб
Скачать

1. Параметрлі қайталау операторы (for).

Паскаль бағдарламалау тілінде for жарлығы қайталау саны белгілі болғанда қолданылады. Оның екі түрі бар. Біріншісін қарастырайық:

for <параметр>:= <1-өрнек> to <2-өрнек> do <1 жарлық>;

мұндағы,

параметр – бұл бүтін, символдық және логикалық типтегі айнымалы;

1-өрнек – параметрдің алғашқы мәні;

2-өрнек – параметрдің соңғы мәні.

Орындалу ережесі. Цикл параметріне 1-өрнектің мәні меншіктеледі. Егер ол 2-өрнектің мәнінен кіші (немесе тең) болса, онда 1-жарлық орындалады. Сонан соң параметрдің мәні автоматты түрде бірге артады және ол қайтадан 2-өрнекпен салыстырылады және т.с.с. Параметрдің мәні 2-өрнектің мәнінен артып, үлкен бағанда for жарлығы қызметін тоқтатады және циклден кейінгі жарлық орындалады.

for i:=a to b do

begin

….

end;

Орындалу ережесі: Begin және end сөздерінің арасында жазылған операторлар i:=a, i:=a+1, i:=a+2, …, i:=b үшін орындалады. Мұндағы i–цикл параметрі, а- параметрдің бастапқы мәні, b-параметрдің соңғы мәні.

Мысалы. р = 0 болсын. Мына жарлық

for i:=4 to 8 do begin p:= p+i;

y:= 2*i; end;

Орындалғанда р айнымалы мәндер қабылдайды 0+4+5+6+7+8=30, ал у айнымалысы – 16.

2. Циклдік оператордың for-downto түрі

2) for цикл жарлығының екінші түрін қарастырайық:

for <параметр>:= <2-өрнек> downto <1-өрнек> do

<1-жарлық>;

Орындалу ережесі алдыңғы жарлық сияқты, тек параметрдің өзгеру қадамы –1-ге тең.

for i:=a downto b do

begin

….

end;

Орындалу ережесі: begin және end сөздерінің арасында жазылған операторлар i:=a, i:=a-1, i:=a-2,…, i:=b үшін орындалады.

Циклдік операторларды пайдаланып программа құруға бірнеше мысалдар қарастырайық:

Мысалы. s:=0 болсын. Мына жарлық

for i:=10 dоwnto 5 do

begin

s:=s+i

y:=3*i;

end;

oрындалғанда s=10+9+8+7+6+5=45, ал y=15.

1-есеп. Өлшемдердің сәйкестік кестесін құрыңдар. Мұндағы

1 миль =1.852 км = 6076 фут.

Өлшемнің бастапқы мәнін, бұл мәннің өзгеру қадамын, және кестедегі жолдардың санын, ерікті түрде енгізіңдер.

program misal_1;

uses crt;

const line = '…………………';

var km, fut, mil, h :real;

i, k : integer;

begin

clrscr;

write ('Алғашқы мәнді, өзгеру қадамын');

writeln ('және кестедегі жолдардың санын енгізіңдер:');

readln (mil, h, k);

writeln;

writeln (line);

for i:=1 to k do begin

km:= mil*1.852;

fut:= mil*6076;

writeln (mil, ' миль', km, ' км', fut, ' фут')

mil:= mil+h;

end;

writeln (line);

readln;

end.

2-есеп. Қосынды мен көбейтіндіден тұратын өрнектің мәнін есептеңдер:

y = +

program misal_2;

uses crt;

var i : integer;

p, s, y, f : real;

begin

clrscr;

s:=0, p:=1; f:=1;

for i:=1 to 25 do

begin

f :=f*i;

s:=s+5*sqr(i)/f;

p:=p*sqr(i);

end;

y := s+p;

writeln ('y=', y:7:2);

end.

5-лекция. Шартты тексеретін циклдік операторлар

1. Шартты алдын-ала тексеру арқылы қайталау жарлығы

Жарлықтың жалпы түрі:

while <шарт> do

<1-жарлық>;

Орындалу ережесі. Әзір шарттың мәні ақиқат болса, онда 1-жарлық орындалады. Шарт жалған болғанда қайталану тоқтайды. Цикл денесінде шартты өзгертетін жарлық болуы тиіс. Немесе,

while <шарт> do

begin

.

end;

Орындалу ережесі: begin және end сөздерінің арасында жазылған операторлар шарт ақиқат болғанда орындалады. Шарт бұзылса орындалмайды. Егер алғаш рет тексерілгенде шарт жалған болса, онда операторлар бірде бір рет орындалмайды.

Ескерту. Циклдің орындалу барысында шексіз көп қайталануды болдырмау үшін цикл денесінде міндетті түрде шартты өзгертетін команда тұруы қажет.

Мысалы. х, s айнымалыларының мәні x=5, s=0 болсын. Мына жарлықтар орындалғанда:

while x<=10 do

begin

s:=s+x;

x:=x+1;

end;

олар мынадай мәнге ие болады: 5+6+7+8+9+10 =45, х=11.

Мысалы. Экранға 10-дан 20-ға дейінгі сандардың квадратының, кубының мәндерін шығарыңдар:

i:=10;

while i<=20 do

begin

writeln (i:4, i*i:6, i*i*i:8);

i:=i+1;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]