2-тапсырма:
1. Квадрат теңдеуді шешетін программа құрыңыз. Программа бастапқы мәліметтердің
дұрыстығын тексеруі қажет және егер 2-ші дәрежелі белгісіздің коэффициенті нольге тең
болса, онда сәйкесінше хабарлама шығаруы керек.
19
2. Клавиатурадан енгізілген 2 санды салыстыратын программа жазыңыз. Программа қай
санның үлкен екендігін көрсетуі қажет, егер олар тең болса сәйкесінше хабарлама
шығару керек.
3. Қолданушының енгізген санының жұп немесе тақтығын тексеретін программа құрыңыз.
4. Телефонмен сөйлесу ақысын есептейтін программа құрыңыз, сенбі және жексенбі
күндері 20% жеңілдік болатындығын еске алыңыз.
5. Келесі күннің датасын есептейтін программа жазыңыз. Датаны толығымен енгізіңіз.
Мысалы: 31.12.2004
6. Қолданушыдан апта күнін сұрап, соған сәйкес келесі мәліметтердің: «Жұмыс күні»,
«Сенбі», «Жексенбі» біреуін шығаратын программа жазыңыз.
7. Клавиатурадан енгізілген бүтін санның (1-ден 100 дейін) 3-ке және 5-ке қалдықсыз
бөлінетіндігін тексеретін программа құрыңыз. Тексеріп болған соң бөлінетіндігі немесе
бөлінбейтіндігі жайында хабарлама шығуы қажет.
8. Сатып алынған заттарға төленетін ақша көлемін жеңілдікпен есептейтін программа
құрыңыз. Егер ақша көлемі 500 теңгеден асса, 3% жеңілдік, ал 1000 теңгеден асса, 5%
жеңілдік жасалады. Ақша саны енгізілгеннен кейін, қанша ақша төлеу қажеттілігі
айтылып, экранға шығуы қажет.
9. Қолданушының оптимальді салмағын есептейтін және оны негізгі салмағымен
салыстырып, ұсыныс беретін программа жазыңыз. Оптимальді салмақ = Бойы (см) -100
формуласымен есептелінеді.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
Бір жолға, арасына бос орын тастап бoй (см) және салмақ (кг) мәндерін енгізіп,
пернесін басыңыз:
168 55
Сізге 13.00 кг толықтау қажет.
10. Клавиатурадан енгізілген бүтін санның үшке бөлінетін-бөлінбейтіндігін тексеретін
программа жазыңыз.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек
Бүтін санды енгізіп, пернесін басыңыз:
523
523 саны үшке толық бөлінбейді.
11. Экранға екі санның қосындысын табуға арналған есепті шығарып, қолданушыдан
жауабын сұрайтын программа құрыңыз. Егер қолданушының енгізген жауабы дұрыс болса,
«Дұрыс» деген хабарлама, ал қате енгізілген жағдайда, дұрыс жауабын шығарылуы керек.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
12+45=?
Жауабын жазып пернесін басыңыз
45
Қателестіңіз ! 12+45=57
12. Қолданушының Ақтөбе қаласының қаланған жылын білетіндігін тексеруге арналған
программа жазыңыз. Қате жауап берілген жағдайда, программа дұрыс жауапты шығару тиіс.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
Ақтөбе қаласының іргетасы қай жылы қаланды?
Санды енгізіп, пернесін басыңыз.
1875
Дұрыс емес, Ақтөбе қаласының іргетасы 1869 жылы қаланды.
13. Клавиатурадан енгізілген ай номеріне сәйкес жыл мезгілінің атын шығаратын программа
құрыңыз.
20
Егер қолданушы 1-мен 12 аралығына жатпайтын санды енгізсе, «Мәліметтерді енгізу
барысында қате жіберілді» деген хабарлама шығарылуы керек.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
Ай номерін енгіз (1 ден 12-ке дейін): 11 Қыс.
14. Switch инструкциясын пайдаланып қолданушыдан апта күнін сұрап, соған сәйкес келесі
мәліметтердің «Жұмыс күні», «Сенбі», «Жексенбі» біреуін шығаратын программа жазыңыз.
Егер қате мәліметтер енгізілсе «Қате!» деген хабарлама шығару керек.
15. Switch инструкциясын пайдаланып есепті шешіңіз.
Қалааралық телефон арқылы сөйлесудін бағасын есептейтін программа жазыңыз (1 минут
сөйлесу бағасы абоненттің қаламен ара қашықтығымен анықталады).Берілген мәліметтер:
қаланың коды және сөйлесу ұзақтығы.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
Телефон арқылы сөйлесу бағасын есептеу:
Берілген мәліметтерді енгізіңіз:
Қала коды- 120
Ұзақтығы (минут)- 5
Қала: Ақтөбе
1 минутқа төленетін баға- 7.8 тнг.
Сөйлесу құны: 39.00 тнг.
Қала
Код
1 минутқа төленетін бағасы (теңге)
Ақтобе
120
7.8
Астана
145
11.5
Алматы
254
9.78
3-Тапсырма.
Төмендегі функцияларды есептеу программаларын құру керек /X,Y,Z – нақты айнымалылар/:
1. Вариант .
жагдайда
калган
,
sin
-
1
2,
<
x
<
0
,
cos
2
2
x
егер
x
y
2. Вариант .
0
x
),
,
min(
0
<
x
),
,
max(
егер
y
x
егер
y
x
z
3. Вариант .
R
x y z
max ( , , )
2
4. Вариант .
R
x y z
x
2 min ( , , )
5. Вариант .
d
x y z
x
max( , , ) sin2
6. Вариант .
10
x
,
5
.
0
ln
10
<
x
,
8
3
2
егер
x
егер
x
y
7. Вариант .
21
1
>
x
1,
x
1
-
-1,
<
x
егер
,
4
x
егер
,
x
arccos
егер
,
x
4
π
F
8. Вариант .
1
>
x
,
4
1
x
1
-
,
arccos
-1
<
x
,
sin
егер
x
егер
x
егер
x
x
F
9. Вариант .
5
>
x
,
5
x
1
,
46
.
1
9
3
.
17
1
<
x
,
0
2
егер
x
a
егер
x
x
егер
y
10.
Вариант .
x
z
y
x
y
ln
)
,
,
(
min
2
11.
Вариант .
0
>
0,
u
u
егер
,
u
cos
егер
,
1
u
2
)
u
(
F
12.
Вариант .
0
x
,
0
<
x
),
lg(
егер
b
ax
x
егер
x
u
13.
Вариант .
Егер a,b,c сандарының арасында өзара қарама-қарсы екі сан бар болса, онда қалған үшінші
санды, ал болмаған жағдайда “жоқ” деген сөзді алыңыз.
14.
Вариант .
жагдайда
калган
x
x
егер
x
y
2
1
5
0
,
ln
15.
Вариант .
АХ>5 теңсіздігін шешің.
16.
Вариант .
x
егер
ctgx
x
егер
x
x
егер
x
y
3
2
,
3
2
3
,
cos
3
0
,
sin
17.
Вариант .
Қалааралық телефонмен сөйлесу бағасын есептеу программасын жаз. Бастапқы мәндері
қала коды мен сөйлесу уақыты(кем дегенде 4 қала).
18.
Вариант .
0
,
5
0
),
ln(
4
x
егер
x
x
егер
x
u
19.
Вариант .
1
),
5
.
2
ln(
1
1
,
,
1
,
1
sin
2
3
x
егер
x
x
егер
arctg х
x
егер
x
x
F
20.
Вариант .
A,B,C сандарының ішінде, ең болмағанда бір жұп сан бар болатынын анықтау
программасын құр.
22
Бақылау сұрақтары.
1. if инструкциясының атқаратын қызметі қандай?
2. Инструкциялар тізбегін тандау қалай жүзеге асырылады?
3. Else қызметші сөзінен кейін жазылған инструкция қай жағдайда орындалады?
4. Егер шарт орындалған немесе орындалмаған жағдайда бірнеше инструкциялар
орындалатын болса, оларды не істеу керек?
5.Шартты оператордың жазылу структурасы қандай?
6.Таңдау операторының жазылу структурасы қандай және ол қалай жұмыс жасайды?
7.Тармақталу процесін қандай операторлар көрсетеді?
Блиц-тест
1. С++ Builder программалау ортасында негізгі келесі элементтер бар (терезелер):
A.
негізгі терезе (көк жолағы бар);аспаптар панелі; форма терезесі; программа коды
терезесі
(Unit1.cpp);
B.
негізгі терезе (көк жолағы бар);обьектілер инспекторы терезесі (қасиеттер,
оқиғалар);
форма терезесі; программа коды терезесі (Unit1.cpp);обьектілер ағашы терезесі
(Object Tree View)
C.
негізгі терезе (көк жолағы бар);обьектілер инспекторы терезесі (қасиеттер,
оқиғалар);
обьектілер ағашы терезесі (Object Tree View)
D.
негізгі терезе (көк жолағы бар);форма терезесі;
E.
форма терезесі; программа коды терезесі (Unit1.cpp);
2. Mask Edit компоненті
A.
арнайы форматтағы мәліметтерді енгізуді редакциялайтын облыс құрады
B.
жолдарды бейнелеу үшін жол бойынша немесе баған бойынша тор құрады.
C.
жазбалы және пиктограммалы командалық батырма құрады
D.
тез шақырылатын графикалық батырманы құрады
E.
қарапайым геометриялық фигураларды салады.
3. Bevel компоненті
A.
арнайы форматтағы мәліметтерді енгізуді редакциялайтын облыс құрады
B.
тез шақырылатын графикалық батырманы құрады
C.
көлемді формадағы сызықтар мен рамкаларды құрады
D.
жазбалы және пиктограммалы командалық батырма құрады
E.
қарапайым геометриялық фигураларды салады.
4. void_fastcall TForml ::ButtonlClick(TObject *Sender) кейін
фигуралық жақша арасында не орналасады?
A. Программадағы айнымалыларды сипаттау; орындалатын_операторлар;
B. бас файлда хабарланған барлық функциялар сипатталады
C. қайсыбір функциялар хабарлануы мүмкін
D. форманы құрған кезде орындалатын операторларды орналастыруга болады
E. формасының объектісін хабарлау
5. Алдын – ала берілген шарт бойынша қайталанатын оператор
A. Switch (өрнек)
{case константа1: default: оператор;// міндетті емес}
B. Do оператор while (шарт)
23
C. for (өрнек 1; өрнек 2; өрнек 3) цикл денесі
D. while (өрнек) цикл денесі:
E. if (шарт) оператор-1; else оператор-2;
6. Программа фрагменті қандай нәтижені экранға шығарады:
{ int s=1, i, f=1;
for (i=2; i<=3; i++) {f=f*i; s=s+f;}
Edit1->Text=FloatToStr(s);}
A.
s=4
B.
s=18
C.
s=1
D.
s=9
E.
s=5
Жұмысты орындауға тапсырмалар
1. Лекциялар, әдебиеттер, әдістемелік нұсқау бойынша теориялық материалды қайталау.
2. Бақылау сұрақтарына ауызша- жазбаша жауап беру.
3. Тапсырма вариантын таңдау және орындау
4. Есеп жазу
Есеп мазмұны
1. Жұмыстың тақырыбы және мақсаты.
2. Бақылау сұрақтарына жауап жазу.
3. Тапсырманың блок-схема, алгоритмі.
4. C++ Builder тілінде программасы.
Әдебиеттер
1. Атымбаева Объектіге бағытталған программалау негіздері.Алматы, 2005 ж.
2. Програ ммирование в среде С ++ Builder. А. Вальвачев, Д. Сурков, К. Сурков.
Мин.1998г
3. С ++ Builder. С.В.Глушаков, В.Н. Зорянский, С.Н. Хоменко
4. С++ и информатика . Н.Культин, М. 2002г.4. 4 4
5. С ++ Builder книга рецептов. В. Ермолаев. Кудиц. – образ. 2006г.
6. Справочник по С ++ Builder. Учебное пособие. 2005г.
7. Разработка приложений в среде С ++ Builder 6 и решение задач информационно-
радиационного профиля. Учебное пособие. А.И. Купчишин, Т.А. Шмыгалева.
Лабораториялық жұмыс № 4.
Тақырыбы: Құрама операторлар.Do ...while операторы.
Мақсаты: Циклдық операторларды қолданып, циклдік программаларды құру дағдыларын
бекіту.
Материалдар және жабдықтар: ДК, C++ Builder программалау ортасы
Жұмыстың мазмұны және орындалу тәртібі:
1.
Вариант бойынша тапсырманы алу
2.
Есептің қойылымы
3.
Есепті шешу алгоритмі
4.
Есепті шешу программасын C++ Builder программалау ортасында құру
5.
Программа листингі
6.
Орындалған жұмыс жөнінде есеп беру
24
Әдістемелік нұсқау
Инструкция FOR.
for (i=n; i
i - айнымалы, типi int; n - параметрдің бастапқы мәнi, m - соңғы мәнi –типі іnt, i++
санағыш.
While инструкциясы. While инструкциясы, егер программа инструкциясының тiзiмi
бiрнеше рет қайталанса, бiрақ қажеттi қайталану саны белгiсiз болса және ол тек жұмыс
кезiнде айқындалуы мүмкiн болса, яғни есептеу барысында анықталатын болған жағдайда
қолданылады. Жалпы түрде while инструкциясы былай жазылады.
While <шарт> {
инструкция тiзiмi
}
мұндағы: <шарт> – логикалык типтегi өрнек.
While инструкциясы былай орындалады. Алдымен шарт <шарт> тексерiледi. Егер шарт
орындалса, онда{ және } арасындағы цикл инструкциясы орындалады, осыдан кейiн шарт
тағы тексерiледi. Егер шарт орындалса, онда цикл инструкциясы тағы да орындалады.
Осылай шарт жалған болғанға дейiн кайталана бередi. Шарт жалған болғанда while
инструкциясы аяқталады.
Do while инструкциясы. Do while инструкциясының жалпы түрі:
do
{
программа инструкциясы
}
whilel <шарт>
Do while инструкциясы былай орындалады. Алдымен do сөзінен кейінгі инструкция
орындалады, одан кейін шарт тексеріледі. Егер шарт жалған болса, онда do және while
арасындағы цикл инструкциясы тағы бір рет орындалады. Егер шарт ақиқат болса, онда цикл
орындалуы аяқталады.
Randomize - процедурасы кездейсоқ сандар генераторын іске қосады. Бұл машина жұмыс
істеп тұрғанда уақыт өзгерісін есептейді, яғни үнемі өзгерісте болады. Ал, оның әрбір мәніне
Random функциясының әртүрлі мәні сәйкес келеді.
Random- [диапазон:word] - егер диапазон көрсетілмесе, 0<=X<1 аралығындағы
кездейсоқ Х санын береді. Егер диапазон берілсе, онда 0<=X<диапазон аралығындағы
кездейсоқ Х санын береді. Random функциясынан бұрын міндетті түрде Randomіze
процедурасын қолдану керек.
Есеп:
1
cos
2
)
(
x
x
f
функциясының
]
,
[ b
a
x
аралығындағы мәндерін
h қадаммен есептейтін програм
-ма құру.
Есепті шешуде қолданылатын
компоненттер:
Label1 , Label2 , Label3 , Label4 , Edit1 ,
Edit2 , Edit3 , Button1 , Button2 , BitBtn1 ,
ListBox1 ,ListBox 2.
Программа мәтіні.
#include
#include
#pragma hdrstop
25
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float f(float t)
{ float z;
z=2*cos(t)-1; return(z);
}
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ int n;
float a,b,x,y,h;
a=StrToFloat(Edit3->Text);
b=StrToFloat(Edit4->Text);
n=StrToInt(Edit2->Text);
h=(b-a)/n;
x=a;
while(x<=b){
x=x+h; y=f(x);
ListBox1->Items->Add(x);
ListBox2->Items->Add(y);}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ListBox1->Clear();
ListBox2->Clear();
}
//---------------------------------------------------------------------------
Тапсырма варианттары(А)
1.
т
i
i
S
1
2
, дәрежеге көтеру операциясын қолданбай есептеңіз.
2. 1 мен 10 аралықтарындағы кездейсоқ сандарды экранға шығару және арифметикалық
ортасын есептеу программа кұрың. (Нұсқау: Randomize процедурасы мен Random
функциясын қолдан).
3. 12 санының көбейту таблицасын мына түрде экранға шығар.
1 х 12=12
10х12=120
4.
,
)
1
(
2
10
1
n
S
n
n
дәрежеге көтеру операциясын қолданбай есептеңіз.
5. Көбейту таблицасыПифагор квадратын экранға шығару программасын жазыңыз.
26
6. N бүтін санның цифрлар санын анықтау үшін программасын жаз.
7. Қосындыны есептеу программасын жаз.
128
1
...
4
1
2
1
1
S
8. Теңдікті қолданып π санына жуық мәнін есептеу программасын жаз.
15
1
2
2
2
2
1
15
1
...
3
1
2
1
1
6
2
i
i
.
9. 3ке бөлінетін екі мәнді барлық сандардың квадраттарының қосындысын есептеу
программасын жаз.
10.
tgx
e
y
для х=0 (0,2) 3. функциясының таблицасын экранға шығар
11.
1
t
z
для t=-1 (0,1) 2. функциясының таблицасын экранға шығар
12.
10
0
n
n
n
x
S
, х үшін 0.5дан 1.4ға дейін 0.1 қадаммен өзгергендегі мәндер
қосындысын табың.
13.
3
5
4
.
2
2
x
x
y
функциясының 2 мен 2 аралығындағы мәндерінің әрбір 0.5
қадамына сәйкес келетін таблицасын құруға программа жаз.
14. Берілген х үшін есептеңіз.
10
3
2
10
11
...
5
4
4
3
3
2
1
x
x
x
x
S
15. Тригонометриялық функциялардың (sinx, cosx, tgx, ctgx) 0 мен 180
0
аралығындағы
мәндерінің әрбір 30
0
қадамына сәйкес келетін таблицасын құруға программа жаз.
16.
n
i
k
k
k
S
2
2
қосындысын есептеу программасын жаз.
17. Кез келген Lден Mге дейінгі натурал сандардан 5пен 7ге қатар қалдықсыз
бөлінетін сандарды табу программасын жаз.
18. 100ден 700ге дейінгі сандардың ішінен 3 және 5 сандарының екеуіне қатар бөлінетін
сандарды экранға шығар.
19.
1
2
x
x
y
функциясының 4тен 4ке дейін 0.5 қадаммен өзгергендегі
мәндер таблицасын экранға шығару программасын жаз.
20. 100ге дейінгі натурал сандар ішінен 3ке және 7ге бөлінбейтін сандарды экранға
шығару программасын жаз.
1> Достарыңызбен бөлісу: |