И 08. 14/02 Қазақстан Республикасы Білім және Ғылым министрлігі


  Файлды ашу диалогты блогын қандай командамен ашамыз?



Pdf көрінісі
бет15/21
Дата09.12.2019
өлшемі3,21 Mb.
#53264
1   ...   11   12   13   14   15   16   17   18   ...   21
Байланысты:
baibaktina 6
ДСШ баяндама

3.  Файлды ашу диалогты блогын қандай командамен ашамыз? 
4.  Екпінді терезені қандай команданың көмегімен экранға толық жайуға болады? 
5.  Change Dir командасы не үшін қолданылады? 
6.  Ашық тұрған терезелердің бірінен біріне қалай өтуге болады? 
7.  Программаны қадамдап орындау қалай жүзеге асырылады? 
8.  Inspect командасының қызметі қандай? 
9.  Программа текстінің белгіленген фрагментін экраннан өшіріп және оны 
буферге орналастырмайтын команда қандай? 
10.  Arguments командасының қызметі қандай? 
11.  Trace Into командасының қызметі қандай? 
12.  Белгіленген текст фрагментін буферге көшіру командаы қандай? 
13.  Алдыңғы қатеге көшу командасы қандай? 
14.  программаны курсор орналасқан жерге дейін орындау командасы қандай? 
15.  DOS Shell командасының қызметі? 
       
Глоссарий: 
 

 
 
 
a.  IDE–біріктірілген программалау ортасы -  программаны жазуға, өңдеуге, 
компиляциялауға, құрастыруға (компановка) және жөндеуге (отладка) арналған 
құралдар жиынтығынан тұрады. 
b.  Менюлер жолы – программалау ортасында орындалатын әрекеттерге қатысты 
топтастырылған командалар жиынтығы. 
c.  Қалыпты күй жолы-  ортадағы іс-әрекеттерді түсіндіру жолы. 
d.  Терезенің жүйелік менюі – программалау ортасындағы терезелерді басқару 
командаларынан тұрады. 
e.  Проектілер менеджері - құрылатын проектінінің құрамына енетін файлдарды 
анықтайды және проект рекомпиляцияланғанда проект файлында сақталған 
информацияны жаңартады. 
Әдебиеттер: 
[1],[5],[3],[14]. 
 

 
 
 
ЛАБОРАТОРИЯЛЫҚ ЖҰМЫС №2 
 
Тақырыбы: С/С++ СЫЗЫҚТЫҚ АЛГОРИТМДЕРДІ ПРОГРАММАЛАУ 
 
Мақсаты:С/С++  тіліндегі  программаның  жалпы  құрылымын  көрсету  және 
сызықтық программау элементтерін бекіту;  
Енгізу-шығару мүмкіндіктерінің ерекшелігін көрсету. 
 
Қажетті материалдар мен жабдықтар:  ДК, С/С++ тілінің IDE ортасы, 
лабораториялық жұмысты орындауға арналған әдістемелік нұсқаулар. 
 
Лабораториялық жұмыстың мазмұны және орындалу реті: 
 
1.  С/С ++  тілінде сызықтық алгоритмдерді программалауға қатысты әдістемелік 
нұсқау – матриалдарды алдын-ала танысып меңгеру. 
2.  Ұсынылған мысалды орындау және талқылау. 
3.  Өзіндік жеке тапсырмалардың оқытушы ұсынған нұсқасын орындау. 
4.  Лабораториялық жұмыстың есебін (отчет) дайындап тапсыру. 
 
Әдістемелік нұсқау 
 
Программаның құрылымы: 
 
Си/Си++ тіліндегі программалардың жалпы құрылымы: 
 
Препроцессор_директивалары 
1_функциясының_анықталуы 
2_функциясының_анықталуы 
........... 
N_функциясының_анықталуы 
 
Функциялардың  ішінде  міндетті  түрде  main  атты  негізгі  функция  болуы  қажет. 
Қарапайым  программа  тек  негізгі  функциядан  тұрады  және  оның  құрылымы 
мынадай: 
 
Препроцессор_директивалары 
void main() 
{объектілердің_анықтамалары; 
орындалатын_операторлар; 

 
void сөзі main негізгі функциясының ешқандай мән қайтармайтынын білдіреді, 
ал  бос  жақшалар  оның  аргументтерінің  жоқтығын  көрсетеді.  Функцияның 

 
 
 
тақырыбынан  кейін,  фигуралық  жақшалардың  ішінде  функцияның  денесі 
орналасқан.  
 
Нүктелі  үтірмен  аяқталған  кез-келген  өрнек  компиляторда  жеке  оператор 
ретінде қабылданады. Программадағы 
i++ 
конструкциясы да оператор болып табылады. Оны оператор-өрнек деп атайды. Егер 
өрнектің  есептелуі  меншіктеумен  аяқталса,  онда  оны  меншіктеу  операторы  деп 
атауға болады.  
Экранға  мәліметтерді  форматтап  шығару.  printf()  функциясын  шақыру 
операторы келесі құрылымға ие: 
       printf(формат түріндегі жол, аргументтер_тізімі); 
 
Форматты  жол  екі  тырнақшамен  шектелген  (яғни,  тексттік  константа  болып 
табылады)  және  өзінің  құрамына  кез-келген  текстті,  басқару  символдарын  және 
формат  спецификаторларын  қамти  алады.  Аргументтер  тізімі  келтірілмеуі  мүмкін 
немесе  мәндері  экранға  шығарылатын  өрнектерден  тұра  алады.  Мысалы,  
printf("\na=");  операторы("a=")текстін  және  (\n)  басқару  символын  қамтиды.  Текст 
жазылған  түрінде  экранға  шығарылады.  Басқарушы  символдар  шығарылатын 
белгілердің  экранда  орналасуына  әсер  етеді.  Басқарушы  символдардың  белгісі 
ретінде \ беріледі. Төменде олардың тізімі келтірілген: 
\n – жаңа жолға көшіру; 
\t – горизонталды табуляция; 
\r – курсорды жаңа жолдың басына қайтару;  
\a – қоңырау дыбысы; 
\b – бір сивол кері қайтару (бір позиция); 
\f – жаңа параққа көшу; 
\v - вертикалды табуляция. 
 
printf("\nүшбұрыш  ауданы=%f",s);  операторын  қарастырайық.  Аргументтер  тізімі 
бір s айнымалысынан тұрады. Оның мәні экранға шығарылады. %f символдар жұбы 
шығарылатын  s  айнымалысының  мән  форматының  спецификациясы  болып 
табылады.  %  -  формат  белгісі,  ал  f  әрпі  шығарылатын  санның  нақты  типті  екенін 
көрсетеді.  
 
Формат  спецификаторы  шығарылатын  өлшембірліктің  сырт  көрінісінің  түрін 
анықтайды. Кейбір формат спецификаторларын келтірейік: 
%c – символ; 
%s – жол; 
%d – бүтін ондық сан (типі int); 
%u – белгісі жоқ бүтін ондық сан (типі unsigned); 
%f – бекітілген нүкте түріндегі нақты сандар; 
%e – қалқымалы нүкте түріндегі нақты сандар (мантиссамен, ретпен берілген)  
Мысалы, келесі операторлардың орындалуынан кейін 
float m, p; 
int k; 
m=84.3; k=-12; p=32.15; 

 
 
 
printf("\nm=%f\tk=%d\tp=%e", m, k, p); 
 
экранға мына жол шығады: 
m=84.299999  
k=-12  
p=3.21500e+01 
 
Формат спецификаторына сандық параметрлер қосыла алады: жолдың ені мен 
дәлдігі.  Ені  -  өлшемге  экранда  берілетін  позициялар  саны,  ал  дәлдік  –  бөлшек 
бөлігіне  берілетін  позициялар  саны  (нүктеден  кейін).  Параметрлер  %  пен  формат 
символының арасында жазылады және бір бірінен нүкте арқылы ажыратылады. 
Мысалы, 
printf("\nm=%5,2 ", m); нәтижесінде экранға 
m=84.30 шығады.  
Көрсетілген  жолдың  еніне  шығарылатын  мән  симай  қалған  жағдайда  да, 
өлшем толық шығарылады. 
 
Формат  спецификаторларына  келесі  түрдегі  модификаторлар  да  қосылуы 
мүмкін: 
%ld – long int шығару; 
%hu – short unsigned шығару; 
%lf – long double шығару. 
 
 
Клавиатурадан  форматты  түрде  енгізу.  scanf()функциясын  шақыру 
операторы келесі құрылымға ие: 
scanf(формат түріндегі жол, аргументтер_тізімі); 
Бұл  функция  клавиатурадан  енгізілген  символдардың  оқылуын  қамтамасыз 
етеді.  scanf()функциясында  формат  жолы  мен  аргументтер  тізімі  міндетті  түрде 
болуы қажет. Келесі операторды қарастырайық: 
scanf("%f",&a); 
Мұндағы  "%f"  -  формат  жолы,  &a  –  енізілетін  мәндерге  сәйкес  аргументтер 
тізімі. Бұл оператор a айнымалысына сандық мәннің енгізілуін қамтамасыз етеді.  
  
Клавиатурадан  енгізілетін  және  scanf()функциясыменен  қабылданатын 
символдық  тізбекті  кіріс  ағымы  деп  атайды.  Аргументтер  тізімі  –  енгізілетін 
айнымалылар және әр айнымалының алдына & белгісі қойылады.  
 
Формат  жолы  тырнақшаға  алынады  және  спецификациялар  тізімінен  тұрады. 
Әр спецификация % белгісінен басталады, одан кейін  
*жолдың_ені  
модификатор  
спецификатор  
 
тұруы  мүмкін.  Соның  ішінде  спецификатор  міндетті  элемент  болып  табылады.  * 
белгісі кіріс ағымында белгілі бір символдар санын жіберуге мүмкіндік береді.  
 
Әртүрлі  мәндерді  енгізу  ағымында  ажыратушы  ретінде  пробелдердің, 
табуляция белгісінің кез-келген саны бола алады. Тек  Enter’ді басқаннан кейін ғана 
енгізілген мәндер сәйкес айнымалыларға меншіктеледі.  
Мысалы,  5  3.2   2.4  
Си++  тіліндегі  ағымдық  енгізу-шығару.  Си++  тілінде  программа  құру 
барысында,  stdio.h  тақырыптық  файлының  көмегімен  қосылатын  Си  стандарт 
кітапханасының  енгізу-шығару  құрылғыларын  пайдалануға  болады,  бірақ  Си++  тің 
өз  енгізу-шығару  құрылғылары  бар.  Ол  кластар  кітапханасы  және  программаға 

 
 
 
iostream.h файлының көмегімен қосылады. Бұл кітапханада оъектілер ретінде келесі 
есімді стандартты символдық ағымдар анықталған: 
cin – клавиатурадан енгізу стандартты ағымы;  
cout – экранға шығару стандартты ағымы. 
Мәліметтердің  енгізілуі  cin  ағымынан  шығарылуы  және  сәйкес  айнымалыларға 
мәндердің  меншіктелуі  деп  интерпретацияланады.  Си++  стандартты  ағымнан 
шығару  операциясы  ретінде  >>  белгісі  анықталған.  Мысалы,  x  айнымалысына 
мән енгізу операторы мына түрде беріледі: 
cin>>x; 
Мәліметтердің  экранға  шығарылуы  шығарылатын  мәндерді  cout  стандарт 
ағымына  орналастыру  ретінде  интерпретацияланады.  Ағымға  орналастыру  белгісі 
<<. Ағымдық шығаруды пайдаланудың үлгілері: 
cout<cout<<"\nНәтиже="<cout<<"x="<Келтірілген  мысалдан  printf()  функциясындағыдай  басқару  символдарын 
пайдалануға  болатыны  және  әр  шығару  элементінің  алдында  <<  операция  белгісін 
қою  қажеттілігі  көрінеді.  endl  шығару  элементі  курсорды  жаңа  жолға  көшіруді 
білдіретін манипулятор болып табылады (\n аналогі). 
 
Мысал 1 
1. Есептің қойылуы: Герон формуласы бойынша үшбұрыш ауданын есептеу. a, b, c 
- үшбұрыш қабырғалары, S – ауданы. 
 
2.Математикалық моделі:   
S = 
)
)(
)(
(
c
p
b
p
a
p
p



, p = 
2
c
b
a


 
3 Блок – схемасы: 
 
 
          a, b, c      
        енгізу 
    
       P:= (a+b+c)/2 
 Шығару 
       S 
        Басы 
S:=sqrt(p*(p-a)*(p-b)*(p-c)) 

 
 
 
 
 
 
4. Программа листингі: 
#include  
#include  
void main() 
{float a, b, c, p, s 
printf("\na="); scanf("%f",&a); 
printf("\nb="); scanf("%f",&b); 
printf("\nc="); scanf("%f",&c); 
p=(a+b+c)/2; 
s=sqrt(p*(p-a)*(p-b)*(p-c)); 
printf("\nүшбұрыш ауданы=%f",s); 

Есеп  1-дегі  программаны  Си++  тегі  ағымдық  енгізу-шығаруды  пайдалану 
арқылы орындайық 
 
#include  
#include  
void main() 
{float a, b, c, p, s 
cout<<"\na="; cin>>a; 
cout<<"\nb="; cin>>b; 
cout<<"\nc="; cin>>c; 
p=(a+b+c)/2; 
s=sqrt(p*(p-a)*(p-b)*(p-c)); 
cout<<"\nүшбұрыш ауданы=",s); 

 
5. Программаны өңдеу: 
Програманы  өңдеуден  өткізу  үшін  CTRL+F9,  ал  нәтижені  қарау  үшінALT+F5 
клавишалар комбинациясы қолданылады. 
 
6. Программаны талдау: 
Қарастырылған  программадағы  printf(…);  және  scanf(…);  операторлары 
сәйкесінше  экранға  шығаруды  және  мәліметтерді  клавиатурадан  енгізуді  жүзеге 
асырады. Олар тақырыптық файлының есімі stdio.h болып келетін Си енгізу-шығару 
стандарт кітапханасының сәйкес функцияларына жүгінеді. 
 
Мұндағы  a, b, c үш өлшемін бір оператор арқылы енгізуге болады: 
scanf("%f%f%f",&a, &b, &c); 
Қарастырылған  программада  екі  меншіктеу  операторы  келтірілген:  (p)  жарты 
периметрінің есептеулері және (S) үшбұрыш ауданының есептеулері.  
 
Өрнек  ішінде  ауданды  есептеу  үшін  sqrt()-  түбір  асты  кітапханалық 
функциясы 
қолданылған. 
Бұл 
функция 
математикалық 
функциялардың 
         
Соңы 

 
 
 
кітапханасына  кіреді.    Оны  біздің  программамызға  қосу  үшін  #include   
препроцессорлық  директивасы  қолданылады.  Мұндағы  math.h  –  сол  кітапхананың 
тақырыптық  файлының  есімі.  Келесі  №1  кестеде  Си/Си++  математикалық 
кітапханасының 
кейбір 
неғұрлым 
жиі 
қолданылатын 
функцияларының 
сипаттамалары берілген. 
 
Кесте №1 
Математикалық функциялар (тақырыптық файлы math.h) 
 
Атауы 
Аргумент типі  Нәтиже типі 
Функция 
abs(x) 
Int 
int 
бүтін санның абсолюттік мәні 
acos(x) 
double 
double 
арккосинус (радиандар) 
asin(x) 
double 
double 
арксинус (радиандар) 
atan(x) 
double 
double 
арктангенс (радиандар) 
ceil(x) 
double 
double 
x тен кіші емес ең жақын бүтін  
cos(x) 
double 
double 
косинус (x радианмен берілген) 
exp(x) 
double 
double 
e

– x тен берілген экспонента 
fabs(x) 
double 
double 
нақты x-тің абсолюттік мәні 
floor(x) 
double 
double 
x тен аспайтын ең үлкен бүтін 
fmod(x,y)  double 
double 
double 
x ті y-ке бөлгендегі қалдық 
log(x) 
double 
double 
ln x – натурал логарифм 
log10(x) 
double 
double 
lg x – ондық логарифм 
pow(x,y) 
double 
double 
double 
x
 y 
– y дәрежелі x 
sin(x) 
double 
double 
синус (x радианмен берілген) 
sinh(x) 
double 
double 
гиперболалық синус 
sqrt(x) 
double 
double 
түбір асты  (оң мән) 
tan(x) 
double 
double 
тангенс (x радианмен берілген) 
tanh(x) 
double 
double 
гиперболалық тангенс 
 
Сызықтық программаның алгоритмі 

 
 
 
 
 
№2 лабораториялық жұмыстың өзіндік тапсырмалары 
 
1. 
a,  b,  c,  d  нақты  сандары  берілген.  Олардың  қосындысын,  алымын  және 
көбейтіндісін табу керек. 
2. 
x және y нақты сандары берілген. Алу керек:
xy
y
x


1
 
3. 
Екі нақты оң сан берілген. Осы сандардың арифметикалық және геометриялық 
ортасын табыңыз. 
4. 
Тік  үшбұрыштың  катеттері  берілген.  Оның  гипотенузасы  мен  ауданын 
табыңыз. 
5. 
x, y, z берілген. Экранға a, b-ның мәнін шығарыңыз, егер: 
a) 


3
(
2
2
3
,
4
2
1
1









x
e
z
arctg
x
b
y
x
y
x
a

 
b) 
3
2
)
(
1
,
1
3
3
2
2
1
x
y
x
y
x
y
b
tgZ
y
x
e
a
y













 
c) 
z
x
y
b
x
x
y
x
y
a
2
4
2
2
sin
2
/
)
2
cos(
1
,
)
4
/(
1
)
4
/(
)
1
(










 
d) 
)
2
1
(
,
3
/
2
3
2
2
z
tg
b
x
y
x
y
x
y
a







 
Алғашқ
ы 
        өңдеу 
   (есептеулер) 
Нәти
жені 
клавиатурадан 
Монитор экранына
 

 
 
 
e) 


