Добавил:
bekan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:1-semestr / 2-LEKCIYA
.pdf
2-Lekciya. Programmalastırıw tilleriniń strukturası. Maǵlıwmat tipleri.
Kirgiziw/shıǵarıw funkciyaları. Operatorlar. Sızıqlı algoritmlerdi
shólkemlestiriw.
Jobası:
1. C++ tili haqqında
2. Programmalastırıw tilleriniń strukturası.
3. Sızıqlı algoritmlerdi dúziw
4. Algebralıq ańlatpalardı matematikalıq kitapxana funkciyaları
járdeminde esaplaw.
C++ tili hám strukturası. C++ programmalastırıw tili - hár qıylı qosımsha
islengen bibliotekalar jıynaǵına iye universal programmalastırıw tili bolıp tabıladı.
C++ tili sistemalı programmalastırıwda da keń qollanıladı. Bul tilde joqarı nátiyjeli
programmalardı, sonıń ishinde operaciyalıq sistemalardı, drayverlerdi jazıw
múmkin. C++ universal programmalastırıw tili bolıp, hár qıylı dárejedegi
máseleler ushın sheshim tabıw múmkin.
C++ programmalastırıw tilin 1979-85 jıllar aralıǵında daniyalı kompyuter
injeneri Byarne Straustrup islep shıqqan. Anıǵıraq aytsaq, Straustrup C tiline
uqsaytuǵın, artıqsha imkaniyatlarǵa iye, iykemli hám kúshli programmalastırıw
tilin islep shıǵıwdı qáledi. Hám ol óz niyetine jetip, kópshilikke tanımal tildi islep
shıǵıp IT álemine úlken jetiskenlik alıp keldi.
Ne ushın C++?
C++ ónimliligi joqarı qosımshalardı islep shıǵarıwǵa arnalǵan imkaniyatı
kóp programmalastırıw tili. Ol IT qánigelerge sistemalı resurslar menen yadtı
basqarıwǵa ayrıqsha imkaniyat beredi. Biz biletuǵın, paydalanatuǵın
programmalardıń kópshiligi mine usı tilde jazılǵan hám kóplegen zamanagóy
tillerdiń islewine C++ sintaksisi túrtki bolǵan.
Tez. C++ programmalastırıw tilinde kodtıń orınlanıw tezligi joqarı, sol
sebepten IT tarawında bárqulla talapqa iye. Ulken maǵlıwmatlar yamasa bir neshe
ónimlilikti talap etetuǵın procesler menen jumıs islewde C++ tilin itibarǵa alǵan
maqul.
Universal. Haqıyqatında da C++ qollanılmaytuǵın baǵdarlamalastırıw tarawı
kemde-kem. Robototexnika, mikrokontrollerler, IoT, kompyuter hám mobil
qollanbalar, oyınlar menen modellestiriw sistemaları, neyronlı tarmaqlardaǵı
statistikanı qayta islew tarawında C++ tilisiz kóz aldımızǵa keltiriw múmkin emes.
Aktual. C++ bárqulla jańalanıp, jetilistirip barıladı. Zamanagóy
tendenciyalarǵa ere alıwı - normal jaǵday.

