«050704-ЕТ және бағдарламалық қамтамасыз ету» мамандығы
күндізгі бөлімінің 1 курс студенттеріне арналған
«Программалау технологиялары» пәнін
ӨЗІНДІК ЖҰМЫСТАРДЫ ОРЫНДАУҒА АРНАЛҒАН ӘДІСТЕМЕЛІК
НҰСҚАУЛАР
Ақтөбе, 2011
І. Программалау тілінің мүмкіндіктерін тереңірек зерттеуге
арналған тапсырмалар
Мақсаты: С/С++ тілдерінің мүмкіндіктері туралы теориялық
білімдерін тереңдету және әдебиеттермен жұмыс жасауға машықтандыру.
Өз бетімен орындауға арналған тапсырмалар:
1.1. Төмендегі тақырыптарды өз бетінше толықтырып конспектілеу:
Си тілінің «жоғары деңгейлі» тілдерден айырмашылығы.
Си және Си++ арасындағы салыстырмалы түрдегі айырмашылықтары.
Квалификаторлар: const, volatile.
Мәліметтер типін түрлендіру.
Операторлардың орындалу приоритеттері.
Айнымалылардың көріну аймақтарын кеңейту операторы.
Енгізу-шығару мүмкіндіктері.
Енгізу-шығару кластарының иерархиясы.
1.2. Тақырыптық файлдар мазмұнымен танысу және конспектілеу:
1. , ,
2. , ,
3. , ,
4. , ,
5. , stdarg.h>,
6. stddef.h>, ,
7. , ,
8. , ,
9. , .
Өз бетімен орындауға арналған тапсырмаларға әдістемелік нұсқау:
1. Қажетті тақырыпқа қатысты дәрістегі материалдарды қайта оқып
шығыңыз.
2. Аталған тақырыпқа қатысты берілген бағдар бойынша ойыңызды
жинақтап, қарастыратын сұрақтарды топшалаңыз.
3. Сол сұрақтар бойынша әдебиеттерді қарастырып, қажетті материалдармен
танысыңыз.
4. Толық түсінген соң негізгі элементтерін конспектілеп алыңыз.
ІІ. Өз бетімен орындауға арналған мәнжазбалық тақырыптар
Мақсаты: Программалау мүмкіндіктерін зерттеуге машықтандыру және
ғылыми зерттеу жұмыстарын жүргізуге бейімдеу.
Өз бетімен орындауға арналған тапсырмалар:
Мәнжазбалар тақырыптары:
1. Программалау тілдерінің жіктемесі.
2. Программалау технологиялары.
3. Машиналық бағытталған тілдер.
4. Жүйелік программалау барысындағы Си тілінің орыны.
5. Программалау негіздері.
6. С++ және объектілі-бағытталған программалау.
Өз бетімен орындауға арналған тапсырмаларға әдістемелік нұсқау:
1. Мәнжазба
тақырыбына
қатысты
ұсынылған
әдебиеттерді
қарап
материалдармен танысыңыз.
2. Нақты мағұлматтар алған соң тақырыпты толық қамтитын жоспар құрып,
оқытушыға көрсетіп, талқылап алыңыз.
3. Қабылданған жоспар бойынша сұрақтар мазмұнын айқындайтын
теориялық материалдарды топтастырып жазыңыз.
4. Әр түрлі әдебиеттерден материалдар алу барысында сәйкесінше сол
әдебиетке сілтеме жасау қажет.
5. Мәнжазбаға кіріспе жазу барысында құрылған жоспардың мазмұнынына
түсініктеме беріңіз.
6. Қорытындылау барысында әдебиеттерді зерттеу барысында туындаған
ойларыңызды, тиімді әдістеріңізді және ұсыныстарыңызды келтіріңіз.
7. Мәнжазбаны қорғауға арналған қысқаша баяндамаңызды дайындаңыз.
ІІІ. Программалауға арналған тапсырмалар
Мақсаты: С/С++ тілдерінің программалау ортасында жұмыс жасау
икемділіктерін қалыптастыру және практикалық машықтарын бекіту.
Сұрыптау алгоритмдерін меңгерту.
Өз бетімен орындауға арналған тапсырмалар:
1.
Сұрыптау
алгоритмдерін
меңгеру
және
С/С++
тілдерінде
программалау.
Сұрыптау әдістерінің жіктемесі:
1)
Таңдау арқылы сұрыптау әдістері;
2)
Енгізу арқылы сұрыптау әдістері;
3)
Алмастыру арқылы сұрыптау әдістері;
4)
Үлестіру арқылы сұрыптау әдістері;
5)
Санау арқылы сұрыптау әдістері;
6)
Біріктіру арқылы сұрыптау әдістері;
7)
Құрылымдық мәліметтерді сұрыптау мысалдары;
8)
Сыртқы сұрыптаулар.
Ескерту. Аталған сұрыптау тақырыптарының әрқайсысында қарастырылатын
әдістерді анықтап, теориялық материалдарын конспектілеңіз және төмендегі
әдістемелік нұсқа бойынша сұрыптау алгоритмдерін программалап жұмысты
орындаңыз.
Әдебиеттер:[18]
2.
Жеке тапсырмалар кестесі (Әр студентке жеке нұсқалар беріледі):
Тақырыптарына сәйкес есептер нөмірлері
В
ар
и
ан
тт
ар
1. Нақты сандарға амалдар
қолдану.
2. Формулаларды есептеу.
3. Тармақталу.
4. Қарапайым бүтін сандар
арифметикасы.
5. Қарапайым цикл.
1. Мәліметтерді біртіндеп
енгізу және шығару.
2. Цикл және тармақталуға
аралас есептер.
3. Символдар тізбегін
өңдеу.
4. Матрицалар, циклдар
(іштестірілген)
Функция
1. 1, 21, 41, 80, 100, 101
136(a), 179(a), 251, 367
424, 453
2. 2, 22, 42, 79, 99, 102
136(б), 179(б), 252(a), 368
425, 454
3. 3, 23, 43, 78, 98, 103
136(в), 179(в), 252(a), 369
426, 455
4. 4, 24, 44, 77, 97, 104
136(г), 180, 253(a), 370(a)
427, 456
5. 5, 25, 45, 76, 96, 105
136(д), 181(a), 253(б),
370(б)
428, 457
6. 6, 26, 46, 75, 95, 106
136(e), 181(б), 253(в), 371
429, 458
7. 7, 27, 47, 74, 94, 107
136(ж), 181(в), 253(г), 372
430, 459
8. 8, 28, 48, 73, 93, 108
136(з), 182, 254, 373(а)
431, 460(a)
9. 9, 29, 49, 72, 92, 109
136(а), 183, 255, 373(б)
432, 461
10. 10, 30, 50, 71, 91, 110
136(к), 184, 256(а), 374(а)
433, 462
11. 11, 31, 51, 70, 91, 111
136(м), 185, 256(б), 374(б)
434, 463
12. 12, 32, 52, 69, 89, 112
136(н), 186, 257(а), 374(в)
435, 460(б)
13. 13, 33, 53, 68, 88, 113
136(л), 187, 257(б), 375
436, 464
14. 14, 34, 54, 67, 87, 114
136(о), 188, 257(в), 376(а)
437, 465
15. 15, 35, 55, 66, 86, 115
137(а), 189, 257(г), 376(б)
438, 466
16. 16, 36, 56, 65, 85, 116
137(б), 190, 257(д), 377
439, 467
17. 17, 37, 57, 64, 84, 117
137(в), 191, 257(е), 378(а)
440(а,б), 468
18. 18, 38, 58, 63, 83, 118
137(г), 192, 2558, 378(б)
440(в), 469
19. 19, 39, 59, 62, 82, 119(а, в, д)
137(д), 193, 259, 379(а)
441, 470
20. 20, 40, 60, 61, 81, 119(б, г, е)
137(е), 194, 260(а), 379(б)
445, 456
21. 9, 29, 49, 71, 91, 110
138, 195, 260(б), 379(в)
446, 460(a)
22. 6, 26, 46, 76, 96, 105
139(д), 196, 260(в), 379(г)
447, 460(б)
23. 4, 24, 44, 80, 100, 101
139(ж), 198, 261(а), 380
448(a), 459
24. 10, 30, 50, 77, 97, 104
139(и), 199, 261(б), 381
448(б), 470
Әдебиет: С. А. Абрамов и другие Задачи по программированию, М: Наука гл. ред.
физ. мат. лит. 1989-224c.
Өз бетімен орындауға арналған тапсырмаларға әдістемелік нұсқау:
1. С.
А.
Абрамов
батаған
авторлар
тобы
құрастырған
«Задачи
по
программированию» кітабына өзіңізге берілген нұсқа есептерін алыңыз.
2. Қарастырылып отырған тақырыпқа сәйкес есептің қойылымын анықтаңыз, яғни
не берілгендігін және нені табу керектігін белгілеулер енгізе отырып анықтаңыз.
3. Есептің математикалық моделін құрыңыз.
4. Есептің алгоритмін құрыңыз. Дәлірек айтқанда есептің блок-схемасын жазу
керек.
5. Құрылған алгоритмге сәйкес есептің Си және С++ тілдеріндегі программаларын
құрыңыз.
6. Құрылған программаны енгізіп, өңдеңіз және есептеулер жүргізіңіз.
7. Алынған нәтижелерді талдаңыз.
8. Жоғарыдағы кезеңдер нәтижелерін арнайы дәптерге түсіріп, семестрлік жұмысты
тапсыру есебін(отчет) толтырыңыз.
Глоссарий
СТАНДАРТТЫ КІТАПХАНАЛАР
С/С++ тілдерінің стандартты функциялары, типтері және макростары
төмендегідей тақырыптық файлдарда орналасқан. Олар функционалдық
қызметтеріне қарай топтастырылған:
, , , , , , ,
, , stdarg.h>, stddef.h>, , , , ,
, , .
файлы
Кестедегі s және t айнымалылары char * типті, ал cs және ct const char * типті,
n – size_t типті айнымалы, c айнымалысының мәні int - char типті мәніне
келтірілген.
функция
Сипаттамасы
Char *strcat(s,сt)
S стрингінің соңына сt стрингін жалғайды, S стрингін
қайтарады.
Char *strncat(s,сt,n)
S стрингінің соңына сt стрингінің n литерін жалғайды,
S стрингін қайтарады және ‘\0’ литерімен аяқтайды.
Char strcmp(сs,st)
st болса оң сан;
Char strncmp(сs,сt,n)
strcmp секілді, бірақ салыстырылатын литерлер n-нен
аспайды.
strcpy(s,t:string)
t-ны s-ке көшіреді.
strncpy(s,t:string,n:int)
t-нің n-нен көп емес литерін s-ке көшіреді.
strlen(s:string)
s-тің ұзындығын береді.
strchr(s,c:string)
s-тегі алғашқы кездескен c литеріне көрсеткішті береді
, әйтпесе NULL.
strrchr(s,c:string)
s-тегі соңғы кездескен c литеріне көрсеткішті береді,
әйтпесе NULL.
файлы
кітапханасындағы бірнеше функциялар литерлер тексеру жғне
түрлендіру жұмысын атқарады. Бұл функциялардың қайтаратын мәні int типті.
функция
Сипаттамасы
isalpha(c)
с-әріп болса, 0-ге тең емес, кері жағдайда 0.
isupper(c)
с-жоғары регистрдегі әріп болса, 0-ге тең емес; кері
жағдайда 0.
islower(c)
с-төменгі регистрдегі әріп болса, 0-ге тең емес; кері
жағдайда 0.
isdigit(c)
с-цифр болса, 0-ге тең емес; кері жағдайда 0.
isalnum(c)
0-ге тең емес, егер isalpha(c) немесе isdigit(c) ақиқат
болса; кері жағдайда 0.
isipace(c)
0-ге тең емес, егер с-пробел, табуляция, жаңа жол,
парақаудару, тік-табуляция литерлері болса.
toupper(c)
жоғарғы регистрге аударылған с-ны қайтарады.
tolower(c)
төменгі регистрге аударылған с-ны қайтарады.
файлы
функция
Сипаттамасы
double atof(const char*s) s-ті double-ге келтіреді
int atoi(const char *s)
s-ті int-ке келтіреді
int atol(const char *s)
s-ті long-ке келтіреді
int rand(void)
0-ден
RANDMAX
дейінгі
диапазонындағы
кездейсоқ сандар шығарады.
void *calloc(size_t
nobj,size_t size)
Көрсеткішті size-өлшемді nobj обьектер массивіне
бөлінген жадыдағы орнына қайтарады
void *malloc(size_t size)
Көрсеткішті size өлшемді обьектінің жадыдағы
орнын қайтарады.
void *realloc(void
*p,size_t size)
p сілтейтін обьекттің өлшемін size-ға өзгертеді
void free(void *p)
p сілтейтін жады аймағын босатады.
void exit(int status)
Программаның дұрыс аяқталуын қамтамасыз
етеді.
файлы
функция
Сипаттамасы
FILE *fopen(const char
*fname,...)
Берілген атты файлды ашады және ағынды
қайтарады.
FILE freopen(const char
*fname,...)
көрсетілген режимдегі файлды ашады және
оны stream ағынымен байланыстырыды.
int fflush(FILE *stream)
Шығыс
ағынына
қолданылатын
fflush
буферде қалған берілгендерді толықтырып
жазады.
int remove(const char *fname)
Көрсетілген атты файлды өшіреді.
int rename(const char *o,const
char n)
Файл атын өзгертеді.
FILE *tmpfile(void)
Уақытша файл құрады.
int fprintf(FILE *s,const char
*f,...)
Шығаруды түрлендіріп f-тің басқаруымен s
ағынына жазады.
int printf(const char formate,...)
Толығымен
fprintf
функциясына
эквивалентті.
int sptintf(char *s,const char
f,...)
printf секілді, тек шығаруды '\0' литерімен
аяқтап, s жолына жазады.
int fscanf(FILE *s,const char
*f,...)
Берілгендерді f-тің басқаруымен s ағынына
оқиды.
int scanf(const char *formate,...) fscanf секілді.
int sscanf(char *s,const char
*f,...)
scanf секілді айырмашылығы литерді енгізу
s-мен жүргізіледі.
int fgetc(FILE *stream)
Келесі литерді stream ағынынан unsigned
char түрінде қайтарады.
char *fgets(char *s,int n,FILE
*stream)
s массивіне n-1 литерден аспайтын литер
оқиды.
int fputc(int c,FILE *stream)
c литерін stream ағынына жазады.
int fputs(const char *s,FILE
*stream)
s-стрингісін stream-ге жазады.
int getc(FILE stream)
fgetc секілді, айырмашылығы егер ол-
макрос болса, stream 1-ден астам рет
есептейді.
int getchar(void)
getc(stdin) секілді.
int ungetc(int c,FILE *stream)
c литерін stream-ге қайтарады.
char *gets(char *s)
Келесі енгізу жолын жаңа жол литерін '\0'
литеріне ауыстырып s массивіне жазады.
файлы
функция
сипаттамасы
Double sin(double x)
синус х
Double cos(double x)
косинус х
Double tan(double x)
тангенс х
Double asin(double x)
арксинус х
Double acos(double x)
арккосинус х
Double atan(double x)
арктангенс х
Double atan2(double
x,y)
арктангенс y/x
Double sinh(double x)
гиперболалық синус х
Double cosh(double x)
гиперболалық косинус х
Double tanh(double x)
гиперболалық тангенс х
Double exp(double x)
экспоненциалдық функция e
Double log(double x)
натурал логарифм
Double log10(double x)
ондық логарифм
Double pow(double x,y) x-тің y дәрежесі
Double sqrt(double x)
түбір астындағы х
Double ceil(double x)
double үріндегі ең кіші бүтін
Double floor(double x)
double түріндегі ең үлкен бүтін
Double fabs(double x)
абсолютті мғн |x|
Double modf(double
x;double *ip)
x бүтін жғне бөлшек бөліктерге бөлінеді ;бүтін
бөлігі *ip-ге,бөлшек бөлігі нәтиже ретінде беріледі.
Double fmod(double
x,y)
x-ті y-ке бөлгендегі қалдық.
Стандартты кітапханада ungetc атты функция бар.
Int ungetc(int c,FILE *fp)
Бұл функция с литерін Fp файлына жібереді. Функция мәні ретінде EOF
қайтарылады. ungetc функциясын енгізу функцияларының кез келгенімен бірге
scanf, getc, getchar және т.б қолдануға болады.
Кездейсоқ сандар генераторы.
кітапханасында анықталған RAND_MAX тұрақтысы мүмкін болатын
кездейсоқ сандар диапозонының ең үлкен мғні rand( ) RAND_MAX
#define frand( ) ((double) rand( )/RAND_MAX+1.0))
СТУДЕНТТІҢ БІЛІМ ДЕҢГЕЙІН БАҚЛАУҒА АРНАЛҒАН
МАТЕРИАЛДАР
Бақылау жұмысы №1
Бақылау жұмысы тармақталу және циклдық алгоритмдерді және массивтерді
өңдеу тақырыбын меңгергендігін тексеруге арналған.
Нұсқа І
1. Үш санның ең кішісі мен ең үлкенінің қосындысын анықтаңыз.
2. 1 мен 20-ның аралығындағы тақ сандардың арифметикалық ортасын есептеңіз.
3. Студенттердің 8-ші семестрдегі 5 түрлі пән бойынша алған бағалары
берілген. Студенттердің үлгерімін анықтайтын программа жазыңыз.
Нұсқа ІІ
1.
Телефон желісінің қызметі келесі түрде төленеді: А минутке дейін сөйлескені
үшін айына – В тенге, одан артық болса – С тенге төленеді. Бір айда сөйлескен
уақыт үшін қанша тенге төленетіндігін есептейтін программа құрыңыз.
2.
)
64
)...(
8
)(
4
)(
2
(
)
63
)...(
7
)(
3
)(
1
(
X
X
X
X
X
X
X
X
мәнін есептеу программасын жазыңыз.
3.
Бастауыш сыныптың оқушылары сыныптары бойынша бой – бойымен сапқа
тұрғызылған. Әрбір сынып бойынша оқушылардың орташа бой көрсеткішін
анықтайтын программа жазыңыздар.
Бақылау жұмысы №2
Бақылау жұмысы жолдық мәліметтерді өңдеу және ішкі программаларды құру
тақырыбын меңгергендігін тексеруге арналған.
Нұсқа І
Жол берілген. Жолдағы тыныс белгілер санын есептеу.
«Қазақтелеком» телефон станциясының абоненттері туралы мәліметтер белгілі:
абоненттің аты-жөні, мекен-жайы, телефонды қондырған жылы, телефон номері.
Соңғы 5 жыл ішінде телефон қондырған абоненттердің санын анықтап, экранға
аты-жөнін және мекен-жайын шығару.
Нұсқа ІІ
1. Жол берілген. Осы жолдағы «a» әріптерін «b» әріптеріне ауыстыратын
программа жазу.
2. Әуежай кассасында төмендегідей мәліметтер белгілі: рейстің номері, баратын
жері, ұшу уақыты, ұшатын күндері (күн сайын, жұп күндері, тақ күндері).
Клавиатурадан енгізілген күні Лондон қаласына ұшатын рейстің номері мен
ұшу уақытын анықтайтын программа құру.
Емтихан сұрақтары:
№ Сұрақтар мәтіні
1.
Мәліметті бейнелеу моделдері мен алгоритмдік концепциялары
негіздері.
2.
Программалау тілдері жіктемесі.
3.
Программалау технологиялары.
4.
Алогритмдер құру және оны талдау түсініктері.
5.
Программалау стилдері.
6.
Си программалау тілі туралы жалпы мағұлыматтар. Өзге тілдерден
ерекшелігі.
7.
Си тіліндегі программа құрылымы.
8.
Стандартты енгізу-шығару мүмкіндіктері.
9.
Форматтап шығару функциясы. Мысалдар.
10. Форматтап енгізу функциясы. Мысалдар.
11. Форматтау тегтері.
12. Жолдарды енгізіп-шығару функциялары.
13. Айнымалылар аттары. Мәліметтер типі мен өлшемі.
14. Тұрақтылар.Декларациялар.
15. Арифметикалық операторлар.
16. Логикалық және реттік қатынас операторлары.
17. Типтерді түрлендіру.
18. Инкрементік және декременттік операторлар.
19. Биттік операторлар.
20. Меншіктеу және өрнек операторлары.
21. Шартты өрнектер.
22. Есептеулер реті мен приоритеттері.
23. Инструкциялар мен блоктар түсінігі.
24. Шартты конструкциялар.
25. Ажыратқыш (таңдау) инструкциясы.
26. Циклдар инструкциялары.
27. Циклдың жұмысын үзу инструкциялары мен басқаруды шартсыз
көшіру.
28. Функциялар туралы негізгі мәліметтер. Функциялардың қайтаратын
мәндері.
29. Сыртқы және ішкі айнымалылары.
30. Файлдармен жұмыс жасау ерекшеліктері, режимдері
31. Файлдармен жэұмыс жасау функциялары.
32. Тексттік файлдармен жұмыс жасау мүмкіндіктері.
33. Екілік файлдармен жұмыс жасау мүмкіндіктері.
34. Рекурсия. Түсінігі мен түрлері.
35. Рекурсивті алгоритмдер.
36. Массивтер. Типінің сипаттамасы. Инициализациялау тәсілдері.
37. Бір өлшемді массивтерді өңдеу мүмкіндіктері.
38. Екі өлшемді массивтерді өңдеу мүмкіндіктері.
39. Массивтерді сұрыптау алгоритмдері.
40. Массивтерден іздеу алгоритмдері.
41. “string.h” тақырыптық файлының мазмұны.
42. Массивтерді енгізу-шығару мүмкіндіктері.
43. Литерлер массиві.
44. Көрсеткіштер.
45. Адрестер. Адрестік арифметика.
46. Көрсеткіштер мен массивтер.
47. Көрсеткіштер массиві.
48. Функцияларға көрсеткіштер.
49. көрсеткіштер мен функция аргументтері.
50. Структура туралы жалпы түсініктер.
51. Структуралар массиві.
52. Структуралар мен функциялар.
53. Структураларға көрсеткіштер .
54. typedef құралы.
55. Бірігу. Синтаксисі, бірігу элементтерімен мән алмасу мүмкіндіктері.
56. Символдарды түрлендіруге және тексеруге арналған
файлындағы функциялар.
57. Си тілде қолданылатын математикалық функциялар.
58. бас файлындағы жалпы жағдайларға арналған функциялар.
59. ОБП негіздері, принциптері.
60. Программа сапасын бағалау критерийлері.
61. Программаны жобалау тәсілдері.
62. Программаны жобалау кезеңдері.
63. Компоненттік технология.
Тест тапсырмалары:
Функцияның қайтаратын мәнінің жоқтығын қандай сөз білдіреді:
Void.
Main.
Function.
Procedure.
Sql.
Горизонталды табуляцияны білдіретін эскейп-тізбек:
\t.
\n.
\r.
\a.
\v.
Бүтін ондық санды (типі int) білдіретін формат спецификаторы:
%d.
%c.
%f.
%e.
%s.
C++ тегі x айнымалысына мән енгізу операторы:
Cin>>x.
Scanf(“%f”, &x).
Cout<Printf(“\nx=”,x).
Cin<
Санды белгілі бір дәрежеге келтіру функциясы:
Pow().
Cos().
Sqrt().
Log().
Abs().
Айнымалының адресін операторы:
&
%
\
*
=
Жаңа жолға көшіруді басқаратын символ:
\n.
\t.
\v.
\a.
\r.
Рекурсияның түрлері:
Тіке, жанама.
Тізбекті, тізбексіз.
Статикалық, динамикалық.
Терең, тайыз.
Шексіз, шектеулі.
Сегіздік кодты бейнелейтін эскейп тізбегі
\ooo
\b
\xhh
\i
|ooi
c-ны жоғарғы регистрге келтіретін функция
toupper(c)
isalnum(c)
tolower(c)
case(c)
Upcase ( с)
# include
main ( ) {
long nc;
nc =0;
while ( getchar ( ) ! = EOF ) ++ nc;
prinf ( “ % d \n “ , nc ) ;
} программасы нені анықтайды ?
литерлер санын есептейді
литерлер кодын шығарады
литерлерді экранға шығарады
файлдан оқиды
литерлер кодын қосады
Функция мәнін қайтару инструкциясын таңдаңыз:
return
end
printf
define
typedef
Мәліметтерді шығару барысында дыбыс шығарту эскейп -тізбегі:
\ а
\ в
\ f
\ n
\ ?
Файлдан оқу немесе файлға жазу үшін файлды ашу функциясын
көрсетіңіз:
fopen
FILE
open
EOF
fscanf
Қолданушы файлмен байланыс орнату үшін қандай декларацияны анықтауы
тиіс:
FILE *fp;
file fp;
FILE open (fn);
fopen file
file *open
FILE құрылымы (структурасы) қандай тақырыпты файлда сипатталған?
< stdio.h>
сипатталмаған
Файлдық обьектінің конструкторындағы екінші аргумент құрамындағы
флаг қандай болғанда файл екілік режимде ашылады?
ios :: binary
ios :: noreplace
ios :: nocreate
ios :: app
ios :: in
A[n] массиві элементтерінің индексі қай аралықта өзгере алады?
0 – ден бастап n – 1 ге дейін;
1 – ден бастап n – 1 - ге дейін;
n – нен бастап 1 –ге дейін;
0 – ден бастап 255 арасында.
1 – ден бастап 255 арасында.
Төменде бір өлшемді массивтің максиммал элементін табу программасының
фрагементі келтірілген. Төмендегі нұсқалардың ішінен дұрысын көрсетіңіз?
int a[5], max, I;
{
<Массив элементтерін енгізу>
max[0];
for (i=1; i>n; i++)
if (a[i]>max) max=a[i];
…
}
int a[5], max, I
{
<Массив элементтерін енгізу>
max[0];
for (i=1; i>n; i++)
if (a[i]…
}
float a[5], max, I;
{
<Массив элементтерін енгізу>
max[0];
for (i=1; i>n; i++)
if (a[i]>max) max=a[i];
…
}
int a[5], max, I;
{
max[0];
for (i=1; i>n; i++)
if (a[i]>max) max=a[i];
<Массив элементтерін енгізу>}
int a[5], max, I;
{
max[0];
for (i=2; i>n; i++)
if (a[i]<Массив элементтерін енгізу>
}
Графикамен жұмыс жасағанда қате кодын экранға шығару үшін қандай
функция пайдаланылады:
grapherrormsg (қате коды);
detectgraph(қате коды);
graphresult (қате коды);
error (қате коды);
closegraph(қате коды);
Тексттік режимнен графиктік режимге қайта ауысу функциясы:
setgraphmode( );
restorecrtmode( );
detectgraph( );
initgraph( );
grapherrormsg ();
settextstyle ( ) функциясы қандай қызмет атқарады?
Шрифт түрін, бағытын, өлшемін тағайындайды;
Шрифт түсін тағайындайды;
Шрифт өлшемін тағайындайды;
Шрифт сызылымын тағайындайды;
Шрифт бағытын тағайындайды;
cleardevice ( ) функциясы қандай қызмет атқарады?
Экранды тазалайды;
Графикалық режимді инициялизациялайды;
Графикалық режиммен жұмысты аяқтайды;
Текстті экранға шығарады;
Текстті өшіреді;
moveto (x, y) функциясы қандай қызмет атқарады?
Позиция көрсеткішін х,у жаңа координаттарға орын ауыстырады;
Ағымдағы позиция көрсеткішіне х,у өсімшелерін қосады ;
х,у координатты нүктені салады;
Басы х,у координаттарында орнласқан түзу кесінді тұрғызады;
х,у позициясындағы символд өшіреді;
х,у позициясынан бастап sp жолын экранға шығару функциясы:
outtextxy(x,y,sp);
outtextxy(sp);
text(x,y, sp);
outtext(x,y);
outtext(sp);
Тұйық облысты бояу функциясы:
floodfill (x,y, шекара );
floodfill (x,y);
fillpoly(x,y, шекара );
fillellips(x,y, rx, ry);
settextfill (x,y, шекара);
Графиктік режимнен тексттік режимге уақытша ауысу функциясы:
restorecrtmode( );
setgraphmode( );
detectgraph( );
initgraph( );
grapherrormsg ();
Ешқандай мән қайтармайтын функцияны көрсетіңіз:
void kos(int x, int y);
float kos(float y);
bool kos(int x, int y);
float kos(char x);
double kos( float *p);
Растрлы бейненің ең кіші элементі не болып табылады?
Пиксель;
Түзу;
Кесінді;
Квадрат;
Шеңбер;
Seekp ( ) функциясының қызметі қандай?
Файлдан оқу барысындағы маркердің (файлдың ағымды) орнын анықтау
Файлға жазу барысындағы маркердің (файлдың ағымды) орнын анықтау
Маркердің позициясын қайтарады
кез келген файлдың маркерін басына қою
кез келген файлдың маркерін соңына қою
Seekg ( ) және seekp ( ) функцияларының екінші аргументтері ретінде
алынған қай флаг маркерді файлдың басынан бастап көрсетілген байтқа
жылжыту әрекетін орындайды?
ios:: beg
ios:: cur
ios:: end
ios:: app
жылжытпайды
С/С++ тілінде бір өлшемді массивті қалай сипаттайды? Төменде
көрсетілген нұсқаларының ішінен дұрысын көрсетіңіз:
<типі> <массив аты> [өлшемі];
var <массив аты>:array[1..n] of <типі>, мұндағы n – массив
элементтерінің саны;
<массив аты> [өлшемі] <типі>;
void <массив аты> [өлшемі] <типі>.
Массив қолданылмайды
Массивті сипаттау кезінде қолданылатын тұрақтыны қандай
директивада сипаттауға болады?
# define;
# conio.h;
# stdio.h;
# math.h.
# math
Жолдың ұзындығын табу функциясын көрсметіңіз:
str len
strstr
Strcmp
strcpy
Length
Strstr (S1,S2) Функциясы …
S1 жолына S2 жолының енуін анықтайды
S1 жолының соңына S2 жолын тіркеп жазады
S1, S2 жолдарын салыстырады
S1 жолының әріптерін жоғарғы регистрге ауыстырып S2 жолына жазады
S1 жолының әріптерін төменгі регистрге ауыстырып S2 жолына жазады
Си тілінде мәндер типіне жаңа атау беруге мүмкіндік беретін құрал:
typedef
tupe
union
struct
Элементтерінің бірі көрсеткіш болатын структураны атайды.
С++ тілінде файлмен жұмыс жасау барысында қолданылатын классты
көрсетіңіз:
ifstream
stream
iostream
print
input
Файлға мәліметті форматтап шығару үшін қандай функция қолданылады?
fprintf,
fscanf,
fopen,
fwritef,
freadf,
for do цикл операторында айнымалы параметр қандай типті болуы керек?
бүтін типті;
нақты типті;
жолдық типті;
логикалық типті.
Массив типті
С/С++ тілінде циклдың қандай түрлері бар? Төменде көрсетілген
нұсқалардың ішінен дұрыс емесін көрсетіңіз.
repeat until;
for ();
while ;
do while;
Do while ; while;
с литерін тµменгі регистрге келтіретін функция
tolower(int c)
free(void *c)
toupper(int c)
case(c)
Upcase( c)
if (a>b) z=a; else z=b инструкциясын басқаша қалай жазуѓа болады?
z=(a>b)?a:b
a>b:z=a:z=b
z=a>a>b:z=b
if (a>b) z=a else z=b
(a>b)?a:b
Түзету үшін тексттік файлды ашу?
"r+"
"w"
"r"
“a”
“b”
С/С++ тілінде екі өлшемді массивті сипаттаудың төменде көрсетілген
нұсқаларының ішінен дұрысын көрсетіңіз
<типі> <массив аты> [жолының өлшемі] [бағанының өлшемі];
var <массив аты>:array[1..n,1..m] of <типі>, мұндағы n – массив жолдарының
саны, m – массив бвғвндарының саны;
<массив аты> [өлшемі] <типі>;
void <массив атыі> [өлшемі] <типі>.
<массив атыі> [өлшемі] <типі>.
C тілінде екі өлшемді массивті шығарудың төмендегі нұсқаларының
қайсысы дұрыс?
for (i=0; i< <массив өлшемі>; i++ ) {
for (j=0; j< <массив өлшемі>; j++ )
printf(‘% <массив типінің форматы>’, <массив аты> [і] [j]); }
for (i=0; i<= <массив өлшемі>; i++ ) {
for (j=0; i<= <массив өлшемі>; j++ )
printf(‘& <массив типінің форматы>’, % <массив аты> [і] [j]); }
for (i=0; i<= <массив өлшемі>; i++ )
for (j=0; i<= <массив өлшемі>; j++ )
scanf(‘% <типінің форматы>’, & <массив аты> [і] [j]);
for (i=0, i< <массив өлшемі>, i++ )
for (j=0, j< <массив өлшемі>, j++ )
printf(‘% <типінің форматы> & <массив аты> [і] [j]”);
for (, i< <массив өлшемі>, i++ )
for (j=0, j< <массив өлшемі>, j++ )
printf(‘% <типінің форматы> & <массив аты> [і] [j]”);
Аргументтері бүтін тип ретінде сипатталған функцияны көрсетіңіз:
bool kos(int x, int y);
float kos(float y);
void kos(int x, int y);
float kos(char x);
double kos( float *p);
Мәндер енгізу барысында буферд тазалау үшін қандай функция қолданылады?
flushall ( )
flush
dispose
clear
clear bus
Атаусыз структура деп …
Анықтау барысында тегі көрсетілмеген структураны айтады.
Бірдей типті айнымалылардан тұратын структураны атайды.
Элементтерінің бірі көрсеткіш болатын структураны атайды.
Элементтерінің бірі структура болатын структураны атайды.
Дұрыс жауап жоқ.
Іштестірілген структура дегеніміз не?
Элементтерінің бірі структура болатын структура
Элементтерінің бірі көрсеткіш болатын структура
Элементтерінің бірі символдық массив болатын структура
Тегі көрсетілмеген структура
Дұрыс жауап жоқ
Төмендегі программа нені есептейді?
#include
main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf(“%1d\n”,nc);
}
Литерлер санын есептейді;
Нөлдік литерлер санын есептейді;
Ештеңе есептемейді;
‘\0’ литерінің санын есептейді;
Файлдың соңын анықтайды.
Төмендегі фрагмент нені анықтайды?
If (c>=’0’ && c<=’9’) ++nc[c-‘0’];
Литер цифр болса, онда әр цифрдың санын анықтайды;
Литер цифр болса, онда әр цифрдың кодын анықтайды;
Литер цифр болсамаса, онда әр цифрдың санын анықтайды;
Әр символдың санын анықтайды;
Литерлер санын анықтайды;
Төмендегі функция нені анықтайды?
…
int step(int b,int n){
int p;
for(p=1; n>0;--n)
p=p*b;
return p;
}
B – ның N – дәрежесін анықтайды;
Әртүрлі N санның көбейтіндісін есептейді;
В-ны N рет қосады;
B – ны N – ге көбеййтеді;
Ештеңе.
Спецификатордың алдындағы қандай таңба санды барлық уақытта таңбасымен
шығару қажеттігін білдіреді?
+
-
#
%
&
Fmod(x,y) функциясы нені анықтайды?
Х –ті У –ке бөлгендегі қалдықты бөлшек сан түрінде анықтап қайтарады;
Х –ті У –ке бөлгендегі қалдықты бүтін сан түрінде анықтап қайтарады;
Х –ті У –ке бөлгендегі бүтін бөлігін қайтарады;
Х –ті У –ке бөлгендегі қалдықты қиып алып қайтарады;
Ештеңе.
Төмендегі фрагмент нені анықтайды?
Printf(“\n[%d] %-15s”,++I,gol);
Жолдың кем дегенде 15 символын шығарады және сол жағынан пробелмен
толтырып тегістейді;
Жолдың кем дегенде 15 символын шығарады және оң жағынан пробелмен
толтырып тегістейді;
Жолдың кем дегенде 15 символын шығарады ;
Жолдың кем дегенде 15 символын шығарады және ортасынан пробелмен
толтырып тегістейді;
Жолдың 15 символын ғана шығарады және сол жағынан пробелмен толтырып
тегістейді
Төмендегі фрагмент нені анықтайды?
Cout<K мәнін сегіздік санау жүйесінде шығарады;
K мәнін екілік санау жүйесінде шығарады;
K мәнін оналтылық санау жүйесінде шығарады;
K мәнін ондық санау жүйесінде шығарады;
K мәнін шығарады.
Функция қандай типті мән қайтара алмайды?
Мссив типті;
Бүтін типті;
Нақты типті;
Символдық;
Булевті;
Графикалық режим дұрыс инициализацияланған жолды көрсетіңіз:
initgraph(&gd, &gm, “BGI файлының жолы”);
detectgraph(&gd, &gm, “BGI файлының жолы”);
initgraph(gd, &gm, “BGI файлының жолы”);
detectgraph(gd, &gm, “BGI файлының жолы”);
initgraph(&gd, gm, “BGI файлының жолы”);
void salistr (int a, int b)
{
int c;
if (a>b) c=a;
else c=b;
printf(‘c=%i’, c);
}
функциясының орындалуы нәтижесінде не қайтарылады?
Ешқандай мән қайтарылмайды
Бүтін типті мән
Нақты типті мән
Символдық типті мән
Булевті типті мән
Жаңа файлды әрі оқуға әрі жазға ашу режимі қайсысы?
W+;
W;
R+;
R;
A+;
FILE структурасы қандай тақырыптық файлда сипатталған?
Stdio.h;
Iostream.h;
Stdlib.h;
Math.h;
Strstrea.h.
Int *p;
Int a;
…
p=&a;
p++;
p--;
…
фрагментінің орындалу нәтижесінде р қайда сілтейді?
А мәні орналасқан орынға;
Ешқайда;
А орналасқан орыннан кейінгі ұяшыққа;
А орналасқан орынға дейінгі ұяшыққа;
Р ұяшығына.
Текст шығарылатын орынның фонының түсін анықтау функциясын
көрсетіңіз:
Textbackground;
Textcolor;
Color;
Window;
Text;
X
Y
мәнін есептеу функциясы қайсы?
Pow;
Sqrt;
Exp;
Expl;
Rand;
Fabs(doudle x) функциясы нені есептейді?
Х аргументінің нақты абсолюттік мәнін есептейді;
Х аргументінің бүтін абсолюттік мәнін есептейді;
Х аргументінің мәнін есептейді;
Х аргументінің дәрежелік мәнін есептейді;
Х аргументінің мәнін математикалық дөңгелектеу орындалады.
Таңдау операторының барлықтармағына қойылуы мүмкін
операторды көрсетіңіз:
Break;
Exit;
Close;
Switch;
Ондай мүмкін емес.
Графиктік режимде курсор көрсеткішін берілген координаталы
нүктеге көшіру функциясын көрсетіңіз:
Moveto;
Moverel;
Linerel;
Outtext;
Out;
Setfillstyle функциясының қызметі қандай?
Берілген аймақты бояу стилі мен түсін орнатады.
Сызықтың түсі мен стилін анықтайды.
Тіктөртбұрыштың шекараларының түсі мен стилін анықтайды;
Тексттің түсін анықтайды;
Түзудің стилін анықтайды.
Белгілі бер секундтар мөлшерінде үзіліс жасау әрекетін орныдайтын
функцияны таңдаңыз:
Delay;
Pause;
Sound;
Nosound;
Next.
Параллепипед сызу функциясы:
Bar3d;
Bar;
Arc;
Rectengle;
Paral;
Таңдау операторында мәні анықталмаған жағдайлар үшін
анықталған тармақ қандай қызметші сөзден басталады?
Default;
Case;
Switch;
Else;
Then;
Функция ешқандай мән қайтармаса қандай типпен сипатталады?
Void;
Int;
Double;
Char;
Bool;
++*P өрнегі орындалу нәтижесі қандай?
Р сілтейтін мән бірге арттырылады;
Р көрсеткішінің мәні арттырылады;
Көрсеткіштің де оның сілтейтін мәні де бірге артады;
Р көрсеткіші бір байтқа жылиды;
Р көрсеткіші жойылады;
Int x=1, y=2.z[10];
Int *p;
Ip=&x;
Y=*p;
Фрагменті орындалу нәтижесінде у нешеге тең?
1
2
0
-1
-2
++*P өрнегіне эквивалентті өрнекті көрсетіңіз:
*p+=1
*(p++)
*p++
*p+1
*(p+)
Жұмысшы алаңдағы программаны қадамдап орындауға арналған перде
қандай?
F8
F7
F9
CTRL
ALT+F5
C программалау ортасында текст блогын өшіріп тастау үшін қандай
пернелер комбинациясы қолданылады?:
Ctrl+del.
Ctrl+shift.
Ctrl+ins.
Ctrl+end.
Shift+del.
Программалау тілдеріндегі типтер жүйесі туралы қай тұжырым дұрыс
емес?
Типі анықталған айнымалы программаның орындалу барысында мәнін
өзгертпейді.
Типі мәнінің жадыда бейнелену форматын анықтайды.
Типін анықтау арқылы айнымалыға бастапқыда жадыдан қанша орын
бөлінетіндігі анықталады.
Айнымалыға меншіктеу барысында сәйкес емес мәнді меншіктету
қателігін бақылау барысында типі қолданылады.
Тип арқылы мәніне қолданылатын амалдар тобы анықталады.
ҰСЫНЫЛАТЫН ӘДЕБИЕТТЕР:
1. Б. Керниган, Д. Ритчи Язык программирования Си: Пер. С англ. – М.:
Финансы и статистика, 1992.-272с.
2. Крис Паппас, Уильям Мюррей Программирование на С и С++: -К.: Изд.
Группа BHV,2000. -320 с.
3. Вирт Н. Алгоритмы и структура данных: Пер. с англ.-М.: Мир, 1989.
4. А.Г.Юркин. Задачник по программированию. Питер, 2002 г.
5. Н.Культин., С/С++ в задачах и примерах – БХБ-Петербург, 2002 г.
6. Уэйт М . Язык Си. Руководство для начинающих: Пер. с англ. – М., Мир, 1988
г.
7. Ален И. Голуб. Правила программирования на С и С++: М., БИНОМ, 1996.
8. Белецкий Я. Энциклопедия языка Си. М.: Мир, 1992.
9. Б.И.Березин, С.Б.Березин Начальный курс С и С++, Москва, 999 г.
10. Уолтер Савич С++ во всей полноте. Москва,Киев,2005.
11. Дэвис, Стефан, Р. С++ для «чайников», Москва, Сант-Петербург, Киев 2001.-
336с.
12. Гудман С. и др. Введение в разработку и анализ алгоритмов. – М.: Мир, 1981.
13. Марков А.С. и др. Программное обеспечение ЭВМ. – М.: Выс. Шк., 1990.
14. Болски. Язык программирования Си. Справочник пер. с английского, М.,
Радио и связь, 1988.
15. Бондарев В.М. Основы программирования. Харьков: ФОЛИО, Ростов-на-
Дону: ФЕНИКС.
16. И.Ю. Каширин, В.С. Новичков От Си к Си++, Москва:Горячая линия –
Телеком, 2005. – 334 с.
17.
Уэйт М., Прата С., Мартин Д. Язык Си. Руководство для начинающих: Пер с
англ.-М.:Мир,1988.
18. Климова Л.М. Pascal 7.0 Практическое программирование. Решение типовых
задач.-М.:КУДИЦА-ОБРАЗ,2000.-496 с.
Мазмұны
Пәннің типтік бағдарламасы 3
Оқу пәнінің жұмыс бағдарламасы 6
Силлабус 19
Пән бойынша тапсырмаларды орындау және тапсыру кестесі 27
Пәннің оқу-әдістемелікпен қамтамасыз ету картасы 28
Теориялық материалдарға шолу 31
Практикалық сабақтар жоспары 97
Пәнді оқуға арналған әдістемелік нұсқаулар 98
Практикалық сабақтарға әдістемелік нұсқау 108
Лабораториялық сабақтарға әдістемелік нұсқау 153
Өзіндік жұмыстарды орындауға арналған әдістемелік нұсқаулар 242
Глоссарий 248
Студенттің білім деңгейін бақлауға арналған материалдар 253
Емтихан сұрақтары 255
Тест тапсырмалар тізімі 257
Мазмұны 274
КЕЛІСІМ БЕТІ
ПӘННІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ
Мамандығы
5В060200 - «Информатика»
Пәні PTT1207 Программалау тілдері және технологиялары
Білім деңгейі жоғары білім (бакалавр)
Оқу формасы жалпы орта білім негізіндегі күндізгі бөлім
Оқу жылы 2010-2011жж.
Оқу ісі жөніндегі проректор
б.ғ.д., профессор ______________ Айпеисова С.А.
«___»____________2011 ж.
Достарыңызбен бөлісу: |