Professional Documents
Culture Documents
Tut1 Solution
Tut1 Solution
K THUT LP TRNH
Bi tp Tun 2 Prototype v Flow Chart
Hng dn: Prototype ca mt vn s c biu din nh sau: out fname(in1, in2,..., inn) Trong out l d liu xut, fname l tn ca vn , ini l cc d liu nhp ca bi ton. V d: Vn : Tnh tng c ca hai s nguyn a v b Bi ton ny c d liu nhp l a v b, d liu xut l c. Nh vy prototype ca bi ton s l nh sau: c tong(a,b) M rng (Cha yu cu phi lm trong phn bi tp ny): Trong cc bi hc sau, khi hc v cch khai bo kiu d liu ca bin, tn ca d liu nhp xut s c thay bng kiu, cc d liu nhp cng s c khai bo vi kiu tng ng. Lc prototype s l int tong(int a, int b)
Bi tp bt buc
Xy dng prototype v v flow chart cho cc bi tp sau
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 1. Tnh tng d ca ba s nguyn a,b v c Prototype: d tong(a,b,c) Flowchart:
Start
Input a,b,c
d a+b+c
Print d
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 2. Tnh chu vi P ca mt hnh trn c bn knh R Prototype: P chuvi(R) Flowchart: Start
Input R
P 2*3.14*R
Print P
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 3. So snh din tch A1 ca mt hnh vung c cnh E vi din tch ca mt hnh trn c bn knh R (d liu xut ca bi ny s l mt bin B c gi tr ng hoc sai) Prototype: B sosanhdientich(E,R) Flowchart: B c gi tr ng (true) nu A1 A2 (din tch hnh trn) B c gi tr sai (false) nu A1 < A2 Start
Input E,R
A1 E*E A2 3.14*R*R
No
B False
Print B
Stop Hnh 3. So snh din tch hnh vung cnh E v din tch hnh trn cnh R
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 4. So snh tui ca hai ngi c ngy thng nm sinh ln lt l D1,M1,Y1 (i vi ngi th nht) v D2, M2, Y2 (i vi ngi th hai) Prototype: B sosanhtuoi(D1,M1,Y1,D2,M2,Y2) Flowchart: Start //B=1: ngi I nh tui hn ngi II //B=2: ngi I bng tui ngi II //B=3: ngi I ln tui hn ngi II
Input D1,M1,Y1,D2,M2,Y 2
diffm<0? Yes
No
diffm>0? No
Yes
Yes
diffd<0? No No
diffd>0? Yes
B3
B2
B1
Print B
Bi tp nng cao
Bi 5. M t lm th no tnh giai tha ca mt s nguyn dng N, N l gi tr nhp vo.
Prototype : f giaithua(N) Flowchart :
Start
Input N
f1 i2
No
Print f
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 6. M t gii thut Euclid tm c chung ln nht ca hai s nguyn dng, sau , tm bi chung nh nht ca hai s nguyn dng. Tm c s chung ln nht Prototype : uscln(a, b) Flowchart 1: a,b > 0. Start
Input a,b
r a mod b ab br
Yes
b > 0? No Print a
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Tm bi s chung nh nht Prototype : p bscnn(a, b) ; Flowchart : bscnn(a, b)
| a *b | uscln(a, b)
Start
Input a,b
p a*b
r a mod b ab br
Yes
b > 0? No p p/a
Print p
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 7. M t qu trnh tm kim gi tr ln nht v gi tr nh nht trong mt mng c N s nguyn. In cc gi tr tm c ra mn hnh. Prototype : minmax(N,a) ; Flowchart : Start
Input N,a
i1 min a max a
No
Yes max a
a>max?
No
No
a<min? Yes
min a
Bi 8. Vit chng trnh nhn vo l mt ng trn tm O(x0, y0) v bn knh R. Kim tra xem mt im A(x, y) l nm trn, trong hay ngoi ng trn .
Prototype : diemduongtron(x0,y0,R,Ax,Ay) ; Flowchart :
Start
Yes
No
Print Trong T
Print Trn T
Print Ngoi T
10
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 9. Vit chng trnh tnh ng knh, chu vi, din tch to bi ca ng trn bn knh R.
Prototype : duongtron(R) ; Flowchart :
Start
Input R
Print d,p,s
Stop Hnh 10. Tnh ng knh, chu vi, din tch hnh trn bn knh R
11
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 10. Vit chng trnh chuyn i gia mt v inch. Hng dn: 1 inch = 2,54 cm
Prototype : convert(a, sel) ; //sel=1: inch sang mt, sel 1: mt sang inch Flowchart :
Start
Input sel
Yes Input a
sel=1?
No Input a
m a*2.54/100
inch a*100/2.54
12
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 11. Vit chng trnh nhn vo nm hp l, kim tra xem c phi l nm nhun hay khng, ghi kt qu ra mn hnh. Hng dn: mt nm l nhun khi m n chia ht cho 4 nhng khng chia ht cho 100, hoc l n chia ht cho 400.
Prototype : kiemtranhuan(year) Flowchart :
Start
Input year
Yes
(mod4==0&&mod100<>0)| |(mod400==0)?
No
Print Nhun
13
Khoa Khoa hc v K thut My tnh B mn Khoa hc My tnh Bi 12. Cho di 3 cnh a, b, c, kim tra xem n c phi l 3 cnh ca mt tam gic cn, tam gic u, tam gic vung hay tam gic vung cn khng.
Prototype : tamgiac(a,b,c) ; Flowchart :
Start
Input a,b,c
No
Yes
Yes
(a==b)&& (b==c)? No
Yes
No
(a==b)||(b==c) ||(c==a)? Yes Print Khng l tam gic Print u Print VungCn
No
No
Print Vung
Print Cn
Print Thung