Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1-lekciya

.pdf
Скачиваний:
2
Добавлен:
27.11.2023
Размер:
428.53 Кб
Скачать

III. TEORIYALÍQ SHÍNÍǴÍW MATERIALLARÍ

1-SEMESTR USHÍN

1-Lekciya. Programmalastırıwǵa kirisiw, programmalastırwdıń tiykarǵı túsinikleri

Lekciya jobası:

1.1.C++ programmalastırıw tili

1.2.C++ tilinde standart funkciyalardıń jazılıwı

Gilt sózler: kommunikaciya, programmalıq támiynat, diagnoz, keri baylanıs, joybarlaw, paydalanıwshı interfeysi, paydalanıwshı, anıqlıq, Stereotip, buyırtpashı, programmist, ónimdarlıq.

1.1C++ programmalastırıw tili

C++ tili Bern Straustrup tárepinen 1980 jıl baslarında islep shıǵılǵan. C++ tilinde jaqsı programma dúziw ushın “aqıl hám sabır” kerek boladı. Bul til tiykarınan sistema dárejesinde programma dúziwshiler ushın jaratılǵan.

C/C++ algoritmlik tiliniń álipbesi:

1.26 latın hám 32 kirill háripleri (úlken hám kishi);

2.0 den 9 ǵa shekem bolǵan arab cifrlari;

3.Arnawlı belgiler: - + * / : ; . , % ? ! = “” № <> { } [ ] ( ) $ # & ^ hám t.b.

Programma orınlanıwı barısında óz mánisin ózgertire alatuǵın shamalar ózgeriwshiler delinedi. Ózgeriwshilerdiń atları háripten baslanıwshı hárip hám cifrlardan ibarat bolıwı múmkin. Ózgeriwshilerdi belgilewde úlken hám kishi háriplerdiń parqları bar (A hám a háripleri 2 ózgeriwshini bildiredi). Hár bir ózgeriwshi óz atına, tipine, yadtan iyelegen ornına hám san mánisine iye bolıwı kerek. Ózgeriwshige múráját etiw onıń atı arqalı boladı. Ózgeriwshi ushın yadtan ajratılǵan orınnıń tártip nomeri onıń adresi esaplanadı. Ózgeriwshi isletiliwinen aldın ol anıqlanǵan bolıwı lazım.

Ózgeriwshilerdiń san mánisleri tómendegi kóriniste jazıladı:

Pútin tipli onlıq sanaq sistemesında: ózgeriwshiler tek pútin sannan ibarat boladı. Máselen: 5; 76; -674 hám t.b.

Segizlik sanaq sistemesındaǵı sanlar: 0 (nol)den baslanıp, 0 den 7 ge shekem bolǵan cifrlardan quraladı. Máselen: x=0453217; s=077;

On altılıq sanaq sistemesındaǵı sanlar: 0 (nol) den baslanadı hám onnan keyin x yamasa X háribi keledi, soń 0-9 cifrlari hám a-f yamasa A-F háriplerinen ibarat izbe-izlikler boladı. Máselen: 10 sanaq sistemasındaǵı 22 sanı 8 sanaq sistemasında 026, 16 sanaq sistemasında 0x16 formasında boladı.

Haqıyqıy tipli sanlar: olar pútin hám bólshek bólimlerden ibarat boladı. Máselen: 8,1; -12,59 hám t.b. Haqıyqıy tipli sanlardıń bul kórinisi ápiwayı kórinis delinedi. Júdá úlken yamasa júdá kishi haqıyqıy tipli sanlardı dárejeli

(eksponencional) formada jazıw qolay. Máselen: 7,204*1012 yamasa 3,567*10-11 kibi sanlar 7.204e+12 hám 3.567e-11 kóriniste jazıladı.

Simvollı konstantalar. Olar qatarına programma orınlanıwı ‘ ‘ ishinde qabıl qılınatuǵın simvollar kiredi.

C/C++ tilinde hár qanday ózgeriwshi isletiliwinen aldın járiyalanıwı kerek. Járiyalanıw degeni olardıń tiplerin anıqlap qoyıw degendi ańlatadı.

C++ tilinde tómendegi tipli ózgeriwshiler isletiledi:

Pútin tipli kishi sanlar yamasa simvollar ushın: char. Onıń ózgeriw intervalı -128 den +127 ge shekem yamasa apostrof ishindegi qálegen 1 dana simvol. Yadtan 1 bayt orın aladı. Simvollar ASCII kodlarına sáykes keledi. (ASCII – American Standart Code for Information Interchange)

Pútin tipli ózgeriwshiler: int. Máselen: int a, i, j; bul jerde programmada isletilip atırǵan a, i, j ózgeriwshileriniń tipi pútin ekenligi kórsetildi. Bul tiptegi ózgeriwshiler 2 bayt orın iyeleydi. Olardıń ózgeriw intervalı: -32768 dan +32767 ge shekem; (Házirgi 32 razryadlı kompyuterlerde 4 bayt orın aladı hám aralıǵı 2 márte artqan).

Pútin tipli úlken (uzın) ózgeriwshiler: long. Máselen: long s, s2, aa34; bul tiptegi ózgeriwshiler 4 bayt orın iyeleydi. olar –2147483648 den +2147483647 aralıqtaǵı sanlardı qabıl etiwi múmkin.

Belgisiz pútin ózgeriwshiler: unsigned short. – 2 bayt orın aladı, ózgeriw intervalı 0 dan 65535 ke shekem; unsigned long – 4 bayt orın aladı, ózgeriw intervalı: 0 dan 4294967295 ke shekem; unsigned char – 1 bayt orın aladı, ózgeriw shegarası 0 dan 255 ke shekem.

Haqıyqıy tiptegi ózgeriwshiler: float. Máselen: float a, b; bul jerde programmada isletilip atırǵan a, b ózgeriwshileriniń tipi haqıyqıy ekenligi kórsetilgen. Bul tiptegi ózgeriwshiler 4 bayt orın iyeleydi hám qabıl etiw shegarası

10-38 den 10+38 ge shekem.

Úlken yamasa kishi mánisli ózgeriwshilerdi ańlatıwda double tipi isletiledi.

Olar

ushın 8 bayt orın ajratıladı hám qabıl etiw shegarası

10-304 ten 10+304 ke shekem.

 

Júdá úlken yamasa júdá kishi mánisli ózgeriwshiler ushın longdouble tipi

isletiledi, ol 10 bayt orın aladı hám qabıl etiw shegarası 3.4*10-4932 den 1.1*10+4932 ge shekem.

Qatar tipindegi ózgeriwshiler ushın char tipi belgilengen. Olar da 1 bayt orın aladı hám 0 den 256 danaǵa shekemgi bolǵan simvollar izbe-izliginen ibarat bolıwı múmkin. Qatar tipindegi ózgeriwshiler qostırnaq (“) ishinde jazıladı.

C++ tilinde ózgeriwshilerdi inicializaciya etiw degen túsinik te bar. Inicializaciya etiw degeni ózgeriwshini járiyalaw waqtında oǵan baslanǵısh mánisin beriwdi bildiredi. Máselen: int a=5, b, s=-100; bul jerde a, b, s ózgeriwshileri pútin tipli ekenligi kórsetildi hám a ózgeriwshisine 5 (a=5), s ózgeriwshisine bolsa -100 (s=-100) baslanǵısh mánisler berildi.

Programma orınlanıwı barısında óz mánisin ózgertire almaytuǵın shamalar turaqlılar delinedi. Máselen: x=1; bolsa keyinirek x=x+5 dep jazıp bolmaydı. Turaqlılar const sózi menen kórsetiledi. Máselen: const int x=95; float y=9.17; (const lar simvol yamasa nol (NULL) bolıwı da múmkin.)

1.2C++ tilinde standart funkciyalardıń jazılıwı

Funkciya

Ańlatılıwı

Sin x

sin(x)

Cos x

cos(x)

Tg x

tan(x)

ex

exp(x)

Ln x

log(x)

Lg x

log10(x)

xa

pow(x,a)

Funkciya

x

x

Arctan x

Arcsin x

Arccos x

3

x

2

 

 

Log2x

Ańlatılıwı

sqrt(x); pow(x,1/2.)

abs(x) yamasa fabs(x)

atan(x)

asin(x)

acos(x)

pow(x,2/3.)

log(x)/log(2)

b

b

2

4ac

 

Máselen:

2a

 

 

 

 

e sin x + tg2(x+3)

