Графикалық нысандарды бағдарламалау (с немесе Java)



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 19 бет
Таңдаулыға:   
Графикалық нысандарды бағдарламалау (с++ немесе Java).Мазмұны
1. С++БАҒДАРЛАМАЛАУ ТІЛІНІҢ СИПАТТАМАСЫ
2. 1 тапсырма
2.1 МІНДЕТ ҚОЮ
2.2 НЫСАНДАРДЫ ЖОБАЛАУ
2.3 СЫНЫПТАР МЕН ӘДІСТЕРДІҢ СИПАТТАМАСЫ
2.4 БАҒДАРЛАМАЛЫҚ КОД
2.5 ПАЙДАЛАНУШЫ НҰСҚАУЛЫҒЫ
2.6 БАҚЫЛАУ МЫСАЛЫ
3. 2 тапсырма
3.1 МІНДЕТ ҚОЮ
3.2 НЫСАНДАРДЫ ЖОБАЛАУ
3.3 СЫНЫПТАР МЕН ӘДІСТЕРДІҢ СИПАТТАМАСЫ
3.4 БАҒДАРЛАМАЛЫҚ КОД
3.5 ПАЙДАЛАНУШЫҒА НҰСҚАУЛЫҚ
3.6 БАҚЫЛАУ МЫСАЛЫ
4. 3 тапсырма
4.1 МІНДЕТ ҚОЮ
4.2 НЫСАНДАРДЫ ЖОБАЛАУ
4.3 ӘДІСТЕР МЕН СЫНЫПТАРДЫҢ СИПАТТАМАСЫ
4.4 БАҒДАРЛАМАЛЫҚ КОД
4.5 ПАЙДАЛАНУШЫҒА НҰСҚАУЛЫҚ
4.6 БАҚЫЛАУ МЫСАЛЫ
5. 4 тапсырма
5.1 МІНДЕТ ҚОЮ
5.2 НЫСАНДАРДЫ ЖОБАЛАУ
5.3 ӘДІСТЕР МЕН СЫНЫПТАРДЫҢ СИПАТТАМАСЫ
5.4 БАҒДАРЛАМАЛЫҚ КОД
5.5 ПАЙДАЛАНУШЫҒА НҰСҚАУЛЫҚ
5.6 БАҚЫЛАУ МЫСАЛЫ
6. Тапсырма 5
6.1 МІНДЕТ ҚОЮ
6.2 НЫСАНДАРДЫ ЖОБАЛАУ
6.3 ӘДІСТЕР МЕН СЫНЫПТАРДЫҢ СИПАТТАМАСЫ
6.4 БАҒДАРЛАМАЛЫҚ КОД
6.5 ПАЙДАЛАНУШЫ НҰСҚАУЛЫҒЫ
6.6 БАҚЫЛАУ МЫСАЛЫ
7. 6 тапсырма
7.1 МІНДЕТ ҚОЮ
7.2 НЫСАНДАРДЫ ЖОБАЛАУ
7.3 ӘДІСТЕР МЕН СЫНЫПТАРДЫҢ СИПАТТАМАСЫ
7.4 БАҒДАРЛАМАЛЫҚ КОД
7.5 ПАЙДАЛАНУШЫҒА НҰСҚАУЛЫҚ
7.6 БАҚЫЛАУ МЫСАЛЫ
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
1. С++БАҒДАРЛАМАЛАУ ТІЛІНІҢ СИПАТТАМАСЫ

С++ тілі 80-жылдардың басында пайда болды. Тілді жасаушы-Бьерн Страуструп. Құрудың бастапқы мақсаты-өзіңізді және достарыңызды ассеглблерде, si немесе басқа да жоғары деңгейлі тілдерде бағдарламалаудан құтқару.
С++ тілінің ең көп бөлігі С тілінен, сондай-ақ оның алдындағы BCPL тілінен алынғаны анық. Бұл қарыздар с++ - ті жүйелік бағдарламалаудың күрделі мәселелерін шешуге мүмкіндік беретін қуатты төмен деңгейлі құралдармен қамтамасыз етті. С++ тілі мен С тілінің айырмашылығы-бұл мәліметтер типтері мен құрылымдарына әр түрлі назар аудару. Бұл өз кезегінде Симул 67 тілінен алынған класс, туынды класс және виртуалды функция ұғымдарының пайда болуымен байланысты. Бұл C++ тілінде түрді басқарудың тиімді мүмкіндіктерін береді және бағдарламаның модульділігін қамтамасыз етеді.
Тіл авторының айтуынша. С және С++ идеологиясының айырмашылығы келесідей: с бағдарламасы процессордың "ойлау тәсілін" көрсетеді. ал c++ - бағдарламашының ойлау тәсілі. Заманауи бағдарламалау талаптарына жауап беру. C++ таңдалған білім саласының тұжырымдамаларына және қолданбалы тапсырмаларға сәйкес келетін деректердің жаңа түрлерін жасауға баса назар аударады. Сынып-с++негізгі ұғымы. Сынып сипаттамасында осы типтегі объектілерді ұсыну үшін қажет мәліметтер сипаттамасы және ұқсас объектілермен жұмыс істеу үшін бірқатар операциялар бар.
Си мен Паскальдың дәстүрлі құрылымдарынан айырмашылығы, сынып мүшелері тек деректер ғана емес, сонымен қатар функциялар болып табылады. Функция - мүшелері сынып бар артықшылықты деректерге ішінде объектілердің осы сынып және қамтамасыз етеді интерфейс арасындағы осы объектілермен және қалған бағдарламасына, одан әрі жұмыс жасау кезінде мүлдем міндетті емес подгнить туралы ішкі құрылымында сынып тетігі жұмыс кіріктірілген функциялар. Бұл мағынада сынып электрлік құрылғы сияқты-оның құрылғысы туралы аз адамдар біледі, бірақ оны қалай пайдалану керектігін бәрі біледі.
Сыныпты с++ тіліне енгізу оны Объектілік бағдарламалау тілі ретінде пайдалануға мүмкіндік берді. Нысанға бағытталған бағдарламалау қазіргі уақытта дәстүрлі процедуралық бағдарламалауды алмастыратын бағдарламаларды жобалау және іске асыру әдістемесін өзгертті. Тіл жасаушы доктор Бьерн Страустраптың басты мақсаты С++ тілін бағдарламашылардың өнімділігін арттыруға және үлкен бағдарламалық өнімдерді игеру процесін жеңілдетуге мүмкіндік беретін құрылымдармен жабдықтау болды.
Нысанға бағытталған бағдарламалау келесі тұжырымдамаларға негізделген: абстракция, мұрагерлік және полиморфизм.
Абстракция-объектіге бағытталған бағдарламалауда бұл объектіге оның концептуалды шекараларын нақты анықтай отырып, оны барлық басқа объектілерден ерекшелейтін сипаттамаларды беру. Негізгі идея-құрама деректер объектілерін пайдалану тәсілін оларды қарапайым нысандар ретінде іске асырудың бөлшектерінен бөлу, мысалы, функционалды абстракция функцияны және оны жүзеге асырудың бөлшектерін неғұрлым қарабайыр функциялар тұрғысынан бөлу тәсілі, сондықтан деректерді жоғары деңгейлі функциямен өңдейді.төмен деңгейлі функцияларды шақыру арқылы. Бұл тәсіл объектіге бағытталған бағдарламалаудың негізі болып табылады. Бұл сізге объектілермен жұмыс істеуге мүмкіндік береді, әсіресе оларды жүзеге асырмай.
Мұрагерлік-бұрыннан бар (ата-ана) негізінде жаңа сыныпты сипаттауға мүмкіндік беретін объектіге бағытталған бағдарламалаудың төрт маңызды механизмінің бірі, ал ата-ана класының қасиеттері мен функционалдығы жаңа сыныптан алынады. Басқаша айтқанда, Мұрагер класы бұрыннан бар сыныптың сипаттамасын (базалық класс) жүзеге асырады. Бұл мұрагер класс объектілерін базалық класс объектілері сияқты өңдеуге мүмкіндік береді.
Полиморфизм-бірдей ерекшелігі бар объектілердің әртүрлі іске асырылу мүмкіндігі. Бағдарламалау тілі полиморфизмді қолдайды, егер бірдей сипаттамалары бар сыныптар әртүрлі іске асырылуы мүмкін болса - мысалы, мұрагерлік процесінде сыныптың орындалуы өзгеруі мүмкін [1]. Қысқаша полиморфизмнің мағынасын "бір интерфейс, көптеген іске асыру"деген сөзбен білдіруге болады. Полиморфизм-объектіге бағытталған бағдарламалаудың маңызды төрт механизмінің бірі.

