Tiết 33: Bài tập kiểu bản ghi- Củng cố kiến thức lập trình dữ liệu kiểu kiểu xâu và kiểu bản ghi.. Khai báo biến kiểu xau, kiểu bản ghi Tham chiếu tới biến kiểu xâu và kiểu bản ghi Phân
Trang 1Tiết 33: Bài tập kiểu bản ghi
- Củng cố kiến thức lập trình dữ liệu kiểu kiểu xâu và kiểu bản ghi.
II- Kiến thức:
Kiến thức về dữ liệu kiểu, xâu và kiểu bản ghi.
Khai báo biến kiểu xau, kiểu bản ghi
Tham chiếu tới biến kiểu xâu và kiểu bản ghi
Phân biệt đợc sự giống và khác nhau giữa các kiểu dữ liệu trong lập trình.
III_ Kĩ năng:
Viết đợc các chơng trình giải quyết các bài tập thờng gặp đơn giản trong họa tập
và đời sống.
IV – nội dung bài mới:
1- kiểm tra bài cũ:
a ) Lí thuyết:
+ Một học sinh lên bảng thể hiện phần lí thuyết khai báo và nhập, xuất dữ liệu kiểu bản ghi.
b) Bài tập:
Một học sinh lên làm bài 11 (trang 80 SGK)
Một học sinh viết chơng trình bài 10 (trang 80 SGK)
2- bài tập tại lớp:
+ Bổ xung yêu cầu trong bài 10 trang 80: Thay thế tất cả các kí tự số (0,1,2, 9) …
bằng xâu So Viết xâu mới ra màn hình ‘ ’
Bài 10 trang 80
* Gợi ý: Chữ số ở đây ta hiểu là kí tự sô
(0,1,2,3, 9)…
*Xác định bài toán:
Input: S
Output: dem_so
* Visste CT viết CT với các cách khác
nhau
PROGRAM bai110_tr80;
USES wincrt;
VAR a:String[100]; ds,n,i:byte;
label l;
BEGIN
l: CLRSCR;
write('nhap xau a= ') ;readln(a);
n:=length(a);
If n>100 then
begin
write('xau a dai>100,nhap lai');
readln; goto l;
end; ds:=0;
For i:=1 to n do
if (a[i]='0') or (a[i]='1') or
(a[i]='2') or (a[i]='3') or
(a[i]='4') or (a[i]='5') or
(a[i]='6') or (a[i]='7') or
(a[i]='8') or (a[i]='9') then
ds:=ds+1;
write('xau ',a,' co ',ds,' ki tu so ');
Bài 10 trang 80
C2:
PROGRAM bai110_tr80;
USES wincrt;
VAR a:String[100];
dem,n,i:byte;
ds:array[ 0 9 ] of bety;‘ ’ ’ ’
ch:char;
label l;
BEGIN l: CLRSCR;
write('nhap xau a= ') ;readln(a);
n:=length(a);
If n>100 then begin write('xau a dai>100,nhap lai');
readln; goto l;
end;
For i:= 0 to 9 do’ ’ ‘ ’
Ds[ch]:=0;
For i:=1 to length(a) do Ds[a[i]]:=ds[a[i]]+1; Dem:=0;
For ch:= 0 to 9 do’ ’ ‘ ’
if ds[ch])>0 then dem:=dem+1; write('xau ',a,' co ',dem,' ki tu so ');
readln end
Trờng THPT Dơng Xá Năm học 2008-200974
Trang 2readln end.
Bài 10 trang 80
Cần bổ sung câu lện thế nào để chỉ đa ra
danh sách nhứng học sinh xếp loại A
Bài 11 trang 80
……
Writeln( danh sach hoc sinh xep loai A : );‘ ’
For i:=1 to n do Begin
If upcase(lop[i].xeploai)= A then’ ’
Writeln(lop[i].hoten:30, xep loai ,lop[i].xeploai:5);’ ‘
End;
Readln End
3- Nhận xét bài tập đàm trên bảng và hoàn thiện CT
4- Một học sinh lên bổ sung bài 10 theo yêu cầu chèn: ‘So’ vào vị trí accs kí tự số
5- Nhắc nhở và rút kinh nghiệm trung.
Bài tập về nhà: Ôn lại toàn bộ phần lí thuyết phần mảng.
Chuẩn bị bài từ 1 tới 9 (trang 79,80 SGK
Tiết 34 bài tập tổng hợp các kiểu dữ liệu
II- Mục tiờu:
- Củng cố kiến thức lập trình dữ liệu kiểu mảng, kiểu xâu và kiểu bản ghi
II- Kiến thức:
Kiến thức về dữ liệu kiểu mảng, xâu và kiểu bản ghi
Phân biệt đợc sự giống và khác nhau giữa các kiểu dữ liệu trong lập trình
Chuẩn bị các bài tập trang 79,80
1- kiểm tra bài cũ:
a ) Lí thuyết:
+ Một học sinh lên bảng thể hiện phần lí thuyết khai báo và nhập, xuất dữ liệu kiểu bản ghi
b) Bài tập:
Một học sinh lên làm bài 5 (trang 79 SGK)
Một học sinh viết chơng trình bài 6 (trang 79 SGK)
Một học sinh viết chơng trình bài 7 (trang 79 SGK)
2- bài tập tại lớp:
+ Bổ xung yêu cầu trong bài 6 trang 80: Tính tổng các số nguyên tố trong dãy
Bai 5 trang 79
• Thế nào là day số cấp số
cộng?
• Mô tả thuật toán
• Viết chơng trình?
PROGRAM bai5_tr79;
USES wincrt;
var a:array[1 100] of integer;
i,N,d :integer;
b:boolean;
label l;
BEGIN CLRSCR;
write('cho biet so phan tu trng day N= ); readln(N);’
For i:=1 to N do begin
l: write('Gia tri phan tu thu ',i,' = '); readln(a[i]);
if abs(a[i])>1000 then begin write('Chi nhap so >=-1000 va <=100 bam enter nhap lai'); readln;
clrscr; goto l; end; end;
d:=a[2]-a[1]; b:=true;
For i:=3 to N-1 do
if a[i]-a[i-1]<>d then b:=false;
clrscr;
for i:=1 to n do
Trờng THPT Dơng Xá Năm học 2008-200975
Trang 3Bài 6 trang 79
Bài số 7 trang 70
• Tính chất của dẫy trong day
phi_bo_na_xi
Một dẫy số đợc gọi là dẫy
phi_bo_na_xi nếu
FN=FN-1+FN-2; Và N>=2
* Mô tả thuật toán
B1: Nhập N
B2: f1←1; F2←1; i←3;
B3: i<=n thì
f←f1+f2; f1←f2; f2←f;
i←i+1; về B3
B4: Viết ra số hạng thứ N trong
dẫy phi_bô_na_xi
B5 KT
write(a[i]:5); writeln;
if b then writeln('day so tren la mot cap so cong') else
write('day so tren khong la mot cap so cong');
readln end
PROGRAM bai6_tr79;
USES wincrt;
var a:array[1 100] of integer;
i,N,dc,dl,snt,u :integer;
label l;
BEGIN CLRSCR;
write('cho biet so phan tu trng day N= ');
readln(N);
For i:=1 to N do begin
l: write('Gia tri phan tu thu ',i,' = '); readln(a[i]);
if abs(a[i])>1000 then begin write('Chi nhap so >=-1000 va <=100 bam enter nhap lai');
readln;clrscr; goto l; end; end;
dc:=0; dl:=0; snt:=0;
For i:=1 to N do
if a[i] mod 2<>0 then dl:=dl+1 else if a[i] mod 2=0 then dc:=dc+1 ; u:=2;
For i:=1 to N do begin
while (u<=sqrt(a[i])) and ((a[i] mod u)<>0) do u:=u+1;
if u>sqrt(a[i])then snt:=snt+1; end;
writeln('so so chan: ',dc:4,' so so le : ',dl);
write('so luong so nguyen to : ',snt:4);
readln; end
Bài số 7 trang 70
PROGRAM bai1th_5;
USES wincrt;
VAR f,i,n,f1,f2:integer;
BEGIN CLRSCR; write('so N= ') ;readln(N);
f1:=1; F2:=1; i:=3;
while i<=n do begin
f:=f1+f2; f1:=f2; f2:=f; i:=i+1; end;
write('so hang thu ',n,' trong day phi_bo_na_xi ',f:7);
readln; end
3- Nhận xét bài tập làm trên bảng và hoàn thiện CT
4- Một học sinh lên bổ sung bài 6,7
5- Nhắc nhở và rút kinh nghiệm trung.
Bài tập về nhà:.Chuẩn bị bài từ 8 và 9 (trang 79,80 SGK tiết sau thực hành trên máy tất cả các bài đã làm
Trờng THPT Dơng Xá Năm học 2008-200976
Trang 4Tiết 35 thực hành bài 8 và bài 9
I- Mục tiờu:
- Củng cố kiến thức lập trình dữ liệu kiểu mảng, kiểu xâu và kiểu bản ghi
II- Kiến thức:
Kiến thức về dữ liệu kiểu mảng, xâu và kiểu bản ghi
Phân biệt đợc sự giống và khác nhau giữa các kiểu dữ liệu trong lập trình
Chuẩn bị các bài tập trang 79,80
III_ Kĩ năng:
gièn luyện khả năng thực hành trên máy
Gièn tính kiên trì, tính chính xác trong lập trình
IV – nội dung bài mới:
Củng cố kiết thức về kiểu mảng, kiểu xâu và kiểu bản ghi.kiểu xâu và kiểu bản ghi
Bài 8 trang 79
* Mô tả thuật toán của chơng trình
và cho biết chơng trình thực hiện
công việc gì? kết quả sau khi thực
hiện chơng trình?
* Để có đợc mảng đối xứng với
mảng ban đầu ta cần thực hiện
các bớc tráo đổi nh thế nào?
Bài 9 trang 79
* Mô tả thuật toán của chơng
trình?
* Hãy sửa lại chơng trình khi thay
yêu cầu tìm kiếm trong mỗi hàng
bằng tìm kiếm trong mỗi cột
Bài 8 trang 79
Chơng trình thực hiện việc hoán đổi vị trí các dòng đối xớng trong mảng hai chiều Việc hoán đổi đợc thực hiện khi I nhận giá trị từ 1 tới N làm cho mỗi dòng đợc hoán đổi vị trí 2 lần, vì vậy cuối cùng mảng A không thay đổi so với ban đầu
Bài 9 trang 79
Gợi ý: trong phần tráo đổi trong chơng trinh ta chỉ cần đổi I thành J còn J thành I là đợc
Củng cố: Kiểu dữ liệu có cấu trúc Vận dụng các thủ tục, các hàm để sử lí dữ liệu có cấu trúc
Tiết 36 Kiểm tra học kì I
III- Mục đích:
- Củng cố kiến thức lập trình và khả năng sử dụng dữ liệu kiểu mảng, kiểu xâu và kiểu bản ghi vào trong lập tình Pascal
II- Kiến thức:
Cấu trúc chơng trình
Các kiểu dữ liệu chuẩn
Các thủ tục vào ra trong Pascal
Các cấu trúc rẽ nhánh, cấu trúc lặp với số lần lặp biết trớc và không biết trớc
Kiến thức về dữ liệu kiểu mảng, xâu và kiểu bản ghi
Khả năng sử dụng linh hoạt các kiến thức đã học vào lập trình
III_ Kĩ năng:
Lập trình các bài tập đơn giản với các kiểu dữ liệu khác nhau
IV – nội dung bài mới:
Đề kiểm tra theo đề trung của tổ trong túi lu đề kiểm tra môn tin
Trờng THPT Dơng Xá Năm học 2008-200977