1. Trang chủ
  2. » Giáo án - Bài giảng

Tin_11_ChuongIII,IV_2010_2011(14-28)

49 76 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài tập và Thực hành 2
Tác giả Khúc Thị Mỹ Trinh
Trường học Trường THPT Quang Trung
Chuyên ngành Tin học
Thể loại Giáo án
Năm xuất bản 2010-2011
Định dạng
Số trang 49
Dung lượng 551 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC TIÊU: 1.Về kiến thức: Học sinh sau tiết học sẽ:  Xây dựng chương trình có cấu trúc rẽ nhánh  Làm quen với các công cụ hiệu chỉnh chương trình 2.Về kỹ năng:  Rèn luyện cho học s

Trang 1

Tuần: 7, 8 - Tiết PPCT: 14, 15 Ngày dạy:

I MỤC TIÊU:

1.Về kiến thức:

Học sinh sau tiết học sẽ:

 Xây dựng chương trình có cấu trúc rẽ nhánh

 Làm quen với các công cụ hiệu chỉnh chương trình

2.Về kỹ năng:

 Rèn luyện cho học sinh các bước cơ bản nhất của lập trình nói chung và

kĩ năng tổ chức chương trình có sử dụng cấu trúc rẽ nhánh nói riêng

2 Kiểm tra bài cũ: trong quá trình giảng bài

3 Giảng bài mới:

BÀI TẬP VÀ THỰC HÀNH 2

Trang 2

nào có thể nhắc lại Câu

lệnh if-then được không?

HS: Trả lời theo câu hỏi

của giáo viên

GV: Nhắc lại đầy đủ cấu

trúc của lệnh IF

GV: Yêu cầu các em nhìn

vào chương trinh trong

sách và gõ vào máy

GV: Sau khi đánh xong

yêu cầu các em lưu

chương trình với tên

viên hướng dẫn học sinh

cách nhập liên tiếp ba giá

Điều kiện Đúng Câu lệnh

Sai Đúng

Trang 3

HS: Thực hành và quan

sát cấu trúc rẽ nhánh

GV: Sau khi đã quan sát

quá trình rẽ nhánh in ra

kết quả trên màn hình, vậy

để sao biết giá trị a2, b2,

c2 bây giờ?

GV: Chúng ta chọn thẻ

Debug để chọn mục

Watch, sau khi cửa sổ

Watch xuất hiện ta ấn

phím Crtl+ F7 hoặc chon

add watch… trong

Debug để add các giá trị

a2, b2, c2 vào để xem kết

quả Vừa giảng vừa thực

hành mẫu cho các em xem

kích thước cửa sổ hiện

thời chứa con trỏ màn

hình hay phím F6 để

chuyển cửa sổ hiện thời để

các cửa sổ hiện ra phần

thông tin cần theo dõi

không bị cửa sổ khác che

lấp

GV: Yêu cầu học sinh

nhập dữ liệu mới a= 700,

b= 1000, c= 800 và tự làm

các thao tác nhu trên

HS: Làm theo yêu cầu của

a) Lưu chương trình với tên PITAGO lên đĩa.

b) Nhấn phím F7 để thực hiện từng câu lệnh chương

o “Ba so da nhap khong la bo so Pi-ta-go”

Bước 4: Kết thúc quá trình giải

Trang 4

giáo viên để nắm rõ các

thao tác

trình, nhập các giá trị a=3,b=4,c= 5

c) Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để

xem giá trị của a2, b2, c2

d) Nhấn phím F7 để thực hiện những câu lệnh tính

các giá trị nói trên, so sánh với kết quả a2=9, b2=16, c2=25

e) Quan sát quá trình rẽ nhánh

Lặp lại các bước trên với bộ dữ liệu: a= 700, b=1000, c=800

4 Củng cố và luyện tập:

 Nhắc lại các kiến thức quan trọng cần nắm

5 Hướng dẫn học sinh chuẩn bị bài ở nhà:

Yêu cầu các em về thực hành bài này khi 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;

Xem kết quả có gì thay đổi với bộ dữ liệu a = 3, b = 4, c = 5 và a = 700, b =

1000, c = 800 không? Và tìm ra lời giải thích

V RÚT KINH NGHIỆM:

+ Giáo viên:

+ Học sinh:

+ Chương trình SGK:

+ Thiết bị dạy học:

Trang 5

Tuần: 8 - Tiết PPCT: 16 Ngày dạy:

toán đơn giản áp dụng các cấu trúc rẽ nhánh If Then, cấu trúc lặp

Phương pháp hỏi đáp, nêu và giải quyết vấn đề.

IV TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức: kiểm diện

2 Kiểm tra bài cũ:

Câu hỏi: Viết chương trình cho phép xuất ra màn hình 50 lần “lop 11CB” ở

Trang 6

Hoạt động của thầy, trò Nội dung

1 Cho học sinh ôn lại những kiến

thức đã học.

+ chương I, II, III.

2 Nhắc lại kiến thức cơ bản ở

- Nêu cú pháp và hoạt động của cấu

trúc if – then, if – then – else ?

- Nêu cú pháp và hoạt động của cấu

b, Sau khi thực hiện đoạn chương

trình thi biến d có giá trị là bao

nhiêu?

Bài 1: Cho biết giá trị của x, y, z sau khi thực hiện đoạn chương trình sau:

Begin X:= 10; y:=50; z:=5;

If x>y then z:=x-y Else z:=y-x;

Write(z);

End.

Bài 2: Lập trình tính a)s 1.2.3 100

Program Tich;

Uses crt;

Var Tich, i: integer;

Begin Clrscr;

Bài 4: Viết chương trình tính tổng sau:

s  

Trang 7

D:=0;

For i:=1 to 5 do

For j:=1 to 6 do

D:=D+1;

Giải thích cho học sinh.

Hướng dẫn học sinh làm các bài tập

Program tongS;

Uses crt;

Var i,S: integer;

Begin Clrscr;

S:=0;

For i:=1 to 99 do

If I mod 2 <>0 then

S:=S+i*i;

Writeln(‘tong S=’,S);

End.

4.Củng cố và luyện tập:

5.Hướng dẫn học sinh chuẩn bị bài ở nhà:

a) s     1 2 3 100

b) s  1 2 2  4 2   100 2 V RÚT KINH NGHIỆM: + Giáo viên:

+ Học sinh:

+ Chương trình SGK:

+ Thiết bị dạy học:

Trang 8

Tuần: 9 - Tiết PPCT: 17 Ngày dạy:

2 Phần kiểm tra: 4 đề, mỗi đề 25 câu, mỗi câu 0.4đ.

Câu 1: Giá trị của gt sau đoạn chương trình

Trang 9

Câu 3: Giá trị của i sau khi thực hiện chương trình là:

i:=10;

while i>0 do i:=i-1;

Câu 4: Kết quả của s sau khi thực hiện đoạn chương trình sau:

S:=1; For i:=1 To 10 Do If (i mod 2 = 0) then s:=s+i;

Câu 5: Với cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh1> ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi

C Biểu thức điều kiện đúng D Biểu thức điều kiện sai

Câu 6: Cho biến a có giá trị 5, sau lệnh gán a: ((10  a*4) a a a)*   5*2 3  ?

Câu 10: Muốn dùng biến min lưu giá trị nhỏ nhất trong các giá trị của 2 biến

A, B Hãy chọn phương án sai

Trang 10

A Min := B; if A<B then min := A else min := B; B If A < B then min:= A else min := B;

C Min:=B; if A < B then min := A; D If A < B then min = A;

Câu 11: Lệnh read(x) mang ý nghĩa gì?

A Gán giá trị của x bằng 0 B Hiện ký tự "x"

Câu 12: Câu lệnh nào sau đây là câu lệnh gán:

Câu 13: Trong Pascal, Cho đoạn chương trình:

C Tính tổng các phần tử là số chẵn D In ra màn hình những phần tử có giátrị chia hết cho 3

Câu 15: Câu lệnh nào sau đây là câu lệnh gán:

A Var a := Integer; B a := 100; C Const a= 5; D m = n+50;

Câu 16: Cho đoạn chương trình:

N:=3; M:=5; F:=0;

For i:=N to M do F:=F+I;

Sau khi thực hiện đoạn chương trình trên S có giá trị là:

F=12

Câu 17: Cho A:=19.5; B:=45.93; câu lệnh Write(‘Gia tri la:’, A:6:2, B:8:3);sẽ hiển thị ra màn hình là:

A Gia tri la:19.545.93; B Gia tri la:19.5045.930;

C Gia tri la: 19.5045.930; D Gia tri la: _19.50_ _45.930;

Trang 11

Câu 18: Để khai báo hai hằng số MAX có giá trị 5000 và MIN có giá trị 100 ta dùng lệnh:

Câu 19: Cho biết giá trị của biến T sau khi thực hiện đoạn chương trình sau: T:=0; i:=1;

Trang 12

IF I mod 2 =0 THEN T:= T+I ELSE S:= S+I;

Sau khi thực hiện đoạn chương trình trên, máy cho kết quả:

Câu 24: Bộ nhớ cần cấp phát bao nhiêu byte để lưu trữ: VAR X, Y: Boolean; D: Integer; A, B: Longint;

Câu 25: Cho đoạn chương trình sau:

Đề 234

1D 2A 3A 4A 5D 6D 7B 8 9C 10 11B 12A 13A 14C 15C 16D 17C 18A 19B 20C 21B 22C 23D 24D 25D

Đề 321

1A 2A 3C 4B 5B 6D 7A 8C 9D 10D 11D 12 13B 14C 15B 16B 17C 18B 19A 20 21D 22A 23B 24C 25A

Đề 432

1B 2D 3D 4 5D 6A 7B 8A 9B 10D 11 12A 13A 14B 15C 16C 17A 18D 19B 20B 21D 22D 23D 24C 25C

V RÚT KINH NGHIỆM:

+ Giáo viên: + Học sinh: + Phương tiện phục vụ kiểm tra:

Trang 13

Tuần: 9 - Tiết PPCT: 18 Ngày dạy:

CHƯƠNG IV KIỂU DỮ LIỆU CÓ CẤU TRÚC

I MỤC TIÊU:

1 Về kiến thức:

Học sinh sau tiết học sẽ:

 Nắm được khái niệm mảng 1 chiều

 Hiểu cách khai báo và truy cập đến các phần tử của mảng

Phương pháp thuyết trình, kết hợp tạo tình huống có vấn đề

IV TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức: kiểm diện

2 Kiểm tra bài cũ: thông qua

3 Giảng bài mới:

Hoạt động của thầy,

Đặt vấn đề:

Xét các ví dụ sau:

Để lưu trữ nhiệt độ các ngày

trong một tuần, với các kiểu dữ

liệu đã học ta có thể khai báo

1 Giới thiệu về kiểu mảng một chiều:

Mảng một chiều là dãy hữu hạn các phần tử

cùng kiểu Mảng được đặt tên và mỗi phần tử của

nó có một chỉ số.Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các

Bài 11 KIỂU MẢNG

Trang 14

biến như sau:

Cùng với hai ví dụ trên nếu

muốn lưu trữ dữ liệu trong một

 Suy nghĩ và trả lời:ta phải

dùng nhiều biến (30 biến)

GV:

Đưa ra ví dụ 1 trang 53 sách

giáo khoa : nhập vào nhiệt độ

trung bình của mỗi ngày trong

1 tuần, tính và in ra nhiệt độ

trung bình của tuần và số

lượng ngày trong tuần có nhiệt

độ cao hơn nhiệt độ trung bình

của tuần

Đi vào phân tích 2 chương

trình để so sánh cách sử dụng

kiểu dữ liệu mảng một chiều

tiện lợi hơn

 Quan sát, theo dõi, ghi chép

Như vậy qua chương trình trên

writeln(‘nhap vao nhiet do cua 7 ngay);

Khi sử dụng kiểu dữ liệu kiểu mảng một chiều

để mô tả dữ liệu chương trình được viết lại như sau với N ngày:

program Nhietdo_Nngay;

const Max = 366; (gia thiet N lon nhat la 366)

type Kmang1 = array [1 Max] of real;

var Nhietdo: Kmang1;

dem,i,N:byte;

Tong, trung_binh: real;

begin writeln(‘nhap vao so ngay: ‘);

readln(N);

Tong:=0;

for i:=1 to N do begin write (‘nhap nhiet do ngay

Trang 15

Cách khai báo biến mảng

một chiều: var Nhietdo:

báo biến mảng một chiều sau:

Cách khai báo nào tiện hơn?

Tùy theo bài mà chúng ta sẽ

chọn một cách khai báo nhưng

để giảm thiểu phức tap cho học

1a.Khai báo:

Cách 1: khai báo trực tiếp biến mảng một chiều:

var <tên biến mảng> : array [kiểu chỉ số]

số cuối(n1<= n2);

Kiểu phần tử: là kiểu của các phầ tử mảng

Type: là từ khóa để khai báo biến, array là

từ khóa để khai báo mảng

Để truy cập vào phần tử mảng ta viết :

<tên biến mảng>[chỉ số]

Ví dụ khai báo mảng một chiều:

var ten_mang_1 : array [1 50] of real;

hay:

type mang_so_thuc = array [1 50] of real;

Trang 16

B[3] = 61

Đưa ra một số ví dụ mảng một

chiều và cách khai báo

var ten_mang_1 : mang_so_thuc ;

4 Củng cố và luyện tập:

- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.

- Khai báo mảng một chiều:

* Trực tiếp:

Var <tên biến mảng> : array [kiểu chỉ số] of

<kiểu phần tử>;

* Gián tiếp:

Type <tên kiểu mảng> = array [kiểu chỉ số] of

<kiểu phần tử>;

Var <tên biến mảng> : <tên kiểu mảng>;

- Khi khai báo kiểu mảng cần xác định kích thước của mảng.

5 Hướng dẫn học sinh chuẩn bị bài ở nhà:

- Học bài cũ

- Xem tiếp các ví dụ về mảng 1 chiều

V RÚT KINH NGHIỆM:

+ Giáo viên:

+ Học sinh:

+ Chương trình SGK:

+ Thiết bị dạy học:

Trang 17

Tuần:10 - Tiết PPCT: 19 Ngày dạy:

I MỤC TIÊU:

1 Về kiến thức:

Học sinh sau tiết học sẽ :

Hiểu đúng khái niệm mảng một chiều

Hiểu cách khai báo và truy cập đến các phần tử của mảng

Phương pháp thuyết trình, vấn đáp, kết hợp tạo tình huống có vấn đề

IV TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức: kiểm diện

2 Kiểm tra bài cũ:

Trình bày cách khai báo trực tiếp kiểu dữ liệu mảng một chiều trong Turbo Pascal.(4đ)

Chọn khai báo kiểu dữ liệu mảng một chiều hợp lệ trong Turbo Pascal: (4đ)

a) var dayso: array[-1 20.5] of real;

b) var mang: array[0 255] of byte;

c) type A: array[-11 20] of integer;

var mang: A;

Bài 11 KIỂU MẢNG (tt)

Trang 18

3 Giảng bài mới:

Input và Output của bài

toán Và yêu cầu HS

theo dõi thuật toán trong

SGK

HS: Quan sát và nghe

giảng

GV: Diễn giảng thuật

toán để giải bài toán

trên Đặt câu hỏi để HS

HS: Nghe giảng, trả lời

câu hỏi và ghi bài

Ví dụ 1 : Tìm phần tử lớn nhất của một dãy số nguyên

- Input : Số nguyên dương N và dãy số A1, A2, … ,

AN

- Output : Chỉ số và giá trị của số lớn nhất trong dãy

- Ý tưởng :

+ Đặt số A1 là số lớn nhất (max)+ Cho i lặp từ 2 đến N, nếu A[i]> thì đổi max =A[i] vả lưu lại vị trí i

Chương trình như sau :

Program timmax ;Uses crt ;

var a : array[1 250] of integer ; n,i,max,csmax : Integer ;Begin

clrscr ; Write('Nhap n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('a[',i,'] = ') ; readln(a[i]) ; End ;

max := a[i] ; csmax := 1 ; For i := 2 to n do

If a[i] > max then Begin

max := a[i] ; csmax :=i ; End ;

Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ; Readln ;

End

Ví dụ 2 : Sắp xếp dãy số nguyên theo bằng thuật toán

Trang 19

HS: Nghe giảng, trả lời

câu hỏi và ghi bài

Output của bài toán Cho

HS xem thuật toán được

2/ Trong thuật toán cần

duyệt qua bao nhiêu lần?

3/ Mỗi lượt thực hiện

trên đoạn nào của dãy

số?4/ Câu lệnh nào trong

chương trình thể hiện hai

yêu cầu trên?

5/ Mỗi lượt duyệt thực

var A : Array[1 250] of integer ; n,i,j,tg : Integer ;

Begin clrscr ; Write('Nhap so phan tu mang n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('A[',i,'] = ') ; readln(A[i]) ; End ;

For j := n downto 2 do Begin

For i := 1 to j-1 do

If A[i] > A[i+1] then Begin

tg := A[i] ; A[i] := A[i+1] ; A[i+1] := tg ; End ;

End ; Writeln('day sau khi sap xep : ') ; For i := 1 to n do

write(a[i]:8) ; readln ;

End Writeln('chi so ptu lon nhat : ',csmax);

readln ;

End

Trang 20

HS: Nghe giảng, trả lời

và ghi bài

GV: Nhận xét và bổ

sung

4.Củng cố và luyện tập:

- Thuật toán tráo đổi giá trị của hai phần tử, sử dụng biến trung gian để lưu giá trị

tạm thời

5.Hướng dẫn học sinh chuẩn bị bài ở nhà:

V RÚT KINH NGHIỆM:

+ Giáo viên:

+ Học sinh:

+ Chương trình SGK:

+ Thiết bị dạy học:

Trang 21

Tuần: 10 - Tiết PPCT: 20 Ngày dạy:

I MỤC TIÊU:

1 Về kiến thức:

Học sinh sau tiết học sẽ:

 Nắm được khái niệm mảng 1 chiều

 Hiểu cách khai báo và truy cập đến các phần tử của mảng

Phương pháp thuyết trình, vấn đáp, kết hợp tạo tình huống có vấn đề

IV TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức: kiểm diện

2 Kiểm tra bài cũ:

Trình bày cách khai báo gián tiếp kiểu dữ liệu mảng một chiều trong Turbo Pascal.(4đ)

Có khai báo sau, cho biết tên của kiểu dữ liệu mới, kiểu mảng đó có bao nhiêuphần tử, mỗi phần tử của mảng thuộc kiểu gì, và tên của các mảng sẽ dùng trongchương trình là gì? (4đ)

Type diem = array[1 15] of byte;

Var A, mang: diem;

Bài 11 KIỂU MẢNG (tt)

Trang 22

3 Giảng bài mới:

Yêu cầu HS quan sát

thuật toán trong SGK

Giảng giải thuật toán

chưa tìm thấy hoặc

không gian tìm kiếm

chưa rỗng bằng biểu

thức logic nào?

c> Một số ví dụ :

Ví dụ 3 : Tìm kiếm nhị phân Input: Dãy A là dãy tăng gồm N số nguyên dương A1,

A2, …, AN, số nguyên k.

Output: Chỉ số i mà A i = k hoặc thông báo “Khong tim

thay” nếu không có số hạng nào của dãy A có giá trị

Bước 6: Dau Giua + 1;

Bước 7: Nếu Dau > Cuoi thì thông báo dãy A không có

số hạng có giá trị bằng k, rồi kết thúc;

Bước 8: Quay lại bước 3.

Chương trình như sau : Program sapxep ;

Uses crt ;var A : Array[1 250] of integer ; n,i,k : Integer ;

dau,cuoi,giua : Integer ;

TK : boolean ;Begin

clrscr ; Write('Nhap so ptu mang n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('A[',i,'] = ') ;

Trang 23

Write('nhap so can tim k : ') ; Readln(k);

dau := 1 ; cuoi := n ;

TK := false ; while (dau <= cuoi) and Not TK Do Begin

giua := (dau+cuoi) div 2 ;

If A[giua] = k then TK := true Else

If a[giua]>k then cuoi := giua - 1 Else dau := giua + 1 ;

- Đối với thuật toán tìm kiếm nhị phân, mảng phải được sắp xếp có thứ tự (dãy

tăng hoặc dãy giảm)

5 Hướng dẫn học sinh chuẩn bị bài ở nhà:

V RÚT KINH NGHIỆM:

+ Giáo viên: + Học sinh: + Chương trình SGK: + Thiết bị dạy học:

Trang 24

Tuần: 11 - Tiết PPCT: 21 Ngày dạy:

I MỤC TIÊU:

1 Về kiến thức:

Học sinh sau tiết học sẽ:

 Củng cố lại các kiến thức cơ bản về kiểu dữ liệu mảng

2 Về kỹ năng:

 Nâng cao kĩ năng sử dụng một số lệnh kiểu dữ liệu mảng một chiều:

 Khai báo kiểu dữ liệu mảng một chiều

III PHƯƠNG PHÁP:

 Phương pháp giảng dạy: nêu vấn đề và giải quyết vấn đề

 Vấn đáp, gợi mở để học sinh tham gia tích cực vào bài học

IV TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức: kiểm diện

2 Kiểm tra bài cũ:

+ Trình bày thao tác nhập, xuất mảng 1 chiều (8đ)Write (‘nhap so luong phan tu n=’); Readln (n);

For i:=1 to n doBegin

Write(‘A[‘, i, ‘]=’); Readln (A[i]);

End;

For i:=1 to n do write(A[i]:4);

BÀI TẬP VÀ THỰC HÀNH 3

Ngày đăng: 22/10/2013, 21:11

HÌNH ẢNH LIÊN QUAN

Hình   hay   phím  F6  để - Tin_11_ChuongIII,IV_2010_2011(14-28)
nh hay phím F6 để (Trang 3)
w