5
/
3
1
,
sin
2
/
1
6
/
cos
2
2
2
2
z
z
b
y
x
a








 
6. 
Параллелограммның ауданын есептеу программасын жазыңыз. 
7. 
Цилиндр көлемін есептеу программасын құрыңыз. 
8. 
Тік  үшбұрыштың  гипотенузасы  мен  катеті  берілген.  Екінші  катеті  мен  іштей 
сызылған шеңбердің радиусын анықтаңыз. 
9. 
x1,y1  және  x2,y2  координаталарымен  берілген  екі  нүкте  арасындағы 
арақашықтықты есептеңіз.  
10. 
Куб қабырғасының ұзындығы берілген. Кубтың көлемі мен оның бір жағының 
ауданын есептеңіз. 
11. 
Тең  қабырғалы  үшбұрыштың  бір  қабырғасы  берілген.  Осы  үшбұрыштың 
ауданын есептеңіз. 
12. 
Клавиатурадан  енгізілген  бөлшек  санды  ақшалай  форматқа  келтіретін 
программа құрыңыз. Мысалы, 125 саны 12 тенге 50 тиын түріне келтіріңіз. 
13. 
Үшбұрыш  бұрыштарының  координаталары  белгілі.  Оның  ауданын  есептеу 
программасын құрыңыз.  
14. 
Арақашықтықты версттан километрге аударатын программа жазыңыз (1 верст 
1066,8 м-ге тең). 
15. 
Көлікпен  дачаға  барып  келудің  құнын  есептейтін  программа  құрыңыз.  Кіріс 
мәліметтері  ретінде:  дачаға  дейінгі  арақашықтық  (км);  көліктің  100  км-ге 
жұмсайтын бензинінің саны; 1 литр бензиннің құны берілген. 
16. 
Егер идеалды салмақ  (кг) = бойы  (см) – 100  белгілі болса, адамның идеалды 
салмағын оның бойына байланысты есептеу программасын құрыңыз. 
17. 
Мектептен  стадионға  дейінгі  қашықтық  S  км,  ал  оқушы  жүрісінің  орташа 
жылдамдығы – V км/сағ. жолда оқушы қанша уақыт (минутпен) жұмсайды. 
 
