Отчет по практике в «Манғыстаумұнайгаз»

Автор работы: Пользователь скрыл имя, 12 Сентября 2013 в 16:47, отчет по практике

Краткое описание

С++ тiлi объектi-бағдарланған бағдарламалау тiлi. Ол жоғары деңгейдегi тiлдердiң қатарына кiредi. Көптеген программистер С++ тiлi арқылы қиын есептердiң шешуiн табады. С++ тiлi кеңiнен таралған бағдарламалау тiлi болып саналады. Объектi-бағдарланған бағдарламалау программистке 3 маңызды мүмкiншiлiк бередi:
1. Программалық кодтың оңайлатылуы және оның құрылымын жақсарту. Программаларды оқу және түсiнуге жеңiл.
2. Программалардың модернизациясы өте қарапайым тапсырма болып табылады.
3. Кез-келген класста әртүрлi программаларды көп рет қолдануға болады.

Содержание

I. КIРIСПЕ……………………………………………………………….3
II. НЕГІЗГІ БӨЛІМ
1. «Манғыстаумұнайгаз» АҚ-ы жайында................................................
1.1 «Манғыстаумұнайгаз» АҚ-ның тарихы
1.2 «Манғыстаумұнайгаз» АҚ-ның жетістіктері
1.3 «Манғыстаумұнайгаз» АҚ өндірістік қызметі
1.4 «Манғыстаумұнайгаз» АҚ қызметінің негізгі түрлері
2. С++ бағдарламалау тілі
2.1 С++ тілінің негізгі түрлері
2.2 С++ тілінің ерекшеліктері
2.3 Массивтердi инициалдау ……………………………………………..
3 Көрсеткіштермен жұмыс ………………………………………………..
3.1 Структуралардың қайтылыуы …..........................................................
3.2 Файлдық құрылым ……………………………………………………..
3.3 fstream.h тақырыптар файлына қосылу ……………………………...
3.4 Файлды ашу …………………………………………………………....
4 Класстармен жұмыс...................................................................................
4.1 Конструкторлар және деструкторлар..................................................
4.2 Функция-мүшелері static және const...................................................
4.3 Мұрагерлік...............................................................................................
4.4 Абстрактты базалық класс....................................................................
4.5 Жады класстары және айнымалыларды қолдану.................................
ҚОРЫТЫНДЫ……………………………………………………………..
Қолданылған әдебиеттер тiзiмi ……………………………………….......
Қосымшалар …………………………………………………………..........

Прикрепленные файлы: 1 файл

отчет практика 4-курс.docx

— 75.51 Кб (Скачать документ)

Назар аударыңыз, мұнда шарт жақшаға алынған. Егер шартты тексерi нәтижесiнде true мәнi қайтарылса, онда өрнек  орындалады, сонан кейiн басқару  программаның  келесi жолына берiледi. Егер шарт нәтижесi false болса, онда өрнектен аттап өтедi.

if /else операторы шартқа тәуелдi екi әрекеттiң бiреуiн таңдаулы орындауға мүмкiндiк бередi. Төменде берiлген инструкцияның синтаксисi көрсетiлген:

if (шарт)

өрнек1;

else

өрнек2;

Егер шартты тексеру нәтижесi true болса, онда өрнек1 орындалады,  қарсы  жағдайда - өрнек2.

While/for/goto операторы

While (өрнек)

оператор

Басында өрнек есептелінеді. Егер де ол ақиқат болса онда ол операторлар орындалады цикл басына қайта өтеді нәтежесінде цикл while оператор жалған болғанша орыналады.Осы нүктеден келесі операторға көшеді.Солар бойынша,оператор бірнеше рет орындалады.

Мысалы оператор While:

int=1,sum=0;

while (I<=10){

sum+=1;

++1

}

Оператор for

For (өрнек 1;өрнек 2;өрнек3)

Оператор.

келесі оператор

Бірінші өрнек 1 есептеледі әдетте өрнек 1 қолданылады айнымалыны инициализациялау үшін циклде пайдаланынады.Содан кейін    өрнек 2 есептеледі.Егер де ақиқат болмаса,онда операторлар орындалады, өрнек 3 есептеледі басқару тағыда for циклінің басына көшеді, шығарып тастауға өрнек 1 есептеп өткізеді.Осы интерация жалғаса береді өрнек 2 жалған болғанша осыдан кейін келесі операторларға көшеді.

for(int i=1, sum=0; i<=10;  ++1)

sum+=1;

Оператор for бүкіл өрнекте қатыспауындамүмкін,міндетті түрде нүкте үтір қою керек.Егер де өрнек 1 қатыспаса онда цикл бөлімі сияқты қадам орындалмайды.Егер де өрнек 3 қатыспаса цикл бөлімі өсім қадам сияқты орындалмайды. Арнайы ерекшебар егерде өрнек 2 қатыспаса. Осы жағдайда тексерімей нәтеже - әрқашанда ақиқат осыған байланысты цикл for кодта

for(i=1, sum=0; sum+=I++)

cout<<sum<<end1;

шексіз болып келеді.

Оператор  Goto

Оператор goto-шартсыз көшу еріктігі белгілеу операторлары функция деп аталады

Тамға-идентификатор

Goto операторы мына формада орындалғанда

goto

тамға;

шартсыз басқару белгіленген операторға беріледі.

Мысалы,

if (d==0.0)

 goto error

else

ratio=h/d;

error:cerr<<’’error:division by zero\n’’;

және goto операторы,белгіленгенге сай оператор сол функцияның денесінде болу міндетті.

switch/case операторы

 

Көбiне айнымалыны тұтас  мәндер қатарына теңдiгiн тексеру  қажеттiгi туады. Бұны if /else/if конструкциясы  көмегiмен орындауға болады, немесе ұқсас switch/case конструкциясының көмегiмег  орындауға болады.

Көңiл аударыңыз, switch инструкциясы Си тiлiнде бiрнеше қатар ерекшелiгi бар. Оның синтаксисi келесi:

switch (бүтiнсанды_өрнек) {

case тұрақты1:

өрнек1;

break;

case тұрақты2:

өрнек2;

break;

case тұрақты -n:

өрнек -n;

break;

default:  үнсiз_келiсiм_бойынша_әрекет;

}

Ескерту:break операторы соңғысынан басқа барлық тарамдарда қайталанады. Егер бiрiншi тарамда бұл инструкцияны жоятын болсақ, онда өрнек1-ден кейiн  өрнек2 орындалады, ол әрқашан тиiмсiз.

Осылайша, break операторы case тарамдарының бiреуi орындалғаннан кейiн басқа  тарамдарынан аттап өтедi.

2.4 Массивтер

 

Массив  дегенiмiз – бiр типтi реттелген мәлiметтер жиынын қамтитын айнымалы. Массивтiң әрбiр элементiне оның адресi бойынша қатынас құруға болады. Си және С++ тiлдерiнде массив мәлiметтердiң стандартты типi болып саналмайды.Си және С++ тiлiнде массивтi құру және онымен жұмыс iстеу негiзiнде бiрдей болады.

Массивтердiң  қасиеттерi

 

Төменде массивтiң  қасиетiн анықтайтын төрт негiзгi принциптер келтiрiлген:

    • Массивте жеке мәндер сақталынады. Олар элементтер деп аталады.
    • Массивтiң барлық элементтерi бiр типтi болу қажет.
    • Массивтiң барлық элементтерi жадыда тiзбектi түрде сақталынады және бiрiншi элемент адрестiң нольдiк жылжуын алады, яғни нөлiншi индекс.
    • Массив аты тұрақты болып саналады және массивтiң бiрiншi элементiнiң адресiн сақтайды.

Массивтi баяндау

 

Төменде массивтi баяндау  мысалдары берiлген:

int array[12];  /* 12 бүтiн саннан  тұратын массив */

char carray[20];  /* 20 символдан  тұратын массив */

Қарапайым айнымалыларды  сипаттағандай массивтердi баяндау, оның

мәлiметтер типiн көрсету  арқылы орындалады. Одан кейiн массив аты және екi тiк жақша қою керек. Олар массив размерiн анықтайды. Тiк  жақшалар iшiнде тек тұрақтылар тұруы  мүмкiн. Компилятор массивке қанша көлем  жадыдан бөлу керектiгiн дәл бiлуi қажет. Сондықтан массив размерi алдын  ала берiледi және программаның орындалу уақытында өзгертiлуi мүмкiн емес.

 

Массивтердi инициалдау

 

Массивтердi инициалдауды 3 тәсiлдiң бiреуiн қолдану арқылы жүзеге асырамыз:

    • Массивтi құру кезiнде – инициализациялауды үнсiз келiсiм бойынша қолдану арқылы (бұл тәсiл тек ауқымды және статикалық массивтер үшiн қолданылады);
    • Массивтi құру кезiнде – бастапқы тұрақты мәндi анық көрсету арқылы жүзеге асады.
    • Программаның орындалу процессiнде – массивке мәлiметтердi жазу жолы арқылы жүзеге асады.

Құру кезiнде массивке тек тұрақты мәндер берiлуi тиiс. Сосын 

массивке айнымалылар  мәндерiн жазуға да болады. Массивтер  көлемiне қарай бiр өлшемдi, екi өлшемдi және көп өлшемдi болады.

2.5 Структуралар

 

Осыған  дейiн барлық айнымалылар белгiлi бiр түрге жатты.

Айнымалылардың 2 классын  қарастырамыз. Структура және көрсеткiштер.

 Структура дегенiмiз - әртүрлi түрлерден тұратын айнымалылар

жиыны.

Структураның жазылу форматы:

struct

{

char autor[25],nazvanie[25];

int god,t;

} book[n];

Шын мәнiнде, структура ешқандай айнымалыны көрсетпейдi. Структураның компоненттерi өз алдына жеке айнымалы бола алмайды. Олар бiр немесе бiрнеше  айнымалылардың компоненттерi болуы  мүмкiн.

С++ және Си тiлiнiң компиляторлары көбiнесе структура түрiндегi

айнымалыларды тұтасымен  бередi және атымен тұтас қабылдайды.

Көрсеткiштер дегенiмiз – айнымалылар олар жадыдағы басқа бiр объектiнiң орнын немесе адресiн көрсетедi. Сондықтан да сол көрсеткiш арқылы белгiлi бiр объектiге қатынауға болады.

    1. & - адрестi алу операциясы.
    2. * - операнда.Бұл бiр орынды операция көрсеткiшi.

 

Структураның  қайтылуы

 

Белгiлi бiр функция арқылы мәндерiн енгiзiп, содан кейiн main()

функциясына return операторы арқылы қайтылуы.

books( )// функцияны осылай белгiлейiк

return (d); // осылай қайтады.

Ескерту: егер структура  мәндерi main() функциясына қайтатын болса, онда берiлген функция осы түрде  сипатталынады. Функцияның алдына сол  түрдi қоямыз.

2.6 Файлдық құрылым

 

Файл деп – кейбiр информацияны қамтитын сыртқы жадының аттық облысын айтамыз. Файл түрiндегi информация әдетте сыртқы сақталу құрылғысында сақталынады. Мысалы, магниттiк дискiде. Программа пернетақтадан мәлiметтердi қалай оқыса, солайша дискiлiк файлдан мәлiметтердi оқиды. Программалар мәлiметтердi экранға шығаратындай мәлiметтердi файлға жаза алады.

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

 

fstream.h тақырыптар файлына қосылу

 

fstream.h тақырыптар файлында  С++ стандарттық библиотекасы мәлiметтердiң  екi түрiн анықтайды:

    1. ifstream;
    2. оfstream;

Олар кiрiс және шығыс  файлдық ағындарды белгiлейдi. С++ тiлiндегi

негiзгi ағындар идеяларымен  сәйкес ifstream мәлiметтер типi кiрiстiк  файлдан келетiн символдар ағынын көрсетедi. Ал оfstream шығыс файлына  бағытталған символдар ағыны.

Файлға көрсеткiш

 

Файлға  мәндердi енгiзу не шығару үшiн файлға көрсеткiш қолданады. Ол сонымен  қатар жадыдағы файлды құрылымының  көрсеткiшi болып табылады. Көрсеткiш  былайша жазылады:

file  *файл_аты;

file  *inx, *outx;

Файлды  ашу

 

Бағдарлама мен файл арасындағы байланыс fopen() функциясы арқылы iске  асады. Бұл функция көрсеткiшке  құрылымның адресiн жазады. Функцияның белгiсi бiрiншi параметр файл аты берiледi. Екiншi файлға жету режимi қолданылады. Бұл режим файлмен қандай жұмыс  жасайтынын көрсетедi. fopen() функциясы  көрсеткiшке құрылымның адресiн меншiктейдi. Файлды ашудың мынадай режимдерi бар:

    1. r – құрылған файлды оқуға ашу;
    2. w – жазу үшiн жаңа файлды құру; Егер құрылған файлға осы w қолданса, онда ол көшiрмесi болады.
    3. а – бар файлға файлдың соңынан қосуға болады. Егер жоқ болса құрады.
    4. rt – текстiк файлды оқу үшiн ашу;
    5. wt – жазу үшiн текстiк файл ашу;
    6. at – толықтыру үшiн текстiк файл ашу;

Сонымен қатар көптеген басқа  да түрлерi бар. Файлды оқып, не құрып  болғаннан кейiн оны жабу керек. Ол дегенiмiз файл мен бағдарлама арасындағы байланысты үзу.

fclose(file_A);

Жабу дегенiмiз – көрсеткiштiң  босатып, басқа файлдармен жұмыс  жасау үшiн қажет. Ол көрсеткiш  басқа файлмен жұмыс жасауы мүмкiн. Енгiзу және шығару функциялары файлға мәндердi беру және файлдан мәндердi алу үшiн мына функциялар қолданылды:

    1. putc() немесе fputc(); - файлға символды жазу немесе символы

принтерге жiберу.

    1. getc(), fgetc(); - құрылған файлдың әрбiр элементiн оқу.
    2. fputs(); - файлға бiр-бiр жолдан жазу.
    3. fgets(); - құрылған файлдың әрбiр жолын оқу.
    4. fprintf(); - форматталған шығыс жол немесе сандарды шығару.
    5. fscanf(); - файлға символ енгiзу.
    6. fwrite(); - тұтас құрылымды жазу.
    7. fread(); - тұтас бiр құрылымды оқу.

2.7 Кластармен жұмыс

 

С++ және С құрылымдары бар.Олар гетерогенді құрамды типтер пішінін көрсетеді.С++ структураларды анықтайды.С++ түйінді сөздері class  және  struct типтерді жариялау үшін қолданылады,қолданушылармен анықталған.Мысалы:

 Class vect{

 private:

int*p;//базалық нұсқағыш

int size;//элементтер саны

public:

//конструкторлар және деструкторлар

vect ( ) {size =10; p=new int[10]} //10 массив құрады

vect(int n);// n массив құрады

vect(vect& v);//vect

vect (int a[ ]. int n);// массивтен  инициализациялады 

~vect( ){delete [ ] p;}// деструктор 

// функция-мүшелері 

int ub ( ) {retuun (size –1);}// үстінгі   шекара

int& operator[ ] (int i);// шекарада тексерілген элемент

};

public.private және  protected түйінді  сөздер мүшелер түрін көрсетеді.Жасырын  класс үшін private орнатады,ал struct үшін  --- жасрын үшін public.Үстіде көрсетілген  мысалда деректер  ---мүшелер р  және size—private.

2.8 Конструкорлар және деструкторлар.

 

 Конструкторлар - функция-мушелері кластар атыменда келіседі.Ол объекті типтер кластарын құрайды.Бұл инициялизациялау мүшелер –деректкрді жиі қосады, new қолданушы еркін жадыны үлестіреді.Егер инициализация айқындалмаған  болса,кластар,конструктор бос тізімді параметрлер аталмыш, конструктор сияқты, бүкіл параметрлер жасырын мәні бар,жариялау массивтерді басқару үшін базалық тип болуы мүмкін.Осындай конструкторлар жасырын конструкторлар деп аталады.

foo::foo( ) {…}// жасырын конструктор

hoo::hoo(int I=0) {…} //жасырын конструктор

Деструктор---аты бар мүшелердің функциясы ~ (тильда) әсер етеді.Оның мақсаты,типтер класының мәнін өшіру.Бұл қарапайым жолмен қолданылады delete.

 Конструктор пішімі 

mun::mun (CONST mun & x)

бір типтен келесі типтің мәнін  көршіру үшін қолданылады.

Информация о работе Отчет по практике в «Манғыстаумұнайгаз»