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


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



жүктеу 3,57 Mb.
бет4/8
Дата20.11.2018
өлшемі3,57 Mb.
#22485
түріПрограмма
1   2   3   4   5   6   7   8

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

  • Тақырып 5. Шартты циклдер
  • Қадамдар саны белгісіз цикл
  • Мысал: Бөренеден ағаштың бұтағын кесіп алу керек. Қолараны әрі-бері неше рет қозғалтуымыз керек,. ?
  • Есеп: (<2000000) бүтін сан енгізіп, ондағы цифрлардың санын анықтау.
  • Шығару амалы: Ең соңғы орналасқан цифрларды кезекпен алып тастай отырып, санаушыны арттырамыз.
  • Мәселе: неше қадам жасау керектігі белгісіз.
  • Шығарылуы: n = 0 болғанда тоқтау керек, яғни "n <> 0" болғанша орындай беру керек.
  • n
  • count
  • 123
  • 0
  • 12
  • 1
  • 1
  • 2
  • 0
  • 3
  • Алгоритм
  • басы
  • count
  • соңы
  • жоқ
  • иә
  • n <> 0?
  • count := 0;
  • count := count + 1;
  • n := n div 10;
  • цифрлардың санаушысын нөлге теңестіру
  • енгізу n
  • n <> 0“ болғанша орындай беру
  • Программа
  • program qq;
  • var n, count: integer;
  • begin
  • writeln(’Бүтін сан енгіз’);
  • read(n);
  • count := 0;
  • while n <> 0 do begin
  • count := count + 1;
  • n := n div 10;
  • end;
  • writeln( ’cанында’,count, ’цифр табылды’);
  • end.
  • while n <> 0 do begin
  • count := count + 1;
  • n := n div 10;
  • end;
  • , n1: integer;
  • n1 := n;
  • n1,
  • "n <> 0“ болғанша орындай беру
  • Шартты цикл
  • while <шарт> do begin
  • {цикл денесі}
  • end;
  • Ерекшеліктері:
    • күрделі шарттарды қолдануға болады:
    • егер цикл денесінде бір ғана оператор болса, begin мен end сөздерін жазбай кетуге болады:
  • while (a
  • {цикл денесі}
  • end;
  • while a < b do
  • a := a + 1;
  • Шартты цикл
  • Ерекшеліктері:
    • циклге кірген сайын шарт есептеліп отырады
    • егер шарт циклге кіруде жалған болса, цикл бірде-бір рет орындалмайды
    • егер шарт түбінде жалған болмайтын болса, программаның жұмысы дағдарысқа ұшырайды (тоқтаусыз орындала береді)
  • a := 4; b := 6;
  • while a > b do
  • a := a – b;
  • a := 4; b := 6;
  • while a < b do
  • d := a + b;
  • Цикл неше рет орындалған?
  • a := 4; b := 6;
  • while a < b do a := a + 1;
  • 2 рет
  • a = 6
  • a := 4; b := 6;
  • while a < b do a := a + b;
  • 1 рет
  • a = 10
  • a := 4; b := 6;
  • while a > b do a := a + 1;
  • 0 рет
  • a = 4
  • a := 4; b := 6;
  • while a < b do b := a - b;
  • 1 рет b = -2
  • a := 4; b := 6;
  • while a < b do a := a - 1;
  • дағдарысқа ұшырау
  • For-ны while-ға ауыстыру және керісінше
  • for i:=1 to 10 do begin
  • {цикл денесі}
  • end;
  • i := 1;
  • while i <= 10 do begin
  • {цикл денесі}
  • i := i + 1;
  • end;
  • for i:=a downto b do
  • begin
  • {цикл денесі}
  • end;
  • i := a;
  • while i >= b do begin
  • {цикл денесі}
  • i := i - 1;
  • end;
  • while-ды for-ға , циклдегі қадамдар саны алдын ала белгілі болған жағдайда ғана ауыстыруға болады.
  • for-ны while –ауыстыруға қашанда болады.
  • Тапсырмалар
  • "4": Бүтін сан енгізіп, ондағы цифрлардың қосындысын табу.
  • Мысал:
  • Бүтін сан енгіз:
  • 1234
  • 1234 санындағы цифрлардың қосындысы 10-ға тең.
  • "5": Бүтін сан енгізіп, оның жазылуында бірдей цифрларлардың бар-жоғын анықтау.
  • Мысал:
  • Бүтін сан енгіз: Бүтін сан енгіз:
  • 1234 1224
  • Жоқ. Бар.
  • Тізбектер
  • Мысалдар:
    • 1, 2, 3, 4, 5, …
    • 1, 2, 4, 7, 11, 16, …
    • 1, 2, 4, 8, 16, 32, …
  • an = n
  • a1 = 1, an+1 = an+1
  • a1 = 1, an+1 = an + n
  • an = 2n-1
  • a1 = 1, an+1 = 2an
  • b1 = 1, bn+1 = bn+1
  • c1 = 2, cn+1 = 2cn
  • Тізбектер
  • Есеп: модулі бойынша 0,001-ден асып түсетін
  • тізбектегі барлық элементтердің қосындысын табу:
  • Тізбек элементтері (№2-ден бастап ):
  • n
  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • b
  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • c
  • 2
  • 4
  • 8
  • 16
  • 32
  • ...
  • z
  • -1
  • 1
  • -1
  • 1
  • -1
  • ...
  • b := b+1;
  • c := 2*c;
  • z := -z;
  • Алгоритм
  • басы
  • S
  • соңы
  • жоқ
  • иә
  • |a| > 0.001?
  • S := S + a;
  • S := 0; b := 1; c := 2; z := -1; a := 1;
  • бастапқы мәндер
  • a := z*b/c;
  • b := b + 1; c := 2*c; z := -z;
  • бірінші элемент
  • a := 1;
  • S := 0;
  • жаңа элемент
  • өзгеріс
  • Қайта қою керек пе?
  • ?
  • Программа
  • program qq;
  • var b, c, z: integer;
  • S, a: real;
  • begin
  • S := 0; z := -1;
  • b := 1; c := 2; a := 1;
  • while abs(a) > 0.001 do begin
  • S := S + a;
  • a := z * b / c;
  • z := - z;
  • b := b + 1;
  • c := c * 2;
  • end;
  • writeln('S =', S:10:3);
  • end.
  • z := - z;
  • b := b + 1;
  • c := c * 2;
  • S := 0; z := -1;
  • b := 1; c := 2; a := 1;
  • бастапқы мәндер
  • қосындының артуы
  • тізбек элементін есепке алу
  • Тапсырмалар
  • "4": Тізбектегі элементтердің қосындысын 0,001 дәлдікпен табу :
  • Жауап:
  • S = 1.157
  • "5": Тізбектегі элементтердің қосындысын 0,001 дәлдікпен табу :
  • Жауап:
  • S = 1.220
  • Соңғышартты цикл
  • Есеп: Бүтін оң сан енгізіп(<2000000), ондағы цифрлардың санын анықтау.
  • Мәселе: Теріс санның немесе нөлдің енгізілмеуін қалай қадағалауға болады?
  • Шығарылуы: Егер бұрыс сан енгізілсе,берілгендерді енгізу үшін кері оралу (цикл!).
  • Ерекшелігі: Цикл денесі кемінде бір рет орындалады. => шартын тексеруді циклдың соңында орындау керек. (соңғышартты цикл).
  • Соңғышартты цикл – шарттың тексерілуі циклдың соңында орындалатын цикл түрін айтады.
  • Соңғышартты цикл: алгоритм
  • басы
  • соңы
  • иә
  • жоқ
  • n > 0?
  • цикл денесі
  • ШЫҒУДЫҢ шарты
  • «типтік процесс» блогі
  • енгізу n
  • Программа
  • program qq;
  • var n: integer;
  • begin
  • repeat
  • writeln('Введите положительное число');
  • read(n);
  • until n > 0;
  • ... { негізгі алгоритм }
  • end.
  • repeat
  • writeln(‘Оң сан енгіз');
  • read(n);
  • until n > 0;
  • until n > 0;
  • ШЫҒУДЫҢ шарты
  • Ерекшеліктері:
    • цикл денесі кемінде бір рет орындалады
    • until ("…болмайынша") сөзінен кейін циклдан ШЫҒУДЫҢ шарты қойылады
  • Цикл неше рет орындалған?
  • a := 4; b := 6;
  • repeat a := a + 1; until a > b;
  • 3 рет
  • a = 7
  • a := 4; b := 6;
  • repeat a := a + b; until a > b;
  • 1 рет
  • a = 10
  • a := 4; b := 6;
  • repeat a := a + b; until a < b;
  • Мүдіріп қалу
  • a := 4; b := 6;
  • repeat b := a - b; until a < b;
  • 2 рет
  • b = 6
  • a := 4; b := 6;
  • repeat a := a + 2; until a < b;
  • Мүдіріп қалу
  • Тапсырмалар (бұрыс енгізуден қорғау)
  • "4": Натурал сан енгізіп, сол сандағы цифрлардың қосындысы 10-ға тең екендігінің дұрыстығын анықтау.
  • Мысал:
  • >= 0 сан енгіз: >= 0 сан енгіз:
  • -234 1233
  • Оң сан енгізу керек. Жоқ
  • >= 0 сан енгіз:
  • 1234
  • Иә
  • "5": Натурал сан енгізіп,қандай цифрлардың бірнеше рет кездесетіндігін анықтау.
  • Мысал:
  • >= 0 сан енгіз: >= 0 сан енгіз:
  • 2323 1234
  • 2, 3 қайталанады Қайталану жоқ.

жүктеу 3,57 Mb.

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




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау