Kiểm tra bài cũ:
Viết chương trình tính tổng:
T=a
m
+b
n
+c
p
với a,b,c là số thực,
m,n,p là các số nguyên dương.
Program
Program
tinhtong;
tinhtong;
Var
Var
T,T1,T2,T3 :Real;
T,T1,T2,T3 :Real;
a,b,c : real;
a,b,c : real;
m,n,p : Integer;
m,n,p : Integer;
Begin
Begin
Write(‘nhap du lieua,b,c,m,n,p’);
Write(‘nhap du lieua,b,c,m,n,p’);
Readln(a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
T1:=1.0;
T1:=1.0;
For i:=1 To m Do
For i:=1 To m Do
T1:=T1* a;
T1:=T1* a;
T2:=1.0;
T2:=1.0;
For i:=1 To n Do
For i:=1 To n Do
T2:=T2* b ;
T2:=T2* b ;
T3:=1.0
T3:=1.0
For i:=1 To p Do
For i:=1 To p Do
T3:=T3* c ;
T3:=T3* c ;
T:=T1+T2+T3;
T:=T1+T2+T3;
Readln;
Readln;
End.
End.
a
m
b
n
c
p
Ví dụ đặt vấn đề:
Ví dụ đặt vấn đề:
Vd1:
Vd1:
Cho hàm số F(x)= 5X
Cho hàm số F(x)= 5X
2
2
+ 3X
+ 3X
+ 1
+ 1
Tính: A= F(2) +F(F(1))
Tính: A= F(2) +F(F(1))
Vd2:
D : = SQRT(sqr(b) - 4*a*c);
Program
Program
tinhtong;
tinhtong;
Var
Var
T,a, b,c:Real;
T,a, b,c:Real;
m,n,p : Integer
m,n,p : Integer
Function
Function
Luythua(x:Real; k:Integer):
Luythua(x:Real; k:Integer):
Real;
Real;
Var i, :Integer;
Var i, :Integer;
Lt:Real;
Lt:Real;
Begin
Begin
Lt :=1.0;
Lt :=1.0;
For i:=1 To k Do
For i:=1 To k Do
Lt:=Lt* x ;
Lt:=Lt* x ;
Luythua:=Lt;
Luythua:=Lt;
End;
End;
BEGIN
BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Luythua( a, m)
Luythua( a, m)
Luythua( b, n)
Luythua( b, n)
Luythua( c, p ) ;
Luythua( c, p ) ;
+ +
T:=
T:=
Nhap du lieu a,b,c,m,n,p
a = 2 ; m = 2
b = 3; n = 3
c = 4 ; p = 4
Luythua(
Luythua(
2
2
,
,
3
3
)
)
4
Luythua(
Luythua(
3
3
,
,
3
3
)
)
Function
Function
Luythua(x:Real; k:Integer):
Luythua(x:Real; k:Integer):
Real;
Real;
Var i, :Integer;
Var i, :Integer;
Lt:Real;
Lt:Real;
Begin
Begin
Lt :=1.0;
Lt :=1.0;
For i:=1 To k Do
For i:=1 To k Do
Lt:=Lt* x ;
Lt:=Lt* x ;
Luythua:=Lt;
Luythua:=Lt;
End;
End;
Function
Function
Luythua(x:Real; k:Integer):
Luythua(x:Real; k:Integer):
Real;
Real;
Var i, :Integer;
Var i, :Integer;
Lt:Real;
Lt:Real;
Begin
Begin
Lt :=1.0;
Lt :=1.0;
For i:=1 To k Do
For i:=1 To k Do
Lt:=Lt* x ;
Lt:=Lt* x ;
Luythua:=Lt;
Luythua:=Lt;
End;
End;
27
Luythua(
Luythua(
4
4
,
,
4
4
) ;
) ;
64
Function
Function
Luythua(x:Real; k:Integer):
Luythua(x:Real; k:Integer):
Real;
Real;
Var i, :Integer;
Var i, :Integer;
Lt:Real;
Lt:Real;
Begin
Begin
Lt :=1.0;
Lt :=1.0;
For i:=1 To k Do
For i:=1 To k Do
Lt:=Lt* x ;
Lt:=Lt* x ;
Luythua:=Lt;
Luythua:=Lt;
End;
End;
T=95
Function
Function
Luythua(x:Real; k:Integer):
Luythua(x:Real; k:Integer):
Real;
Real;
Var i, :Integer;
Var i, :Integer;
Lt:Real;
Lt:Real;
Begin
Begin
Lt :=1.0;
Lt :=1.0;
For i:=1 To k Do
For i:=1 To k Do
Lt:=Lt* x ;
Lt:=Lt* x ;
Luythua:=Lt;
Luythua:=Lt;
End;
End;
END.
Chương trình trên viết theo kiểu chương trình con
1.Kh
1.Kh
ái niệm chương trình con:
ái niệm chương trình con:
Chương trình con là một dãy lệnh mô tả một
Chương trình con là một dãy lệnh mô tả một
số thao tác nhất định và có thể được thực
số thao tác nhất định và có thể được thực
hiện(được gọi) từ nhiều vị trí trong
hiện(được gọi) từ nhiều vị trí trong
chương trình.
chương trình.