|
|||
№7 зертханалық жұмыс Программалауға құрылымдық ыңғай.№7 зертханалық жұ мыс Программалауғ а қ ұ рылымдық ың ғ ай. Евклид алгоритмi Теориялық бө лім Евклид алгоритмi дегенiмiз, ол - терiс емес бү тiн екi санның ең ү лкен ортақ бө лгiшiн (ЕҮ ОБ) табу алгоритмi. х жә не у – бiр уақ ытта 0-ге тең емес, бү тiн, терiс емес сандар жә не у£ х болсын. Егер у=0 болса, онда ЕҮ ОБ(х, у)=х, ал егер у¹ 0 болса, онда х, у жә не r сандары ү шiн, (мұ ндағ ы r дегенiмiз х: у-тiң қ алдығ ы), ЕҮ ОБ(х, у)=ЕҮ ОБ(у, r) тең дiгi орындалады. Мысалы, х=48, ал у=18 болсын. ЕҮ ОБ(48, 18)=ЕҮ ОБ(18, 12) = ЕҮ ОБ(12, 6) = ЕҮ ОБ(6, 0) =6 1-мысал : Терiс емес екi санның ең ү лкен ортақ бө лгiшiн (ЕҮ ОБ) табу бағ дарламасы. 1-ә дiс: Қ алдық тар арқ ылы. program algor_evklid; var x, y: integer; begin writeln (‘ Екi санды енгiз’ ); readln(x, y); repeat { циклдiң басы } if x> y then x: =x mod y { екi санның ү лкенiн ү лкендi кiшiге else y: =y mod x; бө лгендегi қ алдық пен ауыстыру} until (x=0) or (y=0); { екi санның бiреуi 0-ге тең болғ анша, цикл орындалады } writeln (‘ЕҮ ОБ= ’, x+y); readln; end. 2-ә дiс: Айырма арқ ылы. program algor_evklid; var x, y: integer; begin writeln (‘ Екi санды енгiз’ ); readln(x, y); repeat { циклдiң басы } if x> y then x: =x - y else y: =y - x; { екi санның ү лкенiн айырмамен ауыстыру } until x=у; {екi санның тең болғ анша қ айталанады} writeln (‘ЕҮ ОБ= ’, x); readln; end.
Евклид алгоритмiн негiзге ала отырып, екi санның ең кiшi ортақ еселiгiн (ЕКОЕ) табуғ а болады. Формуласы: ЕКОЕ(х, у) = х*у/ ЕҮ ОБ(х, у).
№8 зертханалық жұ мыс Жолдар
Жол дегеніміз – ұ зындығ ы 255-тен артпайтын символдар тізбегі. Тізбектің мағ ынасы болуы міндет емес. Мысал: ‘df56’, ‘*d-шар56‘, ‘*-4 лд’ Жолдар stringжолдық типпен сипатталады. Жолдық типті анық тағ анда ондағ ы символдар санын кө рсетуге болады. Жазылу форматы:
|
|||
|