bài giảng tin học cơ sở 3 khoa học tự nhiên

268 1.5K 4
bài giảng tin học cơ sở 3 khoa học tự nhiên

Đ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

đây là cuốn sách giupps bạn có thể tự tin với các kĩ năng lập trình của mình , giúp bạn hoàn thiện hơn khả năng lập trình nói chung và khả năng tin học nói riêng đặc biệt này rất thích hợp với các bạn có niền đam mê về lập trình

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN LÝ THUYẾT VÀ BÀI TẬP NGÔN NGỮ LẬP TRÌNH C SINH VIÊN : HOÀNG VĂN TRỌNG NGÀY SINH : 27/09/1990 QUÊ QUÁN : Giao Xuân – Giao Thủy – Nam Định LỚP : K54 Địa Lý ĐIỆN THOẠI : 0974 971 149 MAIL : hoangtronghus@yahoo.com.vn Hà Nội 03/11/2013 Lời chia sẻ Xin chào bạn! Trong chương trình đào tạo ngành có môn Tin học sở với mục đích giúp nắm kiến thức xử lý liệu máy tính Một dạng xử lý lập trình để giải toán cụ thể Thuật ngữ "lập trình" khiến số bạn cảm thấy trừu tượng khó hiểu, cộng thêm nghe đồn từ số người trước môn khó học nên lại hoang mang Thực ra, chất lập trình viết kế hoạch để thực công việc A cho hiểu bước cần thực đề kế hoạch, đồng thời máy tính phải hiểu kế hoạch cần thực bước cuối cho kết mà ta mong muốn Vì phải học lập trình? Thực tế gặp phải nhiều toán phức tạp có khối lượng tính toán lớn Nếu chuyển toán cho máy tính làm đến vài giây giải tay đến vài ngày chí nhiều Các chương trình ứng dụng Word, Excel hay trang web tìm kiếm tiếng Google.com,…thì có chất chung lập trình Trong trường hợp ta muốn giải toán chuyên môn đặc thù lại sẵn chương trình để thực tiền mua phần mềm đắt cách phải tự xây dựng cho chương trình để tính toán  cần thiết phải học lập trình Tuy nhiên, có nhiều ngôn ngữ lập trình (C, Java, Pascal, VBA, PHP, Android,…) có nhiều loại lập trình (lập trình hệ điều hành, lập trình web, lập trình cho điện thoại di động, tủ lạnh, điều hòa,…) lại lựa chọn lập trình C? Ngôn ngữ C chọn cho người bắt đầu làm quen với lập trình số lý sau: * C ngôn ngữ thể tính có cấu trúc rõ nét (thực theo trình tự, rẽ nhánh, vòng lặp), điều tương tự Pascal * C ngôn ngữ linh hoạt, ký tự chương trình tùy vào ngữ cảnh mà có ý nghĩa khác Ví dụ dấu * có biểu thị phép tính nhân có phép lấy giá trị,… * C có cấu trúc phân nhỏ thành chương trình (hàm) Điều làm cho chương trình trông mạch lạc dễ phát lỗi để sửa Một chương trình sử dụng nhiều lần chương trình * C can thiệp sâu vào phần cứng máy tính (ví dụ RAM ổ đĩa cứng) nên sử dụng rộng rãi để lập trình hệ điều hành, điển Linux C chạy tốt nhiều loại máy tính khác * Cũng khả can thiệp sâu vào phần cứng mà C trội nhiều ngôn ngữ lập trình khác mạnh mẽ thao tác địa liệu (người ta hay gọi lập trình với biến trỏ) Nếu bạn có ý định viết virus C lựa chọn tốt (mình không khuyến khích viết virus đâu nhé!),… Chính lý mà người bắt đầu làm quen với lập trình nên học ngôn ngữ C trước Khi nắm vững ngôn ngữ C rùi mạnh tảng để sau bạn tiếp tục học với ngôn ngữ bậc cao (C#, Java, Android, IOS,…) Đối với số bạn C môn sở cho môn chuyên ngành khác: Lý thuyết đồ thị, Vật lý tính toán,…các môn sử dụng ngôn ngữ C để thực hành  Chúng ta cần chuẩn bị điều kiện để học tốt môn lập trình nói chung lập trình C nói riêng? + Thứ quan trọng niềm đam mê! Học lập trình để làm gì? Có bạn học lập trình với mục tiêu tự viết phần mềm ứng dụng, có bạn muốn học lập trình với mục đích thương mại,…Đối với thích học lập trình muốn tìm hiểu để viết chương trình virus trêu bạn bè tí (không có ý xấu đâu) Mục tiêu niềm đam mê tạo cho bạn động lực mạnh mẽ để bạn tìm hiểu tự học cách nghiêm túc có hiệu quả, có nội dung thầy cô không dạy bạn tìm hiểu hữu ích cho bạn tất nhiên bạn nắm vững kiến thức chuyện thi cử lấy điểm cao đơn giản Còn mục đích đơn học để thi lấy điểm cao không điểm cao (thậm chí 10.0 thầy cô cho đề dễ) bạn nhận sau môn học bình thường thôi, có nhiều nội dung bạn không cần quan tâm nằm nội dung ôn thi, có nhiều lệnh đơn giản bạn không cần hiểu chất nó,…Điều trở ngại lớn sau bạn muốn học thêm ngôn ngữ lập trình khác viết chương trình ứng dụng để giải toán thực tế + Thứ hai, chương trình máy tính có mối quan hệ mật thiết với nên trước học lập trình bạn nên xem lại phần cấu trúc máy tính nguyên tắc hoạt động máy tính Xem lại phần để biết đoạn mã lệnh mà ta viết vào máy tính biến đổi thành trạng thái vật lý thông tin điều khiển phận xử lý đâu máy tính,…đặc biệt máy tính làm việc theo nguyên lý Von Neumann (nguyên lý điều khiển chương trình truy cập, lưu trữ theo địa chỉ) Nguyên lý Von Neumann giúp bạn hiểu sâu sắc học đến phần lập trình với địa (sử dụng biến trỏ)… + Thứ ba, phải nhớ quy tắc sử dụng kí tự ngôn ngữ lập trình cụ thể Ngôn ngữ lập trình cấu thành từ kí tự định quy tắc sử dụng kí tự kí tự Vì học ngôn ngữ phải nhớ kí tự phép sử dụng ngôn ngữ nhớ cách kết hợp kí tự với thành cấu trúc cụ thể Đây ngữ pháp ngôn ngữ lập trình + Thứ tư, máy tính thực công việc mà lập trình nên chương trình phải có tính xác tính logic cao Tư logic giúp bạn nhanh chóng nắm bắt ý nghĩa dòng mã lệnh Khi viết dòng lệnh bạn tưởng tượng xem dòng lệnh tương đương với ngôn ngữ đời thường Ví dụ viết là: if (a>b) printf("a la so lon"); tương đương với ngôn ngữ đời thường là: "nếu a lớn b in hình dòng chữ: a số lớn" Trước yêu cầu toán bạn nên nghĩ xem giải tay gồm bước Sau áp dụng vào ngôn ngữ lập trình cụ thể chuyển bước giải tay thành dòng lệnh tương ứng mà máy tính hiểu Nếu học tốt môn Toán bạn có lợi học lập trình Toán vừa giúp bạn tư logic vừa giúp bạn nghĩ cách giải làm tay Ví dụ trước yêu cầu giải toán tích phân đoạn [1, 3] hàm số y = 3x2 phải biết định nghĩa tích phân xác định có bước giải + Thứ năm, chương trình bạn viết nên ngắn gọn đơn giản có thể, phải xác khái quát trường hợp xảy Bạn đừng nghĩ chương trình phức tạp với nhiều dòng lệnh thể trình độ lập trình Một chương trình ưu việt ngắn gọn rõ ràng để ta đọc lại dễ phát lỗi sai người khác đọc mã lệnh viết Chương trình gọn nhẹ tiêu chí để đánh giá thuật toán Khi viết xong chương trình, bạn nên đọc lại mã lệnh phải hiểu ý nghĩa lệnh Đọc tới đâu lại chuyển sang ngôn ngữ đời thường tới + Thứ sáu, chăm đọc tài liệu học hỏi kinh nghiệm người trước Học tốt tiếng Anh giúp bạn tham khảo thêm nhiều nguồn tài liệu quý báu mà sách tiếng Việt chưa cập nhật Tích cực trao đổi với bạn bè thầy cô giúp bạn tìm hướng giải cho toán có thêm cách làm hay Học hỏi mạng giải pháp mà hay áp dụng Điều tuyệt đối không nên chép y nguyên dòng lệnh người khác sang chương trình mà không hiểu ý nghĩa lệnh Mong bạn tham khảo dòng lệnh để hiểu đừng copy nguyên sang nhé! + Thứ bảy, giúp đỡ người khác giúp Khi coi vấn đề người khác vấn đề tự nhiên tích cực việc tìm tòi, học hỏi Có thể ta chưa gặp dạng người khác tìm cách giải cho người khác lúc ta làm thêm dạng mà trước chưa gặp + Thứ tám, bao môn học khác phải chịu khó thực hành thật nhiều Đặc thù môn đòi hỏi làm nhiều máy có kinh nghiệm viết mã lệnh, kiểm tra lỗi, sửa lỗi Làm nhiều tập giúp bạn nhạy bén việc kiểm tra ngữ pháp xác định cách làm cho toán Ban đầu, việc viết chương trình sửa lỗi khó khăn chuyện không trở ngại nữa, bạn cần nhìn qua biết chương trình sai đâu Ngoài ra, nhiều phương pháp học khác tùy thuộc vào người Trong trình viết mã lệnh, bạn ngộ nhiều cách học hay mà phù hợp với Tóm lại, lập trình giỏi phụ thuộc vào yếu tố sau: Đam mê Toán học Lập trình Tích cực Tiếng Anh  Tài liệu tham khảo cho môn Lập trình C + Trước hết, phải có chương trình dịch ngôn ngữ C ngôn ngữ máy Trường nhiều trường khác sử dụng Dev – Cpp, link download phần mềm: http://www.mediafire.com/download.php?n2tu8v135qyjo23 Sau download phần mềm máy bạn giải nén (Các bước giải nén: Chuột phải/ Extract files/ Ok) copy thư mục Dev – Cpp vừa giải nén vào ổ cứng C Tiếp theo, mở thư mục Dev – Cpp lên kích chuột phải vào biểu tượng devcpp màu xanh/ Send to/ Desktop (create shortcut) Cuối cùng, Desktop kích đúp vào biểu tượng màu xanh devcpp chọn OK cài đặt xong + Quách Tuấn Ngọc, Ngôn ngữ lập trình C – NXB Thống kê Quyển thích hợp học phần lý thuyết, đọc dễ hiểu tự học + Nguyễn Hữu Ngự, Bài tập Lập trình sở – NXB Giáo dục Quyển thích hợp học thực hành Thầy Ngự hướng dẫn chi tiết sử dụng thuật toán (hướng dẫn bước giải) cho tập cụ thể, nhiệm vụ chuyển sang ngôn ngữ C Hơn nữa, phần cuối sách có chương trình viết sẵn để bạn tham khảo, giúp bạn rèn luyện kỹ đọc hiểu mã lệnh người khác viết + Phạm Văn Ất, Kỹ thuật lập trình C – NXB Giao thông vận tải Quyển dùng để học lý thuyết, tác giả viết chi tiết Các bạn download giáo trình địa sau: http://www.mediafire.com/view/?bd25e82c6bmmlbh + W Kernighan and M Ritchie, The C programming Language Giáo trình tác giả ngôn ngữ C viết ra, tiếng Anh tham khảo số nội dung Link download giáo trình: http://www.mediafire.com/view/?22q84rykeh4bu0l + Để biết thêm thông tin tài liệu tham khảo bạn xem thảo luận page ĐỀ THI HUS – KHTN HÀ NỘI web facebook.com link sau: https://www.facebook.com/media/set/?set=a.428919497180976.104662.4207995246 59640&type=3 + Ngoài giáo trình trên, bạn học tập giảng địa sau: http://www.mediafire.com/download.php?ugxpje9q5sjwxh1 Đây giảng Power Point tác giả Trần Đăng Hưng mà số thầy cô sử dụng làm giảng cho số lớp Học giảng nhanh chóng nắm kiến thức thời gian ngắn  Về cấu trúc file Mình cố gắng đưa vào nhiều nội dung lý thuyết làm thật nhiều dạng tập với mục tiêu xây dựng thành file lập trình mẫu để thuận tiện cho sau học ngôn ngữ lập trình khác Do kiến thức sở nên việc hiểu sâu, hiểu chất vấn đề cần thiết File gồm hai phần chính: Lý thuyết Bài tập Phần Lý thuyết tổng hợp lại kiến thức theo chương mục Các tập lấy trình học giáo trình toán thực tế thuộc ngành chuyên môn khác Thường có nhiều cách giải khác nên bạn không thiết phải làm theo cách hay cách khác Khi hiểu rõ chút lập trình bạn thấy yếu tố quan trọng định đến việc có viết chương trình hoàn chỉnh hay không hướng làm, thuật toán Sau tập có viết thêm phần hướng dẫn cách làm giải thích ý nghĩa biến sử dụng chương trình Bố cục file tập từ đơn giản đến phức tạp xếp tương tự giáo trình Ngôn ngữ lập trình C Quách Tuấn Ngọc, cụ thể sau: Chương I: Gồm tập làm quen với Lập trình C Đó thao tác với biến đơn sử dụng cấu trúc rẽ nhánh if, switch; cấu trúc vòng lặp for, while,…Trong chương cần thực hành nhiều với vòng lặp for, while, while để hiểu rõ cách dùng vòng lặp phục vụ cho học chương sau Chương II: Sử dụng chương trình (hay gọi hàm) để chia chương trình thành công việc nhỏ cho dễ kiểm soát lỗi làm cho chương trình mạch lạc Từ chương sau, ưu tiên cho việc sử dụng chương trình thấy thích hợp Chương III: Thao tác mảng chiều với phần tử có kiểu số Đây nội dung bắt đầu tiếp cận với liệu kiểu mảng, việc xử lý dãy giá trị giá trị đơn chương trước Chương IV: Thao tác mảng nhiều chiều mà chủ yếu mảng chiều (ma trận) Dạng liệu kiểu ma trận hay gặp toán chuyên môn, ví dụ để áp dụng vào môn Đại số tuyến tính Hình học giải tích Vì vậy, cần phải thực hành thật nhiều Chương V: Lập trình với biến địa (con trỏ) Vì mạnh C nên cố gắng làm nhiều tập liên quan tới Mình thấy có nhiều bạn ngại học nội dung chưa hiểu địa gì, biến trỏ Để hiểu chất vấn đề bạn nên xem lại nguyên lý làm việc máy tính (nguyên lý Von Neumann) Khi ta khai báo biến hay mảng biến hay mảng lưu vào ô nhớ có số định RAM Chương VI: Thao tác với xâu kí tự thực chất thao tác mảng chiều mà phần tử có kiểu kí tự Chương VII: Kiểu liệu cấu trúc để thể biến có nhiều thành phần thành phần có kiểu liệu khác Bản chất tổ hợp lại kiểu liệu như: kiểu số, kiểu kí tự, kiểu mảng, Chương VIII: Kiểu File tiện làm việc với khối lượng lớn liệu mà không cần nhập từ bàn phím Đặc biệt muốn lưu kết để làm liệu đầu vào cho toán khác Các đề thi học sinh giỏi Olympic phải thao tác với liệu kiểu File bên cạnh thuật toán khó Chương IX: Phần đồ họa giới thiệu cách sử dụng hàm dùng để vẽ hình C Nội dung tạo giao diện đẹp cho thực hành Tuy nhiên, C không mạnh đồ họa nhiều ngôn ngữ lập trình khác nên giới thiệu qua làm vài tập Chương X: Một số đề thi đặc biệt như: thi học sinh giỏi, thi Olympic… Các đề thi sưu tập đề học sinh giỏi cấp thi Olympic sinh viên Tuy nhiên, có nhiều đề yêu cầu viết chương trình Pascal C++, chuyển hết sang viết C Chương XI: Một số chương trình virus đơn giản để thấy sức mạnh can thiệp vào phần cứng máy tính C, tất nhiên để hiểu virus mục đích xấu Ở đây, giới thiệu nội dung chương trình virus không hướng dẫn cách cài đặt vào máy tính cách sử dụng chúng Chương XII: Ứng dụng lập trình C để giải số toán thực tế lĩnh vực khác Trong chương trình tin học mức sở chưa đủ kiến thức để viết phần mềm hệ thống (hệ điều hành) mà viết chương trình ứng dụng đơn giản Khi gặp toán thuộc chuyên môn bạn mà bạn có ý tưởng chuyển sang lập trình có nghĩa bạn tìm thấy hữu ích từ việc học môn Vì vậy, chương XII làm toán đặc thù ngành/ chuyên ngành không làm tương tự mà thầy cô cho thực hành  Trên chút kiến thức ỏi mà muốn chia sẻ bạn Mình viết file tập sau học xong môn THCS nên kiến thức lập trình C hạn chế mong người thông cảm cho ý kiến đóng góp để sửa lại xác Các bạn có điều thắc mắc xin gửi địa chỉ: hoangtronghus@yahoo.com.vn Hoặc đăng ý kiến lên page: ĐỀ THI HUS – KHTN HÀ NỘI web facebook.com để trao đổi thảo luận Hoàng Văn Trọng In xong 03/11/2013 MỤC LỤC Chú ý: Những đánh dấu * thi số lớp khác PHẦN A: LÝ THUYẾT 12 PHẦN B: BÀI TẬP 12 CHƯƠNG I BIẾN ĐƠN VÀ CÁC CẤU TRÚC ĐIỀU KHIỂN: IF, SWITCH, FOR, WHILE, DO WHILE, BREAK, CONTINUE, GOTO,… 12 Bài 1: Viết chương trình in hình câu chào khác Mỗi câu dòng? 12 Bài 2: Viết chương trình nhập vào ký tự chuỗi ký tự từ bàn phím in hình ký tự chuỗi ký tự vừa nhập? (X) 13 Bài 3: Viết chương trình nhập vào kí tự từ bàn phím in hình số thứ tự ký tự bảng mã ASCII ? (X) 14 Bài 4: Viết chương trình nhập vào số nguyên dương đưa tổng, hiệu, tích, thương hai số đó? 15 Bài 5: Cho x = 10, y = 20 z = 30 Tính giá trị biểu thức viết chương trình kiểm tra: 17 5.1 A = 2* (x – y ++) + z*(++ z – x*y) 17 5.2 B = ( x + y + z )*2 + ++y*2 17 5.3 C = (x 10 000) Hãy đưa hình số chữ số N tích chữ số N? 44 Bài 23: Tìm tất số đối xứng có chữ số? 45 Bài 24: Tìm tất số nguyên tố nhỏ số N cho trước? 48 Bài 25: Viết chương trình tính tổng bình phương số nguyên tố nằm đoạn [N1, N2] Với N1 N2 số nguyên nhập từ bàn phím? (X) 50 Bài 26: Cho số tự nhiên n In hình n số nguyên tố đầu tiên? (X) 51 Bài 27: Nhập vào số nguyên dương n, kiểm tra xem n có phải số nguyên tố hay không? Nếu n số nguyên tố tách n thành tổng số nguyên tố không? (X) 53 Bài 28: Số hoàn thiện (hay số hoàn hảo, hoàn chỉnh) số nguyên dương có tổng ước số nguyên dương bé Hãy viết chương trình tìm tất số hoàn thiện nhỏ số n cho trước? (X) 54 Bài 29: Viết chương trình giải toàn sau: 56 “Vừa gà vừa chó 56 Bó lại cho tròn, 56 36 con, 100 chân chẵn” 56 Tìm số gà, số chó? (X) 56 Bài 30: Hãy lập chương trình tính điểm trung bình số dương nhập vào từ bàn phím Số lượng điểm số cho vào người lập trình định việc nhập điểm kết thúc gõ vào số âm? (X) 57 Bài 31: Viết chương trình tính bảng nhân từ đến 10 in hình? (X) 58 Bài 32: Dùng vòng FOR để viết số từ đến 99 thành hàng khác cho hàng có 10 số? (X) 59 Bài 33: Dùng dấu * để vẽ hình chữ nhật đặc? (X) 60 Bài 34: Dùng dấu * để vẽ hình tam giác khác nhau: 61 a) Tam giác vuông với góc vuông phía bên trái 61 b) Tam giác vuông với góc vuông phía bên trái 61 c) Tam giác cân với đáy phía (X) 61 Bài 35: Viết chương trình nhập số nguyên dương n In hình tam giác Pascal chiều cao n? (X) 64 Bài 36: In cách để có 200 đồng với loại giấy bạc: 5đ, 2đ 1đ (X) 65 Bài 37: In hình, dòng chứa chữ số (từ '0' đến '9') sau dấu hai chấm mã ASCII Thí dụ vài dòng đầu: 67 '0' : 48 67 '1' : 49 67 Hoàng Văn Trọng – 0974.971.149 In xong 03/11/2013 '2' : 50 (X) 67 Bài 38: Cho số vốn ban đầu, số tháng gửi t lãi suất (tính theo %) Hãy tính số tiền thu sau t tháng gửi? (X) 68 Bài 39: Bài toán lãi suất tiết kiệm: T số tiền gửi, S số tiền nhận sau t tháng gửi, k lãi suất (%) Tính đưa kết ứng với trường hợp sau: 69 - Gửi vào số tiền T ban đầu, với lãi suất k% tháng sau t tháng nhận số tiền S bao nhiêu? 69 - Gửi vào số tiền T ban đầu, với lãi suất k% tháng, để nhận số tiền S phải gửi tháng? 69 - Tính số tiền T gửi ban đầu với lãi suất k% tháng để sau t tháng nhận số tiền S? (X) 69 Bài 40: Nhập vào từ bàn phím số nguyên dương n Đưa hình biểu diễn dạng nhị phân (hay dạng bit) số nguyên dương đó? (X) 71 Bài 41: Viết chương trình: 73 - Lập hàm tính trung bình cộng của ba số nguyên x, y, z 73 - Nhập vào số nguyên a, b, c Gọi hàm vừa lập vào chương trình chính, tính in trung bình cộng số nguyên a, b, c (X) 73 Bài 42: Viết chương trình: 74 - Nhập số a, b, c Kiểm tra a = nhập lại a ≠ 74 - Lập hàm tìm nghiệm thực phương trình bậc hai ax + bx + c = 0, gọi vào chương trình để tìm nghiệm phương trình In hình có định dang kết vừa tìm (X) 74 Bài 43: Tính giai thừa số từ đến 10, có sử dụng hàm? 76 Bài 44: Viết hàm tính giá trị giai thừa số nguyên Sử dụng hàm để tính giá trị toán đếm tổ hợp sau (với n k nhập từ bàn phím): 78 - Hoán vị n phần tử: Pn = n! 78 - Hoán vị vòng quanh n phần tử: Qn = (n+1)! 78 n! - Chỉnh hợp không lặp chập k n phần tử: Ank  78 (n  k )! - Chỉnh hợp lặp chập k n phần tử: Fnk  n k 78 n! - Tổ hợp chập k n phần tử: Cnk  (X) 78 k! (n  k )! Bài 45: Tính giá trị n!! với n nhập từ bàn phím, có sử dụng hàm? (X) 79 Bài 46: Cho số nguyên dương N, tìm chữ số lớn N? 80 Bài 47: Cho số tự nhiên, in số có chữ số theo thứ tự ngược lại số cho? (X) 82 Bài 48: Tìm tất số có ba chữ số abc thỏa mãn: a2 + b2 = c2 (X) 83 Bài 49: Tìm tất số có chữ số abc thỏa mãn: abc = a3 + b3 +c3 (VD: 153) 84 Bài 50: Một số nguyên dương N có k chữ số gọi Amstrong tổng lũy thừa bậc k chữ số N Cho N, tìm tất số Amstrong < N? 85 Bài 51: Cho hai số nguyên dương M, N Viết chương trình tìm ƯCLN (M, N)? 87 Bài 52: Cho số nguyên dương a, b, c Viết chương trình tìm ƯCLN (a, b, c)? (X) 88 Bài 53: Dãy Fibonacci định nghĩa sau: 90 F[0] = F[1] = 90 F[n] = F[n – 1] + F[n – 2] 90 Cho số nguyên dương n, tính đưa hình F[n]? 90 Bài 54: Viết chương trình giải phương trình ax2 + bx + c = 0, có sử dụng hàm? 91 Hoàng Văn Trọng – 0974.971.149 In xong 03/11/2013 Bài 122: (Thay từ) Cho file D1.INP chứa đoạn văn D2.INP chứa N dòng, dòng gồm từ: nguồn đích nguồn từ xuất D1.INP cần thay đích Hãy thay từ lưu kết vào file KQ.OUT Ví dụ: D1.INP D2.INP Xin chào lớp học Lập trình C khóa 2012 Chúc bạn thi tốt! bạn em ! khóa Khóa KQ.OUT Xin chào lớp học Lập trình C Khóa 2012 Chúc em thi tốt Bài 123: (Tấm Cám) Ngày xửa ngày xưa, nhà có hai chị em cha khác mẹ, chị Tấm, em Cám Mẹ Tấm sớm, năm sau cha Tấm qua đời Tấm với dì ghẻ mẹ Cám Tấm muốn lễ hội Cám ghen ghét không muốn chị sợ Hoàng Văn Trọng – 0974.971.149 247 In xong 03/11/2013 thua thiệt Cám bầy mưu nhờ dì ghẻ bắt Tấm phải đếm đủ số bi cho Với số lượng bi cho trước, Tấm phải chuyển sang dạng nhị phân từ phần tử số bi Tấm cô đơn thất vọng Hãy giúp Tấm giải khó khăn Dữ liệu đầu vào có dạng sau: TAM.INP - Một dòng chứa số nguyên dương N số lượng bi Dữ liệu đầu có dạng sau: TAM.OUT N + dòng, dòng dãy số nhị phân thể số từ đến N Ví dụ: TAM.INP TAM.OUT 000 001 010 011 100 #include #include void MaNhiPhan(int a,FILE *f); main() { int N,i; FILE *fa,*fb; fa=fopen("D:/TAM.INP.c","r"); fscanf(fa,"%d",&N); fb=fopen("D:/TAM.OUT.doc","w"); for(i=0;i0); for(j=i-1;j>=0;j ) fprintf(f,"%d",b[j]); fprintf(f,"\n"); } * Giải thích: Bài 124: (Siêu nguyên tố) Số siêu nguyên tố số nguyên tố mà bỏ số tùy ý chữ số bên phải phần lại tạo thành số nguyên tố VD: 7333 số siêu nguyên tố 733, 73 số nguyên tố Cho trước số nguyên dương N, hãy tìm tất số siêu nguyên tố có N chữ số Dữ liệu đầu vào có dạng sau: SNT.INP - Một dòng chứa số nguyên dương N Dữ liệu đầu có dạng sau: SNT.OUT - Một số lượng dòng dòng số siêu nguyên tố có N chữ số Ví dụ: SNT.INP SNT.OUT 23 29 Hoàng Văn Trọng – 0974.971.149 249 In xong 03/11/2013 31 37 53 59 71 73 79 #include #include #include int NguyenTo(int a); int SieuNguyenTo(int b,int n); main() { int N,i; FILE *fa,*fb; fa=fopen("D:/SNT.INP.c","r"); fscanf(fa,"%d",&N); fb=fopen("D:/SNT.OUT.doc","w"); for(i=pow(10,N-1);i=2) { Hoàng Văn Trọng – 0974.971.149 250 In xong 03/11/2013 for(i=2;a%i!=0;i++); if(i==a)k=1; } return (k); } int SieuNguyenTo(int b,int n) { int k=1,i; for(i=1;i[...]... chữ: “Không tìm thấy thông tin (X) 216 Bài 1 13: Bài toán quản lý sinh viên: 219 Hoàng Văn Trọng – 0974.971.149 8 In xong 03/ 11/20 13 - Nhập vào một danh sách sinh viên bao gồm các thông tin: Họ tên, điểm Toán, điểm Tin học Tính và thêm thông tin điểm trung bình vào danh sách sinh viên 219 - Sắp xếp và in danh sách thông tin của sinh viên theo thứ tự điểm trung bình giảm dần?... trong xâu đó 1 83 - Đọc một kí tự từ bàn phím, tìm xem xâu đó có bao nhiêu kí tự giống với kí tự vừa đọc Đưa kết quả ra màn hình? (X) 1 83 Bài 98: Nhập vào từ bàn phím một xâu kí tự S Đếm số lần xuất hiện của kí tự a trong S (a được nhập từ bàn phím) và kiểm tra xem S có phải là xâu đối xứng hay không? 185 Bài 99: Viết chương trình nhập vào hai xâu kí tự, ghép hai xâu này thành... 200 Bài 106: Viết chương trình nhập nhiều tên người vào từ bàn phím Hãy sắp xếp lại theo thứ tự alphabet (thứ tự abc…z) và in ra màn hình kết quả đã sắp xếp theo thứ tự đó? 202 Bài 107: Viết chương trình nhập vào một xâu có tối đa 80 kí tự Thống kê xâu đó theo các thông tin sau: 204 - Số lượng kí tự trong xâu 204 - Số lượng kí tự là nguyên âm và tỷ lệ kí tự nguyên... hình: 1 83 + Tích các phần tử ở cột thứ k 1 83 + Số lượng các phần tử là số nguyên tố trên dòng thứ k 1 83 - Tìm phần tử có giá trị nhỏ nhất trong mảng vừa nhập Có bao nhiêu phần tử có giá trị bằng giá trị nhỏ nhất đó 1 83 CHƯƠNG VI XÂU KÍ TỰ 1 83 Bài 97: Viết chương trình nhập vào từ bàn phím một xâu kí tự Thực hiện: 1 83 - Tính xem có bao nhiêu kí tự trong... #include Hoàng Văn Trọng – 0974.971.149 17 In xong 03/ 11/20 13 main() { int x=10,y=20,z =30 ,b; b=( x+ y+z )*2+(++y*2); printf("\n Ket qua la: %d",b); getch(); } Câu 5 .3: C = (x Ba diem tren tao thanh mot tam giac"); if((AB==BC)&&(BC==AC)) printf("... chữ hoa, in ra màn hình chuỗi kí tự để xem kết quả 197 - Tách kí tự vừa chuyển thành chữ hoa đó ra khỏi xâu kí tự, in chuỗi kí tự này ra màn hình để xem kết quả (X) 197 Bài 105: Viết chương trình nhập vào từ bàn phím một xâu kí tự bất kì: 200 - Chuẩn hóa xâu kí tự vừa nhập và chuyển kí tự đầu tiên của xâu thành chữ hoa 200 - Thay tất cả các kí tự của từ cuối cùng trong xâu thành...In xong 03/ 11/20 13 Bài 55: Tìm tất cả các số chính phương nhỏ hơn số N cho trước với N được nhập vào từ bàn phím (N < 2 000 000 000), có sử dụng hàm? 93 Bài 56*: Tính tổng: S = 1 .3. 5 + 3. 5.7 + …+ (2n – 1).(2n + 1).(2n + 3) với n được nhập vào từ bàn phím (n > 5) và kiểm tra xem tổng S có phải là số chính phương hay không? 94 Bài 56: Viết chương trình tính e x... tăng dần? 170 Bài 92: Viết chương trình nhập vào số nguyên n, cấp phát bộ nhớ cho mảng a có n phần tử Thực hiện: 1 73 - Nhập phần tử của mảng a? 1 73 - In ra địa chỉ của các phần tử trong mảng? 1 73 - Sắp xếp mảng a theo chiều giảm dần, in ra các phần tử sau khi đã được sắp xếp? (X) 1 73 Hoàng Văn Trọng – 0974.971.149 6 In xong 03/ 11/20 13 Bài 93: Viết chương trình... là 89 chứ không hiện ra mã nhị phân của ký tự Y Mọi người có thể tham khảo bảng mã ASCII trong giáo trình Tin học cơ sở - Đào Kiến Quốc (chủ biên), Bùi Thế Duy, NXB ĐHQGHN trang 86 hoặc bất kỳ giáo trình nào có giới thiệu bảng mã này b) Bài tập này yêu cầu nhập vào là ký tự và xuất ra là dạng số Ta chỉ cần khai báo kiểu ký tự (char), đọc từ bàn phím kiểu ký tự (%c) và in ra màn hình với định dạng số

Ngày đăng: 28/04/2016, 23:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan