Giáo án tin học 11 - Học kỳ I (Pascal)

I. MỤC TIÊU

1. Kiến thức:

Học sinh cần nắm được:

 Một số khái niệm cơ sở về ngôn ngữ lập trình, những đặc điểm chủ yếu của ngôn ngữ lâp trình bậc cao;

 Hai loại chương trình dịch: Biên dịch và thông dịch;

 Các thành phần trong ngôn ngữ lập trình như: tên, tên chuẩn, từ khóa, hằng, biến ;

 Các quy định của một ngôn ngữ lập trình (cụ thể Pascal).

2. Kĩ năng:

Biết viết hằng và tên đúng trong một ngôn ngữ lập trình (cụ thể Pascal).

3. Thái độ:

 Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp;

 Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy vi tính.

II. NỘI DUNG

 Phân loại ngôn ngữ lập trình;

 Chương trình dịch;

 Các thành phần của ngôn ngữ lập trình;

 Các thành phần cơ sở của ngôn ngữ lập trình Pascal.

 

 

doc39 trang | Chuyên mục: Pascal | Chia sẻ: dkS00TYs | Lượt xem: 8498 | Lượt tải: 1download
Tóm tắt nội dung Giáo án tin học 11 - Học kỳ I (Pascal), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ể rèn luyện khả năng tư duy áp dụng đúng cấu trúc lặp.
V. BÀI TẬP VỀ NHÀ 
Trả lời các câu hỏi và làm bài tập trong SGK trang 51 và sách bài tập;
Chuẩn bị tiết sau luyện tập.
VI. RÚT KINH NGHIÊM 
…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Tiết 14:
BÀI TẬP 
Ngày soạn: ……/……/2008
Ngày dạy: ……/……/2008
I. MỤC ĐÍCH, YÊU CẦU
Ôn lại cấu trúc rẽ nhánh và cấu trúc lặp;
Biết áp dụng cấu trúc rẽ nhánh để làm các bài tập;
Biết áp dụng cấu trúc lặp để làm các bài tập;
Rèn luyện thêm kỹ năng viết chương trình trong Pascal.
II. PHƯƠNG TIỆN DẠY HỌC
Sử dụng bảng kết hợp máy chiếu để chiếu một số bài tập giáo viên chuẩn bị sẵn.
III. NỘI DUNG
Bài 3: 
Có thể dùng câu lệnh While … do… để thay thế cho câu lệnh For… do… được không? Nếu được, hãy thực hiện điều đó với chương trình Tong_1a.
Trả lời: 
Có thể sử dụng câu lệnh While … do… để thay thế cho câu lệnh For… do… trong ví dụ 1a, khi đó ta chuyển giá trị cuối thành điều kiện của bài toán. Bài toán được phát biểu lại như sau: Tính cho đến khi i>100.
Chương trình được viết lại:
Program Bai_1a;
Uses crt;
Var S: Real; a,i: integer;
Begin
 clrscr;
 write('Nhap vao gia tri a= '); readln(a);
 S:= 1/a; i:=1;
 While not(i>100) do
 begin
 S:= S + 1/(a+i);
 i := i+1;
 end;
 write('Ket qua S= ',S:6:2);
 Write('Nhan Enter de thoat');
 Readln;
End.
Bài 4: Viết câu lệnh rẽ nhánh tính:
a) 
Trả lời: 
nếu điểm (x,y) thuộc đường tròn O(a,b) bán kính r.
ngược lại
b) 
Trả lời:
Bài 5: Lập trình tính:
a) 
Trả lời:
Program Bai_5a;
Uses crt;
Var Y: Real; n: integer;
Begin
 clrscr;
 Y:=0;
 For n:= 1 to 100 do Y:= Y+n/(n+1);
 Write('Tong Y =',Y::2);
 Write('Nhan Enter de thoat');
 Readln;
End.
b) cho đến khi 
Program Bai_5b;
Uses crt;
Var e,gt: Real; n: integer;
Begin
 clrscr;
 gt := 1/2;
 e := 2 + gt;
 n:=3;
 While not(gt<2*1E-6) do
 begin
 gt:= gt*1/n;
 e := e+gt;
 n := n+1;
 end;
 write('Ket qua e(n)= ',e:6:2);
 write('Nhan Enter de thoat');
 Readln;
End.
Bài 6: Lập trình giải bài toán cổ sau:
Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu con
Một trăm chân chẵn
Hỏi có bao nhiêu con mỗi loại?
Trả lời:
Program Bai_6;
Uses crt;
Var ga, cho: byte;
Begin
 clrscr;
 for cho:=1 to 24 do
 begin
 ga:= 36 - cho;
 if ga + 2*cho = 50 then
 write('So ga la: ',ga,' So cho la: ',cho);
 end;
 Write('Nhan Enter de thoat');
 Readln;
End.
Bài 7: Nhập từ bàn phím tuổi của cha và tuổi của con (hiện tại tuổi cha lớn hơn 2 lần tuổi con và tuổi cha hơn tuổi con ít nhất là 25 tuổi). Đưa ra màn hình câu trả lời cho câu hỏi “Bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con?”.
Trả lời:
Program Bai_7;
Uses crt;
Var cha, con, nam: integer;
Begin
 clrscr;
 write('nhap vao tuoi cha va tuoi con');
 write('Chu y: tuoicha > 2lan tuoicon va tuoicha - tuoicon>=25');
 write('Tuoi cha = '); readln(cha);
 write('Tuoi con = '); readln(con);
 nam := 0;
 while not(cha = 2*con) do
 begin
 cha := cha + 1;
 con := con + 1;
 nam := nam +1;
 end;
 write('Sau ', nam,' thi tuoi cha gap doi tuoi con');
 write('Nhan Enter de thoat');
 Readln;
End.
Bài 8: 
Một người gửi tiết kiệm không thời hạn với số tiền ban đầu là A với lãi suất 0,3% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó sẽ có số tiền rút về là B. Biết rằng tiền lãi không được cộng vào vốn.
Trả lời:
Program Bai_8;
Uses crt;
Const laisuat = 0.003;
Var tienvon, tienrut, tinhlai: real;
 	thang: integer;
Begin
 clrscr;
 write('nhap vao so tien von');
 readln(tienvon);
 write('nhap vao so tien muon co khi rut ve');
 readln(tienrut);
 tinhlai := tienvon;
 thang := 0;
 while (tienvon < tienrut) do
 begin
 tienvon := tienvon + tinhlai*laisuat;
 thang := thang +1;
 end;
 write('Sau ', thang,' thang thi se co so tien rut ve la ',tienrut);
 write('Nhan Enter de thoat');
 Readln;
End.
IV. BÀI TẬP VỀ NHÀ 
	Xem bài thực hành số 2 và các chương trình đã viết trong tiết bài tập để tiết sau thực hành tại phòng máy.
V. RÚT KINH NGHIÊM 
…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
Tiết 15,16:
BÀI TẬP VÀ THỰC HÀNH SỐ 2
Ngày soạn: ……/……/2008
Ngày dạy: ……/……/2008
I. MỤC ĐÍCH, YÊU CẦU
Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh (dạng thiếu và dạng đủ);
Xây dựng chương trình có sử dụng cấu trúc lặp (lặp với số lần xác định và lặp với số lần chưa xác định);
Sửa lỗi khi trình biên dịch phát hiện lỗi sai.
II. PHƯƠNG TIỆN DẠY HỌC
Thực hành trực tiếp trên máy tính.
III. NỘI DUNG
Bài 1: Bài toán Bộ số Pitago
	Bộ ba số nguyên a, b, c được gọi là bộ số Pitago nếu tổng bình phương của 2 số bằng bình phương số còn lại. Viết chương trình nhập từ bàn phím ba số nguyên a, b, c và kiểm tra xem chúng có phải là bộ số Pitago hay không ?
	Những công việc thực hiện:
a) Học sinh gõ chương trình sau:
program Pitago;
uses crt;
var a,b,c: integer;
Begin
 clrscr;
 write('nhap gia tri a= '); readln(a);
 write('nhap gia tri b= '); readln(b);
 write('nhap gia tri c= '); readln(c);
 if (a*a = b*b + c*c) or (b*b = a*a + c*c) or (c*c = a*a + b*b) then
 write('Ba so ',a,' ',b,' ', c, 'la bo Pitago')
 else write('Ba so ',a,' ',b,' ', c, 'khong phai bo Pitago');
 write('nhan phim Enter de thoat !');
 readln;
End.
b) Lưu chương trình với tên PITAGO lên đĩa.
c) Dịch và sửa lỗi chương trình (nếu có).
d) Chạy chương trình với các bộ số bất kì.
d) Nhấn phím F7 để thực hiện từng câu lệnh của chương trình, nhập các giá trị a = 3, b = 4, c = 5.
Bài 2: 
	Gõ các chương trình đã viết trong phần bài học và trong tiết bài tập để củng cố lại kiến thức về câu lệnh rẽ nhánh và câu lệnh lặp trong chương III. 
IV. BÀI TẬP VỀ NHÀ 
	Ôn tập kiến thức của 3 chương đã học để chuẩn bị cho tiết kiểm tra 1 tiết.
V. RÚT KINH NGHIÊM …………………………………………………………………………………………
Tiết 17: KIỂM TRA 1 TIẾT
I. Mục tiêu đánh giá:
	Đánh giá kiến thức và kỹ năng của học sinh về:
Một số khái niệm về lập trình và ngôn ngữ lập trình;
Cấu trúc chương tình; Một số kiểu dữ liệu chuẩn; Khai báo biến; Phép toán, biểu thức, lệnh gán; Các thủ tục vào/ra; Hiệu chỉnh chương trình;
Cấu trúc rẽ nhánh và cấu trúc lặp.
II. Mục đích, yêu cầu của đề:
	Kiểm tra kiến thức của học sinh về biết, hiểu và vận dụng các nội dung đã được học trong 3 chương (I, II, III).
III. Ma trận đề:
Nội dung
Mức độ 
Chương I
Chương II
Chương III
Biết
Câu 1,3
Câu 3,8,9
Câu 1,2
Hiểu
Câu 4
Câu 1,2,5
Câu 3
Vận dụng
Câu 5,2
Câu 4,6,7,10
Câu 4,5,6,7,8,9
IV. Nội dung câu hỏi
Chương I
Câu 1: Chương trình dịch không có khả năng nào trong các khả năng sau:
Phát hiện lỗi ngữ nghĩa;
Phát hiện lỗi cú pháp;
Thông báo lỗi cú pháp;
Tạo được chương trình đích.
Câu 2: Tên (do người dùng đặt) nào sau đây là đúng trong Pascal?
Lớp 11
Lop 11
Lop11
11 Lớp 11
Câu 3: Biểu diễn nào dưới đây là từ khoá trong Pascal?
Real;
Sqrt;
“End”
Const
Câu 4: Hãy chọn những biểu diễn hằng trong những biểu diễn dưới đây:
’11a’
-0.5
1024
11A
Câu 5: Điền vào dấu (…) trong câu sau: “Ba thành phần cơ bản của ngôn ngữ lập trình bậc cao là: bảng chữ cái,……… và ngữ nghĩa”.
Chương II
Caâu 1: Ñeå giaûi pt baäc nhaát ax + b = 0 vôùi a, b thuoäc kieåu Integer thì bieán x thuoäc kieåu naøo trong caùc kieåu sau?
Byte	
Integer
Real
Char
Caâu 2: Bieán x ñöôïc khai baùo nhö sau:
Var x: integer; thì x coù theå nhaän giaù trò naøo?
12
1.4
“pascal”
true
Caâu 3: Cho bieåu thöùc sau: Not (x=1), choïn phaùt bieåu ñuùng nhaát?
a. “x beù hôn 1”
b. “x lôùn hôn 1”
c. “x khoâng baèng 1”
d.“x baèng 1”
Caâu 4: Haõy cho bieát keát quaû in ra maøn hình sau khi thöïc hieän daõy leänh sau?
X:= 10; Y:= 5; X:= X+Y; Y:=X; X:= X+Y;
Write(X,’,’,Y);
25,10
10,25
5,25
5,10
Caâu 5: Cho x, y, z laø caùc bieán kieåu nguyeân, leänh naøo ñuùng trong caùc leänh sau?
x+y:=z;
writeln(x,y,z:0:2);
x:=y/z;
Realn (x,y,z);
Caâu 6: Cho bieát keát quaû traû veà cuûa bieåu thöùc sau:
((3>2) and (4>3)) or ((43))
True
False
And
Or
Caâu 7 : Cho bieát keát quaû traû veà cuûa bieåu thöùc sau: 
Round ((5mod2 + 6div3)/2);
1
1.5
2
2.5
Caâu 8: Trong NNLT Pascal töø khoùa Var duøng ñeå ?
Khai baùo bieán
Khai baùo haèng
Khai baùo kieåu
Khai baùo thö vieän chöôøn trình maãu.
Câu 9: Để nhập dữ liệu cho 3 biến a,b,c ta viết lệnh :
read(a); read(b); read(c);
readln(a);readln(b,c);
readln(a,b,c);
Các câu trả lời đều đúng
Câu 10: Đoạn chương trình sau cho kết quả là :
S:=5;
Writeln(‘ket qua là :’ , s+10);
Readln;
‘ket qua la :’ , 15
ket qua la : 15
15
5
Chương III
Câu 1: Các lệnh nào trong ngôn ngữ lập trình Pascal ta dùng để lặp:
While…do, if…then
For …to…do, if…then
While …do, for…to(downto)…do
If…then, while …do, for…to(downto)…do
Câu 2: Trong Pascal, biến đếm của lệnh For…to(downto)…do phải có kiểu dữ liệu là:
Kiểu thực
Kiểu nguyên hoặc thực
Kiểu nguyên hoặc thực hoặc kí tự
Kiểu nguyên hoặc kí tự hoặc logic
Câu 3: Cho biết các lệnh sau có mấy lỗi cú pháp:
Var a,b:byte; 
If a>b then writeln(a); else write(b)
Không có lỗi
Có 1 lỗi
Có 2 lỗi
Có 3 lỗi
Câu 4: Cho a, b là các biến kiểu nguyên, kết quả in ra màn hình của đoạn chương trình sau là bao nhiêu?
a:=10; b:=15; 
While a<b do
 Begin
	a:=a+3;
	b:=b-1;
End;
Write(a:4);
a. 13	b. 16	c. 19	d. 14
Câu 5: Cho S, i là biến nguyên. Khi chạy đoạn chương trình:
S:=1;
For i:=1 to 10 do s:=s+i;
Writeln(s);
Kết quả in ra màn hình là:
a.11	b.55	c. 56	d. 101
Câu 6: Hãy cho biết kết quả in ra màn hình là bao nhiêu khi x là biến thực?
x:=10;
If x<=10 then x:=x-5;
Writeln(x:3:1);
a. 10.0	b. 5.0	c.5	d. 10 
Câu 7: Cho a,b là biến nguyên, lệnh nào sau đây in ra màn hình số lớn nhất giữa a và b?
If a >b then readln(a) else readln(b);
If a<b then writeln(a) else writeln(b);
If a>b then write(a) else write(b); 
If a>b then write(b) else write(a);
nếu x >= y
nếu x<y
Câu 8: Viết câu lệnh trong Pascal mô tả cho bài toán sau:
Câu 9: Lập trình tính 

File đính kèm:

  • docGiáo án tin học 11 - Học kỳ I (Pascal).doc
Tài liệu liên quan