Áhmiyetli. Java, JavaScript, С# sıyaqlı kóplegen programmalastırıw tilleri
C++ principlerine tiykarlanǵan. Kóplegen IT universitetleriniń oqıw
baǵdarlamasında C++ kursı minnetli esaplanadı. Jámiyette “C++
programmalastırıw tilin biletuǵın qánige ózge tillerdi ańsat meńgerip ketedi” degen
pikir qáliplesken.
Talapqa iye. Joqarıda kórsetilgen argumentlerge súyenetuǵın bolsaq, C++
programmalastırıw tilin biletuǵın qánigelerge jumıs jetkilikli.
C++ tiliniń jáne bir áhmiyetli tárepi, bul ANSI standartı talapları tiykarında
jaratılǵan. C++ tiliniń tiykarǵı túsinikleriniń biri klasslar bolıp tabıladı. Klass – bul
paydalanıwshı tárepinen jaratılǵan (ańlatılǵan) til. C++ tilinde C tiliniń derlik
barlıq imkaniyatları saqlanǵan. Buǵan tiykarǵı sebep, C++ tili payda bolıwı menen
bir waqıtta, kóplegen paydalanıwshılar tárepinen C tilinde bir qansha
programmalar jaratılǵan edi. Bunday tayar túrdegi programmalarǵa qayta ózgeris
kiritkende de C++ kompilyatorı programma tekstinen hesh qanday qátelik
tappaydı, yaǵnıy, bunda programmanı hár eki tilden de paydalanıp dúziwge boladı.
C++ tilin jaratıw dawamında kóplegen tillerden kerekli tárepleri (qásiyetleri)
alınǵan. Atap aytqanda, Simila 67 tilinen klasslar koncepciyası, Algol-68 tilinen
operatsiyalardı júklew hám ózgeriwshilerdi programmanıń qálegen jerinde
táriyplew h.t.b. qásiyetleri alınǵan.
C++ tili alfaviti
Hár bir tildegi ańlatpalardı ańlatıwda belgili bir simvollar jıynaǵınan
paydalanıladı. Máselen: inglis tilinde jazılǵan kitapta 26 latın háripleri, 10
arab cifrları hám de bazı bir irkilis belgileri - kombinaciyalarınan paydalanadı.
Tap sonday, C++ tilide latın alfavitiniń 26 kishi háribinen:
abcdefghijklmnopqrstuvwxyz, latın alfavitiniń 26 bas háriplerinen:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
on arab cifrlarınan: 0123456789
hám tómendegi arnawlı belgilerden:
= - * / = , . _ : ; ? ” ' ~ | ! # % $ & ( ) [ ] { } ^ @
ibarat.
Arnawlı simvollar bir-birinen probel (bos orın) menen ajıralıp turadı.
Probel menen ajıratılmaǵan bazı bir simvollar izbe-izligi de bir simvol mánisin
beredi.
Mısalı:
++ -- == && || << >> >= <= += -= /= ?: :: /* */ //
Identifikatorlar
Programmada paydalanılatuǵın ózgeriwshiler, konstantalar hám de
funkciyalardı simvolikalıq belgilew (at beriw) ushın identifikatorlar yamasa,

ańlatpalar paydalanıladı. C++ tilinde identifikatorlar - háriplerden baslanıwshı
belgilerdiń izbe-izligi. C++ tilinde de basqa algotirmik tillerde bolǵan sıyaqlı bir
qatar sózler óz aldına qásiyetke iye, sonlıqtan bunday sózlerdi identifikator
ornında paydalanıwǵa bolmaydı. Bunday ajıratılǵan sózler - xızmetshi sózler
dep ataladı. Xızmetshi sózlerge keyinrek óz aldına toqtalıp ótemiz. C++ tilinde
háripler registrı “sezgir” bolıp tabıladı. Basqasha aytqanda, kompilyatorda
jaylasqan bas hám kishi háripler bir-birinen parqlı simvollar boladı. Máselen
NAME hám Name identifikatorları bir birinen basqasha, yaǵnıy, bularǵa yad
qurılmasınan hár qıylı yacheyka ajıratıladı. Tómendegi berilgen identifikator
atları jaramsız ekenligin tekserip kóriwińizge boladı.
1st_year;
#social_sec;
Not_Done!;
Birinshi identifikator cifrdan baslanǵanı ushın jaramsız bolıp tabıladı.
Ekinshi identifikator # simvolı menen baslanǵanı ushın, al úshinshi identifikator
jaramsız simvol menen tamalanǵanı ushın jaramsız identifikatorlar bolıp
tabıladı.
Funkciyalardıń atların jazıwda da C++ tili kompilyatorınıń “sezgir”ligin
umıtpawımız kerek. Máselen, programmada egerde main() xızmetshi sóziniń
ornına Main() sózin qollansaq, onda kompilyator belgisiz identifikator ekenligi
haqqında xabar beredi.
Sońǵı eskertiw retinde identifikatorlardıń ataması xızmetshi sózler
menen birdey bolmawı kerekligin aytıp ótiw zárúr bolıp tabıladı.
Turaqlılar.
C++ tilinde turaqlılardı (konstantalar) paydalanıwdıń eki túrli usılın
qollanıwǵa boladı. Turaqlı – bul programma orınlanıw barısında mánisin
ózgertpeytuǵın identifikator bolıp tabıladı.
1. const kvalifikatorı járdeminde turaqlılardı tómende berilgen
mısaldaǵıday etip paydalanamız.
Mısalı:
const float pi=3.14159; const int iMin=1, iSale=25;
2. #define direktivası járdeminde turaqlılardı paydalanıw tómendegishe:
#define Sales_Team 10
Bul jerde Sales_Team turaqlınıń ataması, 10 onıń mánisi.
Ańlatpalar
C++ tili bay operaciyalıq toparǵa iye. Ańlatpalardıń járdemi menen
ózgeriwshilerdiń mánisi ózgerip hám jańa mániske iye boladı. Endi operaciyalardı
qay jerde paydalanıwdı túsindirip ótemiz.

Tómendegi operaciyalar dizimin qarasaq:
Operator Orınlanuǵın ámeli
[ ] Massiv elementin shaqırıw
( ) Funkciyanı shaqırıw
++ Inkrement (mánisin asırıw)
-- Dekrement (mánisin kemitiw)
* Kóbeytiw
/ bóliw
% Modul boyınsha bóliw
+ Qosıw
- Alıw (ayırıw)
< Úlken
> Kishi
<= Úlken yamasa teń
>= Kishi yamasa teń
== Teń (logikalıq)
!= Teń emes
! Logikalıq biykarlaw (emes)
&& Logikalıq hám
|| Logikalıq yamasa
?: Shártli ańlatpa
*= Kóbeytiw menen teńlew
/= Bóliw menen teńlew
%= Modul boyınsha bóliw menen teńlew
+= Qosıw menen teńlew
-= Ayırıw menen teńlew
Operaciyanıń mazmunı operandlar sanına baylanıslı boladı. Unarlı &
operaciyası adresti alıwdı ańlatadı, al binarlı & - bul “hám” logikalıq operaciya.
Operaciya mazmunı operandlardıń túrine de baylanıslı boladı:
+ ańlatpası a+b haqıyqıy tiptegi qosındını ańlatadı – egerde operand
float tipinene tiyisli bolsa;
al pútin qosındı boladı, egerde int tipine tiyisli bolsa.
Operaciyalardı júklegende de tip ushın operaciyalardı anıqlaǵanday etip,
tiykarǵı hám jasalma tipler ushın aldınnan anıqlanǵan mánisin joǵaltpastan
túsindiriledi.
C++ tilinde = menshiklew operaciyası bar, al basqa tillerdegi sıyaqlı
menshiklew operatorı emes. Solay etip, menshiklew kontekstte kútilmegen
jerlerde de ushırasıwı múmkin, mısalı, x=sqrt(a =3*x). Bul biz ushında paydalı.

Funkciya
Ańlatılıwı
Funkciya
Ańlatılıwı
Sin x
sin(x)
x
sqrt(x); pow(x,1/2.)
Cos x
cos(x)
x
abs(x) yoki fabs(x)
Tg x
tan(x)
Arctan x
atan(x)
ex
exp(x)
Arcsin x
asin(x) ?
Ln x
log(x)
Arccos x
acos(x) ?
Lg x
log10(x)
3
2
x
pow(x,2/3.)
xa
pow(x,a)
Log2x
log(x)/log(2)
a
acbb
2
4
2
a=b=c bul c ob'ektin b ǵa, al keyin a ǵa menshikleniwin ańlatadı.
Menshiklew operaciyasınıń basqa da qásiyetleri, yaǵnıy kóplegen binarlı
operaciyaları menen birge qosa atqarıladı. Mısalı, x[i+3]*=4 bul
x[i+3]=x[i+3]*4 ekenligin ańlatadı, bunda artıqsha operaciya shıǵarıp
taslanǵan, yaǵnıy x[i+3] ańlatpası tek bir márte esaplanıladı. Bul
kompilyatorǵa operaciyalar arasındaǵı qatnasın optimallastırıwda joqarı
dárejege erisewin támiynlep beredi. Sebebi bunda operaciyalar qısqa beriledi.
C++ tilinde standart funkciyalardıń jazılıwı
1. Direktivalar – # include <file.h> direktiva – instrukciya degendi bildiredi.
Mısalı:
→ (-b + sqrt(b*b-4*a*c)/(2*a); yoki
(-b+pow(b*b-4*a*c,1/2.)/(2*a);
sin x
e
+ tg2(x+3) → exp(sin(x)) + pow(tan(x+3),2);
k=(m*5)+((7 % n) / (9+x));
C++ tilindegi programma tómendegishe quramnan ibarat:
C++ te programmanıń dúzilisine, mútájligine qarap kerekli direktivalar

qollanıladı. Olar <> belgisi arasında jazıladı. Ulıwma direktivalardıń dizimi
tómendegilerden ibarat (barlıǵı 32):
#include <stdio.h> - ápiwayı kirgiziw/shıǵarıw programması ushın.
Bunda std - standart, i – input, o - output degendi ańlatadı.
#include <iostream.h> - C++ te kirgiziw/shıǵarıw ushın, ápiwayı
ámeller orınlansa.
#include <math.h> - standart funkciyalardı qollanıw ushın.
#include <conio.h> - programmanıń sırtqı kórinisin qáliplestiriw
ushın.
#include <string.h> - qatar tipindegi ózgeriwshiler boyınsha ámeller
orınlaw ushın.
#include <stdlib.h> - standart kitapxana faylların shaqırıw ushın.
#include <time.h> - kompyuter ishindegi saat mánislerin paydalanıw
ushın.
#include <graphics.h> - C++ tiliniń grafikalıq múmkinshiliklerinen
paydalanıw ushın.
Bul fayllar arnawlı kitapxananıń járiyalawshı faylları esaplanıp, olar óz
aldına INCLUDE dep atalǵan papkada saqlanadı. Házirgi waqıtta C++ kitapxanası
jańalandı hám ondaǵı fayllardıń atlarınan .h (head - baslı mánisinde) keńeytpesi
alıp taslandı hám aldına c háribi qosıldı. Direktivalar programmanı onı
kompilyaciya qılınıwdan aldın tekserip shıǵadı.
C++ TE JUMÍSTÍ BASLAW
C++ tilin paydalanıwdı baslaw ushın sizge eki nárse zárúr:
C++ kodın jazıwǵa arnalǵan Bloknot sıyaqlı tekstli redaktor
C++ kodın kompyuter túsinetuǵın tilge awdarıw ushın GCC sıyaqlı
kompilyator.
Bul GNU Kompilyatorlar toplamı. Yaǵnıy GCC - biypul baǵdarlamalıq qural, onı
GNU GPL hám GNU LGPL shártleri boyınsha Free Software Foundation taratadı
hám GNU qurallar dizbeginiń tiykarǵı komponent bólegi bolıp tabıladı. Wikipedia

myfirstprogram.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!";
return 0;
}
Tańlaw ushın kóplegen tekstli redaktorlar menen kompilyatorlar bar. Bul sabaq
barısında biz IDE qollanamız.
C++ IDE ornatıw
IDE (Integrated Development Environment) kodtı qayta islew hám dúziw ushın
paydalanıladı.
Keń tarqalǵan IDE-ge Code::Blocks, Eclipse, Visual Studio h.t.b kiredi. Bulardıń
barlıǵı biypul hám olardı C++ kodın redaktorlaw hám qayta islew ushın
paydalanıwǵa boladı.
Eskertiw: veb-ke tiykarlanǵan IDE-ler de jumıs isley aladı, biraq funkcionallıǵı
sheklewli.
Biz sabaǵımızda Code::Blocks qollanamız. Codeblocks baǵdarlamasınıń sońǵı
versiyasın http://www.codeblocks.org/ saytınan taba alasız. mingw-setup.exe
Tekstli redaktordı kompilyator menen ornatatuǵın fayldı júklep alıń.
C++ te dáslepki kod jazıwdı baslaw
Birinshi C++ faylımızdı jaratamız.
Codeblocks tı ashıń File > New > Empty File. tańlań.
Keyin C++ kodıń jazıń hám fayldı keyingi kóriniste saqlań.
myfirstprogram.cpp (File > Save File as):
Házirshe joqarıdaǵı kodtı (programmanı) túsinbewińizde múmkin - biz onı keyingi
adımda tolıǵı menen talqılaymız. Házirshe kodtı iske qosıw qatarına itibar beriń.
Codeblocks ishinde ol tómendegishe bolıwı kerek:

Hello World!
Process returned 0 (0x0) execution time : 0.011 s
Press any key to continue.
Sonnan keyin baǵdarlamanı iske qosıw (orınlaw) ushın Build > Build and
Run punktine ótiń. Nátiyje tómendegishe boladı:
Qutlıqlaymız! Siz birinshi C++ baǵdarlamańızdı jazıp, orınladıńız.
C++ SINTAKSISI
Sintaksisin jaqsı túsiniw ushın tómendegi kodtı kórip shıǵamız:
Mısal
Bunda
1-qatar: (5 qatar paydalanıladı) kirgiziw hám shıǵarıw obyektleri menen jumıs
islewge imkaniyat beretuǵın tema atı (head) fayllarınıń kitapxanası #include
<iostream> . Tema atı faylları C++ programmalarına funkcionallılıqtı qosadı.
2-qatar: using namespace std standart kitapxanadaǵı obyektler menen
ózgeriwshiler ushın atlardı paydalana alatuǵınımızdı bildiredi.
#include <iostream> Eger siz qalay hám qáytip jumıs isleytuǵının túsinbeseńiz,
using namespace std. Onı siziń baǵdarlamańızda derlik bárqulla payda bolatuǵın
nárse dep oylań.
3-qatar: bos qatar. C++ tili bos orındı esapqa almaydı. Biraq biz onı kodtı oqıwǵa
qolaylı etiw ushın paydalanamız.

#include <iostream>
int main() {
std::cout << "Hello World!";
return 0;
}
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!";
return 0;
}
4-qatar: C++ programmasında bárqulla payda bolatuǵın táǵı bir nárse - int
main(). Bul funkciya dep ataladı. Figuralı qawsırma ishindegi hár qanday kod {}
orınlanadı.
5-qatar. cout («see-out» dep aytıladı) - tekstti shıǵarıw/basıp shıǵarıw ushın
kirgiziw operatorı (<<) menen birge paydalanılatuǵın obyekt. Biziń mısalımızda
"Hello World!" tı shıǵaradı.
Eskertiw: Hárbir C++ málimlemesi noqatlı útir menen tamamlanadı ;.
Eskertiw: int main() teksti tómendegi túrde de jazılıwı múmkin:
int main () { cout << "Hello World! "; return 0; }
Este saqlań: kompilyatr bos orınlardı esapqa almaydı. Degen menen, bir neshe
qatarlar kodtı oqıwǵa qolaylı qıladı.
6-qatar: return 0 tiykarǵı funkciyanı tamamlaydı.
7-qatar: tiykarǵı funkciyanı ámelde tamamlaw ushın jabılatuǵın figuralı
qawsırmanı } qosıwdı umıtpań.
Atama keńisligin ótkizip jiberiw
Standart atlar keńisligi kitapxanasısız jumıs isleytuǵın ayırım C++ programmaların
kóriwge boladı. using namespace std qatardı alıp taslawǵa hám gilt sóz benen
almastırıwǵa boladı std, sonnan keyin :: ayırım obyektler ushın operator:
Mısal
C++ TE SHÍǴARÍW (TEKSTTI SHÍǴARÍW)
cout obyekti << operatorı menen birge mánislerdi shıǵarıw/tekstti basıp shıǵarıw
ushın paydalanıladı:
Mısal
cout siz qálegenińizshe kóplegen obyektlerdi qosa alasız. Degen menen, ol
shıǵarıwdıń sońında jańa qatardı qospaytuǵının bilgen maqul.

