175
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС № 3
Тақырыбы: С/С++ тілінде көшу операторлары көмегімен программалау
Мақсаты: Тандау инструкцияларын программалауды үйрету. Көшу
операторларының түрлерімен таныстыру және логикасын түсіндіру.
Қажетті материалдар мен жабдықтар: ДК, С/С++ тілінің IDE ортасы,
лабораториялық жұмысты орындауға арналған әдістемелік нұсқаулар.
Лабораториялық жұмыстың мазмұны және орындалу реті:
1. С/С ++ тілінде таңдау және тармақталу алгоритмдерін программалауға
қатысты әдістемелік нұсқау – матриалдарды алдын ала танысып меңгеру.
2. Ұсынылған мысалды орындау және талқылау.
3. Өзіндік жеке тапсырмалардың оқытушы ұсынған нұсқасын орындау.
4. Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру.
Әдістемелік нұсқау:
If инструкциясы
If инструкциясы, программаның орындалуы барысында екі бағыттың бірін
тандауға арналған.
Инструкция тізбегін таңдау, if операторынан кейін жақшаның ішіне
жазылған шарттың мәнінен тәуелді.
Егер шарт жалған болса, онда else қызметші сөзінен кейін орналасқан
оператор орындалады.
Егер шарт орындалу немесе орындалмау кезінде бірнеше операторлар
орындалатын болса, оларды фигуралық жақшаға алу керек.
Switch инструкциясы.
Switch инструкциясы программаның орындалу кезінде бірнеше мүмкін
болатын бағыттардың біреуін тандауға арналған.
Тандалатын инструкция тізбегі, селектор-айнымалының мәні, case сөзінен
кейін орналасқан тұрақтыға теңдігіне байланысты.
Егер селектор-айнымалының мәні case инструкциясынан кейін жазылған
бірде бір тұрақтыға тең болмаса, онда default сөзінен кейін тұрған
инструкциялар орындалады.
Селектор-айнымалы ретінде бүтін (int) және символдық (char) типті
айнымалыларды пайдалануға болады.
Көшу операторларының форматы.
If инструкциясы:
Қысқартылған түрі:
If (<шарт>)
{
176
//Мұнда Шарт өрнегінің мәні ақиқат болған жағдайда,
//орындалатын инструкциялар орналасады.
}
Толық түрі:
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 дейін)”);
177
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;
178
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.
Клавиатурадан
енгізілген
бүтін
санның
үшке
бөлінетін-
бөлінбейтіндігін тексеретін программа жазыңыз.
1>1>
Достарыңызбен бөлісу: |