Кантип программалоону C үйрөнүш керек

Автор: Clyde Lopez
Жаратылган Күнү: 25 Июль 2021
Жаңыртуу Күнү: 21 Июнь 2024
Anonim
IT КУРС КИМ ҮЧҮН ЭМЕС? | МӨӨНӨТҮ/НАТЫЖАЛУУЛУГУ
Видео: IT КУРС КИМ ҮЧҮН ЭМЕС? | МӨӨНӨТҮ/НАТЫЖАЛУУЛУГУ

Мазмун

C тили эң байыркы программалоо тилдеринин бири. Ал өткөн кылымдын 70-жылдарында иштелип чыккан, бирок ал ар кандай буйруктар үчүн маанилүү кыскартууларды колдонгон төмөнкү деңгээлдеги программалоо инструменттерине таандык экендигине байланыштуу дагы эле күчтүү. C тилин үйрөнүү дагы татаал тилдерге өтүү үчүн эң сонун база болуп саналат жана бул жерден алынган билимдер дээрлик бардык программалоо тилдеринде пайдалуу болот жана тиркемелерди өз алдынча иштеп чыгууга жардам берет. Бул тилди үйрөнүүнү баштоо үчүн, бул макаланын маалыматын окуңуз.

Кадамдар

6 -жылдын 1 -бөлүгү: Даярдоо

  1. 1 Компиляторду жүктөп алып, орнотуңуз. C тили машинанын сигналдарына тил кодун чечмелей турган программа менен түзүлүшү керек. Компиляторлор адатта бекер жана ар кандай операциялык системалар үчүн жеткиликтүү.
    • Windows үчүн Microsoft Visual Studio Express же MinGW колдонуп көрүңүз.
    • Mac үчүн Xcode эң мыкты компиляторлордун бири болуп эсептелет.
    • Linux үчүн GCC эң популярдуу болуп саналат.
  2. 2 Негиздерин үйрөнүңүз. C тили эң байыркы жана эң күчтүү программалоо тилдеринин бири. Бул Unix операциялык тутумуна арналган, бирок кеңейтилип, дээрлик бардык операциялык системаларга жеткирилген. Cдин заманбап денеси C ++ болуп саналат.
    • С тили негизинен функциялардан турат жана бул функцияларда маалыматты сактоо жана маалыматтарды башкаруу үчүн өзгөрмөлөрдү, шарттарды жана циклдерди колдоно аласыз.
  3. 3 Эң жөнөкөй кодду карап көрүңүз. Тилдин кээ бир компоненттери бири -бири менен кандай байланышта экенин жана программанын өзү кандай иштээрин түшүнүү үчүн төмөндөгү эң жөнөкөй программанын кодун карап көрүңүз.

    #include stdio.h> int main () {printf ("Hello World n"); getchar (); return 0; }

    • Команда #кошуу программа баштала электе эле иштейт жана сизге керектүү функцияларды камтыган китепканаларды иштетет. Жогорудагы мисалда stdio.h программасындагы функцияларды колдонууга мүмкүнчүлүк берет printf () жана getchar ().
    • Команда int main () компиляторго "main" негизги функциясын иштетүүнү айтат, ал бүткөндө белгилүү бир бүтүн санды кайтарат. Бардык С программалары "негизги" функциясын колдонушат.
    • Кашаалар {} алардын бардык мазмуну функциянын бир бөлүгү экенин айт. Бул учурда, алар кашаанын мазмуну "негизги" функциясынын бир бөлүгү экенин билдирет.
    • Функция printf () колдонуучунун экранында кашаанын мазмунун көрсөтөт. Цитаталоо кашаанын мазмуну текст катары каралышын камсыз кылат. Башкаруу ырааттуулугу n компьютерге курсорду кийинки сапка жылдырууну айтат.
    • Үтүрлүү чекит ; саптын аякташын белгилейт. C кодунун көпчүлүк саптары ушул тамга менен бүтүшү керек.
    • Команда getchar () башка эч нерсе кылардан мурун, баскычты басууну күтүүнү компьютерге айтат. Бул абдан пайдалуу, анткени көптөгөн операциялык системалар программаны аткарып, анан терезени дароо жабышат. Бул учурда программа баскыч басылмайынча бүтпөйт.
    • Команда кайтаруу 0 программанын аяктаганын көрсөтөт. Сураныч, "негизги" функциясы функцияларды билдирет int... Бул программа аяктаганда белгилүү бир маанини кайтарышы керек дегенди билдирет. Нөл "0" туура аткарылган программаны көрсөтөт, ал эми башка сан катаны билдирет.
  4. 4 Программаны түзүүгө аракет кылыңыз. Кодуңузду код редакторуна териңиз жана " *. C" файлы катары сактаңыз. Аны компилятор менен түзүңүз. Бул, адатта, "Build" же "Run" баскычын чыкылдатууну талап кылат.
  5. 5 Түзүлгөн кодду комментарий кылууну унутпаңыз. Комментарийлер - бул коддун бир бөлүгү, бирок ал так программада эмне болуп жатканын түшүндүрүүгө мүмкүндүк берет. Алар коддун максатын эстетүү жана кодду изилдеп жаткан башка иштеп чыгуучуларга кантип иштээрин түшүндүрүү үчүн пайдалуу.
    • Комментарийди С жазуу үчүн жылдызча менен алдыга кыйшык сызыкты колдонуңуз /* түшүндүрүүчү тексттин башында жана алдыга сызык менен жылдызча */ анын аягында
    • Кодуңуздун бардык негизги бөлүктөрүн комментарийлеңиз.
    • Комментарийлер коддун айрым бөлүктөрүн иштен алып салбастан тез арада алып салуу үчүн колдонулушу мүмкүн. Өчүргүңүз келген кодду комментарийге жазыңыз жана программаны түзүңүз. Эгерде сиз кодду кайтаргыңыз келсе, комментарийлерди алып салыңыз.

6 -жылдын 2 -бөлүгү: Өзгөрмөлөрдү колдонуу

  1. 1 Өзгөрмөлөр кантип иштээрин түшүнүңүз. Өзгөрмөлөр эсептөөнүн натыйжасында алынган маалыматтарды программанын өзүндө же колдонуучунун киргизүүсү аркылуу чогултууга жана сактоого мүмкүндүк берет. Колдонуу алдында өзгөрмөлөр белгилениши керек. Бул ар кандай жолдор менен жасалышы мүмкүн.
    • Эң көп колдонулган өзгөрмөлөрдүн арасында өзгөрмөлөр бар int, char жана сүзүү... Алардын ар бири маалыматтын ар кандай түрлөрүн сактайт.
  2. 2 Программаңызда өзгөрмөлөр кантип жарыяланганын билип алыңыз. Өзгөрмөлөр программада колдонула электе аныкталышы же "жарыялануусу" керек. Сиз колдонулган маалымат түрүн жана өзгөрмөнүн атын көрсөтүү менен өзгөрмөнү жарыялай аласыз. Мисалы, төмөнкү мисалдардын баары жарактуу:

    float x; char аты; int a, b, c, d;

    • Белгилей кетчү нерсе, сизде бир эле учурда бир эле убакта бир нече өзгөрмөлөрдү жарыялоо мүмкүнчүлүгү бар. Бул учурда, өзгөрмө аттар үтүр менен гана бөлүнөт.
    • С тилиндеги көпчүлүк саптар сыяктуу эле, ар бир өзгөрмө декларация сабы чекит чекит менен бүтүшү керек.
  3. 3 Кодуңузда өзгөрмөлөрдү кайда жарыялай алаарыңызды түшүнүңүз. Ыңгайлуулук үчүн, коддун ар бир блогунун башталышында өзгөрмөлөрдү жарыялоо сунушталат (тарамыш кашаага камтылган бөлүк {}). Эгерде сиз өзгөрмөнү коддо биринчи жолу колдонгондон кийин жарыялоого аракет кылсаңыз, программа туура иштебейт.
  4. 4 Колдонуучу киргизген маалыматтарды сактоо үчүн өзгөрмөлөрдү колдонуңуз. Эми сиз өзгөрмөлөрдүн иштеши менен таанышканыңыздан кийин, колдонуучунун киргизүүлөрүн сактаган жөнөкөй программа жазууга аракет кылсаңыз болот. Бул дагы бир функцияны талап кылат scanf... Бул функция өзгөрмөлөргө конкреттүү баалуулуктарды берүү үчүн киргизилген маалыматтарды издейт.

    #include stdio.h> int main () {int x; printf ("Сан киргизиңиз:"); scanf ("% d", & x); printf ("Сиз% d киргиздиңиз", x); getchar (); return 0; }

    • Форматтын спецификатору "% d" функцияларын айтат scanf колдонуучу киргизген ондук бүтүн санды окуу.
    • Префикс & өзгөрмөнүн аталышынын алдында x функцияларды билдирет scanf, бул жерде сиз аны өзгөртүү үчүн өзгөрмөнүн маанисин таба аласыз жана киргизилген бүтүн санды сактайт.
    • Акыркы буйрук printf киргизилген өзгөрмөнүн маанисин окуйт жана аны колдонуучуга көрсөтөт.
  5. 5 Өзгөрмөлөрдү башкарууну үйрөнүңүз. Сиз киргизилген өзгөрмөлөрдү башкаруу үчүн математикалык туюнтмаларды колдоно аласыз. Бул учурда, математикалык туюнтмалар үчүн, бирдик белгисине барабар болгон айырмалоочу өзгөчөлүктү эстен чыгарбоо эң маанилүү = өзгөрмөгө маани берет жана кош барабар белгиси == ырааттуулугун текшерүү үчүн бул белгинин эки жагындагы баалуулуктарды салыштырат.

    x = 3 * 4; / * "x" дегенди 3 * 4, же 12 * / x = x + 3 деп коёт; / * баштапкы "x" маанисине 3 кошуп, ага жаңы маани берет * / x == 15; / * "x" өзгөрмөсүнүн он беш экенин текшерет * / x 10; / * "x" ондон аз экенин текшерет * /

