- •2-LEKCIYA. PROGRAMMALASTÍRÍW TILLERINIŃ STRUKTURASÍ. SÍZÍQLÍ ALGORITMLERDI DÚZIW HÁM
- •Jobası:
- •Mısalı:
- •Máselen NAME hám Name identifikatorları bir birinen basqasha, yaǵnıy, bularǵa yad qurılmasınan hár
- •1.const kvalifikatorı járdeminde turaqlılardı tómende berilgen
- •Ańlatpalar
- •Operaciyanıń mazmunı operandlar sanına baylanıslı boladı. Unarlı & operaciyası adresti alıwdı ańlatadı, al
- •Menshiklew operaciyasınıń basqa da qásiyetleri, yaǵnıy kóplegen binarlı operaciyaları menen birge qosa atqarıladı.
- •Bul fayllar arnawlı kitapxananıń járiyalawshı faylları esaplanıp, olar óz aldına INCLUDE dep atalǵan
- •Házirshe joqarıdaǵı kodtı (programmanı) túsinbewińizde múmkin - biz onı keyingi adımda tolıǵı menen
- •Bunda
- •Atama keńisligin ótkizip jiberiw
- •Mısal
- •JAŃA QATARLAR (SÍZÍQLAR)
- •Jańa qatardı kirgiziwdiń jáne bir usılı - endl manipulyator arqalı:
- •KOMMENTARIYALAR
- •Tómendegi mısalda kod qatarınıń aldında bir qatardı kommentariyanı paydalanadı:
- •Kóp qatarlı kommentariyalar
- •Ózgeriwshilerdi járiyalaw (táriyplew).
- •Sandı saqlaw kerek bolǵan ózgeriwshige mánis beriw ushın keyingi mısaldı qaraymız:
- •Sonday-aq, ózgeriwshige mánisti mánis tayınlamay járiyalawǵa hám mánisti keyinirek tayınlawǵa boladı:
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ı. 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ı
Funkciya |
Ańlatılıwı |
Funkciya |
Ańlatılıwı |
||||||
|
|
|
|
|
|
|
|
|
|
Sin x |
sin(x) |
|
|
|
|
|
|
|
sqrt(x); pow(x,1/2.) |
|
|
x |
|||||||
|
|
|
|
|
|
|
|
|
|
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) |
|
|
|
|
|
|
|
pow(x,2/3.) |
3 x2 |
|||||||||
xa |
pow(x,a) |
Log2x |
log(x)/log(2) |
||||||
|
|
|
|
|
|
|
|
|
|
C++ tilindegi programma tómendegishe quramnan ibarat:
1.Direktivalar – # include <file.h> direktiva – instrukciya degendi bildiredi. 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ı.
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):
myfirstprogram.cpp
#include <iostream> using namespace std;
int main() {
cout << "Hello World!"; return 0;
}