2. 1 тапсырма

2.1 МІНДЕТ ҚОЮ

1-тапсырманың негізгі мақсаты-берілген формулалар бойынша есептеу процестерін шешу. Есептеу үш тапсырма үшін жасалады. 1-есепте f (x,y,z) функциясы 2.1 формуласы бойынша есептеледі:

(2.1)
Егер
Осы формула бойынша есептеулер экраннан енгізілген Қос дәлдіктің нақты түрінің кіріс деректері негізінде жүзеге асырылады. Қос дәлдіктің нақты түрінің шығуы экранға шығарылады.
2-есепте y (x) функциясы 2.2 формуласы бойынша есептеледі.
(2.2)
Осы формула бойынша есептеулер экраннан енгізілген кіріс деректері негізінде жүзеге асырылады. Шығу экранда көрсетіледі.
3-міндетте y (x) функциясын 2.3 формуласы бойынша кестелеу жүзеге асырылады.
(2.3)
Кіріс деректері:
A және b айнымалыларының мәні, анықтау аймағы және X айнымалысының мәндерін өзгерту қадамы экраннан нақты екі дәлдіктегі мәліметтер түрі ретінде енгізіледі. Функцияның мәндері экранда нақты деректер түрінде форматталған түрде көрсетіледі.
2.2 НЫСАНДАРДЫ ЖОБАЛАУ

1-Тапсырманы орындау үшін MFC APP Wizard көмегімен диалогтық қосымшаны жасаңыз, онда бір негізгі диалогтық терезе және үш қосымша терезе болады.
"Мәзір"деп аталатын негізгі диалогтық терезе.
Негізгі тілқатысу терезесінде жүйелік және батырмалық мәзірдің екі түрін жасаңыз.
Жүйелік мәзірде Menu шеберінің көмегімен жасалған 2 "тапсырма" және "қосымша" элементтері бар.
"Тапсырма" тармағында "1 - міндет", "2-міндет" және "3-міндет" командалары, ал "қосымша" тармағында "автор туралы" және "бағдарлама туралы"командалар бар.
Оқиға өңдеушілерінің көмегімен командалардың әрқайсысы қосымша диалогтық терезелерді шақырады. Түйме мәзірі бес CButton көмегімен ұйымдастырылған. Алты батырманың әрқайсысында 2.1-кестеде көрсетілген келесі қасиеттер орнатылады.

Кесте 2.1-батырмалардың қасиеттері
Идентификатор кнопки
Свойство Caption
IDC_BUTTON1
Задача 1
IDC_BUTTON2
Задача 2
IDC_BUTTON3
Задача 3
IDC_BUTTON4
О программе
IDC_BUTTON5
Об авторе
IDCANCEL
Выход

Әр батырма ұқсас жүйелік мәзір командаларын қайталайды
"1-Тапсырма" тілқатысу терезесі.
Диалогтық терезе 1-мәселені шешу кезінде алынған бастапқы деректерді енгізу және нәтижені шығару үшін қолданылады. Осы мақсаттар үшін пішінге төрт Edit box қосыңыз.
Енгізілген деректерді көрсету үшін төрт Static text және бір сурет қосыңыз.
Есептеуді орындау үшін CButton1 түймесі қолданылады, ОК түймесін жойып, CANCEL қалдырыңыз. Таңдалған компоненттердің әрқайсысының сипатын өзгертіңіз. Берілген сипаттардың сипаттамасын 2.2-кестеден қараңыз
Кесте 2.2-басқару элементтерінің қасиеттері
Идентификатор
Caption
Disabled
Type
Bitmap
IDC_BUTTON6
Посчитать!
-
-
-
IDC_EDIT3
-
true
-
-
IDC_EDIT4
-
true
-
-
IDC_STATIC (Static Text)
X=
-
-
-
IDC_STATIC (Static Text)
Y=
-
-
-
IDC_STATIC (Static Text)
Z=
-
-
-
IDC_STATIC (Static Text)
F=
-
-
-
IDC_STATIC (Picture)
-
-
Bitmap
IDB_BITMAP1

"2-тапсырма" тілқатысу терезесі.
Диалогтық терезе бастапқы деректерді енгізу және 2-мәселені шешу кезінде алынған нәтижені шығару үшін қолданылады. Осы мақсаттар үшін пішінге үш Edit box қосыңыз.
Енгізілген деректерді көрсету үшін үш Static text және бір сурет қосыңыз.
Есептеуді орындау үшін CButton1 түймесі қолданылады, ОК түймесін жойып, CANCEL қалдырыңыз. Таңдалған компоненттердің әрқайсысының сипатын өзгертіңіз. Берілген сипаттардың сипаттамасын 2.3-кестеден қараңыз

Кесте 2.3-басқару элементтерінің қасиеттері
Идентификатор
Caption
Disabled
Type
Image
IDC_BUTTON1
Посчитать!
-
-
-
IDC_EDIT5
-
true
-
-
IDC_STATIC (Static Text)
X=
-
-
-
IDC_STATIC (Static Text)
G=
-
-
-
IDC_STATIC (Static Text)
ответ
-
-
-
IDC_STATIC (Picture)
-
-
Bitmap
IDB_BITMAP2

"3-тапсырма" тілқатысу терезесі.
Диалогтық терезе бастапқы деректерді енгізу және 3-мәселені шешу кезінде алынған нәтижені шығару үшін қолданылады. Осы мақсаттар үшін пішінге бес Edit box қосыңыз. Енгізілген деректерді көрсету үшін алты Static text және бір сурет қосыңыз.
Есептеуді орындау үшін CButton1 түймесі қолданылады, ОК түймесін жойып, CANCEL қалдырыңыз. Таңдалған компоненттердің әрқайсысының сипатын өзгертіңіз. Берілген сипаттардың сипаттамасын 2.4-кестеден қараңыз

Кесте 2.4-басқару элементтерінің қасиеттері
Идентификатор
Caption
Soft
Type
Bitmap
IDC_BUTTON1
Вычислить!
-
-
-
IDC_STATIC (Static Text)
начальное х
-
-
-
IDC_STATIC (Static Text)
конечное х
-
-
-
IDC_STATIC (Static Text)
шаг
-
-
-
IDC_STATIC (Static Text)
a=
-
-
-
IDC_STATIC (Static Text)
b=
-
-
-
IDC_STATIC (Static Text)
X Y
-
-
-
IDC_LIST1
-
True
-
-
IDC_STATIC (Picture)
-
-
Bitmap
IDB_BITMAP3

2.3 СЫНЫПТАР МЕН ӘДІСТЕРДІҢ СИПАТТАМАСЫ

Ішінде z1_v13 жобасы ClassWizard шеберінің көмегімен әр диалогтық терезе үшін сыныптар құрылды CDialog класының мұрагерлері.
Cz1_v13dlg класы әдістерді қосу арқылы жасалады:
void OnButton5 () (автор туралы ақпаратты шақырады);
void OnButton4 () (бағдарлама туралы ақпаратты шақырады);
void OnButton1 () (С1 тілқатысу терезесіне көшуді жүзеге асырады);
void OnButton2 () (С2 тілқатысу терезесіне көшуді жүзеге асырады);
void OnButton3 () (С3 тілқатысу терезесіне көшуді жүзеге асырады);
void On1 () (С1 тілқатысу терезесіне көшуді жүзеге асырады);
void On2 () (С2 тілқатысу терезесіне көшуді жүзеге асырады);
void On3 () (С3 тілқатысу терезесіне көшуді жүзеге асырады);
void OnMenuitem32776 () (бағдарламамен жұмысын аяқтайды);
void OnMenuitem32774 () (бағдарлама туралы ақпаратты шақырады);
void OnMenuitem32775 () (автор туралы ақпаратты шақырады);
C1 класы сынып мүшелерін қосу арқылы жасалады:
айнымалы double x (байланысты editbox1);
Қос y айнымалы (editbox2-мен байланысты);
Қос z айнымалы (editbox3-пен байланысты);
айнымалы Қос f (байланысты editbox4);
OnButton1 () әдісі (F (x,y,z) және z (x,y) айнымалыларын есептеу));
C2 класы сынып мүшелерін қосу арқылы жасалады:
Қос I айнымалы (editbox1-мен байланысты);
Қос G айнымалы (editbox4-пен байланысты);
double y айнымалысы (editbox5-пен байланысты);
void OnButton1 () (тармақталған есептеу y (i,g) жүзеге асырылады));
C3 класы сынып мүшелерін қосу арқылы жасалады:
void OnButton1 () (циклдік-тармақталу есебі y);
ListBox түріндегі айнымалы (listbox1-мен байланысты);
айнымалы double xn (editbox1-мен байланысты);
double XK айнымалы (editbox2-мен байланысты);
Қос h айнымалы (editbox3-пен байланысты);
Қос айнымалы (editbox4-пен байланысты);
double B айнымалысы (editbox6-мен байланысты);
2.4 БАҒДАРЛАМАЛЫҚ КОД

Бағдарлама коды MFCWizard қосымшасы арқылы автоматты түрде жасалады. Мастер-класстардың көмегімен жүйелік мәзірге арналған оқиғаларды өңдеушілер, сондай-ақ әр диалогтық терезелерде жасалған түймелер жасалды. Бұл өңдеушілер-бұл құрылған сыныптардың әдістері.
Сынып әдістерінің кодтары CZ1_V13Dlg
void CZ1_v13Dlg:: OnButton1 () "" 1-міндет"
{C1 Dlg;(TRUE);. DoModal ();} cz1_v13dlg:: OnButton2 () "тапсырма 2" батырмасы мәзірінің элементі"
{C2 Dlg;(TRUE);. DoModal ();} cz1_v13dlg:: OnButton3 () "тапсырма 3" батырмасы мәзірінің элементі"
{C3 Dlg;(TRUE);. DoModal ();} cz1_v13dlg:: OnButton4 () "бағдарлама туралы" батырмалық мәзір элементі"
{MessageBox ("бағдарлама 3 мәселені шешуге арналған: сызықтық теңдеу, тармақталу теңдеуі және циклдік теңдеу!"); }
Void CZ1_v13Dlg:: OnButton5 () "автор туралы" батырмалық мәзір элементі"
{MessageBox ("бағдарламаны 1рп-12 тобының 3 курс студенті Киселев Евгений жасады"); }
Void CZ1_v13Dlg:: On1 () * "тапсырма 1" пәрменіндегі жүйелік мәзір оқиғаларын өңдеуші" *
{C1 Dlg;(TRUE);. DoModal ();} cz1_v13dlg:: On2 () * "тапсырма 2" пәрменіндегі жүйелік мәзір оқиғаларын өңдеуші" *
{C2 Dlg;(TRUE);. DoModal ();} cz1_v13dlg:: On3 () * "тапсырма 3" пәрменіндегі жүйелік мәзір оқиғаларын өңдеуші" *
{C3 Dlg;(TRUE);. DoModal ();} cz1_v13dlg:: OnMenuitem32776 () * "шығу" пәрменіндегі жүйелік мәзір оқиғаларын өңдеуші" *
{ОнОК (); }
Void CZ1_v13Dlg:: OnMenuitem32774 () * "бағдарлама туралы" пәрменіндегі жүйелік мәзір оқиғаларын өңдеуші" *
{MessageBox ("бағдарлама 3 мәселені шешуге арналған: сызықтық теңдеу, тармақталу теңдеуі және циклдік теңдеу!"); }
Void CZ1_v13Dlg:: OnMenuitem32775 () * "бағдарлама туралы" пәрменіндегі жүйелік мәзір оқиғаларын өңдеуші" *
{MessageBox ("бағдарламаны 1рп-12 тобының 3 курс студенті Киселев Евгений жасады"); }
C1 класс әдістерінің кодтары
void C1:: OnButton6 () 1 формуласы бойынша 1 есепті есептеу
{updateData ();
if ((fabs (atan (5*x) exp (x+y)) * (pow (x,13) +pow (x,y+2)) 0) MessageBox ("түбір өрнегі теріс бола алмайды!!!");
тағы
{z=atan (5*x) exp (x+y);=sqrt (fabs (z) * (pow (x,13) +pow (x,y+2))); } (false); }
C2 C2 класс әдістерінің кодтары:: OnButton1 () 2 формула бойынша 2 есепті есептеу
{updateData ();(i0)
{y=log (i+1) + (32) *pow (i,2) - g*cos (i); }(i0) {(g! =0 (ig) 0) y=log (fabs (ig)) +exp (i); MessageBox ("g теріс x кезінде 0-ге тең болмайды!!!"); }
if (i==0) {y=sin (g) 3; }(false); }
C3 класс әдістерінің кодтары
void C3:: OnButton1 () 3 формуласы бойынша 3 есепті есептеу
{int q=y. getCount ();(int j=0; jq; j++). DeleteString (0); str1,str2; (); (xn=xk && h0 xnxk && h0 h==0) MessageBox ("қате қадам енгізілді!!!");
{for (double i=xn; i=xk; i=i+h)
{if (i==0)
{str2. Пішім ("%5.2 f", i); y. AddString (str2+" табиғат. лог. 0 жоқ.");} (log (i) a) {w= exp (fabs(a * i)) +sqrt (fabs (pow (b, 3) * i));. Пішімі ("%5.2 f", w);. Пішімі ("%5.2 f", i);. AddString (str2+" "+str1); }{ if (atan (b*i) - 4.7*a*i0)
{w=pow (fabs (atan (b*i) - 4.7*a*i),1.03.0);=w* (-1); }=pow (atan (b*i) - 4.7*a*i,1.03.0);. Пішімі ("%5.2 f", w);. Пішімі ("%5.2 f", i);. AddString (str2+" "+str1); }}} (false); }
2.5 ПАЙДАЛАНУШЫ НҰСҚАУЛЫҒЫ

1-Тапсырманы орындау үшін сізге z1_v13 файлы қажет. exe.
Осы қосымшамен жұмыс істеу үшін осы файлды іске қосыңыз. Экранда негізгі диалогтық терезе пайда болады (2.1-суретті ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Python тілі жайында
ЭЛЕКТРОНДЫ КӨМЕКШІ ҚҰРАЛ ЖАСАУ НЕГІЗДЕРІ
Құрылғы пішін факторлары
Байланыс ақпараты
Объектіге бағытталған Java бағдарламалау
Жоғары деңгейлі бағдарламалау тілі
Мобильді жарнаманың өсуі
Объектіге бағытталған бағдарламалау
С C программалау тілдерынын мумкіндіктері мен ерекшеліктеріне шолу
Сайт жасау экономикасы
Пәндер