- Bài tĩan cĩ khai báo cả hằng và biến (0.25đ)
BAØI TẬP Tiết PPCT :
I)Mục đích, yêu cầu: 1) Kiến thức :
- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh.
2) Kỹ năng:
- Làm quen với việc hiệu chỉnh chương trình.
3) Thái độ: II) Chuẩn bị: II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa.
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa, phòng máy,máy chiếu.
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp.
2) Kiểm tra bài cũ:
- Cú pháp câu lệnh rẽ nhánh.
3) Bài giảng:
a) Học sinh tìm hiểu bài toán (xác định input và output) và thuật toán. Gõ chương trình sau : Program Pi_ta_go; Uses crt; Var a,b,c:integer; A2,b2,c2 :longint; Begin
Clrscr; Write (‘a,b,c’); Readln(a,b,c); A2: = a; B2 : =b; C2:=c A2 : =a2 *a; B2 : =B2 *b; C2:= C2*c; If (a2=b2+c2) or (b2= c2 + a2) or (c2 = b2 + a2 ) Then writeln(‘ba so da nhap la bo so pi ta go’) Else writeln(‘ba so da nhap khong la bo so pi ta go’); Readln
End.
b) Lưu chương trình với tên Pitago lên đĩa
c) Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a=3,b=4, c=5. d) Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để xem giá trị a2,b2,c2.
e) Nhấn phím F7 để thực hiện từng câu lệnh tính những giá trị nói trên , so sánh với kết quả a2=9, b2 = 16 , c2 =25
f) Quan sát quá trình rẽ nhánh
g) Lặp lại các bước trên với bộ dữ liệu a=700, b=1000, c=800 h) Nếu thay dãy lệnh
A2: = a; B2 : =b; C2:=c A2 : =a2 *a; B2 : =B2 *b; C2:= C2*c; Bằng dãy lệnh A2 := a*a; B2:= b*b; C2:= C*C;
Thì kết qủa có gì thay đổi với bộ dữ liệu cho ở câu g?
PHẦN CÂU HỎI VAØ BAØI TẬP
Câu 1 : Sự giống nhau và khác nhau của hai dạng câu lệnh if then
Giống nhau :Cùng là câu lệnh cấu trúc rẽ nhánh , khi gặp một điều kiện nào đó thì chọn thực hiện thao tác thích hợp
Khác nhau : trong câu lệnh if then dạng thiếu , nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh , thực hiện câu lệnh tiếp theo của chương trình.Còn trong câu lệnh if then dạng đủ, nếu điều kiện không đúng thì thực hiện công việc 2 , sau đó mới thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình.
Câu 2 :Câu lệnh ghép là gì ? tại sao phải có câu lệnh ghép ?
Câu lệnh ghép là câu lệnh được hợp thành từ nhiều câu lệnh thành phần (đơn hoặc ghép ). Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành phần. Mỗi thao tác thành phần tương ứng với một câu lệnh đơn hoặc câu lệnh ghép khác .Về mặt ngôn ngữ lập trình , câu lệnh ghép là một trong các yếu tố cần thiết để xây dựng chương trình có cấu trúc.
Câu 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 bài toán tính tổng 1a.
I:= <giá trị đầu>;
While <i<=giá trị cuối> do Begin
<câu lệnh>;
<tăng I một đơn vị>; End;
Câu 4 :Câu 4 trong sgk ,trang 51
a) if (sqr(x) + sqr (y)) <= 1 then z:= sqr(x) + sqr (y) else
if y>= x then z:= x+y else z:= 0.5;
b) if (sqr (x –a ) + sqr (y -b)) < = sqr (r) then z:= abs (x) + abs (y) else z:= x+ y;
Câu 5 :Câu 5 trong sgk ,trang 51
a) program tinhtong; uses crt; var y:real; n:byte ; begin clrscr; y:=0; for n:=1 to 50 do y:= y + n/(n+ 1); writeln(y:14:6); readln end. b)uses crt; var n:longint; e,sh : real; begin clrscr; sh:= ½; n:=2; e:=2+sh; while sh>=2*1E – 6 do begin inc(n); sh:=sh*(1/n); e:= e+ sh; end;
writeln(‘gia trie(n) la : ’, e:10: 6); readln
end.
Câu 6 :Câu 6 trong sgk ,trang 51
Uses crt;
Var ga, cho :integer; Begin
Begin
Ga : =36 – cho;
If ga + 2 * cho = 50 then
Writeln (‘ga : ’, ga, ‘cho : ’, cho); End;
Readln End.
Câu 7 :Câu 7 trong sgk ,trang 51
Uses crt;
Var tuoicha,tuoicon, nam : word; Begin
Clrscr;
Writeln(‘nhap tuoi cha va con’);
Writeln(‘tuoi cha > 2* tuoi con va tuoi cha – tuoi con >= 25’); Readln(tuoicha, tuoicon); Nam:=0; While tuoicha<>2*tuoicon do Begin Tuoicha:=tuoicha + 1; Tuoicon:=tuoicon + 1; Nam : =nam +1; End;
Writeln(‘sau’, nam, ‘nam tuoi cha gap doi tuoi con’); Readln
End.
Câu 8:Câu 8 trong sgk ,trang 51
Uses crt;
Const laisuat=0.002;
Var tiengui,tienrutve.luu:real; Thang:integer;
Begin
Write(‘nhap vao so tien gui : ’); Readln (tiengui);
Luu : = tiengui;
Write(‘so tien co khi rut ve :’); Readln(tienrutve); Thang:=0; While tiengui<tienrutve do Begin Tiengui:=tiengui + luu*laisuat; Thang : =thang +1; End;
Write(‘Gui’,luu : 16:4,’dong, sau ‘,thang,’thang’); Writeln(‘se nhan duoc so tien’,tienrutve:16:4,’dong’); Readln
End.
4) Tổng kết nội dung, đánh giá cuối bài:
- Bài toán cần khả năng tư duy, sáng tạo, logic của học sinh do đó cần đi từ những vấn đề cụ thể
5)Dặn dò , kế hoạch học tập tiết sau :
- Đọc trước bài kiểu mảng.
- Tìm hiểu trước các ví dụ trong sách giáo khoa.
IV) Những vấn đề cần rút kinh nghiệm:
- Lưu ý vơi các kiểu dữ liệu cần khai báo cho phù hợp. - Giải thích vấn đề cụ thể, chi tiết.
- Đặt nhiều câu hỏi hơn để giúp các em hoạt động sôi nổi.
Ngày soạn : 10 / 12 / 07
Chương IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
Bài 11 § 11 KIỂU MẢNG Tiết PPCT : 20
I)Mục đích, yêu cầu: 1) Kiến thức :
- Hiểu khái niệm mảng một chiều và hai chiều.
- Hiểu cách khai báo và truy cập đến từng phần tử của mảng.
2) Kỹ năng:
- Cài đặt được thuật toán giải một số bài toán đơn giản với kiểu dữ liệu mảng một chiều . - Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng.
3) Thái độ: II) Chuẩn bị: II) Chuẩn bị:
1) Tài liệu, bài tập:
- Sách giáo khoa, giáo án , một số bài tập và câu hỏi trong sách giáo khoa.
2) Dụng cụ , thiết bị:
- Hình ảnh trong sách giáo khoa, phòng máy, máy chiếu.
III) Tiến trình lên lớp:
1) Ổn định, tổ chức lớp: sỉ số, tình hình chuẩn bị trước tiết học, trật tự lớp.
2) Kiểm tra bài cũ:
- Thực hiện giải các bài tập còn lại của BAØI TẬP VAØ THỰC HAØNH SỐ 2
Hoạt động của thầy và trò Nội dung ghi bảng
Hoạt động 1:
• Hình thức :cá nhân
• Nội dung : thực hiện ví dụ : Nhập giá trị cho 5 biến nguyên a,b,c,d,e.
• Kiến thức : ta dùng thủ tục đưa thông tin
ra màn hình (write) và nhập dữ liệu vào từ bàn phím (read)
Write(‘hay nhap gia tri a,b,c,d,e’); Readln(a,b,c,d,e);
Hoạt động 2:
• Hình thức : tìm hiểu tập thể
• Nội dung : Ôn tập lại các kiến thức về
kiểu dữ liệu.
• Kiến thức : Trong ngôn ngữ lập trình
Pascal có các kiểu dữ liệu : thực, nguyên, logic, kí tự . Với kiểu dữ liệu có cấu trúc, người lập trình có thể tự thiết kế một kiểu dữ liệu mới phức tạp hơn những kiểu dữ liệu đã có.(trong pascal có cách khai báo type để định nghĩa một kiểu dữ liệu mới).
Hoạt động 3:
• Hình thức : giảng giải
• Nội dung : tại sao phải sử dụng kiểu
mảng để khai báo ?
Kiến thức : Khi chúng ta cần giải một bài toán
với nhiều biến hơn thì cách làm tương tự không những đòi hỏi một khối lượng khai báo khá lớn , mà đoạn chương trình tính toán cũng khá dài. Chương trình được viết theo kiểu như trên sẽ gây ra khá nhiều vấn đề khi nhận biết giá trị của các biến.
Để giải quyết vấn đề đó thì ngôn ngữ lập trình cho phép chúng ta sử dụng một kiểu dữ liệu để khai báo : kiểu dữ liệu mảng một chiều.