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

Tron bo giao an Tin Hoc 11_HK_ V2

69 193 1

Đ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 69
Dung lượng 1,93 MB

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

Nội dung

- Trong chương trình lớp 10 các em đã được biết đến một số khái niệm: ngôn ngữ lập trình, chương trình dịch; nên trong bài này chúng ta nên trình bày rõ cho học sinh hiểu về biên dịch và

Trang 1

+Chương 1: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

§1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

I MỤC TIÊU

- Biết có 3 lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao

- Biết vai trò của chương trình dịch

- Biết khái niệm thông dịch và biên dịch

- Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của chương trình nguồn

II CHUẨN BỊ

- Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

- Trong chương trình lớp 10 các em đã được biết đến một số khái niệm: ngôn ngữ lập trình, chương trình dịch; nên trong bài này chúng ta nên trình bày rõ cho học sinh hiểu về biên dịch và thông dịch

III TẾN TRÌNH BÀI DẠY

GV: Đặt câu hỏi 1: Em hãy cho biết các bước giải

một bài toán trên máy tính?

HS: Suy nghĩ và trả lời câu hỏi

GV: Phân tích câu trả lời của học sinh

Nhắc lại các bước giải bài toán trên máy tính đã

học ở lớp 10

GV: Đặt câu hỏi 2: Em hãy cho biết có mấy loại

ngôn ngữ lập trình?

HS: Trả lời câu hỏi của giáo viên

GV: Phân tích câu trả lời của học sinh

Mỗi loại máy có một ngôn ngữ riêng, thường thì

chương trình viết bằng ngôn ngữ của máy nào chỉ

chạy được trên máy đó

Khi viết chương trình bằng ngôn ngữ bậc cao

muốn thi hành được trên loại máy nào thì cần

chuyển chương trình sang ngôn ngữ máy của máy

đó

GV: Đặt câu hỏi 3 : Làm thế nào để chuyển

chương trình viết bằng ngôn ngữ bậc cao sang

ngôn ngữ máy?

Đưa ra ví dụ : Bạn là người không biết tiếng Anh

vậy làm sao để bạn có thể nói chuyện với người

Anh hay đọc một cuốn sách tiếng Anh?

+ Khi một người làm phiên dịch người đó phải

dịch như thế nào? (Dịch ngay từng câu khi 2

người nói chuyện)

+ Khi một người muốn dịch 1 cuốn sách sang

tiếng Việt thì làm thế nào? (Dịch toàn bộ cuốn

sách đó sang tiếng Việt để người đó có thể

đọc được)

Khái niệm lập trình: Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán

-Trả lời câu hỏi: Có 3 loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao

Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ thi hành ngay

Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành được thì nó phải được chuyển sang ngôn ngữ máy

=>Cần phải có chương trình dịch để chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành được

Trang 2

GV: Lấy ví dụ về biên dịch và thông dịch cho học

sinh có thể hình dung được mỗi công việc

Biên dịch: Sử dụng ngôn ngữ lập trình Pascal để

dịch một chương trình viết sẵn ra đĩa và thi hành

chương trình đã dịch để học sinh quan sát

Thông dịch: Sử dụng các lệnh trong Command

promt để thực hiện một số lệnh của DOS hoặc

dùng ngôn ngữ Foxpro để thực hiện một số lệnh

quản trị dữ liệu, học sinh dễ dàng nhận ra việc

thông dịch

Đi kèm với các chương trình dịch thường có các

công cụ như soạn thảo chương trình nguồn, lưu

trữ, tìm kiếm, phát hiện lỗi, thông báo lỗi,… ngôn

ngữ lập trình thường chứa tất cả các dịch vụ trên

Chương trình dịch có 2 loại: Biên dịch và thông dịch

+ Biên dịch (Compiler): Thực hiện các bước sau:

 Duyệt, kiểm tra, phát hiện lỗi và kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn

 Dịch toàn bộ chương trình nguồn thành một chương trình đích (ngôn ngữ máy) để có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần

+ Thông dịch (Interpreter): Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy

Thông dịch được thực hiện bằng cách lặp lại dãy các bước sau:

 Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn

 Chuyển đổi các câu lệnh đó thành một hay nhiều câu lệnh trong ngôn ngữ máy

 Thực hiện các câu lệnh vừa chuyển đổi được III CỦNG CỐ, DẶN DÒ:

 Nhắc lại một số khái niệm mới

Trang 3

§2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH

I MỤC TIÊU

- Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa

- Hiểu và phân biệt được 3 thành phần này

- Biết các thành phần cơ bản của Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng

- Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

- Phần này bắt đầu một kiến thức mới, ngoài giới thiệu cho các em biết các khái niệm mới, cần giải thích sự khác nhau giữa cú pháp và ngữ nghĩa

- Riêng các thành phần cơ sở của Pascal, với mỗi khái niệm cần nên lấy ví dụ minh họa đúng-sai,

và ví dụ sự khác biệt giữa chúng, nên minh họa bằng một đoạn chương trình đơn giản

III TẾN TRÌNH BÀI DẠY

GV: Các ngôn ngữ lập trình nói chung thường có

chung một số thành phần như: Dùng những ký

hiệu nào để viết chương trình, viết theo quy tắc

nào, viết như vậy có ý nghĩa là gì? Mỗi ngôn ngữ

lập trình có một quy định riêng về những thành

phần này

Ví dụ: Bảng chữ cái của các ngôn ngữ lập trình

khác nhau có sự khác nhau Chẳng hạn ngôn ngữ

Pascal không sử dụng dấu ! nhưng ngôn ngữ C++

lại sử dụng ngôn ngữ này

- Cú pháp các ngôn ngữ lập trình khác nhau cũng

khác nhau, ngôn ngữ Pascal dùng cặp từ Begin –

End để gộp nhiều lệnh thành 1 lệnh nhưng C++ lại

dùng cặp kí hiệu {}

Ví dụ: Xét 2 biểu thức:

A + B (1) A, B là các số thực

I + J (2) I, j là các số nguyên

Khi đó dấu + trong (1) sẽ là cộng hai số thực,

trong (2) là cộng hai số nguyên

- Mỗi ngôn ngữ khác nhau cũng có cách xác định

ngữ nghĩa khác nhau

HS: Lắng nghe, ghi chép

GV: Đưa ra ví dụ ngôn ngữ tự nhiên cũng có bảng

chữ cái, ngữ pháp (cú pháp) và nghĩa của câu, từ

1.Các thành phần cơ bản:

- Mỗi ngôn ngữ lập trình thường có 3 thành phần

cơ bản là : bảng chữ cái, cú pháp và ngữ nghĩa

a.Bảng chữ cái: Là tập các ký hiệu dùng để viết chương trình

-Trong ngôn ngữ Pascal bảng chữ cái gồm: Các chữ cái trong bảng chữ cái tiếng Anh, các chữ số

0  9 và một số ký tự đặc biệt (xem trong SGK) b.Cú pháp: Là bộ quy tắc dùng để viết chương trình

c Ngữ nghĩa: Xác định ý nghĩa thao tác cần thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của

Trang 4

GV: Trong các ngôn ngữ lập trình nói chung, các

đối tượng sử dụng trong chương trình đều phải đặt

tên để tiện cho việc sử dụng Việc đặt tên trong

các ngôn ngữ khác nhau là khác nhau, có ngôn

ngữ phân biệt chữ hoa, chữ thường, có ngôn ngữ

không phân biệt chữ hoa, chữ thường

GV: Giới thiệu cách đặt tên trong ngôn ngữ cụ thể

Pascal

Ví dụ :

Tên đúng: a, b, c, x1, x2, _ten …

Tên sai: a bc,2x, a&b …

GV: Ngôn ngữ nào cũng có 3 loại tên cơ bản này

nhưng tùy theo ngôn ngữ mà các tên có ý nghĩ

khác nhau trong các ngôn ngữ khác nhau

o Trong khi soạn thảo chương trình, các ngôn

ngữ lập trình thường hiển thị các tên dành

riêng với một màu chữ khác hẳn với các tên

còn lại giúp người lập trình nhận biết được

tên nào là tên dành riêng (từ khóa) Trong

ngôn ngữ Pascal, từ khóa thường hiển thị

bằng màu trắng

GV: Mở một chương trình viết bằng Pascal để

học sinh quan sát cách hiển thị của một số từ

khóa trong chương trình

- Các ngôn ngữ lập trình thường cung cấp một

số đơn vị chương trình có sẵn trong các thư

viện chương trình giúp người lập trình có thể

thực hiện được nhanh một số thao tác thường

dùng

- Giáo viên chỉ cho học sinh một số tên chuẩn

trong ngôn ngữ Pascal

GV: Đưa ra ví dụ: Để viết chương trình giải

phương trình bậc hai ta cần khai báo những tên

+ Delta là tên để lưu giá trị của Delta

- Hằng thường có 2 loại, hằng được đặt tên và

hằng không được đặt tên Hằng không được

đặt tên là những giá trị viết trực tiếp khi viết

- Cú pháp cho biết cách viết chương trình hợp

lệ, ngữ nghĩa xác định ý nghĩa của các tổ hợp ký tự trong chương trình

- Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình Chương trình không còn lỗi cú pháp thì mới

có thể dịch sang ngôn ngữ máy

- Lỗi ngữ nghĩa được phát hiện khi chạy chương trình

2 Một số khái niệm

a Tên

- Mọi đối tượng trong chương trình đều phải được đặt tên Mỗi ngôn ngữ lập trình có một quy tắc đặt tên riêng

- Trong ngôn gnữ Turbo Pascal tên là một dãy liên tiếp không qúa 127 ký tự bao gồm các chữ cái, chữ số và dấu gạch dưới nhưng phải bắt đầu bằng chữ cái hoặc dấu gạch dưới

- Trong Free Pascal, tên có thể có tối đa 255

ký tự

- Ngôn ngữ lập trình Pascal không phân biệt chữ hoa, chữ thường nhưng một số ngôn ngữ lập trình khác lại phân biệt chữ hoa và chữ thường

- Ngôn ngữ lập trình thường có 3 loại tên cơ bản: Tên dành riêng, tên chuẩn và tên do người lập trình tự đặt

Tên dành riêng:

- Là những tên được ngôn ngữ lập trình quy định với ý nghĩa xác định mà người lập trình không thể dùng với ý nghĩa khác

- Tên dành riêng còn được gọi là từ khóa

Ví dụ: Một số từ khóa Trong ngôn ngữ Pascal: Program, Var, Uses, Begin, End, …

Trong ngôn ngữ C++: main, include, while, void,…

Tên chuẩn:

- Là những tên được ngôn ngữ lập trình (NNLT) dùng với ý nghĩa nào đó trong các thư viện của NNLT, tuy nhiên người lập trình có thể sử dụng với ý nghĩa khác

Trang 5

chương trình Mỗi ngôn ngữ lập trình có một

quy định về cách viết hằng riêng.Hằng được

đặt tên cũng có cách đặt tên cho hằng khác

nhau

- Biến là đối tượng được sử dụng nhiều nhất

trong khi viết chương trình Biến là đại lượng

có thể thay đổi được nên thường được dùng

để lưu trữ kết qủa, làm trung gian cho các

tính toán,…Mỗi loại ngôn ngữ có những loại

biến khác nhau và cách khai báo cũng khác

nhau

- Khi viết chương trình, người lập trình thường

có nhu cầu giải thích cho những câu lệnh

mình viết, để khi đọc lại được thuận tiện hoặc

người khác đọc có thể hiểu được chương

trình mình viết, do vậy các ngôn ngữ lập trình

thường cung cấp cho ta cách để đưa các chú

thích vào trong chương trình

- Ngôn ngữ khác nhau thì cách viết chú thích

cũng khác nhau

GV: Mở một chương trình Pascal đơn giản có

chứa các thành phần là các khái niệm của bài

học, nếu không có máy để giới thiệu thì có thể sử

dụng bản in sẵn khổ lớn chỉ cho học sinh từng

khái niệm được thể hiện trong chương trình

Ví dụ: Một số tên chuẩn Trong ngôn ngữ Pascal: Real, Integer, Sin, Cos, Char, …

Trong ngôn ngữ C==: cin,cout Getchar…

Tên do người lập trình tự đặt

- Được xác định bằng cách khai báo trước khi

sử dụng và không được trùng với tên dành riêng

- Các tên trong chương trình không được trùng nhau

b Hằng và biến Hằng: Là các đại lượng có giá trị không đổi trong quá trình thực hiện chương trình

- Các NNLT có nhiều loại biến khác nhau

- Biến phải khai báo trước khi sử dụng

c Chú thích

- Trong khi viết chương trình có thể viết các chú thích cho chương trình Chú thích không làm ảnh hưởng đến chương trình

Trong Pascal chú thích được đặt trong { và } hoặc (* và *)

Trong C++ Chú thích đặt trong /* và */

IV CỦNG CỐ , DẶN DÒ :

- Nhắc lại một số khái niệm mới

- Cho bài tập về nhà

Trang 6

CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN

§3: CẤU TRÚC CHƯƠNG TRÌNH

I MỤC TIÊU

- Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình

- Biết cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần

- Nhận biết được các thành phần của một chương trình đơn giản

II CHUẨN BỊ

- Phương pháp: Thuyết trình, vấn đáp

- Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

- Cách dạy hiệu qủa nhất là có một chương trình mẫu với đầy đủ các thành phần của một chương trình, chỉ cho học sinh từng thành phần trong chương trình đó và thành phần nào có thể

có, thành phần nào bắt buộc phải có …

III TẾN TRÌNH BÀI DẠY

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Thuyết trình đưa ra cấu trúc chung của

chương trình :

HS: Lắng nghe, ghi chép

GV : Thuyết trình đưa ra kiến thức

HS : Lắng nghe, ghi chép

GV : Phần khai báo sẽ báo cho máy biết

chương trỉnh sẽ sử dụng những tài nguyên nào

của máy

GV : Mỗi ngôn ngữ lập trình có cách khai báo

khác nhau và tùy thuộc vào ngôn ngữ mà ta

cần tìm hiểu xem trong chương trình ta cần

khai báo những gì

GV : Thư viện chương trình thường chứa

những đoạn chương trình lập sẵn giúp người

lập trình thực hiện một số công việc thường

dùng, các đoạn chương trìnhnày cực kỳ hữu

ích cho gnười lập trình, nhất là trong những

ngôn ngữ lập trình tiên tiến hiện nay

GV : Lấy một ngôn ngữ lập trình mới nhất

hiện nay, chẳng hạn Visual Basic.NET, lấy

một số lệnh để học sinh thấy được sự tiện

dụng khi sử dụng thư viện

GV : Khai báo hằng là việc đặt tên cho hằng

để tiện khi sử dụng và tránh việc phải viết lặp

lại nhiều lần cùng một hằng trong chương

trình Khai báo hằng còn tiện lợi hơn khi cần

thay đổi giá trị của nó trong chương trình

- Có thể khai báo tên chương trình, hằng được đặt tên, biến, thư viện, chương trình con,…

Khai báo tên chương trình

- Trong Turbo pascal Program <tên chương trình>;

- Tên chương trình do người lập trình tự đặt theo đúng quy tắc đặt tên

Ví dụ : Program Bai_1;

Program Tong;

Khai báo thư viện:

- Trong ngôn gnữ Pascal : Uses <tên thư viện>;

- Trong ngôn ngữ C++ : #include<Tên tệp thư viện>

Ví dụ: Trong Turbo Pascal : Uses CRT, GRAPH;

Trong VISUAL STUDIO 2005 : Imports System.Xml

Trang 7

GV : Lập trình bằng ngôn ngữ nào cần tìm

hiểu cách khai báo hằng của ngôn ngữ ấy

GV : Nếu có thể giáo viên giải thích để học

sinh có thể hiểu được rằng, khai báo biến là

xin máy tính cấp cho chương trình một vùng

nhớ để lưu trữ và xử lý thông tin trong bộ nhớ

trong

GV : Mỗi ngôn ngữ lập trình có cách tổ chức

chương trình khác nhau, thường thì phần thân

chứa các câu lệnh của chương trình

GV : Đưa ra những ví dụ khác nhau về cách

viết thân chương trình trong các ngôn ngữ lập

trình khác nhau

GV : Cho học sinh quan sát 2 chương trình

trong 2 ngôn ngữ khác nhau là Pascal và C++

HS : Quan sát và nhận xét về cách viết của hai

chương trình trong 2 ngôn ngữ khác nhau

Thông qua đó học sinh cần nhận ra : hai

chương trình cùng thực hiện một công việc

nhưng viết bằng hai ngôn ngữ khác nhau nên

hệ thống các câu lệnh trong chương trình cũng

khác nhau

Có thể thêm câu lệnh hiển thị một xâu vào

trong chương trình Pascal để thể hiện rõ hơn là

nếu muốn đưa ra câu thông báo thì ta có thể sử

dụng lệnh Writeln và xâu được để trong dấu

nháy đơn

Khai báo hằng :

- Những hằng sử dụng nhiều lần trong chương trình thường được đặt tên cho tiện khi sử dụng

Ví dụ:

Trong Pascal : Const N = 100;

e = 2.7;

Trong C++ : Const int N = 100;

Const float e = 2.7 Khai báo biến :

- Mọi biến sử dụng trong chương trình đều phải khai báo để chưoyng trình dịch biết

để xử lý và lưu trữ

- Biến chỉ mang một giá trị gọi là biến đơn (Khai báo biến sẽ trình bày ở bài 5)

Phần thân chương trình :

- Thân chương trình thường là nơi chứa toàn

bộ các câu lệnh của chương trình hoặc lời gọi chương trình con

- Thân chương trình thường có cặp dấu hiệu bắt đầu và kết thúc chương trình

Ví dụ: Trong ngôn gnữ Pascal Begin

[<Các câu lệnh>]

End

3 Ví dụ chương trình đơn giản Xét hai chương trình đơn giản trong 2 ngôn ngữ khác nhau sau đây :

Chương trình 1 : Trong ngôn ngữ Turbo Pascal

Program VD;

Begin Write(‘Chao cac ban’);

V CỦNG CỐ , DẶN DÒ:

 Nhắc lại một số khái niệm mới

 Cho một chương trình mẫu về nhà yêu cầu học sinh phân biệt và chỉ rõ từng thành phần của chương trình đó

Trang 8

§4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN

I MỤC TIÊU

- Biết một số kiểu dữ liệu định sẵn: nguyên, thực, ký tự, logic, và miền con

- Xác định được kiểu cần khai báo của dữ liệu đơn giản

II CHUẨN BỊ

- Phương pháp: Thuyết trình, vấn đáp

- Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

- Trong phần này giáo viên chú ý cần lấy nhiều ví dụ đơn giản để học sinh luyện tập việc xác định kiểu dữ liệu cần khai báo …

III TẾN TRÌNH BÀI DẠY

GV : Vấn đáp: Khi cần viết chương trình quản

lý học sinh ta cần sử lý thông tin ở những dạng

nào ?

HS : Suy nghĩ, trả lời câu hỏi của GV

GV : Phân tích câu trả lời của học sinh, đưa ra

một vài dạng thông tin như sau :

- Họ tên học sinh là những thông tin dạng

văn bản hay là dạng ký tự

- Điểm của học sinh là các thông tin các số

thực

- Số thứ tự của học sinh là các số nguyên

- Một số thông tin khác lại chỉ cần biết

chúng là đúng hay sai

GV: Đưa ra một số bổ sung như sau :

- Ngôn ngữ lập trình nào cũng đưa ra một

số kiểu dữ liệu chuẩn đơn giản, từ những

kiểu đơn giản này ta có thể xây dựng

thành những kiểu dữ liệu phức tạp hơn

- Kiểu dữ liệu nào cũng có miền giới hạn

của nó, máy tính không thể lưu trữ tất cả

các số trên trục số nhưng nó có thể lưu trữ

với độ chính xác cực cao

- Tùy thuộc vào ngôn ngữ lập trình mà tên

của các kiểu dữ liệu khác nhau và miền

giá trị của các kiểu dữ liệu này cũng khác

nhau

- Với mỗi kiểu dữ liệu người lập trình cần

ghi nhớ tên kiểu, miền giá trị và số lượng

ô nhớ để lưu một giá trị thuộc kiểu đó

- Trong lập trình nói chung thì kiểu kí tự

thường là tập các kí tự trong các bảng mã

kí tự, trong các bảng mã hóa kí tự người

ta quy định có bao nhiêu kí tự khác nhau

và mỗi kí tự có một mã thập phân tương

ứng Để lưu các giá trị là kí tự thì phải lưu

mã thập phân tương ứng của nó

NNLT Pascal có một số kiểu dữ liệu chuẩn sau :

(10-4932  104932)

10

3 Kiểu kí tự

- Tên kiểu: CHAR

- Miền giá trị: Là các kí tự trong bảng mã ASCII gồm 256 ký tự

- Mỗi ký tự có 1 mã tương ứng từ 0 đến 255

- Các kí tự có quan hệ so sánh, việc so sánh dựa trên mã của từng kí tự

Ví dụ: Trong bảng mã ASCII, các kí tự trong bảng chữ cái tiếng Anh xếp liên tiếp vối nhau, các

Trang 9

GV : Đặt câu hỏi: Em biết những bảng mã

nào?

HS : HS sẽ đưa ra một số bảng mã nhưng GV

chú ý các em NNLT Pascal chỉ sử dụng bảng

mã ASCII cho kiểu kí tự

Kiểu logic là kiểu thường chỉ có 2 giá trị đúng

– sai Mỗi ngôn ngữ khác nhau lại có cách mô

tả kiểu logic khác nhau, Pascal dùng True –

False nhưng một số ngôn ngữ khác lại mô tả

bằng 0 – 1,… Có ngôn ngữ lại không có kiểu

logic mà người lập trình phải tự tìm cách để

thể hên những giá trị dạng này

chữ số cũng xếp liên tiếp, cụ thể: A mã 65; a mã

97, 0 mã 48

4 Kiểu logic

- Tên kiểu : Boolean

- Miền giá trị : Chỉ có 2 giá trị là TRUE (Đúng) hoặc FALSE (Sai)

- Một số ngôn ngữ có cách mô tả các giá trị logic bằng những cách khác nhau

- Khi viết chương trình bằng ngôn ngữ lập trình nào thì cần tìm hiểu đặc trưng của các kiểu dữ liệu của ngôn ngữ đó

IV CỦNG CỐ , DẶN DÒ:

 Nhắc lại các kiểu dữ liệu đơn giản hay dùng

 Cho về nhà một số ví dụ về việc lưu trữ trong cuộc sống và yêu cầu học sinh tìm kiểu dữ liệu tương ứng

Trang 10

§5 KHAI BÁO BIẾN

 Phương tiện : Máy chiếu, máy tính, phòng chiếu hoặc bảng

Trong phần này giáo viên chú ý cần llấy nhiều ví dụ đơn giản để học sinh luyện tập việc xác định kiểu dữ liệu và tự khai báo biến

Chú ý cho học sinh :

 Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó

 Không nên đặt tên qúa ngắn hay quá dài, dễ dẫn đến mắc lỗi hoặc hiểu nhầm

 Khai báo biến cần quan tâm đến phạm vi giá trị của nó

III TẾN TRÌNH BÀI DẠY

GV : Khai báo biến là chương trình báo cho máy

biết phải dùng những tên nào trong chương trình

HS : Lắng nghe và ghi chép

Ví dụ :

- Để giải phương trình bậc hai

ax2 + bx + c = 0

cần khai báo các biến như sau:

Var a, b, c, x1, x2, delta : real;

- Để tính chu vi và diện tích tam giác cần khai

báo các biến sau:

Var a, b, c, p, s, cv: Real;

Trong đó :

a, b, c: dùng để lưu độ dài 2 cạnh của tam

giác

p: nửa chu vi tam giác

cv, s: chu vi và diện tích tam giác

GV : Đặt câu hỏi: Khi khai báo biến cần chú ý

những điều gì ?

HS : Suy nghĩ trả lời câu hỏi

GV : Phân tích câu trả lời của học sinh

- Trong ngôn ngữ Pascal, biến đơn được khai báo như sau :

Var <danh sách biến> : <kiểu số liệu>

Trong đó:

+ Var : là từ khóa dùng để khai báo biến + Danh sách biến : tên các biến cách nhau bởi dấu phẩy

+ Kiểu dữ liệu : là một kiểu dữ liệu nào đó của ngôn ngữ Pascal

+ Sau Var có thể khai báo nhiều danh sách biến

có những kiểu dữ liệu khác nhau + Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó

+ Không nên đặt tên quá ngắn hay quá dài, dễ dẫn tới mắc lỗi hoặc hiểu nhầm

+ Khai báo biến cần quan tâm đến phạm vi giá trị của nó

IV CỦNG CỐ , DẶN DÒ :

 Nhắc lại một số khái niệm mới

 Cho bài tập về nhà

Trang 11

§6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

I MỤC TIÊU

 Giới thiệu phép toán, biểu thức số học, hàm số học chuẩn và biểu thức quan hệ

 Hiểu lệnh gán, viết được lệnh gán

 Phân biệt được sự khác nhau giữa lệnh gán (:=) và phép so sánh bằng

 Viết được biểu thức số học và logic với các phép toán thông dụng

Kết quả của phép toán quan hệ mang giá trị logic

Đối với việc dạy biểu thức số học, cần phân biệt cho học sinh cách viết biểu thức số học trong toán học và trong tin học Kiễu giá trị của biểu thức thường là kiểu của biến, hay hằng có

độ lớn kiểu lớn nhất trong nó, nên sử dụng biến trung gian để tránh việc sử dụng biến nhiều lần

Khi dạy biểu thức quan hệ và biểu thức logic, cần lấy nhiều ví dụ từ đơn giản đến phức tạp để học sinh có thể tính toán đưa ra giá trị của biểu thức, hay nêu ví dụ cụ thể về các mối quan hệ trong cuộc sống để học sinh tự đưa ra biểu thức logic

IV TIẾN TRÌNH BÀI DẠY:

GV : Dẫn dắt vào bài: Trong khi viết chương

trình ta thường phải thực hiện các tính toán,

thực hiện các so sánh để đưa ra quyết định

xem làm việc gì? Vậy trong chương trình ta

viết thế nào? Có giống với ngôn ngữ tự nhiên

hay không? Tất cả các ngôn ngữ có sử dụng

chúng một cách giống nhau không ?

GV : Toán học có những phép toán nào ?

HS : Đưa ra một số phép toán thường dùng

GV : Mỗi ngôn ngữ khác nhau lại có cách kí

hiệu phép toán khác nhau

GV : Trong toán học, biểu thức là gì?

HS : Đưa ra khái niệm

GV : Đưa ra khái niệm biểu thức trong lập

trình

GV: Cách viết các biểu thức này trong lập

- Ngôn ngữ lập trình nào cũng sử dụng đến phép toán, biểu thức, câu lệnh gán

- Ta xét các khái niệm này trong ngôn ngữ Pascal

1 Phép toán NNLT Pascal sử dụng một số phép toán sau:

- Với số nguyên : +, -, * (nah6n), div (chia lấy nguyên), mod (chia lấy dư)

- Với số thực : +, -, *, / (chia)

- Các phép toán quan hệ <, <= , >, >=, =,

<>: Cho kết qủa là một giá trị logic (True hoặc False)

- Các phép toán Logic : NOT (phủ định),

OR (hoặc), AND (và): thường dùng để kết hợp nhiều biểu thức quan hệ với nhau

2 Biểu thức số học

- Là một dãy các phép toán +, -, *, / Div và Mod từ các hằng, biến kiểu số và các hàm

- Dùng cặp dấu () để qui định trình tự tính toán

Thứ tự thực hiện các phép toán :

- Trong ngoặc trước, ngoài ngoặc sau

- Nhân chia trước cộng trừ sau

- Giá trị của biểu thức có kiểu là kiểu của

Trang 12

trình có giống cách viết trong toán học ?

HS : Đưa ra ý kiến của mình

GV : Phân tích ý kiến của học sinh

GV : Đưa ra cách viết biểu thức và thứ tự thực

hiện phép toán trong lập trình

GV : Cách viết biểu thức phụ thuộc cú pháp

từng ngôn ngữ lập trình

Đưa ra một số biểu thức toán học và yêu cầu

các em viết chúng trong ngôn ngữ Pascal

HS : Gọi một vài học sinh lên bảng viết

GV : Đặt câu hỏi, muốn tính X2 ta viết thế

GV : Để tính các giá trị đó một cách đơn giản,

người ta xây dựng sẵn một số đơn vị chương

trình trong các thư viện chương trình giúp

người lập trình tính toán nhanh các giá trị

thông dụng

GV : Với các hàm chuẩn, cần quan tâm đến

kiểu của đối số và kiểu của giá trị trả về

VD : Sinx thì được đo bằng độ hay radian ?

GV : Trong lập trình thường ta phải so sánh

hai giá trị nào đó trước khi thực hiện lệnh nào

đó Biểu thức quan hệ còn được gọi là biểu

thức so sánh 2 giá trị, cho kết quả là đúng hoặc

sai (logic)

VD : 3>5: Cho kết quả sai

GV : Đặt câu hỏi, muốn so sánh nhiều điều

kiện đồng thời làm thế nào?

HS : Đưa ra ý kiến của mình (và, hoặc,…)

Đưa ra ví dụ và cách viết đúng trong ngôn ngữ

- Cách viết : Tên_hàm (Đối số)

- -Kết qủa của hàm phụ thuộc vào kiểu của đối số

- Đối số là một hay nhiều biểu thức số học đặt trong dấu ngoặc () sau tên hàm

- Bản thân hàm cũng có thể coi là biểu thức

số học và có thể tham gia vào biểu thức như toán hạng bất kỳ

- Biểu thức 1 và biểu thức 2 phải cùng kiểu

- Kết quả của biểu thức quan hệ là TRUE hoặc FALSE

Ví dụ:

- Ba số dương a, b, c là độ dài ba cạnh tam giác nếu biểu thức sau cho giá trị đúng (a+ b > c) and (b+ c >a) and (c+ a >b)

- Biểu thức điều kiện 0 d” X d’ 5 được viết như sau:

(x >= 0) and (x <= 5)

6 Câu lệnh gán

- Lệnh gán là cấu trúc cơ bản nhất của mọi ngôn ngữ lập trình, thường dùng để gán giá trị cho biến

Cấu trúc:

<tên biến> := <biểu thức>;

- Trong đó biểu thức phải phù hợp với tên biến Có nghĩa là kiểu của tên biến phải cùng kiểu với kiểu của biểu thức hoặc

Trang 13

Chú ý : Mỗi ngôn ngữ có cách viết khác nhau

GV : Mỗi NNLT có cách viết lệnh gán khác

nhau

GV : Cần chú ý điều gì khi viết lệnh gán?

HS : Đưa ra ý kiến

GV : Phân tích câu trả lời của học sinh sau đó

tổng hợp lại: cần chú ý đến kiểu của biến và

kiểu của biểu thức

GV : Minh họa một vài lệnh gán bằng một ví

dụ trực quan trên bảng hoặc trên màn hình

phải bao hàm kiểu của biểu thức

- Hoạt động của lệnh gán : Tính giá trị của biểu thức sau đó ghi giá trị đó vào tên biến

 Nhắc lại một số khái niệm mới

 Cho bài tập về nhà, ngoài bài tập có trong sách có thể cho thêm nhiều biểu thức logic để học sinh về nhà tính toán tìm giá trị của nó, cho học sinh một số biểu thức trong toán học và yêu cầu viết nó trong tin học (NNLT); có thể cho thêm bài theo cột, một cột là biểu thức toán học, một cột là biểu thức trong tin học tương ứng và tìm chỗ sai của biểu thức so với trong toán

Trang 14

§ 7: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN

I MỤC TIÊU

 Biết lệnh vào ra đơn giản để nhập thông tin từ bàn ph1im và đưa thông tin ra màn hình

 Viết được một số lệnh vào ra đơn giản

II CHUẨN BỊ

 Phương pháp: Thuyết trình, vấn đáp

 Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

III LƯU Ý SƯ PHẠM :

 Cần chú ý cho học sinh phân biệt giữa 2 lệnh nhập dữ liệu liệu Read và Readln, khi nhập

dữ liệu nên dùng Readln vì nếu không có thể làm trôi lệnh readln; (không tham số) tiếp theo

 Cần hướng dẫn cụ thể cho học sinh việc sử dụng lệnh Write và Writeln, các cách để hiển thị

dữ liệu, các kiểu dữ liệu trong nó

 Cần hướng dẫn học sinh cách kết hợp hai lệnh vào ra dữ liệu khi viết chương trình cho hợp

lý, sáng sủa (tốt nhất là viết chương trình cụ thể, đơn giản)

IV III TẾN TRÌNH BÀI DẠY:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Khi sử dụng các ứng dụng ta thường

nhập thông tin vào, như vậy bằng cách nào ta

nhập được thông tin nào khi lập trình?

Làm cách nào để nhập giá trị từ bàn phím

vào cho biến

GV: Diễn giải hoạt động của

READ/READLN, nêu sự khác nhau khi dùng

Read/Readln

GV: Mỗi ngôn ngữ có cach nhập thông tin vào

khác nhau

GV: Đưa ra hai ví dụ về chương trình có nhập

thông tin vào từ bàn phím

Có thể thay đổi lệnh Readln(a, b, c) trong ví

Trong ngôn ngữ Pascal các thủ tục vào ra chuẩn viết như sau :

1 Nhập dữ liệu từ bàn phím

- Ta dùng thủ tục chuẩn READ hoặc READLN

có cấu trúc như sau:

READ/READLN(<biến 1>, …,<biến n>);

Ví dụ: Read(N);

Readln(a,b,c);

Chú ý : Khi nhập dữ liệu từ bàn phím READ

và READLN có ý nghĩa như nhau, thường hay dùng READLN hơn READLN luôn chờ

Write(‘Moi ban nhap 3 so:’);

Trang 15

dụ 2 thánh Read(a, b, c), chạy chương trình để

học sinh thấy sự khác nhau khi sử dụng hai

lệnh này

GV : Ta thấy ở ví dụ 2 của phần 1 việc ghi ra

dữ liệu thì 3 giá trị a, b, c dính liền vào nhau

và người sử dụng không thể phân biệt được

giá trị của từng biến Vậy làm thế nào và có

những cách nào để hiển thị dữ liệu theo ý

muốn của người lập trình

GV : Mỗi ngôn ngữ có cách đưa thông tin ra

Lấy ví dụ minh họa cụ thể bằng chương trình

Có thể lấy dữ liệu của phần nhập dữ dữ liệu

sửa để học sinh thấy việc khác nhau giữa 2

lệnh Write và Writeln

Minh họa quy cách đưa thông tin ra bằng

chương trình

Sửa lại ví dụ 2 của phần 1 để dữ liệu của 3 số

phân cách nhau – người dùng có thể phân biệt

Trong đó: {1} Đưa ra thông báo:

Nhap gia tri cua M:

Còn {2} Dùng để đọc giá trị và gán cho biến

2 Đưa dữ liệu ra màn hình

- Để đưa dữ liệu ra màn hình tại vị trí con trỏ, ta dùng thủ tục WRITE hoặc WRITELN với cấu trúc :

Write/Writeln(<Giá trị 1>, <Giá trị 2>,…,<Giá trị n>);

- Trong đó các Giá trị có thể là tên biến, tên hằng, giá trị cụ thể, biểu thức hoặc tên hàm

Ví dụ:

Write(a, b, c);

Writeln(‘Gia tri cua N la : ’,N);

-Thủ tục Writeln sau khi đưa kết quả ra sẽ chuyển con trỏ màn hình xuống đầu dòng tiếp theo

Ngoài ra trong TP còn có qui cách đưa thông tin ra như sau :

Kết quả thực hiện :<Độ rộng>:<Số chữ số thập phân>

Trang 16

§ 8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH

I MỤC TIÊU

 Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình

 Biết một số công cụ của môi trường Turbo pascal

 Bước đầu sử dụng được chương trình dịch để phát hiện lỗi

 Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lý của kết quả thu được

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC :

IV TIẾN TRÌNH BÀI DẠY:

GV : Giới thiệu một số tập tin vần thiết để

Turbo Pascal có thể chạy được, hướng dẫn các

em cách khởi động Pascal trên máy tính

Turbo.exe (file chạy)

Turbo.tpl (file thư viện)

Turbo.tph (file hướng dẫn)

GV : Giới thiệu một số thao tác thường dùng

khi soạn thảo chương trình trong môi trường

soạn thảo Turbo Pascal

GV : Thực hiện một vài lần các thao tác này để

các em nhận thấy mức độ tệin lợi của nó khi

soạn thảo cũng như chạy chương trình

GV : Viết một chương trình ví dụ, thực hiện

các thao tác sửa lỗi…

Có thể lấy ví dụ yêu cầu người dùng nhập vào

năm sinh, trả ra kết quả là tuổi của người đó

Màn hình làm việc ngôn ngữ Pascal có dạng như sau:

Một số thao tác thường dùng trong Pascal:

-Xuống dòng: Enter -Ghi file vào đĩa: F2 -Mở file đã có: F3 -Biên dịch chương trình: Alt + F9 -Soát lỗi chương trình: F9

-Chạy chương trình: Ctrl + F9 -Đóng cửa sổ chương trình: Alt + F3 -Chuyển qua lại giữa các cửa sổ: F6 -Xem lại màn hình kết qủa: Alt + F5 -Thoát khỏi Turbo Pascal: Alt + X

V CỦNG CỐ , DẶN DÒ

- Nhắc lại hoạt động của Write/Writeln, Read/Readln

- Cho bài tập về nhà

Trang 17

Chương III : CẤU TRÚC RẼ NHÁNH VÀ LẶP

§9 CẤU TRÚC RẼ NHÁNH

I MỤC TIÊU

 Hiểu nhu cầu cấu trúc rẽ nhánh trong biểu diễn thuật toán

 Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ)

 Hiểu câu lệnh ghép

 Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản

 Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài tóan đơn giản

II CHUẨN BỊ

 Phương pháp: Thuyết trình, vấn đáp

 Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

 Nên sử dụng các thuật toán các em đã học ở lớp 10

 Cần xây dựng các bài thực hành và tổ chức thực hiện tại phòng máy để học sinh đạt được những kỹ năng theo yêu cầu

III TIẾN TRÌNH BÀI DẠY :

GV : Đưa ra ví dụ rồi cùng học sinh thảo

luận phương pháp giải quyết bài toán

Đưa ra khái niệm rẽ nhánh trong lập

trình

Mỗi NNLT có cách thể hiện rẽ nhánh

khác nhau

GV : Đưa ra cấu trúc lệnh rẽ nhánh trong

Pascal Nhắc nhở học sinh đây là cấu trúc

quan trọng, nó sẽ được sử dụng rất nhiều

trong các chương trình sau này

GV : Lưu ý các em sau Then và sau Else

- Nếu  <0 thì phương trình vô nghiệm

- Nếu  >=0 thì phương trình có nghiệm

- Như vậy tùy thuộc vào giá trị của  mà ta đưa ra vô nghiệm hay có nghiệm

- Hoặc có thể nói : Nếu  < 0 thì phương trình

vô nghiệm, ngược lại thì phương trình có nghiệm

=>Như vậy ta thấy một số mệnh đề có dạng + Nếu … thì…

+ Nếu … thì… ngược lại thì Cấu trúc này được gọi là cấu trúc rẽ nhánh Các NNLT thường cung cấp các câu lệnh để mô

tả các cấu trúc rẽ nhánh như trên

Trang 18

chỉ có một lệnh chương trình

GV : Với hai dạng này, dạng nào dùng

thuận tiện hơn ?

HS : Tìm câu trả lời, giáo viên gợi ý để học

sinh đưa ra được tùy trường hợp cụ thể mà

dùng dạng thiếu hay dạng đủ

Đưa ra các ví dụ có sử dụng lệnh rẽ

nhánh, nếu không có lệnh rẽ nhánh thì

không thể thực hiện được

GV : ở VD3: Cách nào nhanh hơn, tiện

hơn?

=> Cách 2 tiện hơn

GV : Phân tích sự tiện lợi trong cách 2 và

số lệnh mà máy phải thực hiện

GV : Trong câu lệnh If – Then muốn thực

hiện nhiều lệnh sau Then hay nhiều lệnh

sau Else làm thế nào ?

HS : Phát biểu ý kiến của mình

GV : Khi đó ta cần gộp nhiều lệnh đó lại và

coi đó là một câu lệnh trong chương trình

Các ngôn ngữ lập trình thường có cấu trúc

để giúp ta thực hệin điều này

GV : Giới thiệu lệnh ghép của một vài

- Điều kiện : Là biểu thức quan hệ Logic

- Câu lệnh, câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal

Ý nghĩa của các câu lệnh :

- Dạng thiếu : Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì không thực hiện gì

- Dạng đủ : Nếu điều kiện đúng thì thực hiện câu lệnh 1, nếu điều kệin sai thì thực hiện câu lệnh 2

VD 1 : If (X Mod 2 = 0) Then WRITE(x,’La so chan’);

VD 2: If DELTA <0 Then WRITE(‘PT Vo Nghiem’) Else WRITE(‘PT co nghiem’);

VD 3: Tìm giá trị lớn nhất (max) của 2 số a và b Cách 1 :

Max :=a; If b >a Then max :=b;

Trang 19

lệnh này

GV nên soạn sẵn hai chương trình này và

cho các em quan sát cách viết chương trình

để các em hình thành dần cách viết một

chương trình

Chạy thử chương trình và chỉ rõ các lệnh

trong chương trình dùng để làm gì

Nếu có nhiều thời gian, GV có thể gõ

từng lệnh chương trình, gõ đến đâu giải

thích cho học sinh đến đó

Nếu còn thời gian, gọi học sinh lên bảng

viết câu lệnh If – Then cho một số bài

toán đơn giản

Có thể viết chương trình mẫu cho học

sinh xong, yêu cầu các em gõ lại chương

trình vừa được theo dõi mà không cần nhìn

vào bài mẫu

Ví dụ : Đoạn chương trình sau trong ngôn ngữ Pascal có sử dụng chương trình ghép

IF DELTA <0 THEN WRITELN(‘Phuong trinh vo nghiem’) ELSE

BEGIN X1 :=(-B-SQRT(DELTA))/(2*A);

X2 := - B/A – X1;

WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3); END;

4 Một số ví dụ Quan sát các chương trình sau trong ngôn ngữ lập trình Pascal

Ví dụ 1 : Tìm nghiệm thực của phương trình bậc hai

AX2 + BX + C= 0

Ví dụ 2 : Tìm số ngày của một năm: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100

IV CỦNG CỐ , DẶN DÒ:

 Nhắc lại một số khái niệm mới

 Nhắc lại cấu trúc câu lệnh IF – THEN, IF – THEN – ELSE thông qua các ví dụ

 Cho bài tập về nhà

Trang 20

§10 CẤU TRÚC LẶP

