Соңғы шартты цикл операторы. Циклдық түзілімнің келесі операторы Do-While, жалпы жазылу пішімі:
Do { <операторлар тізбегі > } While(<шарт-өрнек>);
мұндағы <операторлар тізбегі > бір ғана оператор немесе құрамды оператор болуы мүмкін. Do-While түзілімде <шарт > <операторлар тізбегі > нен кейін тексеріледі. Әуелі оператор соңындағы<шарт > өрнегінің мәні қандай болмасын жүйелі жақшадағы <операторлар тізбегі > бір рет міндетті орындалады, содан кейін <шарт> өрнегінің мәні тексеріледі. Егер ол нөлге тең болмаса (‘’ақиқат’’) цикл денесі орындалады. Бұдан кейін <шарт> өрнегінің мәні қайтып тексеріледі, егер ол нөлге тең болмаса, цикл денесі тағыды орындалады.Міне, осылай <шарт> өрнегінің мәні нөлге тең( ‘’жалған’’) болғанша цикл денесі орындала береді. <Шарт > ‘’жалған’’ мән қабылдағанда программа басқаруды программаның келесі операторына береді. Do-While циклы « кейінгі шартты» немесе ‘’шарты соңынан ‘’ цикл деп атайды. Егер цикл денесінде оператор біреу болса , фигуралық жақшалар қою міндетті емес. Сонда, Do-While түзілімінде цикл денесі ең болмағанда бір рет орындалады, ал For және While түзіліміндерінде цикл денесі бірде бір рет орындалмауы мүмкін.
/* _ C_37__ Герон алгоритмі- квадрат түбір _____________*/
#include
#include
#include
main() { clrscr();int n; double a,x0,x,eps,del;
do { puts("\n a>0 ===>");scanf("%lg",&a);} while(a<=0);
do { puts("\n eps>22.16e-16==>"); scanf("%lg",&eps);}
while(eps<=22.e-16);
printf("\n\n Герон алгоритмі a=%23.17le eps=%7.1le",a,eps);
x=(a+1)/2; do{ del=0.5*(x-a/x);x-=del;} while( fabs(del)>eps);
printf("\n otv: \n а сан. Кв.түбірі=%17le \n pogr:%0le",x,x-sqrt(a));}
/*_________________________________________ eo program__*/
/* a>05 eps > 22.16e-16 0.000001 2.236068e00 pogr 1.884025e-13 _*/
/*_C++_38_ қосындысын eps=0.0001дәлдікпен есептеңдер __*/
#include
#include
void main(void) { clrscr(); float i,s,ds,eps;
cin>>eps; cout<< "eps="<
s=0; i=1; do { ds=1/i;s=s+ds;i=i+1; cout<<"ds="<
cout<<"s="<=eps);
cout<<"s="<
/*_________________________________________ eo program__*/
/*__ eps=0.0001_______ds=9.999e-05______s=9.787713 __________*/
Достарыңызбен бөлісу: |