Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Huỳnh Thị Thi |
Ngày 10/05/2019 |
60
Chia sẻ tài liệu: Bài 18. Ví dụ về cách viết và sử dụng chương trình con thuộc Tin học 11
Nội dung tài liệu:
BÀI : ôn tập(tt)
CHÀO MỪNG QUÝ THẦY CÔ VỀ DỰ GIỜ LỚP 11A7
TIẾT PPCT: 48
Dãy 1
Dãy 2
Dãy 3
Dãy 4
GIẢI Ô CHỮ
Từ khóa: LỆNH
D U N G L Ư Ợ N G Đ Ĩ A
T Ệ P V Ă N B Ả N
I N T E G E R
B Ộ N H Ớ N G O À I
Lượng dữ liệu lưu trữ trên đĩa phụ thuộc vào:
Dãy 1
D U N G L Ư Ợ N G Đ Ĩ A
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Tệp nào mà dữ liệu trong nó được ghi dưới dạng các kí tự theo mã ASCII ?
Dãy 2
T Ệ P V Ă N B Ả N
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Kiểu dữ liệu chuẩn nào có bộ nhớ lưu trữ là 2 byte?
Dãy 3
I N T E G E R
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Dữ liệu kiểu tệp được lưu lâu dài ở bộ nhớ nào?
Dãy 4
B Ộ N H Ớ N G O À I
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
NỘI DUNG BÀI MỚI
Rèn luyện kỹ năng lập trình.
2. Câu hỏi trắc nghiệm
3. Củng cố kiến thức.
4. Dặn dò, bài tập về nhà.
Cấu trúc khai báo hàm:
Function[()]:;
[]
Begin
[]
:=;
End;
Rèn luyện kỹ năng lập trình.
Viết cấu trúc khai báo hàm/thủ tục?
Cấu trúc khai báo thủ tục.
Procedure[()];
[]
Begin
[]
End;
Rèn luyện kỹ năng lập trình.
Trong chương trình con khi nào sử dụng hàm/thủ tục?
Dùng hàm:
Kết quả bài toán trả về một giá trị duy nhất.
Lời gọi chương trình con cần nằm trong các biểu thức tính toán.
Dùng thủ tục:
Kết quả bài toán không trả về giá trị nào qua tên của nó hoặc trả về nhiều giá trị.
Lời gọi chương trình con không nằm trong các biểu thức tính toán.
Cho biết input và output của bài?
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
Input: Nhập vào n
Output: Tính tổng T
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
Bài toán trên yêu cầu làm gì? Mô tả việc cần làm đó?
Begin
S:=0;
For i:=1 to n do
S:=s+ i;
End;
Khai báo gián tiếp mảng một chiều
Program vidu1;
Uses crt;
Type Mang=array[1..100] of integer;
Var a : mảng;
Cú pháp khai báo:
Ví dụ :
Type =array[kiểu chỉ số]of ;
Var:;
Type Mảng=array[1..100] of integer;
Var a: mảng;
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
Type mang=array[1..100] of integer;
Function tinhtong(a: mang ;n:integer):longint;
Var i: integer;
S: integer;
Begin
S:=0;
For i:=1 to n do
S:=s+a[i];
Tinhtong:=s;
End;
CHƯƠNG TRÌNH CON DÙNG MẢNG 1 CHIỀU
CHƯƠNG TRÌNH DÙNG KHÔNG DÙNG MẢNG 1 CHIỀU
Program tong;
Var n:integer; S: longint;
Function tinhtong(n:integer):longint;
Var i:integer; S:longint;
Begin
S:=0;
For i:=1 to n do
S:=S+i;
Tinhtong:=S;
End;
BEGIN
Clrscr;
Write(‘nhap vao so n:’); Readln(n);
Tinhtong(n);
Writeln(‘Tong la=‘, tinhtong(n));
End.
Viết chương trình hoàn chỉnh của bài dùng mảng một chiều?
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
CHƯƠNG TRÌNH HOÀN CHỈNH
Program tong;
Uses crt;
Type mang=array[1..100] of integer;
Var a:mang;
N,i:integer;
S:longint;
{Chương trình con tính tổng}
BEGIN
Clrscr;
Write(‘nhap so luong phan tu:’);
Readln(n);
For i:=1 to n do
Begin
Write(‘nhap phan tu thu’,i,’:’);
Readln(a[i]);
End;
Tinhtong(a,n);
Writeln(‘tinh tong duoc la:’,tinhtong(a,n));
Readln;
END.
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
CHƯƠNG TRÌNH VIẾT BẰNG PHẦN MỀM FREE PASCAL
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
KẾT QUẢ CHƯƠNG TRÌNH TÍNH TỔNG T=1+2+3+…+N
2. TRẮC NGHIỆM
Câu 1: (3) Để gán tệp có tên là HOCKY2.INT cho biến K2 ta phải gõ lệnh :
A. Assign(K2, HOCKY2.INT);
B. Assign(K2, ‘HOCKY2.INT’);
C. Assign(HOCKY2.INT, K2);
D.Assign(‘HOCKY2.INT’, K2);
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Assign(K2, HOCKY2.INT);
B. Assign(K2, ‘HOCKY2.INT’);
C. Assign(HOCKY2.INT, K2);
D.Assign(‘HOCKY2.INT’, K2);
Câu 2: Cho đoạn chương trình sau: (áp dụng cho các câu 18,19,20,21,22,23,24 trong đề cương)
Program thi_hk_2;
Var a,b,c : real;
Procedure vidu (Var x: integer; y,z: real ):real;
Var tong: real;
Begin
x:= x+1; y:=y - x;
z:=z + y; tong:=x+y+z; Writeln(x,’ ‘,y,’ ‘,z,’ ‘,tong);
End;
BEGIN
a:=3; b:=4; c:=5; vidu(a,b,c);
Writeln(a,’ ‘,b,’ ‘,c); Readln
END.
2. TRẮC NGHIỆM
Hãy cho biết?
18. Lỗi của CT:
19. Tham số hình thức:
20. Tham biến,tham trị:
21. Lời gọi chương trình con:
22. Biến toàn cục:
23. Nếu bỏ qua lỗi của chương trình thì kết quả xuất ra màn hình là:
24. Nếu nhập a:=6, b:=9, c:=10 thì kết quả xuất ra màn hình là:
Thủ tục không có kiểu dữ liệu
x, y, z
a, b, c
x:tham biến.y, z : tham trị
4,0,5,9
4,4,5
7,2,12,21
7,9,10
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Vidu(a,b,c)
2. TRẮC NGHIỆM
Câu 3: (33)Cho x, y là hai biến nguyên và khai báo thủ tục:
Procedure doicho(var a:integer; b: integer);
Var z: integer;
Begin
Z:=a; a:=b; b:=z;
End.
Sau khi thực hiện các lệnh:
x:=7; y:=3;
Doicho(x,y);
Thì giá trị của x,y là:
A.x=3, y=7
C. x=7, y=7
B. x=3, y=3
D. x=7, y=3
A.x=3, y=7
C. x=7, y=7
B. x=3, y=3
D. x=7, y=3
00
01
02
03
04
05
06
07
08
09
10
Thời gian
Câu 4: Khi chạy chương trình :
Var x : Integer;
Procedure TTA ;
Var x : Integer;
Begin
x:= 7* 5; Write(x, ‘,’);
End;
BEGIN
x:=4; TTA; Write(x:2);
END.
-Kết quả in ra là:
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. 35, 4
B. 4, 35
C. 4, 4
D. 354
A. 35, 4
B. 4, 35
C. 4, 4
D. 354
2. TRẮC NGHIỆM
Hãy nhớ!
Cấu trúc chương trình con(CTC) và vị trí của nó trong chương trình chính?
CTC có thể có tham số hình thức khi khai báo và được thay bằng tham số thực sự khi gọi CTC.
Thao tác với tệp(khai báo, gắn tên tệp, mở tệp, đóng tệp, đọc/ghi tệp văn bản).
[]
Function tinh( v:real): real;
Tinh(v);
var:text;
Assign(,);
Rewrite();
Reset();
Readln(,);
Writeln(,);
Close();
Câu 1:(6) Kiểu dữ liệu của hàm chỉ có thể là:
A. Record, Byte.
B. Integer, Real, char, boolean, string.
C. boolean, word
D. Integer, Real, char, array, record
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Record, Byte.
B. Integer, Real, char, boolean, string.
C. boolean, word
D. Integer, Real, char, array, record
CỦNG CỐ KIẾN THỨC
Câu 2: (13) Giả sử tệp F1 đã được gán tên là ‘VD.DAT’. Dùng thủ tục nào sau đây để mở tệp F1 ra để đọc?
A. Reset(‘VD.DAT’);
B. Rewwrite(‘VD.DAT’);
C. Reset(F1);
D. Rewwrite(F1);
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Reset(‘VD.DAT’);
B. Rewwrite(‘VD.DAT’);
C. Reset(F1);
D. Rewwrite(F1);
CỦNG CỐ KIẾN THỨC
Câu 3: (17) Số lượng phần tử của tệp
A. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa
B. Không được lớn hơn 255
C. Không được lớn hơn 128
D. Phải được khai báo trước.
00
01
02
03
04
05
06
07
08
09
10
Thời gian
CỦNG CỐ KIẾN THỨC
A. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa
B. Không được lớn hơn 255
C. Không được lớn hơn 128
D. Phải được khai báo trước.
Câu 4: (29) Cho khai báo đầu của một hàm:
Function F( k : Integer) : String ;
Begin
If k mod 2=0 then F:=’Chan’ else F:=’Le’;
End;
Muốn in Write( F(y) ); thì biến y phải khai báo kiểu gì :
A. Var y : Real;
B. Var y : String;
C. Var y : Integer;
D. Var y : Char;
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Var y : Real;
B. Var y : String;
C. Var y : Integer;
D. Var y : Char;
CỦNG CỐ KIẾN THỨC
4. BÀI TẬP VỀ NHÀ
Bài tập:
Viết chương trình kiểm tra xâu s có đối xứng không?
Hướng dẫn: Xâu đối xứng là xâu có các kí tự giống nhau đối xứng qua điểm giữa xâu. Có tính chất là đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải.
Ví dụ: MADAM, RADAR, ABBA, ABCDCBA
THE END.
CHÀO MỪNG QUÝ THẦY CÔ VỀ DỰ GIỜ LỚP 11A7
TIẾT PPCT: 48
Dãy 1
Dãy 2
Dãy 3
Dãy 4
GIẢI Ô CHỮ
Từ khóa: LỆNH
D U N G L Ư Ợ N G Đ Ĩ A
T Ệ P V Ă N B Ả N
I N T E G E R
B Ộ N H Ớ N G O À I
Lượng dữ liệu lưu trữ trên đĩa phụ thuộc vào:
Dãy 1
D U N G L Ư Ợ N G Đ Ĩ A
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Tệp nào mà dữ liệu trong nó được ghi dưới dạng các kí tự theo mã ASCII ?
Dãy 2
T Ệ P V Ă N B Ả N
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Kiểu dữ liệu chuẩn nào có bộ nhớ lưu trữ là 2 byte?
Dãy 3
I N T E G E R
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Dữ liệu kiểu tệp được lưu lâu dài ở bộ nhớ nào?
Dãy 4
B Ộ N H Ớ N G O À I
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
NỘI DUNG BÀI MỚI
Rèn luyện kỹ năng lập trình.
2. Câu hỏi trắc nghiệm
3. Củng cố kiến thức.
4. Dặn dò, bài tập về nhà.
Cấu trúc khai báo hàm:
Function
[
Begin
[
End;
Rèn luyện kỹ năng lập trình.
Viết cấu trúc khai báo hàm/thủ tục?
Cấu trúc khai báo thủ tục.
Procedure
[
Begin
[
End;
Rèn luyện kỹ năng lập trình.
Trong chương trình con khi nào sử dụng hàm/thủ tục?
Dùng hàm:
Kết quả bài toán trả về một giá trị duy nhất.
Lời gọi chương trình con cần nằm trong các biểu thức tính toán.
Dùng thủ tục:
Kết quả bài toán không trả về giá trị nào qua tên của nó hoặc trả về nhiều giá trị.
Lời gọi chương trình con không nằm trong các biểu thức tính toán.
Cho biết input và output của bài?
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
Input: Nhập vào n
Output: Tính tổng T
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
Bài toán trên yêu cầu làm gì? Mô tả việc cần làm đó?
Begin
S:=0;
For i:=1 to n do
S:=s+ i;
End;
Khai báo gián tiếp mảng một chiều
Program vidu1;
Uses crt;
Type Mang=array[1..100] of integer;
Var a : mảng;
Cú pháp khai báo:
Ví dụ :
Type
Var
Type Mảng=array[1..100] of integer;
Var a: mảng;
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
Type mang=array[1..100] of integer;
Function tinhtong(a: mang ;n:integer):longint;
Var i: integer;
S: integer;
Begin
S:=0;
For i:=1 to n do
S:=s+a[i];
Tinhtong:=s;
End;
CHƯƠNG TRÌNH CON DÙNG MẢNG 1 CHIỀU
CHƯƠNG TRÌNH DÙNG KHÔNG DÙNG MẢNG 1 CHIỀU
Program tong;
Var n:integer; S: longint;
Function tinhtong(n:integer):longint;
Var i:integer; S:longint;
Begin
S:=0;
For i:=1 to n do
S:=S+i;
Tinhtong:=S;
End;
BEGIN
Clrscr;
Write(‘nhap vao so n:’); Readln(n);
Tinhtong(n);
Writeln(‘Tong la=‘, tinhtong(n));
End.
Viết chương trình hoàn chỉnh của bài dùng mảng một chiều?
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
CHƯƠNG TRÌNH HOÀN CHỈNH
Program tong;
Uses crt;
Type mang=array[1..100] of integer;
Var a:mang;
N,i:integer;
S:longint;
{Chương trình con tính tổng}
BEGIN
Clrscr;
Write(‘nhap so luong phan tu:’);
Readln(n);
For i:=1 to n do
Begin
Write(‘nhap phan tu thu’,i,’:’);
Readln(a[i]);
End;
Tinhtong(a,n);
Writeln(‘tinh tong duoc la:’,tinhtong(a,n));
Readln;
END.
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
CHƯƠNG TRÌNH VIẾT BẰNG PHẦN MỀM FREE PASCAL
Bài 1:
Viết chương trình tính tổng T=1+2+3+…+N
KẾT QUẢ CHƯƠNG TRÌNH TÍNH TỔNG T=1+2+3+…+N
2. TRẮC NGHIỆM
Câu 1: (3) Để gán tệp có tên là HOCKY2.INT cho biến K2 ta phải gõ lệnh :
A. Assign(K2, HOCKY2.INT);
B. Assign(K2, ‘HOCKY2.INT’);
C. Assign(HOCKY2.INT, K2);
D.Assign(‘HOCKY2.INT’, K2);
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Assign(K2, HOCKY2.INT);
B. Assign(K2, ‘HOCKY2.INT’);
C. Assign(HOCKY2.INT, K2);
D.Assign(‘HOCKY2.INT’, K2);
Câu 2: Cho đoạn chương trình sau: (áp dụng cho các câu 18,19,20,21,22,23,24 trong đề cương)
Program thi_hk_2;
Var a,b,c : real;
Procedure vidu (Var x: integer; y,z: real ):real;
Var tong: real;
Begin
x:= x+1; y:=y - x;
z:=z + y; tong:=x+y+z; Writeln(x,’ ‘,y,’ ‘,z,’ ‘,tong);
End;
BEGIN
a:=3; b:=4; c:=5; vidu(a,b,c);
Writeln(a,’ ‘,b,’ ‘,c); Readln
END.
2. TRẮC NGHIỆM
Hãy cho biết?
18. Lỗi của CT:
19. Tham số hình thức:
20. Tham biến,tham trị:
21. Lời gọi chương trình con:
22. Biến toàn cục:
23. Nếu bỏ qua lỗi của chương trình thì kết quả xuất ra màn hình là:
24. Nếu nhập a:=6, b:=9, c:=10 thì kết quả xuất ra màn hình là:
Thủ tục không có kiểu dữ liệu
x, y, z
a, b, c
x:tham biến.y, z : tham trị
4,0,5,9
4,4,5
7,2,12,21
7,9,10
00
01
02
04
05
06
07
08
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Thời gian
Vidu(a,b,c)
2. TRẮC NGHIỆM
Câu 3: (33)Cho x, y là hai biến nguyên và khai báo thủ tục:
Procedure doicho(var a:integer; b: integer);
Var z: integer;
Begin
Z:=a; a:=b; b:=z;
End.
Sau khi thực hiện các lệnh:
x:=7; y:=3;
Doicho(x,y);
Thì giá trị của x,y là:
A.x=3, y=7
C. x=7, y=7
B. x=3, y=3
D. x=7, y=3
A.x=3, y=7
C. x=7, y=7
B. x=3, y=3
D. x=7, y=3
00
01
02
03
04
05
06
07
08
09
10
Thời gian
Câu 4: Khi chạy chương trình :
Var x : Integer;
Procedure TTA ;
Var x : Integer;
Begin
x:= 7* 5; Write(x, ‘,’);
End;
BEGIN
x:=4; TTA; Write(x:2);
END.
-Kết quả in ra là:
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. 35, 4
B. 4, 35
C. 4, 4
D. 354
A. 35, 4
B. 4, 35
C. 4, 4
D. 354
2. TRẮC NGHIỆM
Hãy nhớ!
Cấu trúc chương trình con(CTC) và vị trí của nó trong chương trình chính?
CTC có thể có tham số hình thức khi khai báo và được thay bằng tham số thực sự khi gọi CTC.
Thao tác với tệp(khai báo, gắn tên tệp, mở tệp, đóng tệp, đọc/ghi tệp văn bản).
[
Function tinh( v:real): real;
Tinh(v);
var
Assign(
Rewrite(
Reset(
Readln(
Writeln(
Close(
Câu 1:(6) Kiểu dữ liệu của hàm chỉ có thể là:
A. Record, Byte.
B. Integer, Real, char, boolean, string.
C. boolean, word
D. Integer, Real, char, array, record
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Record, Byte.
B. Integer, Real, char, boolean, string.
C. boolean, word
D. Integer, Real, char, array, record
CỦNG CỐ KIẾN THỨC
Câu 2: (13) Giả sử tệp F1 đã được gán tên là ‘VD.DAT’. Dùng thủ tục nào sau đây để mở tệp F1 ra để đọc?
A. Reset(‘VD.DAT’);
B. Rewwrite(‘VD.DAT’);
C. Reset(F1);
D. Rewwrite(F1);
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Reset(‘VD.DAT’);
B. Rewwrite(‘VD.DAT’);
C. Reset(F1);
D. Rewwrite(F1);
CỦNG CỐ KIẾN THỨC
Câu 3: (17) Số lượng phần tử của tệp
A. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa
B. Không được lớn hơn 255
C. Không được lớn hơn 128
D. Phải được khai báo trước.
00
01
02
03
04
05
06
07
08
09
10
Thời gian
CỦNG CỐ KIẾN THỨC
A. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa
B. Không được lớn hơn 255
C. Không được lớn hơn 128
D. Phải được khai báo trước.
Câu 4: (29) Cho khai báo đầu của một hàm:
Function F( k : Integer) : String ;
Begin
If k mod 2=0 then F:=’Chan’ else F:=’Le’;
End;
Muốn in Write( F(y) ); thì biến y phải khai báo kiểu gì :
A. Var y : Real;
B. Var y : String;
C. Var y : Integer;
D. Var y : Char;
00
01
02
03
04
05
06
07
08
09
10
Thời gian
A. Var y : Real;
B. Var y : String;
C. Var y : Integer;
D. Var y : Char;
CỦNG CỐ KIẾN THỨC
4. BÀI TẬP VỀ NHÀ
Bài tập:
Viết chương trình kiểm tra xâu s có đối xứng không?
Hướng dẫn: Xâu đối xứng là xâu có các kí tự giống nhau đối xứng qua điểm giữa xâu. Có tính chất là đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải.
Ví dụ: MADAM, RADAR, ABBA, ABCDCBA
THE END.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Huỳnh Thị Thi
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)