Блиц- тест: 
1. Математикалық функцияларды қамтитын тақырыптық файлдың есімі: 
A) Math.h 
B) Stdio.h 
C) Conio.h 
D) Graphics.h 
E) String.h 
 
2. Бүтін санның абсолюттік мәнін есептейтін функция: 
A) Abs(x). 
B) Pow(x,y). 
C) Sqrt(x). 
D) Tan(x). 
E) Log(x). 
 
3. Горизонталды табуляцияны білдіретін эскейп-тізбек: 
A) \t. 
B) \n. 

 
 
 
C) \r. 
D) \a. 
E) \v. 
 
4. Бүтін ондық санды (типі int) білдіретін формат спецификаторы: 
A) %d. 
B) %c. 
C) %f. 
D) %e. 
E) %s. 
 
5. C++ тегі x айнымалысына мән енгізу операторы: 
A) Cin>>x. 
B) Scanf(“%f”, &x). 
C) Cout<D) Printf(“\nx=”,x). 
E) Cin< 
Бақылауға арналған сұрақтар 
 
1. 
Сызықтық программа дегеніміз не? 
2. 
void қызметші сөзі нені білдіреді? 
3. 
Оператор дегеніміз не? 
4. 
Математикалық 
функцияларды 
программаға 
қосу 
үшін 
қандай 
препроцессорлық директива қолданылады. 
5. 
printf() және scanf() операторларының қызметі? 
6. 
Басқару символдары не үшін пайдаланылады? 
7. 
\t басқару символы нені білдіреді? 
8. 
pow(x, y) функциясының қызметі? 
9. 
Формат спецификаторлары не анықтайды? 
10. 
Модификатор дегеніміз не? 
11. 
Си және Си++ тілдерінің енгізу-шығару құрылғыларының айырмашылығы.   
 
Глоссарий: 
a.  Программа – мақсатқа жету барысында орындалатанын әрекеттер 
тізбегінің – алгоритмнің машинаға түсінікті тілдегі нұсқасы. 
b.  Сызықтық программа – Алгоритмнің «Ілесу» базалық 
структурасының машинаға түсінікті программалау тіліндегі нұсқасы. 
c.  Форматттап енгізу-шығару -  клавиатурадан енгізілетін немесе 
экранға, лекке шығарылатын мәліметтердің орналасу ретін, типін 
анықтап орындау. 
d.  Формат спецификаторлары – (әдістемелік нұсқауға қара) 
 
Әдебиеттер: 

 
 
 
[1],[3],[4],[14]. 
 
 

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

Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   21




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет