1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài thực hành 6. Sử dụng lệnh lặp While…..Do

19 79 0

Đ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

Định dạng
Số trang 19
Dung lượng 64,21 KB

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

Nội dung

Việc gán giá trị, nhập giá trị và tính toán với các giá trị của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó3. Thái độ: Thái độ học tập nghiêm t[r]

Trang 1

I MỤC TIấU

1 Kiến thức

- Mọi ngụn ngữ lập trỡnh đều cú cấu trỳc lặp với số lần biết trước và chưa biết trước Biết cỳ phỏp của cỏc cõu lệnh lặp

- Biết lựa chọn cõu lờnh lặp while do hoặc for do phự hợp với tỡnh huống cụ thể.

2 Kĩ năng

- Rốn luyện kĩ năng đọc hiểu chương trỡnh, tỡm hiểu tỏc dụng cuả cỏc cõu lệnh

- Viết chương trỡnh Pascal sử dụng cõu lệnh lặp for do và while do

3 Thỏi độ

Thỏi độ học tập nghiờm tỳc, yờu thớch mụn học

II CHUẨN BỊ

1 Đồ dùng dạy và học

- Giáo viên: Máy chiếu (nếu có), SGK, giáo án

- Học sinh: SGK, vở ghi, đọc trớc bài

2 Phơng pháp

Nêu vấn đề, Vấn đáp, Đồ dùng trực quan

III HOẠT ĐỘNG DẠY HỌC

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ

Kiểm tra bài cũ trong quá trình làm bài tập

3 Bài mới

Hoạt động của GV Hoạt động của HS Kiến thức cơ bản

Hoạt động 1: ễn tập

cõu lệnh lặp xỏc định

For do.

? Nờu cỳ phỏp của vũng

lặp xỏc định

? Nờu hoạt động của

vũng lặp

+ HS nờu lại cỳ phỏp:

+ Hoạt động của vũng lặp:

- B1: biến đếm nhận giỏ trị đầu

- B2: Chương trỡnh kiểm

- Cỳ phỏp của vũng lặp xỏc định

For <biến đếm>:= <giỏ trị đầu> to <giỏ trị cuối> do

<cõu lệnh>;

- Hoạt động của vũng lặp

Ngày soạn: 6/3/2016 Ngày giảng: 10/3/2016

Tiết 51-52:

BÀI TẬP

Trang 2

Hoạt động 2 Bài tập.

1 Các câu lệnh Pascal

sau có hợp lệ không, vì

sao?

a) for

i:=100 to 1 do

writeln('A');

b) for

i:=1.5 to 10.5 do

writeln('A');

c) for i=1

to 10 do

writeln('A');

d) for i:=1

to 10 do;

writeln('A');

e) var x:

real; begin for

x:=1 to 10 do

writeln('A'); end.

GV đưa ra bài tập 2

Sửa sai và đưa ra thuật

toán

tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh

- B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2

- B4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp

+ Trừ câu d), tất cả các

câu lệnh đều không hợp lệ:

a) Giá trị đầu phải nhỏ

hơn giá trị cuối;

b) Các giá trị đầu và giá

trị cuối phải là số nguyên;

c) Thiếu dấu hai chấm

khi gán giá trị đầu;

d) Thừa dấu chấm phẩy

thứ nhất, nếu như ta muốn lặp lại câu lệnh

writeln('A') mười lần,

ngược lại câu lệnh là hợp lệ;

e) Biến x đã được khai

báo như là biến có dữ liệu kiểu số thực và vì thế không thể dùng để xác định giá trị đầu và giá trị cuối trong câu lệnh lặp

- HS suy nghĩ tìm ra thuật toán

1 Các câu lệnh Pascal sau có hợp lệ không, vì sao?

f) for i:=100

to 1 do writeln('A'); g) for i:=1.5

to 10.5 do

writeln('A');

h) for i=1 to

10 do writeln('A'); i) for i:=1 to

10 do; writeln('A'); j) var x: real; begin for x:=1 to 10

do writeln('A'); end.

2 Mô tả thuật toán tính tổng

A =

1.32.43.5 n n(  1)

Bước 1 Gán A  0, i  1

Trang 3

- GV cho đề bài bài tập 3

a) Thuật toán 1

Bước 1 S  10, x 

0.5

Bước 2 Nếu S  5.2,

chuyển tới bước 4

Bước 3 S  S  x và

quay lại bước 2

Bước 4 Thông báo S và

kết thúc thuật toán

b) Thuật toán 2

Bước 1 S  10, n  0.

Bước 2 Nếu S ≥ 10,

chuyển tới bước 4

Bước 3 n  n + 3, S 

S  n quay lại bước 2.

Bước 4 Thông báo S và

kết thúc thuật toán

HS suy nghĩ, ghi chép đầy đủ

Bước 2 A 

1 ( 2)

i i 

Bước 3 i  i + 1

Bước 4 Nếu i  n, quay lại

bước 2

Bước 5 Ghi kết quả A và kết

thúc thuật toán

3 Cho biết máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi

kết thúc, giá trị của S bằng bao

nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó

a) Thuật toán 1: 10 vòng lặp

được thực hiện Khi kết thúc

thuật toán S = 5.0 Đoạn

chương trình Pascal tương ứng:

S:=10;

x:=0.5;

while S>5.2

do S:=S-x; writeln(S);

b) Thuật toán 2: Không vòng

lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các

bước 2 và 3 bị bỏ qua S = 10

khi kết thúc thuật toán Đoạn chương trình Pascal tương ứng:

S:=10;

n:=0;

while S<10 do

begin n:=n+3; S:=S-n end; writeln(S);

3.Dặn dò

Về nhà học bài tiết sau kiểm tra 1 tiết (LT)

Trang 4

Ngày soạn: 13/3/2016 Ngày giảng: 17/3/2016

Tiết 53-54: Bài 9:

LÀM VIỆC VỚI DÃY SỐ

I MỤC TIấU

1 Kiến thức:

Cú khỏi niệm ban đầu về mảng và biến mảng

2 Kĩ năng:

Việc gỏn giỏ trị, nhập giỏ trị và tớnh toỏn với cỏc giỏ trị của một phần tử trong biến mảng được thực hiện thụng qua chỉ số tương ứng của phần tử đú

3 Thỏi độ: Thỏi độ học tập nghiờm tỳc, yờu thớch mụn học.

II CHUẨN BỊ

1 Đồ dùng dạy và học:

- Giáo viên: Máy chiếu (nếu có), SGK, giáo án

- Học sinh: SGK, vở ghi, đọc trớc bài

2 Ph ơng pháp :

Nêu vấn đề, Vấn đáp, Đồ dùng trực quan

III HOẠT ĐỘNG DẠY HỌC

1 Ổn định tổ chức lớp:

2 Ki ểm tra bài cũ

Em hóy cho biết phần mềm Sun Time dựng để làm gỡ?

3 Bài mới:

+ Hoạt động : Tỡm hiểu

dóy số và biến mảng

- Yờu cầu HS đọc vớ dụ 1

- Vớ dụ như trong Pascal ta

cần nhiều cõu lệnh khai

bỏo và nhập dữ liệu dạng

sau đõy, mỗi cõu lệnh

tương ứng với điểm của

+ Vớ dụ 1 Giả sử chỳng

ta cần viết chương trỡnh nhập điểm kiểm tra của cỏc học sinh trong một lớp và sau đú in ra màn hỡnh điểm số cao nhất

Vỡ mỗi biến chỉ cú thể lưu một giỏ trị duy nhất,

để cú thể nhập điểm và

so sỏnh chỳng, ta cần sử

1 Dóy số và biến mảng:

- VD: SGK/75

- Hầu hết cỏc nggon ngữ lập trỡnh đều cú mottj kiểu

dữ liệu được gọi là kiểu mảng

Trang 5

một học sinh

? Dữ liệu mảng là gì

dụng nhiều biến, mỗi biến cho một học sinh

Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu

- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử

có thứ tự và mọi phần tử đều

có cùng một kiểu dữ liệu

- Biến mảng là biến có kiểu

dữ liệu là kiểu mảng

- Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực) có thứ tự, mỗi số là giá trị của biến thành phần tương ứng

+ Hoạt động: Ví dụ về

biến mảng.

- Để làm việc với các dãy

số nguyên hay số thực,

chúng ta phải khai báo

biến mảng có kiểu tương

ứng trong phần khai báo

của chương trình

- Yêu cầu học sinh nghiên

cứu SGK => Nêu cách

khai báo biến mảng

Nghiên cứu VD2 SGK/76

và cho biết đã tạo ra một

biến mảng gồm bao nhiêu

phần tử?

Theo em có mấy cách để

gán gí trị cho biến mảng

+ Học sinh chú ý lắng

nghe => ghi nhớ kiến thức

+ Cách khai báo mảng

trong Pascal như sau:

Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of

<kiểu dữ liệu>

HS trả lời

2 cách

2 Ví dụ về biến mảng:

- VD:

var chieucao:array[1 50] of real; var tuoi:array[21 80] of integer;

a Cách khai báo mảng

Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of

<kiểu dữ liệu>

trong đó:

- CSD và CSC là 2 số nguyên

- CSD<=CSC

- kiểu dữ liệu có thể là integer

và real

b Truy cập mảng:

- VD2:

var diem:array[1 50] of real; Mảng gồm 50 phần tử đánh

số thứ tự từ 1 đến 50

diem[1]: phần tử thứ nhất diem[50]: phần từ thứ năm

c Nhập giá trị cho biến mảng

Có 2 cách gán giá trị chần tử của mảng

- Gán trực tiếp bằng lệnh gán VD: diem[1]:=8; diem[5]:=6;

Trang 6

Viết đoạn chương trình

với 50 lệnh read để thực

hiện việc nhập giá trị cho

50 phần tử của mảng từ

bàn phím

Em có nhận xét gì?

Thay vì phải viết 50 câu

lệnh khai báo và 50 câu

lệnh nhập ta chỉ cần viết 2

câu lệnh là dủ và cho kết

quả như nhau

Em rút ra nhận xét gì?

readln(diem[1]);

readln(diem[2]);

readln(diem[50]);

Rất mất thời gian vì có nhiều câu lệnh

- Gán giá trị bằng cách nhập

từ bàn phím, sử dụng lệnh read, readln

- Nhập dữ liệu cho mảng VD:

For i:=1 to 50 do readln(diem[i]);

- In ra màn hình giá trị các phần tử của mảng

VD:

For i:=1 to 50 do writeln(diem[i]);

- In ra màn hình những điểm

>=9 For i:=1 to 50 do

if diem[i]>=9 then writeln(diem[i]);

=> Sử dụng biến mảng và câu

lệnh lặp for do kết hợp với câu lệnh if then giúp cho

việc viết chương trình ngắn gọn và dễ dàng hơn

4 Củng cố

- Hãy nêu cách khai báo biến mảng, cho một vài ví dụ về khai báo biến mảng

5 Dặn dò

- Về nhà học bài, kết hợp SGK, giờ sau học tiếp mục 3

-

Trang 7

-Ngày soạn: 20/3/2016 Ngày giảng: 24/3/2016

I Mục tiêu:

1 Kiến thức: Kiểm tra kết quả tiếp thu của học sinh về những kiến thức đã học.

2 Kĩ năng:

Biết sử dụng vũng lặp xỏc định và vũng lặp khụng xỏc định để viết chương trỡnh

3 Thái độ: HS hiểu bài và hứng thú với bài học Rèn luyện tính tự giác trong học

tập Nhận thức đợc tầm quan trọng của môn học, rèn luyện tính cần cù ham thích tìm hiểu và t duy khoa học

II Chuẩn bị:

1 Đồ dùng dạy học:

- Giáo viên: SGK, đề kiểm tra, giáo án

- Học sinh: SGK, đồ dùng học tập, học trớc bài SGK

2 Ph ơng pháp: Nêu vấn đề, Vấn đáp, Giảng giải.

III Hoạt động trên lớp:

1

ổ n định tổ chức lớp : ổn định lớp, báo cáo sĩ số

2 Kiểm tra bài cũ: Không kiểm tra bài cũ

3 Bài mới:

a Ma trận

Mức độ

TNKQ Tự luận TNKQ Tự luận TNKQ Tự luận

Lặp với số lần cha biết trớc 1

b

Đề bài:

1 Nờu cỳ phỏp và hoạt động của cõu lệnh lặp với số lần chưa biết trước? (2 điểm)

 Cỳ phỏp:

 Hoạt động:

2 Trong cỏc phỏt biểu sau, phỏt biểu nào mà em cho là đỳng: (1 điểm)

Trang 8

a Trong câu lệnh lặp với số lần biết trước, câu lệnh được thực hiện ít nhất một lần, sau

đó lại kiểm tra điều kiện

b Trong câu lệnh lặp với số lần chưa biết trước, có trường hợp câu lệnh không được thực hiện một lần nào

c Trong câu lệnh lặp với số lần biết trước, giá trị của biến đếm là kiểu số thực

 Em chọn ý:

3 Trong các hoạt động sau, hoạt động nào là hoạt động lặp với số lần biết trước.(1 đ)

a Hàng ngày em đặt đồng hồ báo thức lúc 6h để dậy sớm tập thể dục

b Tìm một từ nhất định bị gõ sai chính tả trong văn bản và sửa lại cho đúng

c Kiểm tra một số tự nhiên N được nhập từ bàn phím có phải là số nguyên tố hay không

d Viết chương trình in ra màn hình bảng nhân của một số từ 1 đến 9

 Em chọn ý:

4 Viết đoạn chương trình Pascal thể hiện thuật toán sau: (2 điểm)

- Bước 1: T0, i1

- Bước 2: Nếu T>10, chuyển tới bước 4

- Bước 3: T  T+1/i; i  i+1;

- Bước 4: Thông báo T và kết thúc thuật toán

5 Viết chương trình hoàn chỉnh tính tổng của 10 số tự nhiên đầu tiên (4 điểm)

S=1+2+3+ +10

c Đáp án:

Câu 1: Cú pháp và hoạt động của vòng lặp không xác định.

* Cú pháp:

While <điều kiện> do <câu lênh>;

* Hoạt động:

- B1 Kiểm tra điều kiện

- B2 Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu lệnh lặp kết thúc Nếu điều kiện đúng, thực hiện câu lệnh và quay lại B1

Câu 2: Ý a, b đúng ý c sai

Câu 3: Ý a, d đúng

Câu 4: t:=0;i:=1;

While t<=10 do

Begin

T:=t+1/i; i:=i+1;

End;

Write(t);

Trang 9

Cõu 5:

Program tong;

Var i: integer; t:longint;

Begin

For i=1 to 10 do t:=t+i;

Write(‘tong cua 10 so tn dau tien la t=’,t);

Readln

End

Ngày soạn: 20/3/2016 Ngày giảng: 24/3/2016

Tiết 56: Bài 9:

LÀM VIỆC VỚI DÃY SỐ (tiếp)

I MỤC TIấU

1 Kiến thức:

- Cú khỏi niệm ban đầu về mảng và biến mảng

- Biết cỏch khai bỏo mảng, nhập, in, truy cập cỏc phần tử của mảng

- Hiểu thuật toỏn tỡm số lớn nhất và nhỏ nhất của một dóy số

2 Kĩ năng:

Khai bỏo, nhập, in truy cập cỏc phần tử của mảng

3 Thỏi độ: Thỏi độ học tập nghiờm tỳc, yờu thớch mụn học.

II CHUẨN BỊ

1 Đồ dùng dạy và học:

- Giáo viên: Máy chiếu (nếu có), SGK, giáo án

- Học sinh: SGK, vở ghi, đọc trớc bài

2 Ph ơng pháp :

Nêu vấn đề, Vấn đáp, Đồ dùng trực quan

III HOẠT ĐỘNG DẠY HỌC

1 Ổn định tổ chức lớp:

2 Ki ểm tra bài cũ

- Nờu cỏch khai bỏo mảng?

- Cho vớ dụ về nhập dữ liệu, in giỏ trị của phần tử mảng

3 Bài mới:

+ Hoạt động: Tỡm giỏ trị

lớn nhất và nhỏ nhất của

dóy số

Tỡm hiểu VD3

Nờu lại thuật toỏn tỡm giỏ

trị lớn nhất và nhỏ nhất

HS suy nghĩ trả lời

- Gỏn giỏ trị số thứ nhất của dóy

số = Max

3 Tỡm giỏ trị lớn nhất và nhỏ nhất của dóy số

- VD3: SGK/78

* Thuật toỏn tỡm Max của dóy

số nguyờn nhập từ bàn phớm

- B1: Nhập N và dóy A1, , An

Trang 10

của dãy số nguyên

Viết chương trình thể hiện

thuật toán tìm GTLN

Viết chương trình thể hiện

thuật toán tìm GTNN

(Tạm thời coi số thứ nhất là số lớn nhất - số lớn nhất tạm thời)

- So sánh số lớn nhất tạm thời này với số thứ hai, nếu số thứ hai lớn hơn số thứ nhất tạm thời -Max, thì gán giá trị số thứ hai cho Max Như vậy thời điểm này Max là số lớn nhất của số thứ nhất và số thứ hai

- Tiếp tục đem so sánh Max với tất cả các số còn lại, số nào lớn hơn Max thì gán giá trị số đó cho Max Sau khi so sánh đến số cuối cùng của dãy số thì Max chính là GTLN của dãy số

HS xây dựng chương trình từng phần theo thuật toán

HS tự viết thuật toán vào vở

- B2: Max ← A1;

- B3: Với i từ 2 đến N thực hiện:

Nếu Max<Ai thì Max ← Ai;

- B4: Đưa ra màn hình giá trị của Max và kết thúc thuật toán

program p_max;

var i, N, Max: integer;

A:array[1 100] of integer; begin

write('nhap do dai cua day so, N='); readln(N);

writeln('nhap cac phan tu cua day so: ');

for i:=1 to N do begin

write('a[',i,']='); readln(a[i]); end;

max:=a[1];

for i:=2 to N do

if max<a[i] then max=a[i]; write('so lon nhat la max= ',max);

readln end

program p_min;

var i, n, min: integer;

A:array[1 100] of integer; begin

write('nhap do dai cua day so, n='); readln(n);

Trang 11

writeln('nhap cac phan tu cua day so: ');

for i:=1 to n do begin

write('a[',i,']='); readln(a[i]); end;

min:=a[1];

for i:=2 to n do

if min>a[i] then min=a[i]; write('so nho nhat la min= ',min);

readln end

+ Hoạt động 1: VD3

+ Học sinh đọc và tìm hiểu yêu cầu của bài toán

- Học sinh chú ý lắng nghe =>

ghi nhớ kiến thức

+ Học sinh thực hiện theo yêu cầu của giáo viên

- VD3

program MaxMin;

uses crt;

Var

i, n, Max, Min: integer;

A: array[1 100] of integer; Phần thân chương trình sẽ tương tự dưới đây:

Begin clrscr;

write('Hay nhap do dai cua day so, = '); readln(n);

writeln('Nhap cac phan tu cua day so:');

For i:=1 to n do Begin

write('a[',i,']='); readln(a[i]);

End;

Max:=a[1]; Min:=a[1];

for i:=2 to n do begin if Max<a[i] then Max:=a[i];

if Min>a[i] then Min:=a[i]

end;

write('So lon nhat la Max = ',Max);

write('; So nho nhat la Min

= ',Min);

readln;

End.

Trang 12

4 Củng cố

Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu nhưng chỉ dưới một tiên duy nhất” Phát biểu đó đúng hay sai

5 Dặn dò

- Về nhà học bài, kết hợp SGK, tiết sau học bài thực hành 7

-

Trang 13

-Ngày soạn: 27/3/2016 Ngày giảng: 31/3/2016

Tiết 57

BÀI TẬP

I MỤC TIấU

1 Kiến thức:

- Biết cỏch giải cỏc bài tập trogn sgk

- Hiểu thuật toỏn tỡm số lớn nhất và nhỏ nhất của một dóy số

2 Kĩ năng:

Khai bỏo, nhập, in truy cập cỏc phần tử của mảng

3 Thỏi độ: Thỏi độ học tập nghiờm tỳc, yờu thớch mụn học.

II CHUẨN BỊ

1 Đồ dùng dạy và học:

- Giáo viên: Máy chiếu (nếu có), SGK, giáo án

- Học sinh: SGK, vở ghi, đọc trớc bài

2 Ph ơng pháp :

Nêu vấn đề, Vấn đáp, Đồ dùng trực quan

III HOẠT ĐỘNG DẠY HỌC

1 Ổn định tổ chức lớp:

2 Ki ểm tra bài cũ

- Nờu cỏch khai bỏo mảng?

- Cho vớ dụ về nhập dữ liệu, in giỏ trị của phần tử mảng

3 Bài mới:

+ Hoạt động 2: Chữa bài

tập SGK/79

Bài 1:

Bài 2:

Đọc kĩ bài và trả lời vào

vở

GV sửa lại cho đỳng

+ Học sinh thực hiện theo yờu cầu của giỏo viờn

1 Bài tập

Bài 1:

Lợi ớch chớnh là rỳt gọn việc viết chương trỡnh, cú thẻ sử dụng cõu lệnh lặp để thay hiều cõu lệnh Ngoài

ra, chỳng ta cú thể lưu trữ

và xử lớ nhiều dữ liệu cú nội dung liờn quan đến nhau một cỏch hiệu quả

Bài 2:

a Sai Thay dấu , bằng dấu :

b,c Sai vỡ chỉ số mảng phải là kiểu nguyờn

Ngày đăng: 06/03/2021, 05:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w