#include <iostream>
using namespace std;
int main() {
cout << "Sálem dúnya!";
cout << "Men C++ úyrenip atırman";
return 0;
}
#include <iostream>
using namespace std;
int main() {
cout << "Sálem dúnya! \n";
cout << "Men C++ ti úyrenip atırman";
return 0;
}
Sálem dúnya!
Men C++ ti úyrenip atırman
#include <iostream>
using namespace std;
int main() {
cout << "Sálem dúnya \n\n";
cout << "Men C++ ti úyrenip atırman";
return 0;
}
Sálem dúnya!
Men C++ ti úyrenip atırman
#include <iostream>
using namespace std;
int main() {
cout << "Sálem dúnya!" << endl;
cout << "Men C++ ti úyrenip atırman";
return 0;
}
Sálem dúnya!
Men C++ ti úyrenip atırman
Mısal
JAŃA QATARLAR (SÍZÍQLAR)
Jańa qatardı kirgiziw ushın tómendegishe belgini paydalanıwǵa boladı\n:
Mısalı
Keńes: Birinen keyin biri jazılǵan \n belgi bos qatardı payda etedi:
Mısal
Jańa qatardı kirgiziwdiń jáne bir usılı - endl manipulyator arqalı:
Mısal
Соседние файлы в папке 1-semestr