(-b+sqrt(b*b-4*a*c)/(2*a); yamasa (-b+pow(b*b-4*a*c,1/2)/(2*a);

exp(sin(x)) + pow(tan(x+3),2);

C++ tilindegi programma tómendegi quramnan quraladı:

1. Direktivalar – # include <file.h>. Direktiva – instrukciya degen mánisti beredi. C++ tilinde programmanıń dúzilisine, yaǵnıy zárúrlikke qarap, kerekli direktivalar isletiledi. Olar < > belgileri arasında keltiriledi. Ulıwma alǵanda tómendegi direktivalar bar (jámi 32 dana):

#include <stdio.h> - C da ápiwayı kiritiw/shıǵarıw programması ushın isletiledi. Bul jerde std - standart, i – input, o - output degeni.

#include <iostream.h> - C++ te kiritiw/shıǵarıw ushın, ápiwayı ámeller orınlanǵanda isletiledi.

#include <math.h> - standart funkciyalardı isletiw ushın isletiledi.

#include <conio.h> - programmanıń sırtqı kórinisin qáliplestiriw ushın isletiledi.

#include <string.h> - qatar tipindegi ózgeriwshiler ústinde ámeller orınlaw ushın isletiledi.

#include <stdlib.h> - standart kitapxana faylların shaqırıw ushın isletiledi.

#include <time.h> - kompyuter ishindegi saat mánislerinen paydalanıw ushın isletiledi.

#include <graphics.h> - C++ tiliniń grafikalıq imkániyatlarınan paydalanıw ushın isletiledi.

Bul fayllar arnawlı kitapxananı járiyalawshı fayllar esaplanadı hám olar óz aldına INCLUDE dep atalatuǵın papkada saqlanadı. Házirde C++ kitapxanası jańalandı hám ondaǵı fayllardıń atlarınan .h (head – “bas” mánisinde) keńeytpesi alıp taslandı hám aldına c háribi qosıldı (C den qalǵan 18 danaǵa). Bul fayllarda funkciya prototipleri, tipleri, ózgeriwshiler, turaqlılar anıqlamaları jazılǵan boladı.

Direktivalar programmanı onı kompilyaciya etiliwinen aldın tekserip shıǵadı.

2. Makroslar - # define makros mánisi. Máselen:

#define y sin(x+25)

y = sin(x+25) mánisi berildi;

#define pi 3.1415

pi = 3.1415

#define s(x) x*x

s(x) = x*x (; belgisi qoyılmaydı)

Global ózgeriwshilerdi járiyalaw. Tiykarǵı funkciya ishinde járiyalanǵan ózgeriwshiler lokal, funkciyadan sırtta járiyalanǵanları bolsa global ózgeriwshiler delinedi. Global ózgeriwshiler programma dawamında isleydi hám yadtan belgili orındı iyeleydi. Ózgeriwshini tuwrıdan-tuwrı isletiwden aldın járiyalasa da boladı, onday jaǵdayda ózi lokal boladı. Global ózgeriwshiler atı lokal ózgeriwshiler atı menen birdey bolıwı da múmkin. Bunday jaǵdayda lokal ózgeriwshiniń mánisi usı funkciya ishinde ǵana mánisin ózgertedi, funkciyadan shıǵıwi menen global ózgeriwshiler isleydi.

Tiykarǵı funkciya - main( ) esaplanadı. Bul funkciya programmada bolıwı shárt. Ulıwma alǵanda C++ tegi programma funkciyalardan ibarat dep qaraladı. main( ) funkciyası { (figuralı qawıs) penen baslanaıp hám programma aqırında jabılıwı shárt }. main – tiykarǵı degen mánisti beredi. Bul funkciya aldında onıń tipi kórsetiledi. Eger main( ) funkciyası beretuǵın (qaytaratuǵın) mánis (juwap) ápiwayı sóz yamasa gáplerden ibarat bolsa, hesh qanday nátiyje qaytarmasa, void sózi keltiriledi. main( ) funkciyası programma tárepinen emes, balki OS tárepinen shaqırıladı. OS ǵa mánis qaytarıw shárt emes, sebebi ol bul mánisten paydalanbaydı. Sonıń ushın main( ) funkciyasınıń túrin void dep kórsetkenimiz maqul. Hár bir

funkciyanıń óz argumenti boladı, sonıń ushın main funkciya ( ) ları ishine onıń parametri keltiriledi. Geyde ol bos bolıwı da múmkin. Bul funkciyadan shıǵıw ushın ádette return operatorı isletiledi. 0 (nol) mánisiniń qaytarılıwı operacion sistemaǵa usı programma normal orınlanıp turǵanın bildiredi. return arqalı qaytatuǵın mánis tipi funkciya járiyalanıwındaǵı qaytıw tipi menen birdey bolıwı kerek. Máselen int main( ) hám 0 (nol) mánis pútin tipli. Bul funkciyadan soń lokal ózgeriwshiler, bólim programmalar, olardıń haqıyqıy parametrleri járiyalanadı. Soń programmanıń tiykarǵı operatorları (kiritiw/shıǵarıw, esaplaw hám t.b.) jazıladı. Eger bul operatorlar quramalı tipli bolsa, olardı óz aldına {} qawıslarǵa alınadi. C++ tilinde programma kishi háriplerde jazıladı. Ayrım operatorlar úlken háripler menen keliwi múmkin, bunday jaǵdaylarda olar óz aldına aytıp ótiledi. Operatorlar aqırına ; belgisi

qoyıladı. Operatorlar bir qatarǵa izbe-iz jazılıwı

múmkin.

Programmada

túsindirmeler

de

isletiliwi

múmkin,

olar

/*....*/ belgileri arasına alınadı. Eger túsindirme bir qatarda juwmaqlansa, onı // belgisinen keyin jazıwǵa boladı. Máselen:

main ( ) // C++ tiliniń tiykarǵı funkciyası

Tilde tómendegi ámellerden paydalanıw múmkin:

Arifmetikalıq ámeller: +, -, /, *, %. barlıq ámeller ádettegidey orınlanadı, tek bóliw ámelinde pútinge bóliw orınlanadı, yaǵnıy eger bóliw ámeli pútin sanlar ústinde orınlanıp atırǵan bolsa, nátiyje barqulla pútin boladı, yaǵnıy bólshek bólimi taslap jiberiledi (9/5=1; negizi 1,8 bolıwı kerek). Sonıń ushın alımı yamasa bólimine noqat (.) qoyılsa, nátiyje de haqıyqıy boladı (9./5=1.8). % belgisi (modul operatorı) bolsa pútin sandı pútin sanǵa bólgennen payda bolǵan qaldıqtı tabıw ushın isletiledi.

Máselen: 9 % 5=4

Salıstırıw ámelleri: = = (teńbe?); != (teń emes); < ; > ; >=; <=

Logikalıq ámeller: && (and) logikalıq kóbeytiw; || (or) logikalıq qosıw; ! (not) logikalıq biykarlaw. Logikalıq ámellerdi qálegen sanlar ústinde orınlaw múmkin. Eger juwap ras bolsa, nátiyje 1 boladı, eger juwap jalǵan bolsa, nátiyje 0 boladı. Ulıwma alǵanda 0 (nol)den parqlı juwap ras dep qabıl etiledi.

Máselen: i>50 && j==24 yamasa s1 < s2 && (s3>50 || s4<=20);

Yamasa 6 ≤ x ≤ 10 jazıwın x>=6 && x<=10 dep jazıwǵa boladı Mánis beriw ámelleri:

a=5; b = 2*c; x = y = z =1; a = (b = c)*d // 3=5 dep jazıp bolmaydı Qabıl ettim hám almastırdım dep atalǵan ámeller:

+= :

a+=b

a = a + b;

-= :

a-=b

a = a - b;

*= :

a*=b

a = a * b;

/= :

a/=b

a = a / b;

%= :

a%=b →

a = a % b;

inkrement operaciyası (++) eki mániste isletiledi: ózgeriwshige múráját qılınǵanınan keyin onıń mánisi 1 ge artadı (a++ postfiks kórinisi) hám ózgeriwshiniń mánisi onıń múráját etiwden aldın 1 ge artadı (++a prefiks kórinisi);

dekrement operaciyası (--), tap inkrement operaciyası kibi, tek kemeytiriw

ushın isletiledi. Máselen: s = a + b++ (a ǵa b nı qosıp keyin b nıń mánisin 1 ge asıradı); s = a+(--b) (b nıń mánisin 1 ge kemeytirip, keyin a ǵa qosadı).

Joqarıdaǵı standart funkciyalardan tısqarı jáne tómendegi funkciyalar da isletiledi:

ceil (x) - x ti x ten úlken yamasa oǵan teń bolǵan eń kishi pútin sanǵa shekem juwıqlaw. Máselen: ceil (12.6) = 13.0; ceil (-2.4) = -2.0;

floor (x) - x ti x ten kishi bolǵan eń úlken pútin sanǵa shekem juwıqlaw. Máselen: floor (4.8) = 4.0; floor (-15.9) = -16.0; floor(12.1) = 12; floor(-12.1)=-13;

fmod (x,y) – x/y tiń qaldıǵın bólshek san kórinisinde beriw. Máselen: fmod(7.3, 1.7) = 0.5;

Dodalaw sorawları

1.Tildiń álipbesi.

2.Turaqlılar

3.Ózgeriwshilerdiń tipleri.

4.Standart funkciyalardıń kórinisi.

Baqlaw sorawları:

1.C/C++ tilinde turaqlılar.

2.C/C++ tilinde ózgeriwshilerdiń tipleri.

3.Kompanovka basqıshların aytıń.

4.Standart funkciyalardıń qollanılıwı.

5.Ańlatpalar haqqında túsinik.

6.Programma dúzilisi.

7.Preprocessor direktivaları.

8.Identifikator, ózgeriwshiler hám turaqlılar.

9.Ózgeriwshilerdiń ápiwayı tipleri.

10.Ámeller hám ańlatpalar.

11.Standart matematikalıq funkciyalar.

12.Ápiwayı arifmetikalıq ańlatpalar.

Соседние файлы в предмете Программирование на C++