Массивтермен жұмыста көрсеткіштерді пайдалану

МАЗМҰНЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..2
I. КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
II. НЕГІЗГІ БӨЛІМ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1. Массивтермен жұмыста көрсеткіштерді пайдалану ... ... ... ... ... ... ... ... ..7
2. Мәліметтер структурасын қолдану арқылы программалар құру ... ... ... .8
3. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..10
4. Есептің Си тілінде шығарылуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .12
5. Есептің түсіндірілуі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
III. ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .17
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...18
“Си тілінде программалаудың негіздері“ әдістемелік нұсқауы “Бағдарламалау технололиясы” курсы бойынша лабораториялық жұмыстарға арналып құрастырылған. Нұсқау аталған курс бойынша лаборатория жұмыстарының берілуін құрайтын екі бөлімнен тұрады. Нұсқауда келтірілген лабораториялық жұмыстарды толық түрде орындау қажет. Ол студенттің Си тілінде программалауда оның жабдықтарын қолдана білуге, білімін тереңдету мен жетілдіруге септігін тигізеді.
Әдістемелік нұсқаудың бірінші бөлімінде лабораториялық жұмыстардың тақырыптары бойынша, қысқаша теориялық мәліметтер келтірілген, сондай-ақ тапсырмалар варианттары мен Си тіліндегі программаларды құрудың мысалдары келтіріледі және алғашқы алты лабораториялық жұмыстар үшін Си тілінің негізгі амалдары, нұсқаулары мен стандартты функцияларды, қарапайым программаларды құруда қолданылатын күрделі типтерді қолдану жайлы қысқаша меліметтер келтірілген, сондай-ақ бірнеше функциялардан тұратын программаларды құру мүмкіндіктері қарастырылады.
Екінші бөлімде лабораториялық жұмыстарды орындау үшін лабораториялық жұмыстардың тақырыптары бойынша қысқаша теориялық мәліметтер келтірілген, сондай-ақ тапсырмалар варианттары мен Си тіліндегі программаларды құрудың мысалдары лабораториялық жұмыстар бойынша есеп беру мазмұны келтіріледі.
Бұл бөлімде бірнеше функциялардан тұратын программаларды құрастыру. Мәліметтер структурасын өңдеу және файлдық айнымалыларды қолдану арқылы программалар құру.Сондай-ақ көрсеткіштер мен тиімді программаларды құру мақсатында сызба жабдықтарын қолдану варианттары қарастырылады.
1. Р.Уинер Язык ТурбоСи Москва “Мир” 1991
2. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И.
Задачи по программированию.-М.:Наука, 1988
3. Страуструп Б.Язык программирования С++.-СПб. М. Невский диалект- “БИНОМ”, 1998.
4. Дейтел Х., Дейтел П. Как программировать на С++.-М.:ЗАО “Издательство БИНОМ”, 1998
5. Керниган Б., Ритчи Д. И др. Язык программирования Си. Задачи по языку Си.-М. Финансы и статистика, 1985
6. Х. Дейтел, П. Дейтел. Как программировать на С. Введение в С++ и Java. М.: «Бином», 2002.
7. Введение в С++: курс программирования. М.: «Бином», 2002
8. Х. Дейтел, П. Дейтел. С++. Как программировать. М.: «Бином», 2002.
        
        МАЗМҰНЫ
МАЗМҰНЫ.....................................................................
.........................................2
I.
КІРІСПЕ.............................................................
...................................................3
II. ... ... ... ... ... ... ... арқылы программалар құру.............8
3. ... ... Си ... ... түсіндірілуі……………………………………………………….13
III. ҚОРЫТЫНДЫ ……..………………………………………………………..17
ҚОЛДАНЫЛҒАН ... ... ... ... ... ... технололиясы” курсы бойынша лабораториялық жұмыстарға
арналып құрастырылған. Нұсқау аталған курс бойынша ... ... ... екі ... ... ... ... лабораториялық
жұмыстарды толық түрде орындау қажет. Ол ... Си ... оның ... ... ... ... ... мен
жетілдіруге септігін тигізеді.
Әдістемелік нұсқаудың бірінші ... ... ... ... ... теориялық мәліметтер келтірілген,
сондай-ақ тапсырмалар варианттары мен Си ... ... ... ... және ... алты лабораториялық жұмыстар үшін Си
тілінің негізгі амалдары, нұсқаулары мен ... ... ... ... ... күрделі типтерді қолдану жайлы қысқаша
меліметтер келтірілген, сондай-ақ бірнеше ... ... құру ... ... ... ... жұмыстарды орындау үшін
лабораториялық жұмыстардың тақырыптары бойынша қысқаша теориялық мәліметтер
келтірілген, ... ... ... мен Си ... ... ... лабораториялық жұмыстар бойынша есеп беру
мазмұны келтіріледі.
Бұл бөлімде бірнеше функциялардан тұратын ... ... ... ... және ... айнымалыларды қолдану арқылы
программалар құру.Сондай-ақ көрсеткіштер мен ... ... ... ... ... қолдану варианттары қарастырылады.
Массивтермен жұмыста көрсеткіштерді пайдалану.
Жұмыстың мақсаты. Массивтермен ... ... ... ... ... ... ... сақтайтын айнымалы.
Көрсеткіштер мен адрестер. Көрсеткіш объектінің адресін кұрайтын
болғандықтан, бұл ... осы ... ... ... ... ... ... -
қатынаста болуымызға мүмкіндік береді. Мысалға ... х int ... ал рх ... ... ... & ... ... обьектінің
адресін береді, яғни рх=&x нұсқауы px айнымалысына х адресін ... х-ке ... деп ... ... тек қана ... элементтері мен
айнымалыларға қолданылады, ал келесідей конструкциялар &(x-1) ... ... емес ... табылады. Сонымен қатар регистрлік айнымалылар адресін
алуға болмайды.
Массив. Паскаль программалау ... ...... ... ... Басқаша айтқанда, массив бір атауға біріктірілген
айнымалылардың ... ... ... ... ... жалпы санын және элементтердің типін көрсету ... ... ... ... ... ... ... қарастыруға
болады. Массив типін келесі түрдей анықтауға болады:
TYPE =ARRAY [] of ;
- ... ... - бір ... бірнеше индекстік типтердің тізбегі,
үтір арқылы жазылған.
- элементтер типі.
Си программалау тілінде массив бірдей ... ... ... ... етіп сақтай алады. Массивті хабарлау деп оның атауы ... ... ... ... Ол ... ... элементтер
санын да ... ... ... ... ... ... тип мәніне тұрақты ретінде қолданылуы мүмкін. Егер де
сипатталатын массив типі көрсетілмесе, онда int ... ... ... ... ... ... синтаксисі келесі түрде болады:
[] [] [].
... ... ... ... белгісі болып саналады. Квадраттық жақшалардағы әр тұрақты өрнек
берілген өлшеудегі массивтің элементтерінің ... ... ... индекстеу нөлден басталады. Сонымен, ... ... ... ... ... ... 1-ге кем ... Массивке
ның элементтерін орналастыратын жады бөлінеді. ... ... ... элементіне дейін барлығы адрестерінің өсу реті бойынша
тізбектелген жады ұяшықтарында орналасады. ... ... ... бос ... ... ... ... типі және қажет болса компьютер
жадысының класы көрсетіледі.
Жадының класына байланысты сыртқы, статикалық, автоматтық, регистрлік
болуы ... ... ... тек ... және статикалық массивтер
иницалдануы мүмкін. Сыртқы және статикалық массивтердің сипатталуы келісім
бойынша осы массивтердің ... ... тең ... ... ... ... ... соңғы бағыттағы адрес ретінде
қарастырады және осы адрестен мәнін алуды көздейді. Бұдан мысалға у ... ... ... онда рх ... ... ... адрестің мәнін
қабылдайды у=*px: Келесі екі нұсқаудың жұмысы.
Px=&x;
Y=*px;
Y=x; oперациясымен тең ... ... ... ... ... ... болады.
Int x, y:
Int *px;
Көрсеткішті int *px сипаттамасын ... Бұл ... ... типі int және көрсеткіш. Бұдан шығатыны, егер рх контекстіде
* рх болса , онда ол int ... ... ... ... ... бұл айнымалының кездесуі мүмкін
өрнектерді имитациялайды. Бұл ... ... ... ... ... жөн. ... , double atof(), *DF ... Atof ()
*DF айнымалыларының типтері бірдей екндігін көрсетеді.
Бұл сипаттаудан көретініміз, көрсеткіш тек ... ... ғана ... ... ... өрнектерге кіре алады.Мысалы, егер
РХ бүтін типті Х-ке сілтейтін болса, онда РХ Х ... кез ... ... мүмкін.
8=*px + 1 Нұсқауында УХ –тен 1-ге ... ... ... D\N”, * PX) ... ... ... ... ((double )*px) өрнегі double X типіне айналдырып, X-тен ... ... ... ... ... * және & унарлы
операциялары арифметикалық ... ... ... өте тығыз байланысты болады.Сондықтан, бұл өрнек рх сілтеп
тұрған мәнді алып, ол ... ... ... ... у-ке ... сол операнда етіп те пайдалануға болады. Егер ... ... онда ... x=0, *px+=1 ... ... (*px)++ ... ... сәйкес. Ақырғы өрнекте жақшалар міндетті түрде болуы тиіс. Егер
оларды қоймаса, онда унарлы операциялар *,++ оңнан солға ... ... ... да , ол сілтеп тұрған айнымалы сол күйінде қалады.
Соңында, көрсеткіштер айнамалы болғандықтан, басқа ... ... да ... ... қолдана аламыз. Егер көрсеткіштер ... ... ... ру =рх ... ... ... ... ру рх
көрсеткен адреске сілтейді.
Көрсеткіштер мен массивтер. Си ... ... мен ... тығыз байланыс бар. Индекстерге қолданған амалдарды көрсеткіштер
көмегімен іске асыруға ... Олар ... ... тез ... бірақ мағынасын түсіну қиынырақ.
Int a [10] өлшемі 10-ға тең бір өлшемді ... ... ра ... ... ... болып сипатталса, онда pa=&a[0]
дегеніміз А массивінің 0-дік элементінде ра ... Бұл ... ра ... ... адресін сақтайды деген сөз. Ал енді x=*pa мәнін Х өзіне
көшіреді.
Массивтің анықталған бір ... ... ... егер Pa+1
болса, онда ол келесі ... ... ... Pa-1 бір ... ... ... ... ал Pa+1 бір позиция кейін тұрған ... Ра А-ны ... ... онда * (pa+1) ... A көрсетеді.
Ал көрсеткішке 1-ді қосудың және көрсеткішке ... ... ... ... ... Көрсеткіш көрсетіп тұрған
обьектінің өсуі жады ... ... ... ... ... алдында 1 Ра көрсеткен обьекті көлеміне көбейтіледі.
Индекстеу мен көрсеткіш арифметикасы арасында өте жақын байланыс
бар. Компилятор негізінде ... ... ... ... ... массив көрсеткішті болады. Яғни, көрсеткіш массив басына көрсететін
болғандықтан ... ... ... ... ... ... ... арқылы *(а+і) деп сипаттағанда, ол
а(і)ге эквивалентті болатындығын көруге болады.Тек массив атауы ... ... ... бар. ... айнымалы, сондықтан ра=а және
ра++орынды, ал массив ... үшін а = ра және а++. P=&a ... ... ... ... ... функцияға берілгенде, оның бірінші элементі
орналасқан жері беріледі. Функция ішінде шақырған ... ... ... яғни ... атын ... ... ... болады. Біз бұны
STRLEN функциясын жаңадан жазғанда қолданайық.
Strlen(s) /*return length of string s ... ... int ... ( n=0; *s!=’\0’;s++) n++;
return (n);
}
s++ өсу операциясы заңды, себебі айнымалысы көрсеткіш. STRLEN ... ... ... ... болмайды. Функцияны сипаттағанда,
формальді параметрлерді анықтау мынандай түрде болады.
Char s [];
Char*s;
Бұлар өзара тең ... және ... ... ... аламыз.
Массивті бөліп жартысын функцияға беруге болады. Егер ішкі массив
аргументі басын көрсеткіш ретінде алсақ.
Мысалға, а массив болсын, онда f(&a[2]) және f(a+2) f ... ... ... береді. Себебі, &a[2], a+2, 3-I а элементіне
сілтелінген көрсеткішті өрнектер.
F ... ... оның ... тек қана ... массивтің
бір бөлігіне көрсетеді және ол функцияға ешқандай әсері жоқ.
Көп ... ... Си ... тік ... ... көп ... қолданылады. Тәжірибе жүзінде оларға қарағанда ... көп ... ... ... ... ... және керісінше ауыстыру
есебін қарастырайық.
Мысалға, 1-ші наурыз ауыр емес жылдың 60-шы күні, ал ауыр ... ші ... of year ... ... ... ... айналдыратын функция.
Month day,kерісінше, ол функцияның аргументтері екі мәнді
қайтарады. Айды және ... ... ... ... міндетті:
Month day (1977,60,&m, &d)
Айталық, m=3, d=1 - ге болсын (яғни 1-ші ... және ауыр емес ... ... айырмашылық болғандықтан,
ақпан айын есептеп отырғаннан, айларды екі жолды ... ... ... int day _tab[2][13]={
(0.31,28,31,30,31,30,31,31,3031,30,31);
(0,31,29,31,30,31,30,31,31,30,31,30,31)};
day_ of_year(year,month,day) /*set day of year*/
int year, month, day; /*from month & day*/
{ int i ... = 0 &&year % 100 ! = 0\!\! year % 400= = ... i=1;i

Пән: Информатика
Жұмыс түрі: Реферат
Көлемі: 10 бет
Бұл жұмыстың бағасы: 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
C++ екі өлшемді массивтер20 бет
Delphi бағдарламасындағы массивтер12 бет
Turbo Pascal жүйесінде массивтерді ұйымдастыру технологиясы39 бет
Turbo Pascal тілінде екі өлшемді массивті орындау15 бет
«Турбо паскаль жүйесінде бір өлшемді массивтерді ұйымдастыру технологиясы»25 бет
Абсорбция және масса үрдісі7 бет
Аналитикалық модельдеу. имитациялық модельдеу. массалық қызмет көрсету жүйесін модельдеу8 бет
Астық массасын сақтау кезіндегі массаның өзгеруі8 бет
Астық массасын сақтау кезіндегі ылғалдылықтың өзгеруі6 бет
Астық массасының оздигинен қызуы36 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь