Паскаль тілінде программалау - Цикл – белгілі бір әрекеттер тізбегінің бірнеше рет қайталанып орындалуы.
- қадамдар саны белгілі цикл
- қадамдар саны белгісіз цикл (шартты цикл)
- Есеп. 1-ден 8-ге дейінгі бүтін сандардың квадраттары мен кубтарын есептеп шығару (a-дан b-ға дейін).
- Ерекшелігі: бірдей амалдар 8 рет орындалады.
- Белгілі әдістермен шешуге бола ма?
- i2 := i * i;
- i3 := i2 * i;
- цикл айнымалысының бастапқы мәнін көрсету
- барлығы да атқарылды ма? соны тексеру
- квадрат пен куб-ты есептейміз
- Алгоритм ("цикл" блогімен)
- i2 := i * i;
- i3 := i2 * i;
- program qq;
- var i, i2, i3: integer;
- begin
-
- for i:=1 to 8 do begin
- i2 := i*i;
- i3 := i2*i;
- writeln(i:4, i2:4, i3:4);
- end;
- end.
- Айнымалысы кеміп отыратын цикл
- Есеп. 8-ден 1-ге дейінгі бүтін сандардың квадраттары мен кубтарын есептеп шығару (кері қарай есептеу).
- Ерекшелігі: цикл айнымалысы кеміп отыруы керек.
- Шығарылуы:
- for i:=8 1 do begin
- i2 := i*i;
- i3 := i2*i;
- writeln(i:4, i2:4, i3:4);
- end;
- for <айнымалы> := <алғашқы мән> to
- <ең соңғы мән> do begin
- {цикл денесі}
- end;
- for <айнымалы> := <алғашқы мән> downto
- <ең соңғы мән> do begin
- {цикл денесі}
- end;
- Ерекшеліктері:
- цикл айнымалысының мәні бүтін болуы керек (integer)
- цикл айнымалысының өзгеру қадамы қашанда 1-ге (to) немесе -1-ге (downto) тең
- егер цикл денесінде бір ғана оператор болса, begin мен end сөздерін жазбай кетуге болады:
- егер соңғы мән алғашқы мәннен кіші болса, (to) циклы бірде бір рет орындалмайды (шартты циклдың басында тексеру, шартты алдын ала тексеретін цикл)
- for i:=1 to 8 do
- writeln('Привет');
- Ерекшеліктері:
- Цикл денесінде цикл айнымалысын өзгертуге рұқсат етілмейді (неліктен?)
- Алғашқы және соңғы мәндер өзгертілгенімен цикл ішіндегі қадамдар саны өзгермейді:
- n := 8;
- for i:=1 to n do begin
- writeln('Салем');
- n := n + 1;
- end;
- Цикл неше рет орындалған?
- a := 1;
- for i:=1 to 3 do a := a+1;
- a := 1;
- for i:=3 to 1 do a := a+1;
- a := 1;
- for i:=1 downto 3 do a := a+1;
- a := 1;
- for i:=3 downto 1 do a := a+1;
- for i:=1 to 9 do begin
- if ??? then begin
- i2 := i*i;
- i3 := i2*i;
- writeln(i:4, i2:4, i3:4);
- end;
- end;
- Қадамдарды қалай өзгертуге болады?
- Есеп. Экранға 1-ден 9-ға дейінгі тақ сандардың квадраттары мен кубтарын есептеп шығару.
- Ерекшелігі: цикл айнымалысы 2-ге артып отыру керек.
- Мәселе: Паскальде қадамдар саны 1 немесе -1 болуы мүмкін.
- Шығарылуы:
- i2 := i*i;
- i3 := i2*i;
- writeln(i:4, i2:4, i3:4);
- Тек қана тақ i-лермен орындалады
- Қадамдарды қалай өзгертуге болады? – II
- Идея: Тек 5 санды ғана шығару керек, k айнымалысы 1-ден 5-ке дейін өзгереді. i-дің бастапқы мәні 1-ге тең, циклдың әр қадамы сайын i 2-ге артып отырады.
- Шығарылуы:
- ???
- for k:=1 to 5 do begin
- i2 := i*i;
- i3 := i2*i;
- writeln(i:4, i2:4, i3:4);
- ???
- end;
- Қадамдарды қалай өзгертуге болады? – III
- Идея: Тек 5 санды ғана шығару керек, k айнымылысы 1-ден 5-ке дейін өзгереді. k-ны біле отырып, i-ді есептеу қажет.
- Шығарылуы:
- for k:=1 to 5 do begin
- ???
- i2 := i*i;
- i3 := i2*i;
- writeln(i:4, i2:4, i3:4);
- end;
- "4": a мен b-ны енгізіп, осы екеуінің арасындағы сандардың квадраттары мен кубтарын есептеп шығару.
- Мысал:
- Интервал шекараларын енгіз:
- 4 6
- 4 16 64
- 5 25 125
- 6 36 216
- "5": 1, 2, 4, 7, 11, 16, … тәртібімен орналасқан 10 санның квадраттары мен кубтарын есептеп шығару
- Мысал:
- 1 1 1
- 2 4 8
- 4 16 64
- ...
- 46 2116 97336
Достарыңызбен бөлісу: |