Bài giảng lập trình c căn bản chương 6 phạm thế bảo

68 6 0
Bài giảng lập trình c căn bản chương 6   phạm thế bảo

Đ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

CHƯƠNG HÀM MẢNG MỘT CHIỀU Nội dung Chương trình Khai báo hàm định nghĩa hàm Gọi hàm Truyền tham số Giá trị trả Phạm vi biến Biến mảng Biến mảng tham số hàm Chương trình (1) • Chương trình con: phần mã chương trình lớn hơn, phần mã thực tác vụ cụ thể tương đối độc lập với phần mã cịn lại • Một chương trình thường viết mã cho gọi nhiều lần từ nhiều nơi thời gian chạy chương trình (có thể gọi nó) • Các chương trình thường tập trung thành thư viện, chế quan trọng cho việc chia sẻ tái sử dụng mã Chương trình (2) • Chương trình có loại: Thủ tục (Procedure) hàm (Function): – Thủ tục (PROCEDURE): Dùng để thực hay nhiều nhiệm vụ – Hàm (FUNCTION): Trả giá trị (có kiểu vơ hướng, kiểu string kiểu trỏ) Hàm sử dụng biểu thức Chương trình (3) • Khi nên dùng thủ tục/hàm: – Dùng hàm: • Kết tốn trả giá trị (kiểu vô hướng, kiểu string kiểu trỏ) • Phát biểu gọi CHƯƠNG TRÌNH CON cần nằm biểu thức tính tốn – Dùng thủ tục: • Kết tốn khơng trả giá trị trả nhiều giá trị trả kiểu liệu có cấu trúc (Array, Record, File) • Phát biểu gọi CHƯƠNG TRÌNH CON khơng nằm biểu thức tính tốn Chương trình (4) • Chương trình dùng xây dựng chương trình lớn nhằm: – giảm đáng kể kích thước chi phí chương trình – làm cho chương trình dễ theo dõi, – dễ sửa chữa, – nâng cao độ tin cậy chương trình • Một đặc điểm bật chương trình có tính đệ quy nhờ mà nhiều tốn giải dễ dàng • Chương trình ngơn ngữ C hàm Khai báo hàm, định nghĩa hàm (1) • Định nghĩa hàm gồm tên hàm, tham số thân hàm (chứa phát biểu chương trình), thực thi việc cụ thể • Dạng định nghĩa hàm: Khai báo hàm, định nghĩa hàm (2) đó: – Kiểu trả (return_type, gọi kiểu hàm) tương ứng với kiểu giá trị mà hàm trả thông qua phát biểu return – Tên hàm (func_name) đặt theo nguyên tắc đặt tên, nên đặt tên cho dễ hiểu – ParameterList danh sách tham số, tham số xác định kiểu liệu tên Các tham số phân cách dấu phẩy Có thể danh sách rỗng – Phần thân hàm nằm cặp ngoặc { } Khai báo hàm, định nghĩa hàm (3) • Nếu khơng xác định return_type, mặc định kiểu int • Nếu hàm không trả giá trị, dùng void (thay cho return_type) • Khơng phép đặt định nghĩa hàm hàm khác • Các hàm định nghĩa khơng phải theo thứ tự • Nếu có phát biểu gọi hàm trước hàm định nghĩa cần có khai báo hàm trước lời gọi hàm Vd3: Tìm xem giá trị x có mảng ? Ví dụ: a= [3 9], x= → x nằm vị trí mảng a x= n=7 a= k=2 a= x= n=7 k=-1 (khong co x mang) Vd07 Vd07b Vd4: Xóa phần tử x khỏi mảng (nếu có) Ví dụ: a= [6 8],n=7 x= → a= [6 8], n= x= → a= [6 8], n= x= n=7 n=6 a= k=2 Xóa phần tử x khỏi mảng (nếu có) Vd08a Xóa tất phần tử x khỏi mảng (nếu có) Vd08b Bài tập nhập mơn lập trình Phần 1: Các tập không dùng cấu trúc điều khiển Viết chương trình nhập số In cho biết giá trị số lớn Viết chương trình nhập số nguyên N, in cho biết góc có số đo N0 thuộc cung phần tư số đường tròn lượng giác Biết: góc có số đo [0 90): cung phần tư số 1, [90 180): cung phần tư số 2, [180 270): cung phần tư số 3, [270 360): cung phần tư số Viết chương trình nhập số nguyên a, b In cho biết chu vi, diện tích hình chữ nhật có độ dài cạnh a, b Viết chương trình nhập vào ký tự, in ký tự in hoa tương ứng Viết chương trình nhập vào số nguyên, in ký tự tương ứng ngược lại, nhập ký tự, in mã ASCII ký tự Phần 2: Cấu trúc điều khiển: rẽ nhánh, lặp, hàm Viết chương trình nhập vào số a, b Giải biện luận phương trình bậc ax + b = Viết chương trình nhập vào số a, b, c Giải biện luận phương trình trùng phương ax4 + bx2 + c = Viết chương trình nhập vào số a, b, c Xác định xem a, b, c có phải độ dài cạnh tam giác hay không Nếu phải tam giác loại: tam giác vuông, tam giác tù, tam giác nhọn Viết chương trình nhập số ngun khơng âm N (N < 1000) In cách đọc N tiếp Việt khơng dấu Viết chương trình nhập số nguyên d, m In cho biết ngày d/m/2004 ngày thứ tuần Biết ngày 1/1/2004 ngày thứ Nếu liệu nhập vào không hợp lệ, thơng báo Viết chương trình nhập vào số nguyên không âm d, m, y In cho biết ngày d/m/y ngày thứ tuần Các liệu nhập vào hợp lệ, xét năm hạn 3000 (Nhắc lại: năm nhuận năm chia hết cho 400 chia hết cho khơng chia hết cho 100) Viết chương trình nhập số nguyên dương H Dùng ký tự * vẽ quạt cánh có tâm hình Mỗi cánh quạt tam giác vng cân đặc có độ rộng cạnh góc vng H Ví dụ với H = ta có cánh quạt sau hình * * * * * * * * * * * * * * * * * * * * * * * * Viết chương trình nhập số ngun khơng âm N Hãy tính in giá trị các biểu thức sau: 1 a + + + + N 1 b + + + + 2! 3! N! N −1 ( 1 − 1) c − + + + 2! 3! N! d N! N%2!= ⎧1x3x5x xN e N!! Nhắc lại: N !!= ⎨ N%2 == ⎩2 x x6 x xN Viết chương trình nhập số nguyên N (kiểu char) In cho biết biểu diễn nhị phân N 10 Viết chương trình nhập số nguyên không âm N In dãy Fibonaci với số hạn F0, F1, …, FN 11 Viết chương trình nhập số nguyên dương N In hình cách phân tích N thành thừa số ngun tố 12 Viết chương trình nhập số a, b, c, d Giải phương trình bậc 3: ax3 + bx2 + cx + d = phương pháp lặp nhị phân Sai số cho phép 0.0000001 13 Viết chương trình nhập số nguyên dương N (N ≤ tỉ), kiểm tra xem N có phải số đối xứng hay khơng (Số đối xứng số có giá trị khơng đổi đọc chữ số từ phải qua trái) 14 Viết chương trình nhập số ngun khơng âm K, N (K ≤ N) Tính in ra: N! C NK = K !( N − K )! 15 Viết chương trình nhập số nguyên dương N (N≤1000) In N số nguyên tố a c Tính in phân số tổng dạng phân số tối 16 Viết chương trình nhập phân số b d giản 17 Viết chương trình nhập số nguyên dương N, kiểm tra xem N có phải số hạnh phúc hay không (Số hạnh phúc số có 2K chữ số tổng K chữ số tổng K chữ số cuối cùng) Phần 3: Mảng chiều - Chuỗi ký tự 18 Viết chương trình nhập số nguyên dương N (N ≤ 100) thực hiện: a Nhập N số nguyên vào dãy a0, a1, a2, b Xuất dãy vừa nhập hình c Đếm xem dãy vừa nhập có số nguyên tố, in số ngun tố hình d Nhập số ngun X, tìm vị trí xuất X dãy vừa nhập e Nhập số nguyên Y, xóa số có giá trị Y khỏi dãy vừa nhập f Nhập số nguyên Z, tìm vị trí xuất số dãy có giá trị gần với Z 19 Viết chương trình nhập số nguyên dương N (N ≤ 100) thực hiện: a Nhập N số nguyên vào dãy a0, a1, a2, b Xuất dãy vừa nhập hình c Kiểm tra xem dãy vừa nhập có phải dãy tăng dần hay không d Nếu dãy không tăng dần, xếp lại, xuất dãy hình e Nhập số nguyên X, chèn X vào dãy có cho dãy xếp tăng dần, xuất dãy kết hình 20 Viết chương trình nhập số nguyên dương N (N ≤ 100) thực hiện: a Nhập N số nguyên vào dãy a0, a1, a2, b Tìm vị trí số bé dãy c Tìm vị trí số âm lớn dãy d Tìm tất vị trí dãy mà số bé số kề bên Các số biên cần xét với số kề bên e Tìm tất ba số i, j, k thỏa ai, aj, ak số pitago 21 Viết chương trình nhập chuỗi ký S: a Đếm cho biết số lượng khoảng trắng, số lượng ký số, số lượng chữ latin, số lượng ký tự khác b Đếm cho biết số lượng từ chuỗi – từ cách khoảng trắng c Biến đổi chuỗi cho ký tự đầu từ ký tự in hoa, ký tự khác in thường 22 Viết chương trình nhập chuỗi ký S, đếm in cho biết số lượng chữ latin chuỗi (không phân biệt chữ in hoa chữ in thường) 23 Viết chương trình nhập chuỗi ký tự S, S1, S2 Hãy tìm chuỗi S tất lần xuất S1 thay S2 Phần 4: Struct 24 Viết chương trình nhập thông tin sinh viên, xuất thông tin sinh viên vừa nhập hình Thơng tin sinh viên gồm: Mã sinh viên (chuỗi ký tự), họ tên sinh viên (chuỗi 30 ký tự), giới tính (nam/nữ), địa liên hệ (chuỗi 50 ký tự), điểm mơn học 25 Viết chương trình quản lý lớp học gồm tối đa 150 sinh viên, sinh viên có thơng tin trước Chương trình phải đảm bảo số tính năng: a Nhập danh sách sinh viên b Tìm sinh viên danh sách theo mã sinh viên c Thêm sinh viên vào danh sách d Hủy sinh viên khỏi danh sách e Xuất danh sách sinh viên hình f Xuất danh sách sinh viên cịn nợ điểm (điểm < 5) môn học ... th? ?c tính tốn 1 Chương trình (4) • Chương trình dùng xây dựng chương trình lớn nhằm: – giảm đáng kể kích thư? ?c chi phí chương trình – làm cho chương trình dễ theo dõi, – dễ sửa chữa, – nâng cao... phần mã th? ?c t? ?c vụ c? ?? thể tương đối đ? ?c lập với phần mã lại • Một chương trình thường viết mã cho gọi nhiều lần từ nhiều nơi thời gian chạy chương trình (c? ? thể gọi nó) • C? ?c chương trình thường... thành thư viện, chế quan trọng cho vi? ?c chia sẻ tái sử dụng mã 1 Chương trình (2) • Chương trình c? ? loại: Thủ t? ?c (Procedure) hàm (Function): – Thủ t? ?c (PROCEDURE): Dùng để th? ?c hay nhiều nhiệm

Ngày đăng: 23/03/2023, 22:19

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

Tài liệu liên quan