I MỤC TIÊU

 Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán

 Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước

 Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể

 Mô tả thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp

 Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần lặp trước

 Viết được thuật toán của một số bài toán đơn giản

II CHUẨN BỊ

Phương tiện : Máy chiếu, máy tính, phòng chiếu hoặc bảng

 Cần tổng kết 3 loại cấu trúc điều khiển: tuần tự, rẽ nhánh và lặp

 Bước đầu hình thành khái niệm lập trình có cấu trúc cho học sinh

 Cần xây dựng các bài thực hành và tổ chức thực hiện tại phòng máy để học sinh đạt được những kỹ năng theo yêu cầu

 Khi dạy lệnh lặp, với mỗi một dạng lệnh lặp, tốt nhất viết một ví dụ cụ thể, với số lần lặp nhỏ rồi viết mô tả việc hoạt động của vòng lặp bằng cấu trúc tuần tự (thể hiện sự tương đương trong công việc nhưng lệnh lặp diễn tả ngắn hơn nhiều) điều đó cũng giúp học sinh hiểu hơn về vòng lặp)

III TIẾN TRÌNH BÀI DẠY

GV : Đưa ra bài toán, yêu cầu học sinh tìm cách

để lập trình giải các bài toán này

HS : Đưa ra cách giải của mình, học sinh có thể

đưa ra những cách giải khác nhau

GV : Đưa ra cách giải cho bài toán

Giải theo các lệnh tuần tự

S1:=0;

If (1/a>0.0001) then S1:=S1+ 1/a;

If (1/(a+1)>0.0001) then S1:=S1+ 1 /(a+1);

If (1/(a+2)>0.0001) then S1:=S1+ 1 /(a+2);

If (1/(a+3)>0.0001) then S1:=S1+ 1 /(a+3);

HS : Nhận xét với việc giải bài toán theo cách đó

?

Với N = 100 thì lặp 100 lần như thế nhưng theo

việc kiểm tra điều kiện thì không biết phải làm

theo cách nào? Theo cả hai trường hợp thì đều

quá dài

Để học sinh hiểu được khái niệm lặp, giáo viên

đưa ra một số ví dụ trong thực tế được tính toán

lặp đi lặp lại nhiều lần

VD1 : Bài toán gửi tiền vào ngân hàng Hằng

tháng phải tính lãi và cộng thêm vào gốc đang

gửi hay nói cách khác gốc của tháng sau = gốc +

1 Khái niệm lặp

- Xét 2 bài toán như sau với a > 2 là số nguyên cho trước :

Bài toán 1 : Tính tổng S1=

100

1

2

11

11

++++

++

+

aa

aaBài toán 2 : Tính Tổng

2

11

11

+++++

++

+

Naa

aaVới điều kiện 1 <0.0001

+ NaCách giải :

- Bắt đầu S được gán giá trị 1/a

- Tiếp theo mỗi lần cộng thêm vào S là 1/(a+N) với N = 1, 2, 3, …

- Với bài toán 1, việc cộng thêm dừng khi 1/(a+N) < 0.0001, => số lần lặp chưa biết

- Với bài toán 2, việc cộng thêm dừng khi N =

100, => số lần lặp đã biết trước

Trang 21

lãi tháng trước

VD 2: Tính tổng của một đoạn số nguyên mà

không được dùng công thức

N:=101;

B2: N := N -1;

B3: Nếu N < 1 thì chuyển sang bước 5;

B4: S:= S+ 1/(a+N) rồi quay lại B2;

B5: Đưa ra S rồi kết thúc

GV : Gọi một số học sinh nhận xét về 2 thuật

 Cái gì thay đổi trong thuật toán này?

Sau khi so sánh hai thuật toán trên, giáo viên đưa

ra hai cách lặp trong ngôn ngữ Pascal, giải thích

ý nghĩa của các thành phần trong câu lệnh

GV : Lấy ví dụ minh họa trong Pascal để các em

thấy được sự thay đổi giá trị của biến đếm trong

một chương trình thực sự của Pascal

Với 2 ví dụ này, giáo viên nên gõ sẵn chương

trình và cho học sinh quan sát việc chạy chương

trình, giáo viên vừa cho chạy chương trình vừa

giải thích ý nghĩa các lệnh trong chương trình

(chú ý nhiều đến lệnh lặp)

GV : Đưa ra thuật toán hoặc có thể yêu cầu học

sinh tự xây dựng thuật toán giải bài toán 2, nếu

tự xây dựng được thuật toán thì các em sẽ hiểu

hơn về lặp không biết trước số lần

Đưa thêm ví dụ : Nhắc lại bài toán gửi tiền vào

ngân hàng: Nếu có số tiền là A, muốn gửi vào

ngân hàng để được số tiền là B > A thì cần gửi

trong bao lâu với lãi suất là k%

Yêu cầu học sinh đưa ra cách giải cho bài toán

này

GV : Phân tích phương án trả lời của học sinh

Trong lập trình, có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp

Lặp thường có 2 loại :

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

 Lặp với số lần không biết trước NNLT nào cũng cung cấp một số câu lệnh để mô

tả các cấu trúc lặp như trên

Sau đây chúng ta sẽ tìm hiểu các câu lệnh trong ngôn ngữ Pascal

2 Lặp có số lần biết trước và câu lệnh for – do

Trong Pascal, có 2 lọai câu lệnh lặp có số lần biết trước :

- Lặp dạng tiến:

For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

- Lặp dạng lùi For <biến đếm> := <giá trị cuối> downto <giá trị đầui> do <câu lệnh>;

Trong đó:

 Biến đếm thường là biến kiểu số nguyên

 Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hay bằng giá trị cuối

 Ở dạng lặp tiến: Biến đếm tự tăng dần từ giá trị đầu đến giá trị cuối

 Ở dạng lặp lùi: Biến đếm tự giảm dần từ giá trị cuối đến giá trị đầu

 Tương ứng với mỗi giá trị của biến đếm, câu lệnh sau do thực hiện 1 lần

Ví dụ 1 : Hai chương trình cài đặt thuật toán tong_1a và tong_1b

Ví dụ 2 : Tính tổng các số nguyên chia hết cho 3 hoặc 5 trong phạm vi từ M đến N (M<N)

3 Lặp với số lần chưa biết trước và câu lệnh while – do

Trang 22

sau đó đưa ra lời giải cho bài toán

GV : Đưa ra cấu trúc câu lệnh While – Do Trong

Pascal, giải thích ý nghĩa các thành phần

HS : Lắng nghe và ghi chép

GV: Nên gõ sãn những ví dụ này để học sinh có

thể quan sát chương trình, giáo viên chạy thử

chương trình trong Pascal

Riêng với VD 2, trước khi đưa ra thuật toán, GV

nên cho học sinh xây dựng thuật toán tìm ước

chung lớn nhất (đã học ở lớp 10)

Chạy chương trình với nhiều cặp M, N khác

nhau

Tốt nhất chạy từng bước, cho học sinh thấy sự

thay đổi của các biến

Để giải bài toán 2 ta dùng thuật toán như sau : Bước 1 : S :=1/a; N :=0;

Bước 2 : Nếu 1/(a+N) < 0.0001 thì chuyển đến bước 5 ;

- Do để tổ chức lặp với số lần chưa viết như sau While <Điều kiện> Do <Câu lệnh>;

Trong đó

- Điều kiện là biểu thức quan hệ hoặc logic

- Câu lệnh là một câu lệnh trong Pascal

Ý nghĩa : Khi điều kiện còn đúng thì còn thực hiện câu lệnh sau Do sau đó lại quay lại kiểm tra điều kiện

Ví dụ 1 : Chương trình của bài toán 1

Ví dụ 2 : Tìm ước chung lớn nhất của M và N Thuật toán :

Trang 23

Soạn ngày 2/1/2010

Chương IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC

Tiết 19 +20 Bài 11: KIỂU MẢNG

I MỤC TIÊU

- 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 các phần tử của mảng

- Cài đặt được thuật toán của 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

II PHƯƠNG PHÁP, PHƯƠNG TIỆN

- Phương pháp: Thuyết trình, vấn đáp

- Phương tiện: Máy chiếu, máy tính

III LƯU Ý SƯ PHẠM

- Cần cho học sinh thấy cần phải có một kiểu dữ liệu mới, ích lợi của kiểu dữ liệu đó, có thể minh họa bằng hình ảnh

- Khi làm việc với mảng, học sinh khó hiểu nhất vẫn là cách truy xuất tới các phần tử của mảng Cần làm rõ các khái niệm như: đánh số các phần tử của mảng, chỉ số, kiểu chỉ số

IV TIẾN TRÌNH BÀI DẠY

Trước khi vào bài, giáo viên đưa ra một số vấn đề cần

giải quyết như sau :

Với những kiểu dữ liệu như đã biết, làm thế nào để

- Lưu trữ và xử lý một dãy số?

- Lưu trữ và xử lý Họ và tên của một người?

- Lưu trữ và xử lý bảng kết quả thi tốt nghiệp

HS: Đưa ra các phương án để trả lời cho 3 câu hỏi trên

GV: Các ngôn ngữ lập trình thường cung cấp một số

kiểu dữ liệu được xây dựng từ những kiểu dữ liệu chuẩn

gọi là kiểu dữ liệu có cấu trúc

Chương này chúng ta sẽ tìm hiểu một số kiểu dữ liệu

trong ngôn ngữ Pascal để trả lời 3 câu hỏi trên

GV: Đánh giá ý kiến của học sinh, sau đó đưa ra mục

đích của việc sử dụng cấu trúc mảng trong chương trình

GV: Đưa ra khái niệm mảng một chiều và một số yếu

tố liên quan trong lập trình

Có thể sử dụng ví dụ trong SGK để học sinh dễ theo dõi, gõ trước chương trình để

có thể sử dụng cho các phần tiếp theo

Trong lập trình thường có 2 loại mảng :

Với mảng một chiều ta quan tâm đến :

- Tên mảng một chiều

Trang 24

GV: Đi sâu phân tích hai chương trình để cho học sinh

nhận thấy sự tiện lợi khi sử dụng mảng

HS : Trong khi giáo viên phân tích hai chương trình,

học sinh sẽ đưa ra ý kiến nhận xét về 2 chương trình

GV: Đưa ra cách khai báo mảng một chiều trong ngôn

ngữ Pascal, giải thích ý nghĩa của các từ khóa mới

GV: Khai báo bằng cách nào tiện lợi hơn?

HS: Thường thì học sinh trả lời cách 1 tiện lợi hơn?

GV: Tùy trường hợp cụ thể mà ta dùng cách 1 hay cách

2 nhưng thông thường ta sử dụng cách 1

GV : Sử dụng một sồ hình ảnh trực quan minh họa cho

học sinh cấu trúc mảng và chỉ số của phần tử

- Kiểu dữ liệu của phần tử

- Cách khai báo biến mảng một chiều

- Cách truy cập vào từng phần tử của mảng

Xét ví dụ: Nhập vào nhiệt độ trung bình mỗi ngày trong tuần Tính và đưa ra màn hình nhiệt độ trung bình của cả tuần và đếm số ngày có nhiệt độ lớn hơn nhiệt độ trung bình này

Quan sát hai chương trình viết bằng ngôn ngữ Pascal cùng để giải bài toán trên

- Chương trình 1: Không sử dụng kiểu mảng

- Chương trình 2: Sử dụng kiểu mảng một chiều

a> Khai báo mảng một chiều Trong ngôn ngữ Pascal, mảng một chiều được khai báo bằng hai cách như sau : Cách 1 :

Var <Tên mảng> : Array[kiểu chỉ số] of

<kiểu phần tử> ; Cách 2 : Type <Tên kiểu mảng> = Array [<kiểu chỉ số>] of <kiểu phần tử> ;

Var <Tên mảng> : <tên kiểu mảng> ; Trong đó :

- Type là từ khóa dùng để khai báo biến, Array là từ khóa để khai báo mảng

- Kiểu chỉ số thường là đoạn số nguyên liên tục có n1 n2, với n1 là chỉ số đầu và n2 là chỉ số cuối

- Kiểu thành phần là kiểu dữ liệu của phần tử 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ụ : A[20] Truy cập phần tử mang chỉ số 20 trong mảng A

Ví dụ : Khai báo biến mảng thông qua kiểu mảng :

Type ArrayInteger=Array[1 100] of Integer;

Trang 25

Nếu có nhiều thời gian, giáo viên sẽ tiến hành soạn

chương trình từ đầu để học sinh có thể dễ dàng nhận ra

các thao tác cần phải thực hiện khi viết chương trình

GV : Đưa ra ví dụ, nhắc lại ý tưởng của thuật toán

HS: Xây dựng thuật toán để giải bài toán (thuật toán đã

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

Trang 26

GV soạn sẵn chương trình và cho học sinh quan sát

chương trình

Giáo viên sẽ tiến hành soạn chương trình từ đầu để

học sinh có thể dễ dàng nhận ra việc chuyển đổi ngôn

ngữ từ ngôn ngữ thuật toán sang ngôn ngữ lập trình

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

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

- Output: Dãy A được sắp xếp theo thứ

tự không giảm

- Ý tưởng : + Đổi để đưa số lớn nhất về vị trí cuối cùng

+ Làm tương tự đối với những số còn lại

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

Uses crt ; 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 ;

Trang 27

Soạn ngày 9/1/2010

Chương IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC

Tiết 21+22 (Tiếp) Bài 11: KIỂU MẢNG

I MỤC TIÊU

- 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 các phần tử của mảng

- Cài đặt được thuật toán của 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

II PHƯƠNG PHÁP, PHƯƠNG TIỆN

III KIỂM TRA BÀI CŨ

- Nêu định nghĩa, cách khai báo và truy xuất dữ liệu trong mảng một chiều

IV BÀI MỚI

Đặ vần đề: Đưa ví dụ về lưu trữ dữ liệu dạng bảng để

các em nhận ra nhu cầu phải sử dụng mảng 2 chiều

trong lập trình

GV : Khai báo cách nào tiện lợi hơn (tương tự mảng 1

chiều) ?

HS : Thường thì học sinh vẫn chọn cách 1

GV : Tùy theo trường hợp cụ thể nhưng thường thì

cách 1 hay được dùng hơn

GV : Khi khai báo mảng 2 chiều cần chú ý điều gì ?

HS : Tìm câu trả lời, GV gợi ý để các em chỉ ra được

chỉ số của mảng, số dòng, số cột và kiểu của mỗi phần

tử trong mảng

GV: Gọi một số học sinh lên khai báo một số biến

mảng một chiều theo yêu cầu của giáo viên

Minh họa bằng hình ảnh mảng 2 chiều và chỉ số các

phần tử mảng hai chiều cũng như cách viết truy cập

phần tử mảng

GV cho học sinh quan sát chương trình và giải thích các

lệnh trong chương trình, chú ý đi sâu vào các lệnh lặp

để các em nhận ra thường thì ta sử dụng vòng lặp for -

do để duyệt qua các phần tử mảng

2 Kiểu mảng 2 chiều

- Mảng hai chiều là một bảng các phần tử cùng kiểu

Với mảng hai chiều ta quan tâm đến :

- Tên kiểu mảng hai chiều

- Số lượng phần tử của mỗi chiều trong mảng

- Kiểu dữ liệu của phần t

- Cách khai báo biến mảng hai chiều

- Cách truy cập vào từng phần tử của mảng

a> Khai báo mảng hai chiều

- Trong ngôn ngữ Pascal, mảnh hai chiều được khai báo như sau :

Cách 1 : Khai báo trực tiếp Var : <Tên mảng> : Array[kiểu chỉ số dòng, kiểu chỉ số cột] of < kiểu phần tử> ; Cách 2 : Khai báo gián tiếp thông qua khai báo kiểu mảng

Type <Tên kiểu mảng> = Array[kiểu chỉ

số dòng, kiểu chỉ số cột] of <kiểu phần tử> ;

Var <Tên mảng> : <Tên kiểu mảng> ;

Ví dụ : Khai báo biến mảng thông qua kiểu mảng

Type ArrayInteger = Array[1 10,1 15] of Integer ; ArrayReal=Array[1 50,1 100] of Real ; Var A : ArrayInteger ;

B : ArrayReal ; Khai báo mảng trực tiếp : Var A : Array[1 10,1 15] og Integer ;

B : Aarray[1 50,1 100] og Real ; Cách truy cập vào phần tử của mảng hai chiều :

<Tên mảng>[chỉ số dòng, chỉ số cột]

Ví dụ: A[1,3], B[23,66],……

Trang 28

GV nên soạn sẵn chương trình và cho các em quan sát

chương trình, và chạy thử chương trình trên máy để các

em tiện theo dõi

b Ví dụ Chương trình sau đưa ra màn hình bảng cửu chương

Program cuuchuong;

Uses crt ; var A : Array[1 9,1 9] of Integer ;

i, j : Byte ; Begin Clrscr ; Writeln('Bang cuu chuong 1 -> 9 : '); Writeln ;

For i := 1 to 9 do For j := 1 to 9 do A[i,j] := i*j ; For i := 1 to 9 do Begin

For j := 1 to 9 do Write(a[i,j]:4);

Writeln ; Writeln ; End ; Readln ; End

V CỦNG CỐ

- Nhắc lại các cách khai báo, truy xuất, và hiển thị để nhập dữ liệu kiểu mảng hai chiều

- Nội dung:

Bài toán Lập trình để nhập 5 điểm trung bình môn (TBM); Tính điểm trung bình các môn ( TBCM) in ra màn hình Sau đó đếm số môn có điểm TBM cao hơn điểm TBCM

và in ra màn hình Ghi dưới tên tệp: Kieumang_1chieu_ STT

Trang 29

Soạn ngày ngày 16/1/2010 Tiết 22-23: THỰC HÀNH BÀI 3

I MỤC TIÊU

 Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình

 Biết giải một số bài toán tìm kiếm đơn giản

II NỘI DUNG

Chia HS thành 4 nhóm tiến hành mỗi nhóm 20 ph

Giáo viên hướng dẫn, giải đáp thắc mắc

Tiến hành lập trình chạy thử

Bài toán Lập trình để nhập 5 điểm trung bình môn (TBM); Tính điểm trung bình các môn

TỔ CÔNG NGHỆ

-  

-THỰC HÀNH TIN 11 BÀI MẢNG MỘT CHIỀU -o0o -

Type Kmang1= array[1 7] of real;

Var Tong,TBCM: real;

DiemTBM:Kmang1;

Dem,i, N: byte;

Begin

clrscr;

Trang 30

Write('Nhap vao so mon: ');

If DiemTBM [i]> TBCM then Dem:= Dem+1;

Writeln('Diem TB cac mon la: ',N,' Mon:', TBCM: 1:1);

Write('So mon co Diem TBM lon hon TB cac mon la: ', Dem );

IV Đánh giá

Trang 31

Soạn ngày ngày 23/1/2010 Tiết 24-25: THỰC HÀNH BÀI 4

I MỤC TIÊU

 Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình

 Biết giải một số bài toán tìm kiếm đơn giản

II NỘI DUNG

Chia HS thành 4 nhóm tiến hành mỗi nhóm 20 ph

Giáo viên hướng dẫn, giải đáp thắc mắc

Tiến hành lập trình chạy thử

Bài toán

Đánh giá thái độ và kết quả

BÁO CÁO THỰC HÀNH TRƯỜNG THPT HOÀNG VĂN THỤ

TỔ CÔNG NGHỆ

-  

-THỰC HÀNH TIN 11 BÀI MẢNG HAI CHIỀU -o0o -

Trang 32

II Phần lập trình

Program Tinhtuoi;

Const

Can: array[0 9] of string = (‘Canh’, ’Tan’, ’Nham’, ’Qui’, ’Giap’, ’At’,

’Binh’, ’Dinh’, ’Mau’, ’Kỉ’);

Chi: array[0 11] of string = (‘ Than’, ’Dau’, ’Tuat’, ’Hoi’, ’Ti’, ’Suu’, ’Dan’,

’Mao’, ’Thin’, ’Ty’, ’Ngo’, ’Mui’);

Var year: integer; i, j: byte;

Trang 33

Soạn ngày 12/1/2011

Tiết 26 – 27: Bài 12: KIỂU XÂU

I MỤC TIÊU

 Biết xâu là một dãy ký tự (có thể coi xâu là một mảng một chiều)

 Biết cách khai báo xâu, truy cập phần tử của xâu

 Sử dụng được một số thủ tục, hàm thông dụng về xâu

II PHƯƠNG PHÁP, PHƯƠNG TIỆN

- Phương pháp: Thuyết trình, vấn đáp

- Phương tiện: Máy chiếu, máy tính

III LƯU Ý SƯ PHẠM

Thuận tiện của bài này là các em đã được học khái niệm về mảng, có thể sử dụng điều này để dạy về xâu, nhưng cần chú ý cho các em một số khác biệt so với mảng một chiều: độ dài xâu, một số phép toán trên xâu và một số hàm và thủ tục xử lý xâu

VI NỘI DUNG

GV: Để lưu trữ và xử lý Họ tên của một người, các kiểu

dữ liệu đã học có đáp ứng được?

HS: Đưa ra một số phương án

GV: Phân tích các phương án của học sinh, từ đó đưa ra

yêu cầu cần sử dụng một kiểu mới: Kiểu xâu

GV: Giới thiệu một số khái niệm và thao tác thường

dùng khi làm việc với xâu ký tự trong lập trình nói

chung

GV : Đây là cách khai báo trong ngôn ngữ Pascal, trong

các ngôn ngữ khác nhau có thể có cách khai báo khác

nhau Do đó khi viết chương trình bằng ngôn ngữ nào

cần tìm hiểu rõ các đối tượng của ngôn ngữ đó

Độ dài tối đa của xâu phụ thuộc vào ngôn ngữ lập trình,

- Số lượng kí tự trong xâu được gọi là

độ dài của xâu

- Xâu có độ dài bằng 0 gọi là xâu rỗng

- Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu

- Chỉ số phần tử trong xâu thường được đánh số là 1

- Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường được viết:

<Tên biến xâu>[chỉ số]

Cách khai báo và xử lí xâu trong ngôn ngữ Pascal

- Khai báo biến xâu Pascal sử dụng từ khóa STRING để khai báo xâu Độ dài tối đa của xâu được viết trong [ ] sau từ khóa STRING Khai báo như sau :

Var <tên biến> : String[độ dài lớn nhất của xâu] ;

Ví dụ : Var Ten : String[10] ; Ho_dem : String[50] ; Que : String ;

Trang 34

có sự khác nhau

Xét ví dụ như sau : Có xâu kí tự :

‘ nGuyen vaN A ’

Hỏi cần có các thao tác gì để chỉnh sửa xâu kí tự này?

(cần đưa xâu về dạng ‘Nguyen Van A’)

HS : Đưa ra ý kiến của mình

GV : Phân tích ý kiến và gợi ý để các em nhận ra cần :

- Xóa bớt một số dấu cách

- Chuyển chữ hoa về chữ thường và ngược lại

GV : Đưa ra một số câu hỏi :

- Làm sao biết một ký tự là dấu cách?

- Làm sao để xóa đi một vài kí tự

- Làm sao để thêm vào một xâu một vài kí tự?

- Làm sao để có được chữ in hoa tương ứng với

chữ thường

- Làm sao có được chữ cái thường tương ứng với

chữ hoa?

- Làm sao biết xâu hiện có bao nhiêu kí tự?

Từ đó đưa ra các thủ tục chuẩn và hàm chuẩn của

Pascal thường dùng để xử lí xâu

Ứng với mỗi thủ tục hoặc hàm, giáo viên lấy ví dụ

trong một chương trình Pascal cụ thể để các em hiểu

được ý nghĩa các thủ tục và hàm này

Trong môi trường soạn thảo của Pascal, giáo viên chỉ

cần làm một chương trình đơn giản có sử dụng một

trong các thủ tục hoặc hàm này để các em theo dõi

Chú ý :

- Nếu không khai báo độ dài tối đa cho biến xâu kí tự thì độ dài ngầm định của xâu là 255

- Độ dài lớn nhất của xâu là 255 ký tự

- Hằng xâu kí tự được đặt trong cặp nháy đơn ‘ ’

Các thao tác xử lí xâu

- Với các xâu kí tự có các phép phép xâu và phép so sánh hai xâu kí tự

- Phép ghép xâu: Kí hiệu bằng dấu cộng +

Ví dụ : ‘Ha’ + ‘Noi’ cho kết quả là ‘Ha Noi’

Phép so sánh : <, <=, >, >=, =, <>, Pascal

tự động so sánh lần lượt từ kí tự từ trái sang phải

Ví dụ : ‘AB’ < ‘AC’, ‘ABC’ > ‘ABB’,

- Str (X,St) chuyển số X thành xâu

kí tự lưu trong St Một số hàm chuẩn

- Copy (St,vt,n) sao chép từ xâu St

n kí tự từ vị trí vt

- Pos (S1,S2) tìm vị trí xuất hiện đầu tiên của S1 trong S2

- Length (St): cho độ dài xâu St

- Upcase (ch) : cho chữ cái viết hoa tương ứng với chữ thường trong ch

- CHR(X): cho kí tự có mã X trong bảng mã ASCII

- Ord (ch): cho mã của kí tự ch trong bảng mã

- Một số ví dụ

VD 1 :

Ngày đăng: 15/05/2015, 21:00

HÌNH ẢNH LIÊN QUAN

Bảng một số hàm chuẩn: - Tron bo giao an Tin Hoc 11_HK_ V2
Bảng m ột số hàm chuẩn: (Trang 12)
Bảng khi lập trình? - Tron bo giao an Tin Hoc 11_HK_ V2
Bảng khi lập trình? (Trang 23)
Hình vuông. - Tron bo giao an Tin Hoc 11_HK_ V2
Hình vu ông (Trang 64)
Bảng mã ASCII. - Tron bo giao an Tin Hoc 11_HK_ V2
Bảng m ã ASCII (Trang 67)

TỪ KHÓA LIÊN QUAN

w