182
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС №4
Тақырыбы: Циклдық процестерді ұйымдастыру.
Мақсаты: С/С++ тілінде циклдарды ұйымдастыру, цикл көмегімен күрделі
функцияларды шешу.
Қажетті материалдар мен жабдықтар: ДК, С/С++ тілінің IDE ортасы,
лабораториялық жұмысты орындауға арналған әдістемелік нұсқаулар.
Лабораториялық жұмыстың мазмұны және орындалу реті:
1. С/С ++ тілінде циклдық алгоритмдерді программалауға қатысты әдістемелік
нұсқау – матриалдарды алдын ала танысып меңгеру.
2. Ұсынылған мысалды орындау және талқылау.
3. Өзіндік жеке тапсырмалардың оқытушы ұсынған нұсқасын орындау.
4. Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру.
Әдістемелік нұсқау:
for do цикл операторы
программаны өңдеу кезінде цикл денесінің қайталану саны белгілі
циклдардық процестерді ұйымдастыру кезінде қолданылады;
циклдың қайталану саны цикл параметрінің бастапқы мәнімен және
циклдың аяқталу шартымен анықталады;
айнымалы параметр бүтін типті (int) болуы керек және тікелей цикл
құрылымында сипатталуы мүмкін.
Екі цикл ерекшелігі
do while цикл операторы
do while циклы құрылымының қайталану саны программаның орындалу
барысында анықталады;
Цикл денесі кем дегенде бір рет орындалады;
while do цикл операторы
while циклының құрылымы while сөзінен кейінгі жазылған өрнектің мәні
нөлге тең болғанша орындала береді;
while сөзінен кейін цикл құрылымы орындалу шарты міндетті түрде
жазылуы керек;
183
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();
}
184
Өз бетінше орындайтын тапсырмаларға түсініктеме
Есепті шығару барысында оның берілгенін талдап, математикалық моделін
құру керек. Берілген тапсырмаларды орындау барысында цикл операторының үш
түрімен де көрсетуге болады. Егер берілген есеп циклдың үш түрінің
қайсібіреуімен шығаруға келмейтін болса, оның неліктен бұл циклмен шығаруға
келмейтінін дәлелдеңіз. Есеп программасын құрғанда С және С++ тілдеріндегі
нұсқаларын және блок – схемасы мен нәтижесі көрсетілуі қажет.
Өзіндік жеке тапсырмалар:
1) Клавиатурадан енгізілген сандардың қосындысын экранға шығаратын
программа құрыңыз.
2) Клавиатурадан енгізілген сандар тізбегінің арифметкалық ортасын есептейтін
программа жазу керек. Тізбек элементтерінің саны программаның орындалуы
барысында беріледі.
3) Қолданушы енгізген ондық санау жүйесіндегі санды екілік санау жүйесіне
ауыстыратын программа жазыңыз.
4) Алғашқы он оң бүтін жай сандардың квадратын шығаратын программа
құрыңыз.
5) Қолданушы кез келген пернені басқанға дейін, мысалы үш минут бойы жұмыс
жасап тұратын “электронды сағатты” экранға шығаратын программа құру
керек.
6) Қолданушы енгізген сан жай сан екенін тексеретін программа құрыңыз.
7) Оқушылар бой көрсеткішінен тәуелсіз екі қатарлы сапқа сапқа тұрғызылды.
Мұғалім бұйрығымен бірінші қатарға екінші қатар жалғасып тұрғызылады. Сол
кезде пайда болған бір қатарды экранға шығаратын программа құрыңыз.
8) Екі бүтін санның ең үлкен ортақ бөлгішін есептейтін программа жазыңыз.
9) Клавиатурадан енгізілген оң сандар тізбегіндегі максималды санды анықтайтын
прграмма құру керек.
10)
Клавиатурадан енгізілген оң сандар тізбегінің ортақ арифметикалық ортасын
есептейтін программа құру керек.
185
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 операторының қолданылу жағдайы.
Достарыңызбен бөлісу: |