Паскаль тілінде программалау


Паскаль тілінде программалау



бет3/8
Дата25.01.2017
өлшемі131,77 Kb.
#7898
түріПрограмма
1   2   3   4   5   6   7   8

Паскаль тілінде программалау

  • Тақырып 4. Циклдер
  • Циклдер
  • Цикл – белгілі бір әрекеттер тізбегінің бірнеше рет қайталанып орындалуы.
    • қадамдар саны белгілі цикл
    • қадамдар саны белгісіз цикл (шартты цикл)
  • Есеп. 1-ден 8-ге дейінгі бүтін сандардың квадраттары мен кубтарын есептеп шығару (a-дан b-ға дейін).
  • Ерекшелігі: бірдей амалдар 8 рет орындалады.
  • Белгілі әдістермен шешуге бола ма?
  • ?
  • Алгоритм
  • басы
  • i, i2, i3
  • соңы
  • жоқ
  • иә
  • i <= 8?
  • i := 1;
  • i := i + 1;
  • i2 := i * i;
  • i3 := i2 * i;
  • цикл айнымалысының бастапқы мәнін көрсету
  • барлығы да атқарылды ма? соны тексеру
  • квадрат пен куб-ты есептейміз
  • нәтижесін шығару
  • келесі i-ге өту
  • Алгоритм ("цикл" блогімен)
  • басы
  • i, i2, i3
  • соңы
  • i2 := i * i;
  • i3 := i2 * i;
  • i := 1,8
  • «цикл»блогі
  • цикл денесі
  • Программа
  • 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;
  • downto
  • Айнымалысы бар цикл
  • for <айнымалы> := <алғашқы мән> to
  • <ең соңғы мән> do begin
  • {цикл денесі}
  • end;
  • Айнымалының 1-ге артуы:
  • for <айнымалы> := <алғашқы мән> downto
  • <ең соңғы мән> do begin
  • {цикл денесі}
  • end;
  • Айнымалының 1-ге кемуі:
  • Айнымалысы бар цикл
  • Ерекшеліктері:
    • цикл айнымалысының мәні бүтін болуы керек (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 = 4
  • a := 1;
  • for i:=3 to 1 do a := a+1;
  • a = 1
  • a := 1;
  • for i:=1 downto 3 do a := a+1;
  • a = 1
  • a := 1;
  • for i:=3 downto 1 do a := a+1;
  • a = 4
  • 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 болуы мүмкін.
  • Шығарылуы:
  • i mod 2 = 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;
  • i := i + 2;
  • i := 1;
  • Қадамдарды қалай өзгертуге болады? – III
  • Идея: Тек 5 санды ғана шығару керек, k айнымылысы 1-ден 5-ке дейін өзгереді. k-ны біле отырып, i-ді есептеу қажет.
  • Шығарылуы:
  • k
  • 1
  • 2
  • 3
  • 4
  • 5
  • i
  • 1
  • 3
  • 5
  • 7
  • 9
  • i = 2k-1
  • for k:=1 to 5 do begin
  • ???
  • i2 := i*i;
  • i3 := i2*i;
  • writeln(i:4, i2:4, i3:4);
  • end;
  • i := 2*k – 1;
  • Тапсырмалар
  • "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


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет