Келісілген Математика, физика және информатика институты кеңесінің төрағасы Бекпатшаев М. Ж. (қолы) 2020 ж. Бекітемін



бет6/30
Дата23.12.2021
өлшемі210,53 Kb.
#103244
1   2   3   4   5   6   7   8   9   ...   30
Байланысты:
УМК сист прог
Силлабус АжПН 1 курс, 1906466933
Интернет ресурстары

  1. https://checkio.org/

  2. https://w3schools.com

  3. https://www.codewars.com/

  4. https://leetcode.com/

  5. http://euler.jakumo.org/

  6. https://learnpythonthehardway.org/book/



6. Оқу курсының тақырыбын іске асыру күнтізбесі:


Апта / күн

Тақырып атауы (дәріс, практикалық сабақ, СӨЖ)


Сағат саны

Ең жоғары балл

1

2

3

4

1

Дәріс 1. Дәріс 1. Компьютер архитектурасы. Санау жүйелері. Биттер мен байттар.

1

1

Практикалық сабақ 1. Санау жүйелеріне есеп.

2

7

2


Дәріс 2. Ассемблер тілінің негіздері. Ассемблер тілі синтаксисі. C / C ++ тіліндегі ассемблерді енгізу.

1

1

Практикалық сабақ 2. Ассемблер тілінің командаларымен бағдарлама құру.

2

7

3-4



Дәріс 3-4. С++ программалау тілі. Әртүрлі типтерден, айнымалылардан, константалардан, құралған өрнектерді және С тіліндегі әртүрлі операциялар мен стандартты функцияларды программалау. Басқарушы құрылымдарды қолдану арқылы програманы жасау.

2

2

Практикалық сабақ 3-4. Алгоритмдердің сызықтық, тармақталған құрылымдарын программалау

4

14

СОӨЖ1 - Кеңес беру және СӨЖ қабылдау, СӨЖ (тақырып). 1-4 дәрістер бойынша конспекті және бақылау сұрақтарына жауап




18

5

Дәріс 5. Тілдің циклдық операторы

1

1

Практикалық сабақ 5. Алгоритмнің циклдік құрылымдарын программалау

2

7

СОӨЖ2 - Кеңес беру және СӨЖ қабылдау. СӨЖ (тақырып). 5-дәріс бойынша конспекті және бақылау сұрақтарына жауап




20

6-7

Дәріс 6-7. Жиымдар жайлы түсінік. Жиым элементтерін өңдеу

2

2

Практикалық сабақ 6-7. Бір өлшемді жиымдарды өңдеу есептерін программалау

4

14

СОӨЖ3 - Кеңес беру және СӨЖ қабылдау. СӨЖ (тақырып). 6-7 дәрістер бойынша конспекті және бақылау сұрақтарына жауап




20

Барлығы 1-Аралық бақылау




100

8



Дәріс 8. С++ тілінде көп өлшемді жиымдарды пайдалану. Екі өлшемді жиымдар.

1

1

Практикалық сабақ 8. Көп өлшемді жиымдарды өңдеу есептерін программалау.

2

7

9-10


Дәріс 9-10. Символдар мен сөз тіркестерін өңдеу және оларды пайдалану

2

2

Практикалық сабақ 9-10. Екі өлшемді жиымдарды өңдеу есептерін программалау

4

14

СОӨЖ4 - Кеңес беру және СӨЖ қабылдау СӨЖ (тақырып). 8-10 дәрістер бойынша конспекті және бақылау сұрақтарына жауап




16

11-12



Дәріс 11-12. С++ тілінде функциялар мен процедуралар

2

2

Практикалық сабақ 11-12. Процедуралар мен функциялар есебін программалау.

4

14

СОӨЖ 5 Кеңес беру және СӨЖ қабылдау. СӨЖ (тақырып). 11-12 дәрістер бойынша конспекті және бақылау сұрақтарына жауап




14

13


Дәріс13. Файлдармен жұмыс істеу және оларды пайдалану

1

1

Практикалық сабақ 13. Жазбалар мен файлдар типін қолдана отырып программалар құру.

2

7

СОӨЖ6 - Кеңес беру және СӨЖ қабылдау. СӨЖ (тақырып). 13-дәріс бойынша конспекті және бақылау сұрақтарына жауап




14

14

Дәріс 14. Программалау тілінің графикалық мүмкіндіктері

1

1

Практикалық сабақ 14. Графикалық режимдегі есептер

2

7

15

Дәріс 15. Объектіге бағытталған программалау. Класстар.

1

1

Практикалық сабақ 15. ОБП. Класстар құру.

2

7

СОӨЖ7- Кеңес беру және СӨЖ қабылдау СӨЖ (тақырып). 14-15 дәрістер бойынша конспекті және бақылау сұрақтарына жауап




14

Барлығы 2-Аралық бақылау




100




Оқытушы Текесбаева Н.А.



Кафедра меңгерушісі Бидайбеков Е.Ы.




Институт оқу-әдістемелік бірлестігінің бастығы Шармуханбет С.Р.




7. Оқу-әдістемелік қамтамасыз ету картасы

6В06102-Ақпараттық жүйелер мамандығы



«Жүйелік программалау» пәні бойынша




Дәріс

нөмерлері



Негізгі әдебиеттер

(авторы, атауы, шыққан жылы, зерттелген бөлімге арналған бет)



Қосымша әдебиеттер және Интернет көздері

Қажет болған кезде басқа ресурстар

(бағдарламалық жасақтама, презентациялар, нұсқаулықтар және т.б.)





Дәріс №1

Сағындықов К. М.Алгоритмдік тіл Си. Оқу құралы.- Қарағанды:ҚарМУ баспасы

Уинер Р. Язык Турбо Си: Пер с англ.-М.: Мир, 1991.-384 с.,ил.

https://w3schools.com



Дәріс №2

Сағындықов К. М.Алгоритмдік тіл Си. Оқу құралы.- Қарағанды:ҚарМУ баспасы

Подбельский В.В., Фомин С.С. Программирование на языке Си. Учебное пособие. М.: Фин. и стат., 2000.

https://w3schools.com



Дәріс №3

Керниган Б., Ритчи Д. Язык программирования СИ. М.: Фин. и стат., 1982.

Дворжецкий А. Программирование на С и С++. М., 2000.

https://w3schools.com



Дәріс №4

Керниган Б., Ритчи Д., Фьюэр А. Язык программирования СИ. (Задачи по языку СИ) М.: Фин. и стат., 1985.

Златопольский Д.М. Я иду на урок информатики. –М.: “Первое сентября”, 2001.

https://w3schools.com



Дәріс №5

Романовская Л.М. и др. Программирование в среде СИ для ПЭВМ ЕС. М.: Фин. и стат., 1991.

Уинер Р. Язык Турбо Си: Пер с англ.-М.: Мир, 1991.-384 с.,ил.

https://w3schools.com



Дәріс №6

Макогон В.С. Язык программирования Си для начинающих. Учеб. пособ. Одесса, 1993.

Подбельский В.В., Фомин С.С. Программирование на языке Си. Учебное пособие. М.: Фин. и стат., 2000.

https://w3schools.com



Дәріс №7

Шиманович Е.Л. С/С++ в примерах и задачах. Минск, ООО “Новое знание”, 2004.

Дворжецкий А. Программирование на С и С++. М., 2000.

https://w3schools.com



Дәріс №8

Глушаков С.В. и др. Язык программирования С++. Москва, “Фолио”, 2004.

Златопольский Д.М. Я иду на урок информатики. –М.: “Первое сентября”, 2001.

https://w3schools.com

  1. 1

Дәріс №9

Шмидский Я.К. Программирование на языке С/С++. Москва, "Диалектика", 2003

Уинер Р. Язык Турбо Си: Пер с англ.-М.: Мир, 1991.-384 с.,ил.

https://w3schools.com



Дәріс №10

Сағындықов К. М.Алгоритмдік тіл Си. Оқу құралы.- Қарағанды:ҚарМУ баспасы,

Подбельский В.В., Фомин С.С. Программирование на языке Си. Учебное пособие. М.: Фин. и стат., 2000.

https://w3schools.com



Дәріс №11

Сағындықов К. М.Алгоритмдік тіл Си. Оқу құралы.- Қарағанды:ҚарМУ баспасы

Дворжецкий А. Программирование на С и С++. М., 2000.

https://w3schools.com



Дәріс №12

Керниган Б., Ритчи Д. Язык программирования СИ. М.: Фин. и стат., 1982.

Златопольский Д.М. Я иду на урок информатики. –М.: “Первое сентября”, 2001.

https://w3schools.com



Дәріс №13

Керниган Б., Ритчи Д., Фьюэр А. Язык программирования СИ. (Задачи по языку СИ) М.: Фин. и стат., 1985.

Уинер Р. Язык Турбо Си: Пер с англ.-М.: Мир, 1991.-384 с.,ил.

https://w3schools.com



Дәріс №14

Романовская Л.М. и др. Программирование в среде СИ для ПЭВМ ЕС. М.: Фин. и стат., 1991.

Подбельский В.В., Фомин С.С. Программирование на языке Си. Учебное пособие. М.: Фин. и стат., 2000.

https://w3schools.com



Дәріс №15

Макогон В.С. Язык программирования Си для начинающих. Учеб. пособ. Одесса, 1993.

Дворжецкий А. Программирование на С и С++. М., 2000.

https://w3schools.com


8. Бағалау критерийі

Аттестация түрі

Бақылау түрі

Жалпы бағадан үлес, %

Аралық бақылау №1



Сабаққа қатысым

5

Ағымдық бақылау (прак. сем., лаб. и студ. сабақтар)

50

Өздік жұмысты бақылау (СОӨЖ; СӨЖ)

30
Аралық бақылау (колоквиум, бақылау жұмысы, презентация и т .б.)

15

Аралық бақылау №2



Посещение занятий

5

Текущий контроль (прак. сем., лаб. и студ. занятия)

50

Өздік жұмысты бақылау (СОӨЖ; СӨЖ)

30
Аралық бақылау (колоквиум, бақылау жұмысы, презентация и т .б.)

15

Қорытынды бақылау
Емтихан

100



Аралық бақылауды өткізу туралы ұсыныс
Аралық бақылауды өткізген кезде төмендегідей Қазакстан Республикасы Білім және ғылым министрлігіңің нормативті құжаттарын пайдалану ұсынылады:

  • Жоғары оқу орындарындағы білім алушыларға ағымдық, аралық бақылауды және қортынды аттестацияны жүргізудің Типтік ережелері (Қазақстан Республикасы Білім және ғылым Министр 1 қараша 2010 жылғы № 506 бұйрығы (бұдан әрі–Ереже);

  • Қазақстан Республикасының Мемлекеттік жалпыға міндетті білім беру стандарты 5.03.006-2006 «Қазақстан Республикасындағы білім беру жүйесі. Жоғары оқу орындарындағы білімді бақылау және бағалау.Негізгі ережелер». (бұдан әрі – ҚР МЖМБС5.03.006-2006 ).

Рейтингтік жүйе студенттің барлық оқу түрі бойынша (дәріске қатысу, практикалық, зерханалық сабақтар, бақылау жұмыстарын орындау т.б.) «жинақтаған» баллдары есептеу негізделген.

Білім алушылардың ағымдық бақылауы – бұл оқытушының академиялық кезең бойынша сабақ кестесіне сәйкес дәрісханалық және дәрісхандан тыс сабақтарда студенттердің білімін жүйелі тексеруі. (Ереже, т.5)

Ағымдық бақылау бағасы (жіберілу рейтінгісін бағалау) дәрісханалық сабақтарда және ағымдық бағалаудан (дәрісханадан тыс сабақтар) сабақтар негізінде жинақталады. (Ереже, т.6)

Ағымдық бақылау бір пән бойынша академиялық кезең аясында екі реттен кем емес (Ереже, т.11.)

Студенттердің қатысым және үлгерім журналын сабақты жүргізушы оқытушы толтырады.

Пәннің оқу бағдарламасы арқылы білім алушылар үлгерімінің ағымдық бақылауы жүргізіледі: ауызша сұрау, жазбаша бақылау, аралас бақылау, үй тапсырмасы презентациясы, дискуссия, тренингтер, дөгелек үстел, кейс- стадия, тесттер және т.б. (ҚР МЖМБС 5.03.006-2006, т.5.4).

Оқу жоспарында қарастырылған курстық, есептік-графикалық және басқа да жұмыстар емтихан сессиясы басталғанға дейін қорғалуы қажет және пән бойынша емтиханға жіберудің негізін құрайды. Осы жұмыстар бойынша бағалар рейтингті есептеуде есепке алынуы керек. (ҚР МЖМБС 5.03.006-2006, т.5.5.).

Ағымдық бақылау кезінде студенттердің білім жетістіктерін бақылау 100- балдық шкала бойынша әрбір орындалған тапсырмаға (ағымдық сабақтардағы жауабы, үй тапсырмасын орындау, өзіндік жұмыс қойылады, (аралық бақылау) және ағымдық бақылаудың соңғы нәтижесі академиялық кезең бойында алынған барлық бағалардың орта есебін шығару арқылы жүзеге асады. (Ереже, т.7).

Жоғарыдағыларды есепке ала отырып, қатысым және үлгерім журналына барлық ағымдық бақылау бойынша бағалар қойылады:

- 0-егер тапсырма тапсырылмаса:

- 49 (F)- егер тапсырма «қанағаттанарлықсыз» орындалса:

-50 ден 100 дейін (D-дан A ға дейін ) - ауызша\жазбаша жауаптар\тапсырмалар толық және дәл орындалуына байланысты қойылады.

Семестр бойынша пән Силлабусында үй тапсырмасын орындау, СӨЖ уақыты және оны тексеру, Журналға баға қою қарастырылу керек.

Ағымдық бақылауда бақылау жұмысы, тест т.б. оқудан тыс уақытта болатын тапсырмалар 15%. Көп болмауы қажет

Сонымен, студент сабаққа қатысып пән бойынша тапсырмаларды орындап, бірақ, сабаққа қатыспаса 1-ден 8-аптаға дейін ( 9 дан15-апта дейін), ағымдық кезеңдегі бағасы 0 ге тең бола алмайды. Бұл жағдайда үлгерімнің ағымдық бақылауының нәтижесі аралық бақылау бағасындағы ағымдық бағаны алып тастаумен есептеледі.

Қатысым және үлгерім журналындағы ағымдық бақылау нәтижелері 8-інші және 15-інші аптада жеке графада оқу кезеңіне сәйкес алынған барлық бағлардың орта арфиметикалық бағасы ретінде қойылады, соның ішінде, графикалық, курстық жұмыстарды қорғауды есептегенде.

Студенттің сабаққа 100% қатысымы оқытушының қалауы бойынша қосымша бонустарды бағаға қосуға мүмкіндік береді. Мұндай жағдайда журналға қосымша жеке графа берілуі қажет. Сонымен қтатар, оқытушы студентке семинар, зертханалық сабақтардағы белсенділігі үшін қосымша бонус бере алады. Ағымдық бақылаудың соңғы нәтижелері АБ-1/АБ-2 графаларына қойылатындықтан қосымша бонустар/балдар арқылы жоғарлауы мүмкін.

Қатысым және үлгерім журналында аралық бақылауға жіберілу (емтихан) бағасы жеке графада (АБ-1/АБ-2 орта балы) екі аралық бақылаудың орта арфиметикалық бағасы ретінде 50 % кем емес қойылады.

Сонымен сырттай оқу бөлімі студенттердің үлгерімін ағымдық бақылау оқу емтихан сессиясы кезенінде де, оның басында да жүзеге асады. Сырттай бөлімде оқитын студент оқу емтиханы басталғанға дейін барлық бақылау және есептік графикалық жұмыстар, курстық жұмыстарды, сонымен қатар, үй тапсырмаларының түрлерін, СӨЖ, аралық бақылауды пән бағдарламасына сәйкес (Ереже, т. 9). тапсырады.








ДӘРІСТЕР ТЕЗИСТЕРІ




№ апта

Дәрістер және тезистер

Көлемі

1 дәріс

Дәріс 1. Компьютер архитектурасы. Санау жүйелері. Биттер мен байттар.

Кез-келген жоғары деңгейдегі тілді үйрену әдетте негізгі командаларды меңгеруден және алғашқы қарапайым бағдарламаларды жазудан басталады. Бірақ ассемблермен бұл бірден жұмыс істемейді. Бұл құрастыру тілінің бағдарламалары компьютер құрылғыларын, ең алдымен процессор мен жадты тікелей басқаратындығына байланысты. Жоғары деңгейдегі тілдер компьютерлік аппараттық құралдармен барлық манипуляцияларды бағдарламалаушыдан жасырады. Осылайша, ассемблер тілінде бағдарламалауды үйрену үшін компьютеріңіздің архитектурасын білуіңіз керек.

 Компьютер архитектурасы.

Компьютердің архитектурасын білмейінше және бағдарлама жасалатын нақты процессордың архитектурасын білмей, құрастыру тілін сәтті қолдану мүмкін емес.

Компьютер архитектурасы дегеніміз - бағдарламалаушы қолдана алатын компьютердің логикалық ұйымдастырылуы, құрылымы мен ресурстары.

Компьютерлік архитектураға компьютерді құрайтын жеке құрылғылардың архитектурасы жатады. Компьютер көптеген сыртқы және ішкі құрылғылардан тұрса да, нағыз ассемблер бағдарламашысы компьютерлік жүйенің тек үш құрылғысымен жұмыс жасауы керек: процессор, жад және енгізу-шығару порттары. Шындығында, бұл үш құрылғы бүкіл компьютердің жұмысын және оған қосылған барлық сыртқы құрылғылардың жұмысын анықтайды. Осы үш құрылғы үш негізгі шиналар арқылы өзара байланысты: деректер шинасы (ДШ), адрестік шина (АШ) және басқару шинасы (БШ).



Процессор - бұл компьютердегі немесе бағдарламаланатын логикалық контроллердегі негізгі аппараттық құрал, машина нұсқауларын орындайтын электронды блок немесе интегралды схема (микропроцессор).

Жедел жад бағдарламаларды жүктеуге және бағдарламалардың жұмысына қажетті әр түрлі деректерді уақытша сақтауға арналған.

Енгізу-шығару порттары қолданушымен және басқа құрылғылармен өзара әрекеттесуге арналған.

Шина - бұл параллель өткізгіштер тобы, олар арқылы мәліметтер бір құрылғыдан екіншісіне беріледі:

  • Мәліметтер шинасы процессор мен жедел жады арасында, сонымен қатар енгізу-шығару құрылғылары мен жедел жады арасында командалар мен мәліметтер алмасу үшін қолданылады.

  • Басқару шинасы жүйелік шинаға қосылған барлық құрылғылардың жұмысын синхронизациялайтын арнайы сигналдарды беру үшін қолданылады. Мысалы, процессор мәліметтер шинасынан ақпаратты қашан оқитынын білуі керек. Ол үшін арнайы деректер шинасының дайын сигналы қолданылады.

  • Адрестік шина жад ұяшығының адресін көрсету үшін қолданылады, оған қазіргі уақытта процессор немесе енгізу-шығару құрылғысы кіреді (оқу немесе жазу).

  • Барлық үшеуі жүйелік шинаны құрайды немесе оны магистраль деп те атайды.

 Санау жүйелері.

«Компьютер» сөзі ағылшын тілінен «калькулятор» деп аударылған, яғни есептеулер жүргізуге арналған машина. Бұл шындыққа толық сәйкес келеді, өйткені аппараттық деңгейде компьютер қосу және көбейту сияқты сандармен қарапайым арифметикалық амалдарды ғана орындайды.

Компьютердің жүрегі процессор болып табылады, оны көбінесе орталық процессор (орталық процессор) немесе микропроцессор деп атайды. Бұл барлық есептеулерді орындайтын орталық процессор.

Тарихи тұрғыдан алғанда, компьютерлік процессорларды қоса алғанда, барлық сандық микросхемалар кернеудің тек екі рұқсат етілген деңгейімен жұмыс істейді. Осы деңгейлердің бірі логикалық-бір деңгей (немесе бір деңгей), ал екіншісі логикалық-нөлдік деңгей (немесе нөлдік деңгей) деп аталады. Көбінесе, логикалық нөл төмен кернеу деңгейіне сәйкес келеді (0-ден 0,4 В дейін), ал логика жоғары деңгейге сәйкес келеді (2,4-тен 5 В-қа дейін). Екі кернеу деңгейі іске асыруды жеңілдету үшін таңдалды.







2 дәріс

Дәріс 2. Ассемблер тілінің негіздері. Ассемблер тілі синтаксисі. C / C ++ тіліндегі ассемблерді енгізу.




3 -4 дәріс

3-4 дәріс. С тілінде программалау негіздері. Программа құрылымы

C тілі 1970-жылдары АҚШ-тың маманы Дэннис Ритчидің бас­тауы­мен дүниеге келді. Бұл тілдің негізі Алголдан басталып, Паскаль және ПЛ/1 тілдерімен қатар пайда болды. С тілінің негізінде 1983-жылы С++ тілі жасалып шықты, сол кезден бері тілдің бірнеше нұсқалары пайда болып, ол қазіргі ең көп тараған тілдердің біріне айналды. Бірсыпыра фирмалар осы тілге арнап компиляторлар жазды, мыса­лы, Borland International фирмасы 1989 ж. жасаған біріктірілген программалау ортасы TurboC++ жүйесін дүниеге келтірді. Ол DOS ортасында жақсы жұмыс істеді. Ал 1992 ж. жасалған Borland C++ жүйесі Windows ортасында да жұмыс істейтін жақсы компилятор болып табылады.

С++ тілінде жазылған программаның құрылымы

Кез келген программа бір немесе бірнеше функциялардан тұрады. Олар программа құруға керекті негізгі модульдер болып табылады. Кез келген программаның жазылған алғашқы мәтіні бастапқы код деп ата­лады. Оны біріктірілген программалау ортасында теріп, сонан соң компилятор арқылы машиналық кодқа түрлендіріп орындаймыз.

Келесі суретте С программасының жалпы құрылымы көрсе­тілген. С программасы бірнеше функциялардан (main, f1, f2…) құралады және олардың біреуі міндетті түрде main() болуы қажет.Қарапайым программа функциялардан тұрады.Функция тұлғасы операторлардан тұрады, олар жүйелі жақша­лар­мен шек­теледі. Әрбір оператордан кейін ; таңбасы қойылады.

Енді бір программа мысалын келтірейік:

/* Герон формуласы арқылы үшбұрыш ауданын табу  */

#include /* енгізу/шығару директивасы */

#include /* математикалық функциялар директивасы */

main() /* басты функцияны қолдану */

{ int a,b,c; /* бүтін айнымалыларды сипаттау */

float p,s; /* нақты айнымалыларды сипаттау */

printf("\n‚ үшбұрыш қабырғаларын енгіз : \n");

scanf("%d%d%d",&a,&b,&c);

p=(a+b+c)/2.0;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("s=%f",s);

}

Программада түсініктемелер беру үшін/* және */ таңбалары қолда­ны­лады, олар­дың ішіне қазақша, орысша, ағылшынша сөз тіркес­терін жазуға болады.



Препроцессор директивалары #include сөзінен кейін жазы­ла­­ды, stdio.h тіркесі енгізу/шығару операциялары орындала­тынын біл­ді­реді.

Тілдің құрамы

Кез келген табиғи тілдің мәтініндегі төрт негізгі элементті көрсетуге бола­ды: символдар, сөздер, сөз тіркестері және сөйлемдер. Осындай элемент­тер алгоритмдік тілдерде де болады, мұнда бірақ сөздер – лексемдер (қара­пайым конструкциялар) деп, сөз тіркестері – өрнектер деп, ал сөйлем­дер – оператор­лар деп аталады. Лексемдер симолдардан тұрады, өрнектер – лексем­дер мен сим­волдардан, ал операторлар – символдардан, өрнектерден және лексемдер­ден тұрады.



Тілдің алфавиті. С/С++ тілдеріндегі түйінді сөздер (ключевое слово – key­word) мен иденти­фика­торларды, өрнектерді құрастыру үшін қолданылатын символдар, яғни тіл алфавиті болып саналады. C++ тілі алфавитіне мыналар кіреді:

  1. ағылшын алфавитінің бас және кіші әріптері мен астын сызу символы кіреді;

  2. от 0-ден 9-ға дейінгі арабцифрлары;

  3. арнайы таңбалар:

  4. " { } , | []()+-/ % * . \‘ : ? < = > !

  5. & # ~ ; ^

++ тіліндегі бүтін, нақты, символ­дық айнымалылар

Мәліметтер типі концепциясы. Әр түрлі типтегі мәліметтер компьютер жадын­да басқаша сақталып, олардың өңделуінде де айырма­шылықтар болады. Кез келген алгоритмдік тілде әрбір константа, айнымалы, өрнекті немесе функцияны есептеу нәтижесі белгілі бір типте болуы тиіс.

Мәліметтер типі мыналарды:



  • компьютер жадындағы мәліметтің ішкі бейнелену түрін (көлемін);

  • белгілі бір типтегі шамалардың қабылдай алатын мәндер жиынын;

  • осы типтегі шамаларға қолданылатын операциялар мен функцияларды анықтайды.

Осыларға байланысты программада пайдаланылатын нақты объектілерді бейнелеу үшін программалаушы әрбір шамалардың типін алдын ала таңдап алады.

C++ тілінің барлық типтері негізгі және құрама болып екіге бөлінеді. Мұнда бүтін, нақты, символдық және логигалық шамаларды бейнелеу үшін алты негізгі тип қолданылады (5.1 сурет). Программалаушы осы типтерді негізге ала отырып, құрама типтерді сипаттай алады. Құрама типтерге жиымдар (массивтер), тізбелер (перечисления), функциялар, құрылымдар (структуралар), сілтемелер (ссылки), нұсқауыштар (указатели), біріктірмелер (объединения) және кластар жатады.

С/C++ тілдерінде меншіктеу операциялары және операторлар

Арттыру немесе кеміту (инкремент және декремент) операция­лары ++ және -- түрінде жазыла­ды да,инкремент және декремент деп аталады. Бұлар кез келген операндтың мән­дерін бірге арттыруға немесе кемітуге мүмкіндік береді, олардың жазылуы екі түрде – операция таңбасы операнд алдында жазылатын префикстік және соңынан жазылатын постфикстік түрде кездеседі.

Префикстік түрде (++х немесе --х) алдымен операнд өзгертіліп, сонан соң оның мәні өрнектің нәтижелік мәніне айналады, ал постфикстік түрде (х++ немесе х--) өрнек мәні операндтың бастапқы мәнін қабылдайды да, операнд сонан кейін өзгереді. Бұлар жасырын түрдегі меншіктеу амалы болып табылады. Кейде олар жеке оператор түрінде де жазылады:



i++; немесе ++i;

Бұл екеуі де мынадай амалмен бірдей болып саналады



i = i + 1;

Мысалы:

k=10;


x=k++; // x=10 k=11

x=++k; // x=12 k=12



Арттыру/кеміту операцияларын өрнек ішінде де орындау мүмкіндігі бар:

sum=a+b++; //алдымен a, b қосылады, сонан соң b 1-ге артады

sum=a+ ++b; //алдымен b 1-ге артады, сосын a, b қосылады

Арттыру/кеміту операцияларының приоритеттері өте жоғары, тек жақ­ша ішіндегі операция­лардың приоритеті олардан жоғары болады.





5 дәріс

5 дәріс. Тілдің циклдік операторлары

Цикл операторлары бірнеше рет қайталанатын есептеулерді орындау үшін қажет. Кез келген цикл сол цикл тұлғасынан (денесінен), яғни қайталанатын операторлар тізбегінен, бастапқы мәндер тағайындаудан, цикл параметрлерін өзгертуден және циклді қайталау шартын тексеруден тұрады (7.1 сурет). Циклдің бір рет орындалуы итерация (қадам) деп аталады. Шартты тексеру әрбір итерация сайын – цикл тұлғасына дейін (алғы шартты цикл) немесе цикл тұлғасынан соң (соңғы шартты цикл) атқарылады. Олардың айырмашылығы – соңғы шартты цикл, кем дегенде, бір рет орындалады да, содан кейін барып циклді қайталау шарты тексеріледі. Ал, алғы шартты циклде оны қайталау шарты цикл тұлғасынан бұрын тексеріледі, сондықтан кейде ол бір рет те орындалмай қалуы мүмкін.

Цикл тұлғасында мәні өзгертілетін айнымалылар цикл параметрлері болып табылады. Тұрақты қадаммен әрбір итерация сайын өзгертіліп отырылатын бүтін типтегі цик­л парараметрлері цикл санауыштары деп аталадлы.

Бастапқы параметрлер мәндері айқын түрде берілмеуі де мүмкін, олар циклге кір­ген­ге дейін оның ішінде мәндері өзертілетін айнымалылар мәндерін беру үшін қажет.

Цикл оны қайталау шарты орындалмаған кезде аяқталады. Цикл қадамының немесе жалпы циклдің аяғына жетпей, доғарылатын кездері болады, олар break, conti­nue, return және goto операторлары көмегімен іске асырылады. Сырттан цикл ішіне басқаруды беру болмауы тиіс.

С/C++ тілдерінде ыңғайлылығына қарай қолданылатын үш түрлі цикл оператор­лары бар, олар – while, do .. while және for.



Алғы шартты цикл (while – әзірше)

Орындалу саны алдын ала белгісіз болатын циклдер құру кезінде шарттары алдын ала немесе соңынан тексерілетін екі цикл түрі бар. Шарты алдын ала тексерілетін цикл операторының орындалу схе­масы 7.1а-суретте көрсетілген. Оның жазылуы:

while (шарт-өрнек) оператор;

Мұнда шарт ретінде қатынас таңбалары кіретін шартты өрнек пайдаланылуы мүмкін. Өрнек типі арифметикалық немесе соған келтірілетін түрде болуы тиіс. Опера­тор қарапайым немесе құрама болуы мүмкін. Ол құрама оператор болса, онда операторлар жиыны жүйелі жақшаға алынып жазылады. While операторы орындал­ғанда, алдымен жақша ішіндегі өрнек есептеліп тексеріледі. Егер өрнек мәні ақиқат болса немесе жалпы жағдайда 0-ге тең болмаса, онда оператор атқары­лады. Содан соң жақшадағы өрнек тағы да есеп­теледі. Егер өрнек мәні жалған болса (немесе жалпы жағдайда 0-ге тең болса), онда while цикл операторы өз жұмысын аяқтайды.






6 -7 дәріс

Жиымдар жайлы түсінік. Жиым элементтерін өңдеу

Жиым немесе массив – бір типтегі элементтердің реттелген жиыны.Олар бір атаумен – идентификатормен аталады да, индексті айнымалы ұғымына сәйкес келеді. Мысалы, мынадай тізбек

0 1 1 2 3 5 8 13 21

Фибоначчи тізбегінің 9 элементін құрайды (алғашқы екі санды таңдап алып, келесі санды алдыңғы екеуін қосу жолымен алады). Ал мынау өзіне және бірге бөлінетін жай сандар тізбегінің алғашқы 7 элементі:

1 3 5 7 11 13 17

Осындай бір текті тізбектерді жиым түрінде Си тілінде сипаттап, оған бастапқы мән беріп инициалдау үшін былай жазамыз:

int fib[8]={0, 1, 1, 2, 3, 5, 8, 13, 21};немесе

int fib[]={0, 1, 1, 2, 3, 5, 8, 13, 21};деп көрсетеміз. мұндағы fib – жиым аты, оның элементтерінің типі int, ал ені, яғни ұзын­ды­ғы – 9, жиым элементтерінің индекстері 0-ден бастап нөмірленеді, сол се­бепті 9 элемент 8 индекспен көрсетіледі. Мәндері толық көрсетілсе, индексті жазбаса да болады. Ал былай болса,

int fib[8]={0, 1, 2, 3};қалған элементтері 0 болып саналады.

n=10; k=2; fib[n-k]={0, 1, 2, 3};десе де болады.

Жоғарыдағы тізбектің 7-ші элементін бір бүтін айнымалыға меншіктеу үшін былай жазамыз.

int а = fib[6]; // а = 8

Жиымды сипаттау кезінде оның ені нақты санмен көрсетіледі, мыс.,a[20]орнынаa[n]деп жазу үшін алдын ала

#define n 20жолы көрсетіледі немесе

const n=20;болып жазылады.

Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл опера­торлары қолданылады. Төменде 10 элементі бар жиымды 0-ден 9-ға дейінгі сандармен толтырып, сонан кейін оларды кері бағытта экранға шығару мысалы көрсетілген:

main ()


{

int ia[10];

int index;

for (index = 0; index <10; index ++)

ia[index] = index;

for (index = 9; index >=0; index --)

printf(“ %i”, ia[index]);

Ситіліндежиымдыжиымғабірдентеңестіругеболмайды, мысалы, а0, а1, а2, ... , а9жәнес0, с1, с2, ... , с9жиымдарыүшіна = c депжазуғарұқсатетілмейді. Олардыңэлементтерінциклішіндебір-бірінебіртін­дептеңестірукерек.

Мысалы, мынадайциклжазылуытиіс:

int a[9], c[9];

for (int i=0; i<9; ++i)

a[i]=c[i];



Си тілінде кездейсоқ сандарды пайдалану

Си тілінде кездейсоқ сандар беретін функциялар бар.



int rand() – 0..RAND_MAX=32767 аралығынан кез келген кездейсоқ бүтін сан береді.

Ал int random(n) 0..n аралығынан кез келген кездейсоқ бүтін сан береді.

Бұл функцияларды пайдалану файлы арқылы орын­далады.

Мысалы:


//a[n] жиымына кездейсоқ сандар енгізу

#include

#include

#include

void main()

{

int a[100];

int n;

printf("\nEnter the size of array:", n);

scanf("%i",&n);

for(int I=0;I

{a[I]=rand()%100-50;

printf(" %i ", a[I]);}

getch();

}


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




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

    Басты бет