6 -жылдын 3 -бөлүгү: Шарттарды түзүү

  1. 1 Cдеги кондиционерлөөнүн негиздерин түшүнүңүз. Көпчүлүк программалар шарттуу билдирүүлөргө негизделген. Алар чыныгы (ЧЫН) же жалган (ЖАЛГАН) үчүн текшерилген сөздөр жана жыйынтыгына жараша мындан ары эмне кылуу керектигин аныктайт. Эң жөнөкөй шарт оператору - оператор ЭГЕР.
    • TRUE жана FALSE опциялары сиз үйрөнгөн башка программалоо тилдерине караганда С тилинде башкача иштейт. Чыныгы ЧЫНДЫК ар дайым нөлдөн башка санды кайтарат. Эгерде сиз салыштыруу жасап жатсаңыз жана анын жыйынтыгы ЧЫН болсо, программа "1" кайтарат. Эгерде жыйынтык ЖАЛГАН болсо, кайтаруу мааниси "0". Бул өзгөчөлүктү билүү IF сөз айкаштары кандай иштээрин түшүнүүгө жардам берет.
  2. 2 Негизги шарттуу операторлорду үйрөнүңүз. Шарттуу туюнтмалар баалуулуктарды салыштырган математикалык операторлордун колдонулушуна негизделген. Төмөндө эң көп колдонулган шарттуу операторлордун тизмеси келтирилген.

    > / * чоң * / / * аз * /> = / * чоң же барабар * / = / * аз же барабар * / == / * барабар * /! = / * бирдей эмес * /

    10> 5 TRUE 6 15 TRUE 8> = 8 TRUE 4 = 8 TRUE 3 == 3 TRUE 4! = 5 TRUE

  3. 3 IF пунктунун негизги мисалын түзүңүз. IF шартынын билдирүүсү шарт аткарылганын же аткарылбаганын баалагандан кийин программанын эмне кылышы керектигин аныктоо үчүн колдонулушу мүмкүн. Бул оператор башка шарттар менен айкалыштырылып, кубаттуу көп өзгөрмөлүү жумушчу агымын түзө алат, бирок азыр шарттарды колдонуу менен таанышуу үчүн азырынча жеңил мисал жазып көрүңүз.

    #include stdio.h> int main () {if (3 5) printf ("3 - 5тен аз"); getchar (); }

  4. 4 Сиз көрсөткөн шарттарды кеңейтүү үчүн ELSE / ELSE IF билдирүүсүн колдонуңуз. IF билдирүүсүн ELSE жана ELSE IF билдирүүлөрүн колдонуу менен узартсаңыз болот, алар ар кандай жыйынтыктарды чыгарат. ELSE сөз айкашынын IF тести ЖАЛГАН кайтып келгенде күчүнө кирет. ELSE IF белгилүү бир жагдайлар үчүн ар кандай IF шарттарын текшерүүнү бир сапка кошууга мүмкүндүк берет. Бул параметрлердин баарынын кандайча өз ара аракеттенишерин түшүнүү үчүн төмөндөгү программа кодун карап чыгыңыз.

    #include stdio.h> int main () {int age; printf ("Учурдагы жашыңызды киргизиңиз:"); scanf ("% d", & age); if (age = 12) {printf ("Сиз дагы эле баласыз! n"); } else if (20 жашта) {printf ("Өспүрүм болуу жакшы! n"); } else if (жашы 40) {printf ("Сен дагы эле жүрөгүңдө жашсың! n"); } else {printf ("Акылмандык жылдар бою келет. n"); } return 0; }

    • Программа колдонуучунун киргизгенин окуйт жана ырааттуу шарттуу текшерүүлөрдүн сериясынан өтөт. Эгерде киргизилген сан биринчи шартка жооп берсе, анда биринчи сөз көрсөтүлөт printf... Эгерде биринчи шарт аткарылбаса, анда текшерүү чыныгы жыйынтык табылмайынча ар бир кийинки ELSE IF шартына өтөт. Эгерде бул шарттардын бири да аткарылбаса, анда маалымат программанын аягындагы акыркы ELSE билдирүүсү менен иштелип чыгат.

6 -жылдын 4 -бөлүгү: Циклдар менен иштөөнү үйрөнүү

  1. 1 Циклдар кантип иштээрин түшүнүңүз. Циклдар программалоонун эң маанилүү аспектилеринин бири болуп саналат, анткени алар белгилүү бир шарт аткарылмайынча коддун айрым блокторун кайра иштетүүгө мүмкүндүк берет.Бул программалык түрдө кайталануучу иш -аракеттерди жазууну жеңилдетет жана программаны бир нерсе кылгыңыз келген сайын жаңы шарттарды жазуудан сактап калат.
    • Циклдердин үч негизги түрү бар: FOR, WHILE жана DO ... WHILE.
  2. 2 FOR укуругун колдонуңуз. Бул циклдердин эң популярдуусу жана пайдалуусу. Ал FOR үчүн коюлган шарттар аткарылмайынча берилген функцияны аткарууну улантат. FOR циклдери үч шартты көрсөтүүнү талап кылат: өзгөрмөнү инициализациялоо, шартты аткаруу жана өзгөрмөнүн мааниси кантип жаңыртуу. Эгерде бул үч шарттын тең кереги жок болсо, анда алардын ордуна үтүрлүү чекит коюу керек, мындай учурда цикл түбөлүктүү болот.

    #include stdio.h> int main () {int y; үчүн (y = 0; y 15; y ++) {printf ("% d n", y); } getchar (); }

    • Жогорудагы программада, өзгөрмөнүн баштапкы мааниси ж нөлгө барабар, жана цикл өзгөрмөнүн мааниси 15тен аз бойдон кала берет ж, ал бир көбөйөт жана цикл кайталанат. Бир жолу өзгөрмө ж 15 болуп чыкты, цикл аяктайт.
  3. 3 WHILE укуругун колдонуңуз. WHILE циклдери FOR циклине караганда жөнөкөй. Алар бир гана шарт коюшат жана бул шарт аткарылганга чейин цикл иштейт. Бул жерде өзгөрмөнү инициализациялоонун же жаңыртуунун кереги жок, бирок сиз муну циклдин негизги бөлүгүндө жасай аласыз.

    #include stdio.h> int main () {int y; while (y = 15) {printf ("% d n", y); y ++; } getchar (); }

    • Команда y ++ өзгөрмөнүн маанисине бирди кошот ж цикл аткарылган сайын. Бир жолу өзгөрмө ж 16га барабар болот (цикл өзгөрмөлүү болгонго чейин иштеши керек экенин эске алыңыз аз же барабар 15), цикл аяктайт.
  4. 4 Укурукту колдонуу КЫЛ...WHILE... Бул цикл цикл операциялары жок дегенде бир жолу аткарылышы керек болгондо абдан пайдалуу. FOR жана WHILE циклдеринде шарт эң башында текшерилет, башкача айтканда, эгер жалган натыйжа алынса, шарт менен көрсөтүлгөн операция өткөрүлүп жиберилет жана аткарылбайт. DO ... WHILE укуругу эң аягында шарттарды текшерет, бул цикл аракеттерин жок дегенде бир жолу аткарууга мүмкүндүк берет.

    #include stdio.h> int main () {int y; y = 5; do {printf ("Цикл иштеп жатат! n"); } while (y! = 5); getchar (); }

    • Бул цикл шартты текшерүү жалган болсо да, берилген билдирүүнү көрсөтөт. Variable ж бешке коюлган жана цикл өзгөрмө бешке барабар болбогондо кайталанышы керек, андыктан цикл чыгат. Билдирүү экранда бир жолу көрсөтүлөт, анткени шарт эң аягында гана текшерилет.
    • DO ... WHILE циклиндеги WHILE пункту үтүрлүү чекит менен бүтүшү керек. Бул аягында үтүрлүү чекитти талап кылган жалгыз цикл.

6 ичинен 5 -бөлүк: Функцияларды колдонуу

  1. 1 Функцияларды колдонуунун негиздерин түшүнүңүз. Функциялар-бул программанын ар кайсы бөлүгүндө чалууга мүмкүн болгон өзүнчө код блоктору. Алар кодду кайталоону жеңилдетет жана программанын принциптерин түшүнүүгө жана аны андан ары өзгөртүүгө жардам берет. Функциялар жогоруда айтылган бардык амалдарды, ал тургай башка функцияларды камтышы мүмкүн.
    • Line негизги () жогорудагы мисалдардын эң башында сап сыяктуу функция бар getchar ()
    • Функциялар кодуңузду эффективдүү уюштуруу жана окууну жеңилдетүү үчүн абдан маанилүү. Программаңызды рационалдуу куруу үчүн функцияларды туура колдонуңуз.
  2. 2 Функцияларды жарыялоо менен баштаңыз. Коддоону баштоодон мурун, максаттарын көрсөтүү үчүн программаңыздын башында функцияларды жарыялоо эң жакшы. Функциялар үчүн негизги синтаксис "return_function аты (1 -аргумент, 2 -аргумент ж.б.);". Мисалы, эки санды кошкон функцияны аныктоо үчүн, сиз төмөнкү кодду жазмаксыз:

    int add (int x, int y);

    • Бул эки бүтүн санды кошкон функцияны жарыялайт (x жана ж) жана андан кийин сумманы бүтүн сан катары кайтарат.
  3. 3 Программада функцияны кошуңуз. Мурда жарыяланган функцияны колдонуучу киргизген эки номерди алып, аларды кошуучу программа түзүү үчүн колдонсо болот. Мындай программа "кошуу" функциясынын ишин көрсөтүүгө жана киргизилген маалыматты башкаруу үчүн аны кантип колдонсо болорун түшүнүүгө мүмкүндүк берет.

    #include stdio.h> int add (int x, int y); int main () {int x; int y; printf ("Кошуу үчүн эки санды киргизиңиз:"); scanf ("% d", & x); scanf ("% d", & y); printf ("Киргизилген сандардын суммасы% d n", кошуу (x, y)); getchar (); } int add (int x, int y) {return x + y; }

    • Белгилей кетсек, функция декларациясы дагы эле программанын жогору жагында. Бул компиляторго функция чакырылганда эмнени күтүү керектигин жана натыйжада ал эмнени кайтарышы керектигин айтат. Бул программанын текстинде төмөндөгү функцияны чакыргыңыз келсе гана керек. Программанын функциясы кошуу () чейин иштей алат негизги ()жана жыйынтык декларациясыз эле болот.
    • Белгилүү бир функциянын чыныгы функционалдуулугу программанын аягында аныкталат. Функция негизги () колдонуучудан сандык маалыматтарды чогултат, анан аны функцияга берет кошуу () иштетүү үчүн. Жана функция кошуу () даяр натыйжаны кайра функцияга өткөрүп берет негизги ()
    • Функция болгондо кошуу () буга чейин жарыяланган, аны программанын каалаган жерине чакырса болот.

6 -жылдын 6 -бөлүгү: Тилди андан ары үйрөнүү

  1. 1 C программалоо боюнча китептерди издеңиз. Бул макалада C программалоо мүмкүнчүлүктөрүнүн жана ага байланыштуу бардык маалыматтын үстүндө турган тилдин негиздери камтылган. Жакшы китеп пайда болгон көйгөйлөрдү чечүүгө жардам берет жана тил менен иштөө процессинде башыңыздын көп ооруларынан куткарат.
  2. 2 Ар кандай программалоо жамааттарына кошулуңуз. Интернетте да, чыныгы дүйнөдө да мүмкүн болгон тилде программалоого арналган көптөгөн жамааттар бар. Коддордун мисалдары жана идеялары менен бөлүшүү үчүн "C программисттеринин бассейни" сыяктуу нерсени издеңиз. Коомчулуктан көп нерсени үйрөнгөнүңүздү жакында байкайсыз.
    • Мүмкүнчүлүк болгондо хакатондорго катышыңыз. Бул окуялар программисттердин жана жеке иштеп чыгуучулардын командалары чектелген убакытта программаны түзүп, анын конкреттүү чечимин табышы керек, ошол эле учурда бир топ ойлоп табуучулукту көрсөтүшөт. Ошентип, сиз көптөгөн жакшы программисттер менен таанышсаңыз болот, жана хакатондор өздөрү дайыма дүйнө жүзү боюнча өткөрүлөт.
  3. 3 Курстарга жазылуу. Сиз кодду үйрөнүү үчүн колледжге баруунун кажети жок, бирок тиешелүү программалоо курсунун бир нече сабагына катышуу сиздин билимиңизге көп нерселерди кошот. Тилди практикалык колдонуу боюнча чоң тажрыйбасы бар адамдардын жардамына эч нерсе жетпейт. Адатта курстар ар кандай коомдук борборлор, профессионалдык колледждер жана университеттер тарабынан сунушталат, бул толук кандуу билим алуу үчүн билим берүү мекемесине баруунун кажети жок эле кээ бир компьютер илимдерин окууга мүмкүнчүлүк берет.
  4. 4 C ++ үйрөнүүнү карап көрүңүз. Сиз C программалоо тили менен ыңгайлуу болгондон кийин, C ++ тыгыз кароого эч нерсе тоскоол болбойт. Бул ийкемдүүлүк менен C тилинин заманбап версиясы. C ++ объектке багытталган программалоо парадигмасынан кийин моделдештирилген, андыктан С ++ тилин билүү сизге дээрлик бардык операциялык системалар үчүн күчтүү программаларды түзүүгө мүмкүндүк берет.

Кеңештер

  • Кодуңузга комментарий жазууну унутпаңыз. Комментарийлер кийинчерээк сиздин кодду түшүнүүгө аракет кылгандарга гана эмес, эмнени, кайда жана эмне үчүн жазганыңызды эстеп калууга мүмкүнчүлүк берет. Балким, учурда сиз эмне кылып жатканыңызды жакшы билесиз, бирок эки -үч айдан кийин сиз көп нерсени унутуп каласыз.
  • Printf (), scanf (), getch () жана ушул сыяктуу нерселерди чекит чекичи (;) менен токтотууну эч качан унутпаңыз, бирок бул белгини эч качан IF сүйлөмүнөн же WHILE же FOR циклдеринен кийин койбоңуз.
  • Сизди таң калтырган компиляциянын синтаксис катасы менен бетме -бет келип, Google издөө системасын (же башка издөө системасын) колдонуп, каталар менен түшүндүрмөлөрдү издеп көрүңүз. Мүмкүнчүлүк бар, кимдир бирөө сизден мурун эле ушундай катага туш болгон жана ал үчүн мүмкүн болгон оңдоону жарыялаган.
  • Сиздин баштапкы кодуңузда *. C кеңейтүүсү болушу керек, ошондо компьютер C булагы файлы экенин түшүнөт.
  • Ар дайым эсиңизде болсун, иш жүзүндө кемчиликсиздик төрөлөт. Программалоо менен канчалык көп алсаңыз, жөндөмүңүз ошончолук жакшы болот.Андыктан, бир аз таанышуу үчүн жөнөкөй, кыска программалар менен баштаңыз жана программалоого өзүңүзгө толук ишенсеңиз, татаал программаларды түзүүгө өтүңүз.
  • Код жазууда ар кандай маселелерди чечүүгө жардам берүү үчүн логикалык түзүлүштү үйрөнүңүз.