1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11

24 51 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

Định dạng
Số trang 24
Dung lượng 578,31 KB

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

Nội dung

Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Rèn luyện kĩ năng lập trình với tệp từ các bài toán cơ bản trong môn Tin học lớp 11

Trang 1

TRƯỜNG THPT TRẦN HƯNG ĐẠO

-

SÁNG KIẾN KINH NGHIỆM

RÈN LUYỆN KĨ NĂNG LẬP TRÌNH VỚI TỆP

TỪ CÁC BÀI TOÁN CƠ BẢN TRONG MÔN TIN HỌC LỚP 11

Tác giả : Phạm Thị Khánh Trình độ chuyên môn: Cử nhân Chức vụ: Giáo viên Tin học Nơi công tác: Trường THPT Trần Hưng Đạo

Nam Định, tháng 5 năm 2017

Trang 2

BÁO CÁO SÁNG KIẾN

I Điều kiện hoàn cảnh tạo ra sáng kiến

1 Phân phối chương trình Tin học THPT có sự thay đổi giảm tải đối với việc học

môn Tin học Để đảm bảo đủ số tiết học nên có những tiết được bổ sung như tiết bài tập hoặc bài tập thực hành, nhằm đảm bảo cho học sinh nắm rõ hơn, vững hơn những

phần lý thuyết đã được học

2 Các tiết bài tập hoặc bài tập thực hành trong sách giáo khoa, hướng dẫn cụ thể

để đạt được một cái chuẩn chung như những bài lý thuyết Do đó giáo viên sẽ linh hoạt dựa vào điều kiện cơ sở vật chất của nhà trường, đặc biệt là tuỳ vào đối tượng học sinh của mình để cung cấp cho học sinh những bài tập nhằm củng cố cho học sinh những kiến thức ở phần lý thuyết đã học

3 Theo phân phối chương trình, ở chương 5: Tệp và thao tác với tệp của Tin học

11 có 2 tiết lý thuyết và 2 tiết bài tập thực hành Phần lý thuyết, sách giáo khoa cung cấp đã khá đầy đủ và dễ hiểu đối với học sinh Tuy nhiên, phần bài tập thì chưa có; phần ví dụ chưa đủ để học sinh nắm vững và áp dụng được hết các thao tác với tệp

II Mô tả giải pháp

1 Thực trạng (trước khi có sáng kiến)

Một số khó khăn trong dạy học nội dung Tệp và thao tác với tệp:

- Học sinh không nhớ về khái niệm và tác dụng của việc sử dụng tệp (đã học ở

lớp 10)

- Học sinh không nắm vững trình tự các bước để viết chương trình với tệp

- Học sinh không có kĩ năng đọc dữ liệu với các dạng dữ liệu và cách lưu trữ dữ

liệu trong tệp văn bản

- Trong các tiết thực hành học sinh rất lúng túng khi đang lập trình với việc nhập

dữ liệu từ bàn phím chuyển sang đọc dữ liệu từ tệp văn bản

- Giáo viên thường rất mất thời gian trong việc hướng dẫn học sinh viết chương trình có sử dụng tệp

2 Giải pháp

PHẦN 1: Hướng dẫn phần lí thuyết về vai trò của kiểu tệp trong lập trình và các

thao tác làm việc với tệp

Trang 3

Giáo viên định hướng cho học sinh tại sao nên sử dụng tệp khi lập trình giải toán; điểm khác biệt giữa việc lập trình từ bàn phím và lập trình sử dụng tệp văn bản

Do đặc điểm của bộ nhớ trong nên ta phải sử dụng tệp để lưu trữ dữ liệu lâu dài với dung lượng lớn Khi lập trình giải một bài toán trên máy tính với dữ liệu Input nhập vào từ bàn phím và in kết quả ra màn hình thì không lưu trữ được kết quả trên máy tính Việc lập trình với tệp không những lưu trữ được kết quả bài toán lâu dài mà với một bộ Input có thể dùng để giải nhiều hơn một bài toán Hơn nữa kết quả của một bài toán có thể được dùng làm dữ liệu vào cho bài toán khác

Với các bài toán đã học và thực hành:

+ Input: dữ liệu bài toán cho (dữ liệu vào)  được nhập từ bàn phím

+ Output: kết quả của bài toán (dữ liệu ra)  được in ra màn hình

Khi lập trình với tệp:

+ Input: dữ liệu bài toán cho (dữ liệu vào)  được lấy (đọc) từ file dữ liệu

(thường có phần mở rộng là INP) + Output: kết quả của bài toán (dữ liệu ra)  được đưa (ghi) vào file dữ liệu

khác (thường có phần mở rộng là OUT)

Khi đó để giải một bài toán, người lập trình phải tương tác với 3 tệp:

Để thực hiện được sự tương tác trên ta cần sử dụng các thao tác làm việc với tệp như sau:

1 Khai báo tệp Var <danh sách biến tệp> : Text;

2 Mở tệp để đọc dữ liệu ASSIGN(biến tệp, tên tệp); RESET(biến tệp);

3 Mở tệp để ghi dữ liệu ASSIGN(biến tệp, tên tệp); REWRITE(biến tệp);

READLN(biến tệp, danh sách biến);

WRITELN(biến tệp, danh sách kết quả);

Trang 4

Input: Đọc từ tệp Tong2so.Inp chứa 2 số nguyên a và b

Output: Ghi vào tệp Tong2so.Out kết quả tìm được

Mở tệp Inp để đọc giá trị với Assign và Reset

Mở tệp Out để ghi kết quả với Assign và Rewrite

Đọc dữ liệu từ tệp Inp với Read hoặc Readln

Xử lý các dữ liệu đã đọc

Ghi các kết quả vào tệp Out với Write hoặc Writeln

Đóng các tệp đã mở bằng lệnh CLose

Trang 5

Assign(f1, ‘Tong2so.Inp’); Reset(f1);

Assign(f2, ‘Tong2so.Out’); Rewrite(f2);

Input: Đọc từ tệp Tinh.Inp chứa các số lần lượt x, y, a, b, R

Output: Ghi vào tệp Tinh.Out kết quả tìm được

Assign(f1, 'tinh.inp'); Reset(f1);

Assign(f2, 'tinh.out'); Rewrite(f2);

Trang 6

Bài tập áp dụng

BT1: Cho 2 số nguyên a và b Yêu cầu: Tính tổng, hiệu, tích, thương của 2 số a, b

Input: Đọc từ tệp Tinh.Inp chứa 2 số nguyên a và b

Output: Ghi vào tệp Tinh.Out kết quả tìm được

Ví dụ:

5 4 Tong 2 so la 9

Hieu 2 so la 1 Tich 2 so la 20 Thuong 2 so la 1.25

BT2: Cho 1 số nguyên a (với a ≠ 0)

Yêu cầu: Tính chu vi và diện tích của hình vuông với cạnh là a

Input: Đọc từ tệp hvuong.Inp chứa 1 số nguyên a

Output: Ghi vào tệp hvuong.Out kết quả tìm được

Ví dụ:

5 Chu vi hinh vuong la 20

Dien tich hinh vuong la 25

BT3: Cho 2 số a, b (với a, b ≠ 0)

Yêu cầu: Tính chu vi và diện tích của hình chữ nhật với 2 cạnh là a, b

Input: Đọc từ tệp hcn.Inp chứa 2 số nguyên a, b

Output: Ghi vào tệp hcn.Out kết quả tìm được

Yêu cầu: Tính chu vi và diện tích của hình tròn với bán kính R

Input: Đọc từ tệp htron.Inp chứa 1 số R

Output: Ghi vào tệp htron.Out kết quả tìm được

Trang 7

Ví dụ:

7 Chu vi hinh tron la 43.96

Dien tich hinh tron la 153.86

BT5: Yêu cầu: Tính vận tốc v khi chạm đất của một vật rơi từ độ cao h, biết rằng

2

vgh, trong đó g là gia tốc rơi tự do và 2

9,8 /

gm s

Input: Đọc từ tệp VT.Inp chứa 1 số nguyên h

Output: Ghi vào tệp VT.Out kết quả tìm được (làm tròn đến 3 chữ số thập

phân)

BT6: Cho 3 số nguyên a, b, c (với a, b, c > 0)

Yêu cầu: Kiểm tra xem 3 số a, b, c đó có tạo thành tam giác hay không? Nếu

có thì tính chu vi, diện tích của tam giác Ngược lại đưa ra thông báo

“ 3 so khong tao thanh tam giac”

Input: Đọc từ tệp tamgiac.Inp chứa 1 số nguyên a, b, c

Output: Ghi vào tệp tamgiac.Out kết quả tìm được

Ví dụ:

9 3 5 khong tao thanh tam giac 3 4 5 Chu vi tam giac la 12

Dien tich tam giac la 6.0

BT7: Cho 2 số a, b Yêu cầu: Giải phương trình bậc nhất ax + b = 0

Input: Đọc từ tệp ptb1.Inp chứa 2 số a, b

Output: Ghi vào tệp ptb1.Out kết quả tìm được

Ví dụ:

0 0 Pt co VSN 0 7 PTVN 5 9 x = 1.800

BT8: Cho 2 số a, b, c (a, b, c ≠ 0)

Yêu cầu: Giải phương trình bậc hai ax2 + bx + c = 0

Input: Đọc từ tệp ptb2.Inp chứa 3 số a, b, c

Trang 8

Output: Ghi vào tệp ptb2.Out kết quả tìm được

Input: Đọc từ tệp Tinh.Inp chứa 2 số x, y

Output: Ghi vào tệp Tinh.Out kết quả tìm được

Ví dụ:

0.5 0.1 0.26 2 2.5 4.5 2 1 0.5

PHẦN 3: Hướng dẫn học sinh thực hành các bài tập trên máy tính

Giáo viên yêu cầu học sinh ghi nhớ trình tự thực hành một bài toán qua 6 bước sau:

B1: Soạn thảo chương trình giải bài toán: Program End

B2: Lưu bài với tên trùng với tên tệp Inp, Out (VD: Tong2so.Pas;

quả ở tệp Out Nếu chương trình có lỗi thì sửa lỗi và thực hiện lại B6

Giáo viên thực hành trực tiếp trên bài toán ở ví dụ 1

nếu x2 + y2 ≤ 1 nếu x2 + y2 ≥ 1 và y ≥ x nếu x2 + y2 ≥ 1 và y < x

Trang 9

PHẦN 4: Rèn luyện kĩ năng đọc/ghi dữ liệu bằng việc đưa ra các dạng dữ liệu có

trong tệp Input

Dạng 1: Dữ liệu là số trong tệp INPUT được xác định trước

Với dạng dữ liệu này giáo viên sẽ gợi cho học sinh ghi nhớ sâu hơn về cách sử dụng cấu trúc lặp với số lần lặp biết trước FOR – DO

VD1: Cho dãy gồm 10 số nguyên

Yêu cầu: Tính tổng các số trong dãy trên

Input: Đọc từ tệp Tongday.Inp 10 số nguyên, mỗi số cách nhau 1 dấu cách Output: Ghi vào tệp Tongday.Out kết quả tìm được

Trang 10

Uses crt;

Var f1, f2: Text; a, i, S: Integer;

Begin

Assign(f1, ‘DS1.Inp’); Reset(f1);

Assign(f2, ‘DS1.Out’); Rewrite(f2);

S:=0; For i:=1 to 10 do

Begin Read(f1, a); S:=S+a; end;

Write(f2, S); Close(f1); Close(f2);

Assign(f1, ‘DS1.Inp’); Reset(f1);

Assign(f2, ‘DS1.Out’); Rewrite(f2);

S:=0; For i:=1 to 10 do

begin Read(f1, a[i]); S := S + a[i]; end;

Write(f2, S); Close(f1); Close(f2);

End;

Từ bài toán này giáo viên gợi ý cho học sinh thực hành với số lượng giá trị trong dãy lớn hơn

VD2: Cho dãy gồm N số nguyên

Yêu cầu: Tính tổng của N số nguyên đó

Input: Đọc từ tệp Tongday.Inp chứa

- Dòng 1:1 số nguyên N (1 < N < 10000)

- Dòng 2: gồm N số nguyên mỗi số cách nhau 1 dấu cách

Output: Ghi vào tệp Tongday.Out kết quả tìm được

Ví dụ:

Trang 11

Tongday.Inp Tongday.Out

7

4 6 7 8 9 2 6

42

Ở bài toán này giáo viên hướng dẫn học sinh xác định được dãy số này gồm N

số và cách giải tương tự VD1, thêm phần đọc giá trị N

Program Tinh;

Uses crt;

Var f1, f2: Text; N, a, i, S: Integer;

Begin

Assign(f1, ‘DS1.Inp’); Reset(f1);

Assign(f2, ‘DS1.Out’); Rewrite(f2);

Read(f1, N); S:=0;

For i:=1 to N do

Begin Read(f1, a); S:=S+a; end;

Write(f2, S); Close(f1); Close(f2);

Yêu cầu: Tìm ước chung lớn nhất của mỗi cặp số (a, b)

Output: Ghi vào tệp UCLN.Out gồm N dòng, mỗi dòng là kết quả tìm được

Trang 12

Đối với bài toán này học sinh có thể nhận biết được việc tìm UCLN của các cặp (a, b) là N lần do đó ta cần đọc dữ liệu theo từng dòng, tìm UCLN và ghi kết quả vào tệp Hai bài toán trên chỉ có một kết quả nên có thể dùng thủ tục Write hoặc Writeln

để ghi vào tệp OUT Bài toán có nhiều kết quả UCLN, mỗi kết quả trên 1 dòng thì sử

Assign(f1, ‘UCLN.Inp’); Reset(f1);

Assign(f2, ‘UCLN.Out’); Rewrite(f2);

Read(f1, N); For i:=1 to N do

begin Read(f1, a, b); While a <> b do

If a > b then a := a – b else b := b – a;

Writeln(f2, a); end; Close(f1); Close(f2);

End

Bài tập áp dụng

BT1: Cho một dãy gồm 10 số nguyên

Yêu cầu: Đếm số lượng số chẵn, số lượng số lẻ trong dãy đó

Input: Đọc từ tệp ChanLe.Inp chứa 1 dãy gồm 10 số nguyên, mỗi số cách nhau

BT2: Cho một dãy gồm N số nguyên dương

Yêu cầu: Kiểm tra xem trong dãy có bao nhiêu số nguyên tố

Input: Đọc từ tệp NguyenTo.Inp chứa

Trang 13

- Dòng 1:1 số nguyên N (1 < N < 10000)

- Dòng 2: gồm N số nguyên dương, mỗi số cách nhau 1 dấu cách

Ouput: Ghi vào tệp NguyenTo.Out các số nguyên tố tìm được, mỗi số cách

Kết quả ghi vào tệp OUT là các số nguyên tố, mỗi số cách nhau 1 dấu cách nên

giáo viên hướng dẫn học sinh thêm kí tự dấu cách vào sau kết quả cần ghi

Cho dãy gồm N số nguyên dương

Yêu cầu: Tính tổng các số lẻ và kiểm tra xem có bao nhiêu số hoàn hảo trong

dãy

Input: Đọc từ tệp Hoanhao.Inp chứa

- Dòng 1:1 số nguyên N (1 < N < 10000)

- Dòng 2: gồm N số nguyên dương, mỗi số cách nhau 1 dấu cách

Output: Ghi vào tệp Hoanhao.Out gồm 2 dòng:

Trang 14

BT4: Cho dãy gồm N số nguyên

Yêu cầu: Tìm GTLN trong dãy và sắp xếp dãy theo thứ tự tăng dần

Input: Đọc từ tệp Sapxep.Inp chứa

- Dòng 1: số nguyên N (1 < N < 10000)

- Dòng 2: gồm N số nguyên, mỗi số cách nhau 1 dấu cách

Output: Ghi vào tệp Sapxep.Out gồm 2 dòng:

BT5: (Dành cho học sinh Khá – Giỏi)

Cho dãy gồm N số nguyên dương a1, a2, , aN

Yêu cầu: Tính tổng các chữ số của từng số

Input: Đọc vào từ tệp Tongchuso.Inp gồm:

- Dòng 1: 1 số nguyên dương N (N ≥ 1)

- N dòng tiếp theo: mỗi dòng 1 số nguyên dương (0 < ai ≤ 106)

Output: Ghi vào tệp Tongchuso.Out gồm N dòng, mỗi dòng là một kết quả

BT6: (Dành cho học sinh Khá – Giỏi)

Máy tính điện tử xử lí thông tin bằng cách chuyển đổi tất cả dữ liệu sang dạng nhị phân (hệ đếm cơ số 2) Hệ nhị phân là một hệ đếm sử dụng 2 kí tự để biểu diễn một giá trị số, bằng tổng số các lũy thừa của 2 Hai ký tự đó thường là 0 và 1

Trang 15

Ví dụ: Số A = 5  A = 22 + 20 Do đó 5 = 1012

B = 10  B = 23 + 21 Do đó 10 = 10102

Cho dãy gồm N số nguyên dương a1, a2, , aN

Yêu cầu: Hãy biễu diễn từng số trong dãy sang hệ nhị phân

Input: Đọc vào từ tệp Nhiphan.Inp gồm:

- Dòng 1: 1 số nguyên dương N (N ≥ 1)

- N dòng tiếp theo: mỗi dòng 1 số nguyên dương (0 < ai ≤ 100)

Output: Ghi vào tệp Nhiphan.Out gồm N dòng, mỗi dòng là một kết quả biểu

diễn được

Ví dụ:

Dạng 2: Dữ liệu dạng số trong tệp INPUT không được xác định trước

Với dạng dữ liệu này, giáo viên hướng dẫn học sinh sử dụng hàm kiểm tra kết thúc tệp:

* Hàm EoLn(<biến tệp>) : Trả về giá trị True nếu con trỏ tệp đang chỉ tới cuối dòng

* Hàm Eof(<biến tệp>) : Trả về giá trị True nếu con trỏ tệp đang chỉ tới cuối tệp

Ví dụ mô tả cấu trúc 1 tệp văn bản (chữ in đậm trong file sẽ không được thể hiện)

VD1: Cho tệp Tongday.Inp chứa 1 dãy gồm nhiều số nguyên, mỗi số cách nhau 1

dấu cách Đọc và tính tổng của dãy số nguyên đó Kết quả ghi vào tệp

VD.INP

5 7 3 8 6 9 4 5 6 7 9 Eoln

Eof

VD.INP

Trang 16

Assign(f1, ‘DS1.Inp’); Reset(f1);

Assign(f2, ‘DS1.Out’); Rewrite(f2);

S:=0;

While not Eof(f1) do { Trong khi chưa kết thúc tệp thì đọc lần lượt từng

giá trị vào biến a}

begin Read(f1, a); S:=S+a; end;

Write(f2, S);

Close(f1); Close(f2);

End

Như vậy, với dạng 1 sử dụng vòng FOR để đọc N giá trị hoặc xác định N lần

đọc giá trị từ tệp INP Với dạng 2 sử dụng vòng WHILE để đọc lần lượt các giá trị

theo yêu cầu cho đến cuối tệp

VD2: Một trường THPT tổ chức cho giáo viên và học sinh đi cắm trại, sinh hoạt

ngoài trời ở vườn quốc gia Cúc Phương Để lê lịch đến thăm khu trại của các lớp, thầy hiệu trưởng cần biết khoảng cách từ trại của mình, ở vị trí có tọa độ (0, 0) đến trại của các giáo viên chủ nhiệm Mỗi lớp có một khu trại, vị trí trại của giáo viên chủ nhiệm đều có tọa độ nguyên (x, y)

Yêu cầu: Tính khoảng cách giữa trại của mỗi giáo viên chủ nhiệm và trại của

thầy hiệu trưởng (lấy 2 chữ số phần thập phân)

Input: Đọc từ tệp TRAI.Inp gồm nhiều dòng, mỗi dòng là cặp số nguyên (x,

y) cách nhau 1 dấu cách

Trang 17

Output: Ghi vào tệp TRAI.Out gồm nhiều dòng, mỗi dòng là một khoảng cách

tìm được tương ứng với từng cặp số (x, y)

Bài tập áp dụng BT1: Số chính phương (hay còn gọi là số hình vuông) là số tự nhiên có căn bậc 2 là

một số tự nhiên, hay nói cách khác, số chính phương là bình phương (lũy thừa bậc 2) của một số tự nhiên Cho dãy số nguyên

Yêu cầu: Kiểm tra các số trong dãy có phải là số chính phương hay không? Input: Đọc từ tệp Cphuong.Inp gồm nhiều dòng, mỗi dòng là một số nguyên

CO

CO

BT2: Cho dãy số nguyên dương

Yêu cầu: Tính tổng các chữ số của từng số trong dãy

Input: Đọc từ tệp Tongchuso.Inp chứa 1 dãy số nguyên dương, mỗi số cách

nhau 1 dấu cách

Output: Ghi vào tệp Tongchuso.Out gồm nhiều dòng, mỗi dòng là 1 kết quả

tính được

Trang 18

BT4: Cho dãy số nguyên dương

Yêu cầu: Với mỗi số đã cho hãy xác định số lượng ước số của nó

Ví dụ với n = 2, a 1 = 4, a 2 = 12, số lượng ước số của 4 là 3 (1, 2, 4), số lượng ước số của 12 là 6 (1, 2, 3, 4, 6, 12)

Input: Đọc từ tệp DEMUOC.INP gồm nhiều dòng, mỗi dòng 1 số nguyên

Dạng 3: Dữ liệu trong tệp INPUT có chứa xâu kí tự (chữ cái)

Với dạng dữ liệu này sẽ giúp học sinh gợi nhớ lại các thao tác xử lý đối với

kiểu dữ liệu xâu STRING

VD1: Cho 2 xâu là họ tên của 2 học sinh

Yêu cầu: Hãy đưa ra họ tên dài hơn, nếu bằng nhau đưa ra họ tên của học sinh

thứ 2

Input: Đọc vào từ tệp HT.Inp gồm 2 dòng, mỗi dòng là họ tên của một người Output: Ghi vào tệp HT.Out chỉ 1 dòng duy nhất là kết quả tìm được

Ví dụ:

Pham Thanh Lan Pham Thanh Lan Nguyen Thi Mai Mai Minh Hoang

Ngày đăng: 07/01/2021, 10:10

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w