1-ameliy_paradigma_qq
.pdf
1-ámeliy jumıs. Imperativ programmalastırıwda tiykarǵı ámeller
Jumıstıń maqseti: Imperativ programmalastırıw paradigmasınıń fundamental principlerin (ózgeriwshiler, yadtı basqarıw, tayınlaw operatorı, izbe-iz orınlanıw) ámeliyatta qollanıwdı úyreniw. C++ tilinde maǵlıwmatlardı kirgiziw, qayta islew hám nátiyjeni shıǵarıw processlerin ámelge asırıw, sonday-aq kompyuter yadınıń jaǵdayın (state) basqarıw kónlikpelerin qáliplestiriw.
Teoriyalıq bólim: Imperativ programmalastırıw – bul kompyuterge máseleni sheshiw ushın "qanday" háreketlerdi orınlaw kerekligin, yaǵnıy buyrıqlar izbe-izligin kórsetiwshi paradigma.
Tiykarǵı túsinikler:
1.Ózgeriwshi (Variable): Kompyuter yadındaǵı (RAM) atalǵan aymaq. Ol maǵlıwmatlardı saqlaw ushın "konteyner" wazıypasın atqaradı.
2.Tayınlaw (Assignment): Ózgeriwshiniń ishindegi mánisti ózgertiw procesi. C++ tilinde = belgisi arqalı ámelge asırıladı. Bul imperativ paradigmanıń eń baslı quralı – yadtıń jaǵdayın ózgertiw.
3.Maǵlıwmat tipleri: Yadda qansha orın iyeleytuǵının hám qanday operaciyalar orınlawǵa bolatuǵının belgileydi (mısalı: int - pútin san, double - haqıyqıy san, char - belgi).
4.Izbe-izlik (Sequence): Programma kodınıń joqarıdan tómenge qaray qatarma-qatar orınlanıwı.
ÁMELIY BÓLIM:
Biz C++ tilinen paydalanıp, imperativ stildegi ápiwayı programmalardıń dúzilisin hám islew principin kórip shıǵamız.
Programma strukturası hám Hello World
Imperativ programma ádette kerekli kitapxanalardı qosıw (#include) hám baslı funkciyanı (main) járiyalawdan baslanadı.
Kod:
#include <iostream>
using namespace std;
int main() {
// Buyrıq 1: Ekranda jazıw shıǵarıw
cout << "Sálem, Imperativ Dúnya!" << endl;
// Buyrıq 2: Programmanı tabıslı juwmaqlaw return 0;
}
Ózgeriwshiler hám Tayınlaw operatorı
Imperativ programmalastırıwda eń áhmiyetlisi – ózgeriwshiler arqalı yadtı basqarıw.
Mısal: Eki sannıń qosındısın hám kóbeymesin esaplaw.
Kod:
#include <iostream> using namespace std;
int main() {
//1. Ózgeriwshilerdi járiyalaw (Declaration) int a;
int b;
int natiyje;
//2. Baslanǵısh mánis beriw (Initialization /
Assignment)
a = 10; // 'a' yacheykasına 10 jazıldı b = 5; // 'b' yacheykasına 5 jazıldı
//3. Esaplaw (Processing) - Halattı ózgertiw natiyje = a + b; // Qosıw ámeli
//4. Nátiyjeni shıǵarıw
cout << "Qosındı: " << natiyje << endl;
// 5. Ózgeriwshini qayta paydalanıw (Mutability)
// Biz 'natiyje' ózgeriwshisiniń mánisin óshirip, jańasın jazamız
natiyje = a * b; // Kóbeytiw ámeli
cout << "Kóbeyme: " << natiyje << endl;
// 6. Ózgeriwshini ózi arqalı ózgertiw
a = a + 1; // 'a' nıń mánisin 1 ge arttırıw cout << "a nıń jańa mánisi: " << a << endl;
return 0;
}
Túsindirme: Bul jerde a = a + 1 qatarı matematikada qáte bolıwı múmkin, biraq imperativ programmalastırıwda bul – "a nıń eski mánisin al, oǵan 1 di qos hám nátiyjeni qaytadan a ǵa jaz" degen buyrıqtı bildiredi.
Paydalanıwshı menen dialog (cin / cout)
Programma statikalıq bolmawı kerek, ol paydalanıwshıdan maǵlıwmat qabıllawı tiyis.
Kod:
#include <iostream> using namespace std;
int main() { double baha; double muqdar;
double uliwma_qun;
cout << "Tovardıń bahasın kirgiziń: ";
cin >> baha; // Klaviaturadan maǵlıwmat alıp, 'baha' ózgeriwshisine jazadı
cout << "Qansha dana alasız? "; cin >> mugdar;
uliwma_qun = baha * mugdar;
cout << "Tólenetuǵın summa: " << uliwma_qun << " som."
<< endl;
return 0;
}
Eki ózgeriwshiniń ornın almastırıw (Swap)
Bul klassikalıq imperativ mashqala. Eki stakandaǵı suwdıń ornın almastırıw ushın bizge úshinshi (bos) stakan kerek bolǵanı sıyaqlı, programmalastırıwda da "waqıtsha ózgeriwshi" (temporary variable) qollanıladı.
Kod:
#include <iostream> using namespace std;
int main() { int x = 50;
int y = 100;
int temp; // Waqıtsha saqlawshı
cout << "Almastırıwdan aldın: x = " << x << ", y = " << y << endl;
// Algoritm (Izbe-iz háreketler):
temp = x; // 1. x-tiń mánisin qáwipsiz jerge (temp) saqlap qoyamız
x = y; // 2. y-tiń mánisin x-ke jazamız (x-tiń eski mánisi óshiriledi)
y = temp; // 3. temp-tegi (eski x) mánisti y-ke jazamız
cout << "Almastırıwdan keyin: x = " << x << ", y = " << y << endl;
return 0;
}
ÁMELIY TAPSÍRMALAR
Tómendegi máselerdi C++ tilinde imperativ stilde sheshiń. Hárbir tapsırma ushın kod jazıń hám onıń islew nátiyjesin kórsetiń.
1-tapsırma: Arifmetikalıq ortasha mánis.
Paydalanıwshıdan úsh pútin san (a, b, c) kirgiziwdi soraytuǵın programma dúziń. Programma usı úsh sannıń arifmetikalıq ortasha mánisin esaplap, ekranda kórsetiw kerek.
Esletpe: Bóliw ámeline itibar beriń (pútin sanlardı bólgen waqıtta bólshek bólek joǵalıp ketpewi ushın tiplerdi durıs tańlań, mısalı double).
2-tapsırma: Waqıt konverteri.
Paydalanıwshıdan sekundlar sanın (mısalı, 3665 sekund) kirgiziwdi soraytuǵın programma jazıń. Programma bul waqıttı "Saat : Minut : Sekund" formatına aylandırıp shıǵarıwı kerek.
Mısal: 3665 sekund = 1 saat, 1 minut, 5 sekund.
Kórsetpe: Bóliw (/) hám qaldıqlı bóliw (%) operatorlarınan paydalanıń.
3-tapsırma: Temperatura almasıw.
Celciy gradusındaǵı temperaturanı Farengeyt gradusına aylandıratuǵın programma dúziń.
Formula: F = C * 1.8 + 32.
Paydalanıwshı tek Celciy mánisin kirgizedi, programma Farengeyttı esaplap shıǵaradı.
4-tapsırma: Tórtmúyeshliktiń perimetri hám maydanı.
Paydalanıwshıdan tórtmúyeshliktiń uzınlıǵı (length) hám enin (width) kirgiziwdi soraytuǵın programma dúziń. Nátiyje retinde onıń perimetri (P = 2 * (a + b)) hám maydanın (S = a * b) ekranda shıǵarıń.
5-tapsırma: Bank depoziti kalkulyatorı.
Paydalanıwshı bankke summa muǵdarında aqsha qoydı hám jıllıq procent mólsheri belgilendi. 2 jıldan keyin onıń esabında qansha aqsha bolatuǵının esaplaytuǵın programma jazıń (quramalı procent formulasız, ápiwayı jol menen, jılma-jıl esaplap).
Algoritm:
1.1-jıl ushın payda = summa * (procent / 100).
2.Summa = Summa + 1-jıl payda.
3.2-jıl ushın payda = jańa summa * (procent / 100).
4.Juwmaqlawshı summa = Summa + 2-jıl payda.
Usı adımlardı kodta ózgeriwshiler arqalı ámelge asırıń.
