Скачиваний:
9
Добавлен:
20.05.2024
Размер:
402.34 Кб
Скачать

9-Lekciya. Komponentalar menen islew. Komponenta túsinigi hám qásiyetleri. Maǵlıwmatlardı kirgiziw hám shıǵarıw komponentaları.

Jobası:

1.VS C++ ortalıǵında komponentalar menen tanısıw

2.Elementler paneli

3.Jańa forma jaratıw

4.Maǵlıwmatlardı kirgiziw hám shıǵarıw komponentaları

4.Kod (programma) jazıw

4.Nátiyje menen tanısıw

Visual Studio ortalıǵında komponentalar hám formalar menen jumıs isleymiz. Barlıǵı túsinikli bolıw ushın dáslep tómendegi izbe-izlikti orınlaymız. Visual Studio ortalıǵın ashıń. Sonnan keyin menyular qatarınan Файл→Создать→Проект túymelerin basıń. Keyin CLR tańlań hám Windows Forms qosımshasın tekseriń. Proekt atın jazıń, mısalı factr hám Ok túymesin basıń.

Proektti jaratqannan keyin bos forma payda bolıw kerek, ol tómendegishe boladı:

VS ortalıǵında komponentalar paneli ádette - Elementler paneli dep aytıladı. Qaptalda elementler paneli bolıw kerek, eger ol joq bolsa, onı Вид→Панель Элементов (View→Elements Panel) menyusinen yamasa jedel klavishler arqalı -

Ctrl + Alt + X basıp qosıwǵa boladı. Komponentalar paneli tómendegishe:

Standart komponentalar (Standart elementler)

Onda formaǵa qoyıw (jaylastırıw) ushın hár túrli komponentalar

(elementler) bar; bizge tek Button , Label hám TextBox elementleri kerek. Úsh

Label elementin, eki TextBox elementin hám bir Button-dı formaǵa súyrep aparıń. Elementlerdi (komponentlerdi) tómendegishe retleń:

Bizge endi Label hám Button elementleri ushın belgi tekstin ózgertiw hám TextBox elementleri ushın sáykes klass atların ornatıw kerek boladı. Ol ushın label1 elementin tańlap, Qásiyeti paneline (Панель свойств) ótiń (ádette ol Elementler paneliniń astında jaylasadı, eger panel óshirilgen bolsa, onı Вид -> Диспетчер свойств menyusına qosıń.) hám mánisin ornatıń. Súwrette kórsetilgendey usı elementtiń tekst atributınıń sáwleleniwi.

Barlıq Label hám Button elementleri ushın Text atributın dál usınday etip ornatıń. Biziń formamız tómendegishe bolıwı kerek:

Úlkeytiw túymesin belsendi emes etip qoydıq, sebebi formanıń ólshemin ózgertiw onıń sırtqı kórinisin buzadı. Sonıń menen qatar, bunı formanıń bos aymaǵın tıshqanshanıń shep jaq túymesin basıp, Панели свойств (Qásiyetler panelinde) MaximizeBox atributın False mánisine ózgertiw arqalı islewge boladı.

Endi Панели свойств (Qásiyetler panelinde) tekst maydanı ushın Name atributların ornatıp (TextBox) - birinshi maydan ushın ol num1, al ekinshisi ushın num2 dep ózgertemiz. Solay etip, biz TextBox maydanları ushın klass atların ózgerttik (sál keyinirek nege ekenin túsinesiz).

Sonıń menen, forma tayar boldı, eger biz baǵdarlamanı kompilyaciya etip, iske túsirsek, házir ulıwma paydasız bolǵanı menen, formamızdıń qanday bolatuǵının kóremiz. Button túymesi arqalı waqıya júz beriwin jazıwdı baslayıq, yaǵnıy bul túymeni basqanda ne boladı, biz orınlawda qollanılatuǵın faktorialdı esaplaw funkciyasın da jazamız.

Eń dáslep proektke fact.h tema faylın (kitapxana) qosıw kerek. Ol ushın tema faylları papkasındaǵı Обозревателе решений tıshqanshanıń oń jaq túymesin basıń. Sonnan keyin Добавить -> Создать Элемент, fayl atın kiritiń - fact.h hám Добавить (Qosıw) túymesin basıń. Bul faylda faktorialdı esaplawǵa arnalǵan funkciyanıń prototipi boladı. Oǵan tómendegishe dáslepki kodtı qosıń.

long double fact(int N);

Soń, bul fayldı proektke #include direktivası arqalı qosamız. factr.cpp faylın ashıń hám #include "stdafx.h" qatardan keyin tómendegishe kodtı qosıń.

#include "fact.h"

Endi biziń tema faylımız (kitapxana) proektke qosıldı, sonnan keyin tap sonday proektte fact.cpp dáslepki kod faylın jaratamız.

Oǵan pútin sannıń faktorialın esaplaw funkciyasın qosamız.

#pragma once #include "stdafx.h"

long double fact(int N)

{

// eger paydalınıwshı teris san kirgizse if(N < 0)

//noldi qaytaradı return 0;

//eger paydalınıwshı noldi kirgizse if (N == 0)

//noldiń faktorialın qaytarıw return 1;

//barlıq basqa jaǵdaylarda

else

// rekursiya jaratıw return N * fact(N - 1);

}

Endi biziń proektte faktorialdı esaplaw funkciyası bar, onı islep shıǵamız, eger qáteler bolmasa, onda Button túymesi ushın waqıya orınlanıwın jazıwdı baslawǵa boladı.

Biz Form.h faylın ashamız, ol jerde biz formamızdıń sırtqı kórinisin kóremiz. Button túymesin eki ret basıp, dáslepki kodqa ótemiz.

Figuralı qawsırmadan keyin abzactı qoyıp, kod jazıwdı baslaymız. Baǵdarlamanıń tekstli maydanına klaviaturada kirgizetuǵın simvollardıń qálegen jıynagı qatar bolıp tabıladı. Sonlıqtan tekstli maydannan mánisti shıǵarıp, onı pútin tipke shıǵarıw kerek. Bul júdá quramalı procedura, biraq jaqsı jeri, C++ tilinde maǵlıwmatlar tipin túrlendiriwdi (aylandırıwdı) orınlaytuǵın kóplegen funkciyalar bar. Birinshiden, faktorial esaplanatuǵın sannıń mánisin saqlaytuǵın ózgeriwshini táriyplep, inicializaciyalawımız (iske túsiriwimiz) kerek. Abzactı qoyǵan jerge tómendegishe kodtı jazamız:

int number = System::Convert::ToDouble(num1->Text);

Bul qatar faktorialdı esaplaw ushın sandı saqlaytuǵın ózgeriwshi mánisti inicializaciyalaydı. Keyin, jalǵız argument retinde number ózgeriwshisi bar fact

funkciyamızdı shaqırıwımız kerek hám funkciyanıń nátiyjesin jańa factor ózgeriwshisinde saqlawımız kerek.

double factor = fact(number);

Sonnan keyin alınǵan mánisti qaytadan qatarǵa (tekstke) aylandıramız hám onı ekinshi tekst maydanınan tayınlaymız.

num2->Text = System::Convert::ToString(factor);

Sonıń menen biziń ápiwayı waqıya orınlanıwı tómendegishe boladı:

int number = System::Convert::ToDouble(num1->Text); double factor = fact(number);

num2->Text = System::Convert::ToString(factor);

Endi biz baǵdarlamanı islep shıǵıp, iske qosıp (orınlatıp), onı teksere alamız.

Nátiyje:

Соседние файлы в предмете Объектно ориентированное программирование