117
+ -
<< >>
< <= > >=
= = !=
&
^
!
&&
::
?:
=+= -= *= /= %= &=^= := <<= >>=
,
солдан оңға
солдан оңға
солдан оңға
солдан оңға
солдан оңға
солдан оңға
солдан оңға
солдан оңға
солдан оңға
оңнан солға
оңнан солға
солдан оңға
Әдебиеттер:
1. Керниган Б., Ритчи Д.,- Язык программирования Си. – М.: Финансы и
статистика, 1985 г.
2. Вирт Н. Алгоритмы и структуры данных: Пер. с анг.- М.: Мир, 1989 г.
3. Д.Кнут Искусство программирования для ЭВМ. Основные алгоритмы.
М.: Мир, 1976. 3.
4. Н.Культин., С/С++ в задачах и примерах – БХБ-Петербург, 2002 г.
5. Крис Паппас., Программирование на С и С++ - BHV, Киев, 2000 г.
6. Т. А. Павловская, А. Ю. Щупак С/С++ Структурное программирование:
Практикум- СПб.: Питер, 2005
7. Уэйт М . Язык Си. Руководство для начинающих: Пер. с англ. – М., Мир,
1988 г.
118
Практикалық жұмыс №2.
Тақырыбы: Тармақталу және таңдау алгоритмдері
Сабақтың мақсаты: Тармақталу конструкцияларын пайдаланып программалауға
машықтандыру. Тармақталу алгоритмдерін С/С++ тілдерінде жүзеге асыру
жолдарын үйрету.
Қажетті материалдар мен жабдықтар: практикалық сабақтарды орындауға
арналған нұсқаулар, тақта.
Жұмыстың мазмұны және орындалу реті:
1. Тапсырмаларды орындау мысалдарын қарастыру.
2. Ретімен берілген тапсырмаларды орындау.
3. Практикалық жұмысты талапқа сай орындап тапсыру.
Тапсырманы орындау мысалдары
Екі санды бөлгендегі бөлшек бөлігін есептеу программасын құру. Программада
бөліндінің нөлге тең еместігі тексерілуі тиіс.
С/С++ І. Есептің математикалық моделі:
Формуласы:
b
a
c
/
,
a
-бөлінгіш;
b
- бөлгіш.
ІІ. Есептің блоу-схемасы:
Басы
Енгізу a, b
b!=0
Соңы
c=a/b
Шығару a,
+
-
Хабарлама
119
ІІ. Есептің программасы:
#include
#include
main()
{
float a,b, c;
clrscr();
printf(" Бастапқы мәндерді енгізіңіз: \n");
printf("");
scanf("%f%f", &a, &b);
if (b!=0)
{
c=a/b;
printf (“%5.2f -ны %5.2f – ға өлгендегі бөлшек бөлігінің ", a, b );
printf (“мәні: %5.2f", c);
}
else
{
printf (“Бөлімі нөлге тең бола алмайды! \n" );
}
getch();
return 0;
}
Студентке орындатуға арналған тапсырмалар:
1. Бір шартты конструкция түрінде жазыңыз:
a.
.
sin
1
,
2
0
,
cos
2
2
айда
аал аал а
x
x
егер
x
y
;
b.
,
)
ln
1
arcsin(
a
x
теңдеуінің түбірі бар болса, онда x айнымалысына
меншіктетіңіз;
c.
)
,
,
max(
c
b
a
d
;
d.
.
0
)
,
min(
,
0
)
,
max(
x
при
y
x
x
при
y
x
z
.
2.
А(х
1
, у
1
) және В(х
2
, у
2
) екі нүкте берілген. Олардың қайсысы координат
басына жақын екендігін анықтайтын программа құрыңыз.
3.
Өзара тең емесе х және у нақты сандары берілген. Олардың ең кішісін
қосындысының жартысымен, ал үлкенін екі еселенген көбейтіндісімен
ауыстырыңыз.
4.
m, n бүтін сандары берілген. Егер олар өзара тең болмаса, әрқайсысын осы
сандардың үлкенімен ауыстырыңыз, ал тең болса 0-мен ауыстырыңыз.
5.
a, b, c сандарының ішіндегі теріс сандардың санын анықтаңыз.
120
6.
Экранда “Сен кімсін: қыз немесе ер бала. Д немесе М енгіз”. Қайтарылған
жауапқа сәйкес, “Маған қыздар ұнайды” немесе “Маған балдар ұнайды” деген
текст экранға шығарылуы керек.
7.
Күріш екі пакетке салынған. Біріншісінің массасы – m кг, екіншісінікі – n кг.
а) қай пакет ауыр – біріншісі немесе екіншісі; б) ауыр пакеттің салмағын
анықтайтын программа құрыңыз.
8.
Ең үздік кәсіпкер сайысының финалына Иванов, Петров, Сидоров өтті.
Сайыс үш турдан тұрды. Иванов бірінші турда m
1
, екіншіде – n
1
, үшіншіде – р
1
балл жинаған. Петров сәкесінше- m
2
, n
2
, р
2
; Сидоров – m
3
, n
3
, р
3
. Жеңімпаз қанша
балл жинағандығын анықтайтын программа құрыңыз.
Практикалық жұмыстың есебін дайындау формасы:
Берілген тапсырманың әрқайсысы үшін төмендегілерді орындау:
1.
Есептің математикалық моделін анықтау;
2.
Есептің алгоритмінің блок-схемае сызу;
3.
Есептің алгоритміне сәйкес программасын жазу.
4.
Блиц-тест
1. С/С++ тіліндегі «кіші немесе тең» қатынас опреаторы қайсысы?:
a) !=
b) <>
c) <=
d) = =
e) >=
2.Қате жазылған жолдың нөмірін көрсетіңіз.
1. #include
2. main()
3. { int x,y;
4. scanf("%d %d",&x,&y);
5. if(x=y) printf("тең");
6. else printf("тең емес");}
a) 5
b) 2
c) 1
d) 6
e) 3
3.Қай конструкция таңдау таңдау алгоритмін жүзеге асырады?
a) if
b) break
c) goto
d) switch
e) for
Достарыңызбен бөлісу: |