Tải bản đầy đủ (.ppt) (33 trang)

chuong 5 các toán tử điều khiển

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (73.22 KB, 33 trang )


CHặNG V
CAẽC TOAẽN Tặ IệU KHIỉN
I. Toaùn tổớ IF
Cuù phaùp:
Daỷng 1:
if (Bióứu thổùc õióửu kióỷn)
<cỏu lóỷnh 1>;
Daỷng 2:
if (Bióứu thổùc õióửu kióỷn)
<cỏu lóỷnh 1>;
else
<cỏu lóỷnh 2>;

Chổùc nng:
-
Nóỳu Bióứu thổùc õióửu kióỷn coù giaù trở bũng 1 thỗ thổỷc
hióỷn Cỏu lóỷnh 1.
-
Ngổồỹc laỷi thỗ thổỷc hióỷn Cỏu lóỷnh 2 (Daỷng 2), hoỷc
thổỷc hióỷn caùc lóỷnh sau if (Daỷng 1)
Vờ duỷ: Giaới phổồng trỗnh bỏỷc hai:
#include "stdio.h"
#include "math.h"
void main()
{
int a,b,c;
float x1,x2,del;
clrscr();
printf("\nNhap he so a = "); scanf("%d",&a);


printf("\nNhap he so b = "); scanf("%d",&b);
printf("\nNhap he so c = "); scanf("%d",&c);
del=pow(b,2)-4*a*c;
if (del >= 0)
{
printf("Phuong trinh co nghiem");
x1=(b-sqrt(del))/2*a; x2=(b+sqrt(del))/2*a;
printf("\n x1 = %6.2f",x1);
printf("\n x2 = %6.2f",x2);
}
else
printf("\n Phuong trinh vo nghiem");
getch();
}

Chuù yù:
-
Hoaỡn toaỡn giọỳng caùc ngọn ngổợ lỏỷp trỗnh khaùc, thỗ
C cuợng cho pheùp sổớ duỷng caùc toaùn tổớ if lọửng nhau.
Vờ duỷ:
if (a>b)
if (b>c)
z = b
else
z = c


-
Mọỹt daỷng khaùc cuớa kióứu toaùn tổớ if lọửng nhau:
if (Bióứu thổùc õióửu kióỷn 1)

<cỏu lónh 1>;
else if (bióứu thổùc õióửu kióỷn 2)
<cỏu lóỷnh 2>;
.
.
.
else if (bióứu thổùc õióửu kióỷn n-1)
<cỏu lóỷnh n-1>;
else
<cỏu lóỷnh n>;

Vờ duỷ:
Vióỳt chổồng trỗnh nhỏỷp vaỡo mọỹt sọỳ tổỡ 1 õóỳn 7 vaỡ cho
hióứu thở thổ trong tuỏửn.
#include "stdio.h"
void main()
{
int t;
clrscr();
printf("Nhap so thu tu cua ngay trong tuan t = ");
scanf("%d",&t);
if (t==1)
printf("\nNgay chu nhat");
else if (t==2)

printf("\nNgay thu hai");
else if (t==3)
printf("\nNgay thu ba");
else if (t==4)
printf("\nNgay thu tu");

else if (t==5)
printf("\nNgay thu nam");
else if (t==6)
printf("\nNgay thu sau");
else
printf("\nNgay thu bay");
getch();
}

II. Toaùn tổớ switch
Vóử yù tổồớng gỏửn giọỳng toaùn tổớ Case Of
cuớa Pascal. Toaùn tổớ switch cho pheùp
cn cổù vaỡo giaù trở cuớa mọỹt bióứu thổùc
nguyón õóứ choỹn mọỹt trong nhióứu caùch
nhaớy.

Cuï phaïp:
swith (Biãøu thæïc)
{
case n1:
<Caïc cáu lãûnh>;
case n2:
<Caïc cáu lãûnh>
.
.
case nk:
<caïc cáu lãnh>
[default:
<caïc cáu lãûnh>;]
}


Trong õoù:
-
ni laỡ caùc sọỳ nguyón, hũng kyù tổỷ hoỷc bióứu thổùc
hũng, caùc ni cỏửn coù caùc giaù trở khaùc nhau.
-
oaỷn chổồng trỗnh õỷt giổợa { vaỡ } chờnh laỡ thỏn
cuớa switch.
-
default laỡ mọỹt thaỡnh phỏửn khọng bừt buọỹc
-
Thổù tổỷ cuớa ni vaỡ default khọng theo trỏỷt tổỷ naỡo caớ.
-
Sổỷ hoaỷt õọỹng cuớa switch tuyỡ thuọỹc vaỡo giaù trở cuớa
bióứu thổùc.
-
Khi bióứu thổùc coù giaù trở ni thỗ nhaớy tồùi cỏu lóỷnh ni
-
Khi bióứu thổùc khaùc caùc giaù trở ni thỗ nhaớy õóỳn cỏu lóỷnh
coù nhaợn default (nóỳu coù), hoỷc ra khoới switch.

-
Ra khi switch:
Mạy s ra khi switch khi gàûp lãûnh break hồûc gàûp dáúu ngồûc
âäúng cúi cng (})ca switch.
Cọ thãø dng lãûnh goto trong thán switch âãø nhy âãún mäüt lãûnh
ngoi thán switch
Nãúu switch nàòm trong mäüt hm no thç cọ thãø sỉí dủng lãûnh
return âãø ra khi hm âọ.
Chụ :

Khi mạy nhy tåïi mäüt lãûnh no thç sỉû hoảt âäüng
tiãúp theo ca nọ s phủ thüc vo cạc lãûnh âỉïng
sau cáu lãûnh ny.Tỉïc l nãúu mạy nhy tåïi cáu
lãûnh cọ nhn case ni thç nọ cọ thãø thỉûc hiãûn táút
c cạc lãûnh sau âọ cho tåïi khi gàûp lãûnh break,
goto hồûc return.


Vờ duỷ:
Vióỳt laỷi chổồng trỗnh ồớ vờ duỷ trón bũng caùch sổớ duỷng switch.
#include "stdio.h"
void main()
{
int ch,t;
tt: clrscr();
printf("Nhap so thu tu cua ngay trong tuan t = ");
scanf("%d",&t);
switch (t)
{
case 1:printf("\nNgay chu nhat");
break;
case 2:printf("\nNgay thu hai");
break;
case 3:printf("\nNgay thu ba");

break;
case 4:printf("\nNgay thu tu");
break;
case 5:printf("\nNgay thu nam");
break;

case 6:printf("\nNgay thu sau");
break;
case 7:printf("\nNgay thu bay");
break;
default:printf("\nNhap lai");
getch();
goto tt;
}
printf("\nTiep tuc khong 1/0 ch = ");
scanf("%d",&ch);
if (ch==1) goto tt;
}

III. Toaùn tổớ goto vaỡ nhaợn
-
Nhaợn coù cuỡng daỷng nhổ tón bióỳn vaỡ õi lióửn
sau noù laỡ dỏỳu (:), nhaợn coù thóứ gaùn cho bỏỳt kyỡ
cỏu lóỷnh naỡo trong chổồng trỗnh
Vờ duỷ:
tt:clrscr(); /* tt laỡ nhaợn cuớa cỏu lóỷnh xoaù
maỡn hỗnh clrscr()*/
-
Toaùn tổớ goto coù daỷng:
goto nhaợn;
Khi gỷp cỏu lóỷnh naỡy maợy seợ nhaớy tồùi cỏu lóỷnh
co nhaợn vióỳt sau tổỡ khoaù goto

Chuù yù:
-
Cỏu lóỷnh goto vaỡ nhaợn cỏửn nũm trong mọỹt

haỡm. ióửu õoù noùi lón rũng: Toaùn tổớ goto chố
cho pheùp nhaớy tổỡ vở trờ naỡy sang vở trờ khaùc
trong thỏn cuớa haỡm. Khọng duỡng nhaớy tổỡ haỡm
naỡy sang haỡm khaùc.
-
Khọng cho pheùp duỡng toaùn tổớ goto õóứ nhaớy tổỡ
ngoaỡi vaỡo trong mọỹt khọỳi lóỷnh, nhổng õióửu
ngổồỹc laỷi thỗ coù thóứ thổỷc hióỷn õổồỹc.
IV. Toaùn tổớ for
Cuù phaùp:
for (bióứu thổùc 1; bióứu thổùc 2; bióứu thổùc 3)
<Cỏu lóỷnh>

Chổùc nng:
Cho thổỷc hióỷn cỏu lóỷnh sau for vồùi sọỳ lỏửn õởnh
trổồùc bồới caùc bióứu thổùc trong for.
Trong õoù:
- Bióứu thổùc 1: Laỡ mọỹt toaùn tổớ gaùn õóứ taỷo giaù trở
khồới õỏửu cho bióỳn õióửu khióứn.
- Bióứu thổùc 2: Laỡ mọỹt quan hóỷ logic bióứu thở
õióửu kióỷn õóứ tióỳp tuỷc chổồng trỗnh.
- Bióứu thổùc 3: Laỡ mọỹt toaùn tổớ gaùn õuỡng õóứ thay
õọứi giaù trở cuớa bióỳn õióửu khióứn
- Trong ba Bióứu thổùc trong ngoỷc for coù thóứ
thióứu khọng õuớ ba hoỷc nhióửu hồn ba bióứu thổùc

Chuù yù:

Khi bióứu thổùc 2 vừng mỷt thỗ noù luọn luọn õổồỹc
xem laỡ õuùng. Trong trổồỡng hồỹp naỡy vióỷc ra khoới

voỡng lỷp for cỏửn õổồỹc thổỷc hióỷn nhồỡ lóỷnh break,
goto hoỷc return.

Trong dỏỳu ngoỷc troỡn sau tổỡ khoaù for gọửm ba
phỏửn phỏn caùch nhau bồới dỏỳu ;. Trong mọựi phỏửn
khọng nhổợng coù thóứ vióỳt mọỹt bióứu thổùc maỡ coỡn
coù quyóửn õổồỹc vióỳt mọỹt daợy bióứu thổùc phỏn
caùch nhau bồới dỏỳu phỏứy (,). Khi õoù caùc bióứu
thổùc trong mọựi phỏửn seợ õổồỹc xaùc õởnh lỏửn lổồỹt
tổỡ traùi sang phaới. Tờnh õuùng sai cuớa daợy bióứu
thổùc trong phỏửn thổù hai õổồỹc hióứu laỡ tờnh õuùng
sai cuớa bióứu thổùc cuọỳi cuỡng trong daợy naỡy.


Bón trong thỏn cuớa mọỹt toaùn tổớ for coù thóứ sổớ
duỷng caùc toaùn tổớ for khaùc. Tổùc laỡ caùc voỡng for
lọửng nhau.

Khi gỷp cỏu lóỷnh break trong thỏn for, maùy seợ
ra khoới toaùn tổớ for sỏu nhỏỳt chổùa cỏu lóỷnh naỡy

Trong thỏn for coù thóứ sổớ duỷng toaùn tổớ goto õóứ
nhaùy ra khoới voỡng for õóỳn mọỹt vở trờ bỏỳt kyỡ naỡo
õoù. Cuợng coù thóứ duỡng return trong thỏn for õóứ
trồớ vóử mọỹt haỡm naỡo õoù.

Vê duû 1:
Nháûp vaì Sàõp xãúp maíng mäüt chiãöu theo chiãöu tàng
dáön.
#include "stdio.h"

main()
{
int i,j,temp;
int a[10];
clrscr();
for (i=0;i<10;++i)
{
printf("a[%d] ",i);
scanf("%d",&a[i]);
}

for (i=0;i<10;++i)
for (j=i+1; j<10;++j)
if (a[i]>a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
for (i=0;i<10;++i) printf("%d ",a[i]);
getch();
return 0;
}

Vờ duỷ 2:
Tỗm giaù trở ỏm õỏửu tión cuớa mọỹt ma trỏỷn
#include "stdio.h"
main()
{
int i,j,temp;

int a[3][3];
clrscr();
for (i=0;i<3;++i)
for (j=0;j<3;++j)
{
printf("a[%d,%d] ",i,j);


scanf("%d",&temp);
a[i][j]=temp;
}
for (i=0;i<3;++i)
{
for (j=0; j<3;++j) printf(" %10d",a[i][j]);
printf("\n");
}
for (i=0;i<3;++i)
for (j=0; j<3;++j)
if (a[i][j]<0) goto timthay;
printf("\n Ma tran khong co phan tu am");
goto kethuc;

timthay:
printf("So am dau tien trong ma tran la
%d",a[i][j]);
kethuc:
;
getch();
return 0;
}


Vờ duỷ 3:
Vióỳt chổồng trỗnh tỗm sọỳ lồùn nhỏỳt vaỡ nhoớ nhỏỳt cuớa tổỡng
cọỹt trong ma trỏỷn.
#include "stdio.h"
main()
{
int i,j,max,min,temp;
int a[4][4];
clrscr();
for (i=0;i<4;++i)
for (j=0;j<4;++j)
{
printf("a[%d,%d] ",i,j);


scanf("%d",&temp);
a[i][j]=temp;
}
for (i=0;i<3;++i)
{
for (j=0; j<3;++j) printf(" %10d",a[i][j]);
printf("\n");
}
for (j=0;j<3;++j)
{
max=min=a[0][j];

×