If инструкциясы:
Қысқартылған түрі:
If (<шарт>)
{
//Мұнда Шарт өрнегінің мәні ақиқат болған жағдайда,
//орындалатын инструкциялар орналасады.
}
Толық түрі:
If (<шарт>)
{
// Мұнда Шарт өрнегінің мәні ақиқат болған жағдайда,
// орындалатын инструкциялар орналасады.
}
Else
{
// Мұнда Шарт өрнегінің мәні жалған болған жағдайда,
// орындалатын инструкциялар орналасады.
}
Switch инструкциясы:
1 вариант
Switch (<өрнек>)
{
Case 1тұрақты: 1инструкция; break;
Case 2тұрақты: 2инструкция; break;
… … … … … …
Default: break;
}
2 вариант
Switch (<өрнек>)
{
Case 1тұрақты: 1инструкция; break;
Case 2тұрақты: 2инструкция; break;
… … … … … …
}
1 - мысал:
Қолданушыдан оқушының қай сыныпта оқитынын сұрап, сәйкесінше «бастауыш
сынып», «орта сынып» немесе «жоғарғы сынып» деген хабарлама шығаратын
программаны құрыңыз. Егер қолданушы мүмкін емес санды енгізсе, «Мәліметтерді
ензігу барысында қате жіберілді!» деген хабарлама шығуы тиіс.
С тілінде
#include
#include
void main ()
{
int klass;
puts(“\n Сыныптың номерін енгіз (1-ден 11 дейін)”);
printf(“-”);
scanf(“%i”, &klass);
if (klass<1 && klass>11)
printf(“Мәліметтерді ензігу барысында қате жіберілді!”);
else if (klass>=1 && klass<=4)
printf(“Бастауыш сынып”);
else if (klass>4 && klass<=9)
printf(“Орта сынып”);
else if (klass>9 && klass<=11)
printf(“Жоғарғы сынып”);
printf(“\n\nПрограмма жұмысын аяқтау үшін пернесін басыңыз”);
detch();
}
С++ тілінде
#include
#include
int main()
{
int klass;
cout<<“Сыныптың номерін енгіз (1 ден 11 дейін) \n”
cout<<”-”
cin>>klass
if (klass<1 && klass>11)
cout<<“Мәліметтерді ензігу барысында қате жіберілді! \n ”;
else if (klass>=1 && klass<=4)
cout<<“Бастауыш сынып\n ”;
else if (klass>4 && klass<=9)
cout<<“Орта сынып\n ”;
else if (klass>9 && klass<=11)
cout<<“Жоғарғы сынып\n ”;
cout<<“\n\nПрограмма жұмысын аяқтау үшін пернесін басыңыз”;
detch();
}
2 - мысал: Клавиатурадан енгізілген жыл мезгілінің номеріне (1-қыс, 2-көктем, 3-
жаз, 4-күз) сәйкес, осы маусымдағы ай аттарын шығаратын программа құру.
#include
#include
void main()
{
int season;
cout<<“\n Жыл мезгілін енгіз (1..4)”;
cout<<“-”;
cin>>season;
switch (season);
case 1:cout<<“\nЖелтоқсан \nҚаңтар \nАқпан”; break;
case 2: cout<<“\nНаурыз \nСәуір \nМамыр”; break;
case 3: cout<<“\nМаусым \nШілде \nТамыз”; break;
case 4: cout<<“\nҚыркүйек \nҚазан \nҚараша”; break;
default: cout<<“Жыл мезгілінің номерін енгізу барысында қате жіберілді”;
Программаларды компьютерде теріп, нәтижесін талдаңыз.
Жеке тапсырмалар:
1.
Квадрат теңдеуді шешетін программа құрыңыз. Программа бастапқы
мәліметтердің дұрыстығын тексеруі қажет және егер 2-ші дәрежелі белгісіздің
коэффициенті нольге тең болса, онда сәйкесінше хабарлама шығаруы керек.
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.
Клавиатурадан енгізілген ай номеріне сәйкес жыл мезгілінің атын
шығаратын программа құрыңыз.
Егер қолданушы 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
16.
Қолданушының Қазақстан тарихынан білімін тексеру программасын құрыңыз.
Программа «Сырым Датұлы бастаған отарлау саясатына қарсы ұлт-азаттық
көтеріліс қай жылдары болған?» деген сұрақты экранға шығарып, үш нұсқа
жауабын береді. Қолданушы дұрыс нұсқаны тандап, сонын номерін енгізуі керек.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
Сырым Датұлы бастаған отарлау саясатына қарсы ұлт-азаттық көтеріліс
қай жылдары болған ?
1.1783-1797 жылдары.
2.1835-1547 жылдары.
3.1750-1780 жылдары
Дұрыс жауаптың номер енгіз:
2
Дұрыс емес.
Дұрыс жауап: 1
17.
Экранға
екі
санның
көбейтіндісін
табуға
арналған
есепті
шығарып,
қолданушыдан жауабын сұрайтын программа құрыңыз. Егер қолданушының
енгізген жауабы дұрыс болса, «Дұрыс» деген хабарлама, ал қате енгізілген
жағдайда, дұрыс жауабын шығарылуы керек.
(Қолданушының ензізген мәліметтері қою түспен көрсетілген.)
Программа орындалу барысында экран кескіні төмендегідей болуы керек:
12*8=?
Жауабын жазып пернесін басыңыз
80
Қателестіңіз ! 12*8=96
18.
Кез-келген a, b, c саны үшін ax
2
+bx+c = 0 теңдеуінің ең болмағанда бір нақты
шешімінің бар/жоқтығын анықтаңыз.
19.
.Алты орынды n наурал саны берілсін. Оның құрамындағы жүздер мен
мыңдардың санын анықтаңыз.
Блиц- тест:
1. if ( x>1.5) s=78; s:= -5 жолының нәтижесі неге тең?
А) 78
В) –5
С) 0
2. Таңдау инструкциясы қайсысы?
A) If
B) Switch
C) For
D) while
Бақылау сұрақтар:
1. if инструкциясының атқаратын қызметі қандай?
2. Инструкциялар тізбегін тандау қалай жүзеге асырылады?
3. Else қызметші сөзінен кейін жазылған инструкция қай жағдайда орындалады?
4. Егер шарт орындалған немесе орындалмаған жағдайда бірнеше инструкциялар
орындалатын болса, оларды не істеу керек?
Глоссарий:
Тармақталу алгоритмі – қандайда бір шарттың орындалу немесе
орындалмауына байланысты анықталатын екі жағдайдың бірін таңдау
мүмкіндігігі ескерілген алгоритм.
Таңдау алгоритмі – мүмкін болатын бірнеше жағдайлардың бірін таңдау
мүмкіндігі берілген алгоритм.
Инструкция- компиляторға берілетін нұсқау
Әдебиеттер:
[3],[4],[5],[13],[15].
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС №4
Тақырыбы: Циклдық процестерді ұйымдастыру.
Мақсаты: С/С++ тілінде циклдарды ұйымдастыру, цикл көмегімен күрделі
функцияларды шешу.
Қажетті материалдар мен жабдықтар: ДК, С/С++ тілінің IDE ортасы,
лабораториялық жұмысты орындауға арналған әдістемелік нұсқаулар.
Лабораториялық жұмыстың мазмұны және орындалу реті:
1. С/С ++ тілінде циклдық алгоритмдерді программалауға қатысты әдістемелік
нұсқау – матриалдарды алдын ала танысып меңгеру.
2. Ұсынылған мысалды орындау және талқылау.
3. Өзіндік жеке тапсырмалардың оқытушы ұсынған нұсқасын орындау.
4. Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру.
Әдістемелік нұсқау:
for do цикл операторы
программаны өңдеу кезінде цикл денесінің қайталану саны белгілі
циклдардық процестерді ұйымдастыру кезінде қолданылады;
циклдың қайталану саны цикл параметрінің бастапқы мәнімен және циклдың
аяқталу шартымен анықталады;
айнымалы параметр бүтін типті (int) болуы керек және тікелей цикл
құрылымында сипатталуы мүмкін.
Екі цикл ерекшелігі
do while цикл операторы
do while циклы құрылымының қайталану саны программаның орындалу
барысында анықталады;
Цикл денесі кем дегенде бір рет орындалады;
while do цикл операторы
while циклының құрылымы while сөзінен кейінгі жазылған өрнектің мәні
нөлге тең болғанша орындала береді;
while сөзінен кейін цикл құрылымы орындалу шарты міндетті түрде жазылуы
керек;
while циклының аяқталуы үшін цикл денесінде міндетті түрде орындалуы
циклдың аяқталу шартына әсер ететін нұсқау болуы керек;
Мысалы:
а) Есеп: Сыйымдылығы х кг – дық қалта және азық – түліктердің салмағы берілген.
Азық – түліктерді осы қалтаға сыятындай етіп салып, жалпы салмағы қанша азық –
түлік салынғанын экранға шығаратын программа құрыңыз.
ә) Есептің қойылымы: n1, n2, n3,… параметрлері арқылы қалтаға салынатын
заттардың салмағын белгілейміз, ал азық – түліктердің қосынды салмағын s арқылы
белгіленеді, яғни s=n1+n2+n3+… . s-тің мәні экранға шығарылады.
в) Есеептің шығарылу алгоритмі:
г) Есептің программасы:
С – дегі нұсқасы:
С++тегі нұсқасы:
#include
#include
void main()
{ clrscr();
int n;
float x,s;
printf("Калтанын
сыйымдылыгын
енгизиниз");
scanf("%f",&x);
s=0;
do
{scanf("%i",&n);
s=s+n;}
while (s printf("s=%f",s);
getch();
}
#include
#include
void main()
{ clrscr();
int n;
float x,s;
cout<< “\n Қалтаның сыйымдылығын
енгізіңіз.”;
cin >>х;
s=0;
do
{cin >>n;
s=s+n;}
while (s cout << "s= " < getch();
}
Өз бетінше орындайтын тапсырмаларға түсініктеме
Есепті шығару барысында оның берілгенін талдап, математикалық моделін
құру керек. Берілген тапсырмаларды орындау барысында цикл операторының үш
түрімен де көрсетуге болады. Егер берілген есеп циклдың үш түрінің қайсібіреуімен
шығаруға келмейтін болса, оның неліктен бұл циклмен шығаруға келмейтінін
дәлелдеңіз. Есеп программасын құрғанда С және С++ тілдеріндегі нұсқаларын
және блок – схемасы мен нәтижесі көрсетілуі қажет.
Өзіндік жеке тапсырмалар:
1) Клавиатурадан енгізілген сандардың қосындысын экранға шығаратын программа
құрыңыз.
2) Клавиатурадан енгізілген сандар тізбегінің арифметкалық ортасын есептейтін
программа жазу керек. Тізбек элементтерінің саны программаның орындалуы
барысында беріледі.
3) Қолданушы енгізген ондық санау жүйесіндегі санды екілік санау жүйесіне
ауыстыратын программа жазыңыз.
4) Алғашқы он оң бүтін жай сандардың квадратын шығаратын программа құрыңыз.
5) Қолданушы кез келген пернені басқанға дейін, мысалы үш минут бойы жұмыс
жасап тұратын “электронды сағатты” экранға шығаратын программа құру керек.
6) Қолданушы енгізген сан жай сан екенін тексеретін программа құрыңыз.
7) Оқушылар бой көрсеткішінен тәуелсіз екі қатарлы сапқа сапқа тұрғызылды.
Мұғалім бұйрығымен бірінші қатарға екінші қатар жалғасып тұрғызылады. Сол
кезде пайда болған бір қатарды экранға шығаратын программа құрыңыз.
8) Екі бүтін санның ең үлкен ортақ бөлгішін есептейтін программа жазыңыз.
9) Клавиатурадан енгізілген оң сандар тізбегіндегі максималды санды анықтайтын
прграмма құру керек.
10)
Клавиатурадан енгізілген оң сандар тізбегінің ортақ арифметикалық ортасын
есептейтін программа құру керек.
11)
Екі санының нөлден бастап онға дейінгі дәрежесінің кестесін экранға
шығаратын программа жазыңыз.
12)
Клавиатурадан енгізілген санның факториалын есептейтін программа
құрыңыз.
13)
Пифагор шаршысын – көбейту кестесін экранға шығаратын программа
жазыңыз.
14)
Көбейту кестесін, мысалыға 7 санының, экранға шығаратын программа
жазыңыз.
15)
Экранға шахмат тақтасын шығаратын программа жазу керек. Тақтаның қара
шаршыларын жұлдызшалармен, ал ақ шаршыларын астын сызу белгісімен
белгілейміз.
16)
Экранға бағалар кестесін, мысалы алманың 100г – нан 1 кг – ға дейінгі
бағасын, 100г қадаммен шығаратын программа жазыңыз.
17)
Бүтін сандардан тұратын тізбек берілген. Оның алғашқы элементі мен соңғы
элементінің орнын ауыстырып жататын программа жазыңыз.
Блиц- тест:
1. for инструкциясының жазылу түрі
A) for(i=1,i<=n,i++)
B)
for(i>10,i=i+1)
C)
for(i++,i<10)
D) for( )
E)
for (I,i
2. С/С++ тілінде циклдың қандай түрлері бар? Төменде көрсетілгенлген
нұсқалардың ішінен дұрыс емесін көрсетіңіз.
A)
repeat until;
F)
for ();
G) while ;
H) do while;
I)
Do while ; while;
Бақылау сұрақтары:
1) Цикл операторының қандай түрлері бар.
2) for do операторы қай жағдайда қолданылады.
3) do while операторының қолданылу жағдайы.
4) while do цикл операторында while циклының құрылымы қай уақытқа дейін
орындала береді?
Глоссарий:
1. Цикл – бір немесе бірнеше әрекеттер тізбегінің әртүрлі мәндер үшін бірнеше рет
қайталануы.
2. Цикл параметрі- (әдістемелік нұсқауды қара)
3. Іштестірілген циклдар – бірінің денесінде бірі орналасқан циклдар.
4. Дейін-циклы, Әзір-Циклы- алгоритмнің базалық структуралары.
Әдебиеттер:
[1-6],[13],[15].
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС №5
Тақырыбы: МАССИВ. МАССИВТІ ӨҢДЕУ.
Мақсаты: С/С++ тілінде бір өлшемді және екі өлшемді массивтерді енгізу, шығару,
өңдеуді ұйымдастыру. Массив көмегімен қолданбалы есептерді шешу.
Қажетті материалдар мен жабдықтар: ДК, С/С++ тілінің IDE ортасы,
лабораториялық жұмысты орындауға арналған әдістемелік нұсқаулар.
Лабораториялық жұмыстың мазмұны және орындалу реті:
1. С/С ++ тілінде массивтерді сипаттау және өңдеуге қатысты әдістемелік
нұсқау – матриалдарды алдын ала танысып меңгеру.
2. Ұсынылған мысалды орындау және талқылау.
3. Өзіндік жеке тапсырмалардың оқытушы ұсынған бір және екі өлшемді
массивтерді өңдеу тапсырмаларының нұсқасын орындау.
4. Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру.
Әдістемелік нұсқау:
Мысалы:
а) Есептің берілуі: Аптаның жеті күніндегі таңғы, түскі және кешкі уақыттағы
температура мәні берілген. Аптаның ең жылы күнінің температура көрсеткішін
табыңыз.
ә) Есептің математикалық моделі: Бұл есепті шығару барысында екі өлшемді
массивті қолданамыз, яғни apta[n][m] өлшемді массив аламыз. Массив жолы
ретінде апта күндерін, ал бағаны ретінде уақыт мезгілдерін (таңғы, түскі және
кешкі) аламыз. Аптаның әрбір күні apta[n][m] массивінің бағандарына сәйкес
келетіндіктен, аптаның әрбір күніндегі температураның орташа мәнін s[n] өлшемді
массивке меншіктеп, осы массивтің ең үлкен мәнін, яғни аптаның ең жылы күнінің
температура көрсеткішін баспаға шығарамыз. Программаның мүмкін мәндері
төменде көрсетілген:
apta[n][m] 18 20 19 20 21 18 17
20 21 20 22 23 20 19
17 19 18 20 21 17 16
s[n] 18,3 20 19 20,7 21,7 18,3 17,3
Аптаның ең жылы күнінің температура көрсеткіші- 21.7градус
б) Есеептің шығарылу алгоритмі:
в) Есептің программасы:
С – дегі нұсқасы:
С++тегі нұсқасы:
#include
#include
#include
#define n 7
#define m 3
void main()
{ clrscr();
int apta[n][m], i,j;
float s[n], max;
printf (“ \n Апта күндеріндегі
таңертеңгі,
түскі
және
кешкі
уақыттағы температура мәндерін
енгізіңіз.”);
for (i=0; ifor (j=0; iscanf (“%i”, &apta[i][j]);
}
for (i=0; is[i] = 0;
for (j=0; js[i] = (s[i] + apta[i][j])/n;
}
max=s[0];
for (i=0; iif (s[i]>max) max=s[i];
printf (“\n Аптаның ең жылы күнінің
температура көрсеткіші -”);
printf (“\n %f”, max);
getch();
}
#include
#include
#include
#include
#define n 7
#define m 3
void main()
{ clrscr();
int apta[n][m], i,j;
float s[n], max;
cout<<
“\n
Апта
күндеріндегі
таңертеңгі, түскі және кешкі уақыттағы
температура мәндерін енгізіңіз.”;
for (i=0; ifor (j=0; icin >> apta[i][j]);
}
for (i=0; is[i] = 0;
for (j=0; js[i] = (s[i] + apta[i][j])/n;
}
max= s[0];
for (i=0; iif (s[i]>max) max=s[i];
cout << “\n Аптаның ең жылы күнінің
температура көрсеткіші -”;
cout << “\n” << max;
getch();
}
1>1>
Достарыңызбен бөлісу: |