Bài giảng tin học đại cương chương 4 trần quang hải bằng

39 390 1
Bài giảng tin học đại cương  chương 4   trần quang hải bằng

Đ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

TIN HỌC ðẠI CƯƠNG Chương 4: Lập trình cho máy tính bangtqh@utc2.edu.vn Nội dung q Khái niệm q Giới thiệu ngôn ngữ lập trình C q Các khái niệm C q Các lệnh nhập/xuất liệu q Cấu trúc điều khiển rẽ nhánh q Cấu trúc điều khiển lặp q Bài tập bangtqh@utc2.edu.vn Tin học đại cương - Chương Khái niệm lập trình cho máy tính bangtqh@utc2.edu.vn Tin học đại cương - Chương Giới thiệu ngôn ngữ lập trình C q Ngôn ngữ C ñời năm 1972 q Phát triển thành C++ vào năm 1983 q Là ngôn ngữ ñược sử dụng phổ biến q Có nhiều trình biên dịch C khác – Turbo C, Borland C – ANSI C, IBM C, ISO C – GCC – …v.v q Chúng ta sử dụng: Borland C 5.02 (bộ cài 85MB) bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 IDE Borland C++ 5.02 q Chạy file Setup.exe thư mục Bc502 q Một số phím soạn thảo Phím Chức Enter Xuống dòng Insert Chuyển đổi chế ñộ chèn/đè Delete Xóa kí tự sau vị trí trỏ Back space Ctrl + Y Ctrl + Q + Y bangtqh@utc2.edu.vn Xóa kí tự trước vị trí trỏ Xóa dòng kí tự chứa trỏ Xóa kí tự từ vị trí trỏ ñến cuối dòng Tin học đại cương - Chương IDE Borland C++ 5.02 Một số phím soạn thảo (tiếp theo) Phím Chức Ctrl + K + C Chép khối tới vị trí trỏ Ctrl + K + V Chuyển khối tới vị trí trỏ Ctrl + K + Y Xóa khối Ctrl + K + W Ghi khối vào tệp đĩa Ctrl + K + R Đọc khối từ tệp đĩa Ctrl + Q + B Dịch chuyển trỏ ñầu khối Ctrl + Q + K Dịch chuyển trỏ cuối khối Ctrl + Q + F Tìm kiếm cụm từ Ctrl + Q + A Tìm kiếm cụm từ sau ñó thay cụm từ khác Ctrl + Q + L Lặp lại Ctrl + Q + F Ctrl + Q + A cuối bangtqh@utc2.edu.vn Tin học đại cương - Chương Chương trình “Hello world” thị tiền xử lý Hàm chương trình Dấu bắt đầu kết thúc định nghĩa hàm Kết thu ñược biên dịch chạy chương trình bangtqh@utc2.edu.vn Tin học đại cương - Chương Từ khóa (Key word) q Là từ dành riêng ngôn ngữ C q Từ khóa phải sử dụng cú pháp q Một số từ khóa thông dụng auto goto short union break double if sizeof unsigned case else int static void char extern long struct volatile continue float register switch while default for return typedef Trong IDE Borland C++ 5.02 từ khóa in đậm có màu blue bangtqh@utc2.edu.vn Tin học đại cương - Chương Tên (định danh) q q q q Dùng để ñịnh danh thành phần chương trình Tên biến, tên hàm, tên hằng, file, cấu trúc… Gồm chữ, số, dấu gạch nối “_” Độ dài tối đa 32 q Lưu ý: – không đuợc chứa kí tự trống (space), – không bắt đầu chữ số, – không trùng với từ khóa q Nên đặt tên cách gợi nhớ, có ý nghĩa q Tên chuẩn: số tên có sẵn trình biên dịch Vd: x, hoten, a1, number_of_var, delta, TEN, … q C ngôn ngữ phân biệt viết hoa, viết thường bangtqh@utc2.edu.vn xác đến ký tự Tin học đại cương - Chương Hằng, Biến, Biểu thức q Hằng: – Là ñại lượng có giá trị không thay ñổi – Ví dụ: • 124 Là số • ‘D’ Là ký tự • “Lap trinh” Là chuỗi ký tự q Biến – Là ñại lượng thay ñổi giá trị (gán giá trị mới) q Biểu thức – Là công thức tính toán để có giá trị theo quy tắc toán học – Gồm toán hạng phép toán (toán tử) • Toán hạng: hằng, biến, hàm biểu thức khác • Phép toán: Số học, luận lý, gán, ñiều kiện, lấy địa chỉ, tăng giảm bangtqh@utc2.edu.vn Tin học đại cương - Chương 10 Các phép toán C hỗ trợ q q q q q q Số học: + , - , * , / , % Luận lý: ==, !=, >, =, b) ? max = a : max = b; bangtqh@utc2.edu.vn Tin học đại cương - Chương 50 Rẽ nhánh switch … case… q Rẽ nhánh if cho phép chọn hai phương án q Rẽ nhánh switch … case cho phép chọn nhiều phương án q Cú pháp: switch (biểu thức nguyên) { case n1: Các câu lệnh; case n2: Các câu lệnh; case nk: Các câu lệnh; [default: Các câu lệnh;] } bangtqh@utc2.edu.vn Tin học đại cương - Chương 51 Rẽ nhánh switch … case… q Công dụng – Nếu biểu thức nguyên có giá trị nhãn ni máy nhảy đến thực lệnh nhãn đó, không máy nhảy đến thực lệnh thành phần tùy chọn default – Máy khỏi toán tử switch gặp câu lệnh break, return gặp dấu “}” câu lệnh switch – Chú ý, máy nhảy tới nhãn ni, kết thúc dãy lệnh nhãn câu lệnh break return máy tiếp tục thực lệnh nhãn ni+1 – Thường cuối dãy lệnh nhãn có lệnh break bangtqh@utc2.edu.vn Tin học đại cương - Chương 52 Rẽ nhánh switch … case… bangtqh@utc2.edu.vn Tin học đại cương - Chương 53 bangtqh@utc2.edu.vn Tin học đại cương - Chương 54 Bài tập – cấu trúc rẽ nhánh Viết chương trình tìm giao điểm đường tâm O (x0, y0) bán kính R với đường thẳng y = ax + b Viết chương trình tính giá trị bậc N số nguyên X (N X nhập từ bàn phím) Viết chương trình cho phép giải hệ phương trình bậc ẩn x, y Viết chương trình nhập số nguyên x ≤ 9999 sau ñó in hình cách đọc số nguyên x theo phiên âm tiếng việt (ví dụ: 2010 – hai nghìn không trăm mười) Viết chương trình cho phép nhập tọa độ điểm A, B, C mặt phẳng Hãy cho biết tam giác ABC có tam giác cân hay không? Chu vi diện tích tam giác? bangtqh@utc2.edu.vn Tin học đại cương - Chương 55 Khái niệm cấu trúc lặp q Một công việc ñược thực lặp lặp lại nhiều lần q Ví dụ – In hình số từ đến 10, số dòng • Giải pháp đơn giản – printf(“1\n”); – printf(“2\n”); –… – printf(“10\n”); • Giải pháp tổng quát – Lặp i chạy từ tới 10 printf(“%d\n”, i); bangtqh@utc2.edu.vn Tin học đại cương - Chương 56 Lặp dạng for – Cú pháp for([B.Thức 1]; [B.thức 2]; [B.Thức 3]) ; • Các phần cặp dấu “[” “]” không bắt buộc • Các dấu “;” cặp ngoặc “(” “)” bắt buộc phải có – Ví dụ: bangtqh@utc2.edu.vn Tin học đại cương - Chương 57 Lặp dạng for Các bước hoạt động: 1.Tính B.Thức 2.Tính B.Thức • Nếu sai thoát vòng lặp • Nếu ñi vào thực việc cần lặp 3.Tính B.Thức 3, sau quay trở lại bước ñể bắt đầu bước lặp bangtqh@utc2.edu.vn Tin học đại cương - Chương FALSE TRUE 58 Lặp dạng for q Biểu thức 1: Thường phép gán để khởi tạo giá trị ban ñầu cho biến điều khiển q Biểu thức 2: Thường biểu thức điều kiện q Biểu thức 3: Cũng phép gán để thay ñổi giá trị biến điều khiển bangtqh@utc2.edu.vn Tin học đại cương - Chương 59 bangtqh@utc2.edu.vn Tin học đại cương - Chương 60 Tính S = + + + + N Vòng lặp chạy ngược từ N trở bangtqh@utc2.edu.vn Tin học đại cương - Chương 61 Lặp dạng for q Nhận xét – Biểu thức ñược tính lần – Biểu thức 2, biểu thức khối lệnh thân lệnh for ñược lặp lặp lại nhiều lần – Dựa giá trị khởi tạo biến điều khiển, ñiều kiện lặp biểu thức tính số lần lặp q Khi biểu thức vắng mặt ñược xem ñúng (vòng lặp vô hạn) – Để thoát khỏi lệnh for trường hợp phải dùng lệnh break return q Có thể sử dụng lệnh for lồng bangtqh@utc2.edu.vn Tin học đại cương - Chương 62 Lặp dạng for Tính TBC số lẻ ≤ N Tìm ước số chung lớn (UCLN) số a, b Kiểm tra xem số N có phải số nguyên tố không? Số tiền nhiều người tham gia “Đấu trường 100” ñạt ? Hiển thị tất số nguyên tố ≤ N In hình tam giác cân độ cao N gồm toàn dấu ‘*’ có dạng bên bangtqh@utc2.edu.vn Tin học đại cương - Chương 63 Kiểu array – mảng q Mảng kiểu liệu có cấu trúc người lập trình định nghĩa q Dùng biểu diễn đối tượng liệu dạng dãy thành phần có kiểu với (kiểu sở) q NNLT C ñịnh khối nhớ liên tục cho biến kiểu mảng q Kích thước mảng ñược xác định khai báo không thay ñổi bangtqh@utc2.edu.vn Tin học đại cương - Chương 64 Khai báo array C kiểucơsở TênBiến[Sốphầntử]; kiể kiểu củ mỗ thành phầ phần số số, số số thành phầ phần tối đa củ mả mảng Do lậ lập trì trình viên đặ đặt tên int a[100]; //a mảng biểu diễn dãy gồm 100 số nguyên int bangtqh@utc2.edu.vn Tin học đại cương - Chương 65 Kiểu array – ví dụ #defineSIZE 10 int a[5]; // a dãy gồm số nguyên // big: chiếm 400 bytes! long int big[100]; double d[100]; // d: chiếm 800 bytes! long double v[SIZE]; // v:10 long doubles int double short long a[5] d[100] primes[] b[50] = = = = { { { { 10, 20, 30, 40, 50}; 1.5, 2.7}; 1, 2, 3, 5, 7, 11, 13}; }; Trình biên dịch xác định kích thước gồm thành phần cách nhanh để khởi tạo tất thành phần bangtqh@utc2.edu.vn thành phần khởi tạo, phần lại: int i = 7; const int c = 5; int a[i]; double d[c]; short primes[]; Tin học đại cương - Chương 66 Kiểu array – Lưu ý q Các thành phần mảng truy xuất thông qua số chúng n-1 q Thao tác truy xuất không kiểm tra giới hạn số int int main() main() {{ int int a[6]; a[6]; int i int i == 7; 7; a[0] = 59; a[0] = 59; a[5] a[5] == -10; -10; a[i/2] = a[i/2] = 2; 2; = 0; a[6] a[6] = 0; a[-1] a[-1] == 5; 5; return 0; return 0; }} bangtqh@utc2.edu.vn a 59 2 -10 Tin học đại cương - Chương 67 Kiểu array – Thao tác sở Giới hạn số mảng ? bangtqh@utc2.edu.vn Tin học đại cương - Chương 68 Lặp dạng for – Bài tập Tính TBC số lẻ dãy số a1, a2,…,aN Tìm giá trị min/max dãy a1, a2,…,aN Đếm xem dãy a1, a2,…,aN có số nguyên tố ? Cho dãy điểm M1(x1, y1), M2(x2, y2),…,Mn(xn, yn) mặt phẳng Hãy: • Tìm độ dài đường gấp khúc M1M2 Mn • Tìm đoạn MiMj (i≠j) có ñộ dài lớn • Đếm xem có ñoạn cắt trục 0y • Có ñiểm thuộc góc phần tư thứ bangtqh@utc2.edu.vn Tin học đại cương - Chương 69 Lặp dạng while q Lệnh lặp while – Cú pháp while (biểu thức) khối lệnh cần lặp; – Ý nghĩa • Trong biểu thức có giá trị ñúng (khác 0) phải thực khối lệnh Việc lặp dừng lại biểu thức có giá trị sai (bằng 0) • Lặp while kiểm tra điều kiện trước thực khối lệnh – Hãy vẽ sơ ñồ khối biểu diễn lệnh while bangtqh@utc2.edu.vn Tin học đại cương - Chương 70 Lặp dạng while – Ví d bangtqh@utc2.edu.vn Tin học đại cương - Chương 71 Lặp dạng while – Lu ý q Nhận xét – Biểu thức điều kiện dược đặt cặp dấu “(” “)” – Biểu thức điều kiện ñược tính toán nên phải có giá trị xác định q Câu lệnh sau làm ? while(0) printf(“nothing\n”); q Hãy chuyển lệnh for dạng tổng quát thành lệnh while bangtqh@utc2.edu.vn Tin học đại cương - Chương 72 Lặp dạng do…while q Cú pháp khối lệnh; while (biểu thức); q Ý nghĩa – Thực khối lệnh biểu thức có giá trị ñúng (khác 0) – Thực khối lệnh trước kiểm tra biểu thức điều kiện – Khối lệnh thực lần q Hãy vẽ sơ ñồ khối biểu diễn lệnh … while bangtqh@utc2.edu.vn Tin học đại cương - Chương 73 Lặp do…while - ví dụ bangtqh@utc2.edu.vn Tin học đại cương - Chương 74 Lặp while do…while – Bài tập Viết chương trình nhập vào số nguyên N Hãy in hình biểu diễn dạng nhị phân (Binary) Viết chương trình tìm phần tử ñầu tiên dãy a1, a2,…,an thỏa mãn: tổng phần tử đứng trước Viết lại chương trình kiểm tra xem số N có nguyên tố hay không cách sử dụng do…while Chuyển đoạn mã lệnh dạng do…while thành dạng while bangtqh@utc2.edu.vn Tin học đại cương - Chương 75 break continue q Lệnh break thường sử dụng kết hợp lệnh lặp – Dùng để thoát khỏi vòng lặp cách bất thường (không quan tâm tới điều kiện lặp) – Nếu có nhiều lệnh lặp lồng lệnh break thoat vòng lặp trực tiếp chứa q Lệnh continue – Dùng để quay trở lại từ ñầu vòng lặp – Thực lần lặp mà không ñi hết lệnh lại thân vòng lặp bangtqh@utc2.edu.vn Tin học đại cương - Chương 76 bangtqh@utc2.edu.vn Tin học đại cương - Chương 77 [...]... của scanf bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 32 Kết hợp nhập và xuất dữ liệu Kết quả chương trình ? bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 33 Hàm gets q Thư viện: “conio.h” q Công dụng: nhập vào 1 xâu ký tự q Ví dụ: bangtqh@utc2.edu.vn Liệu có dùng gets nhập 1 số không? Tin học đại cương - Chương 4 34 bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 35 Một số hàm nhập/xuất dữ... FALSE bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 42 Viết chương trình nhập vào tọa độ của 3 ñiểm A, B, C trên mặt phẳng Kiểm tra xem tam giác ABC có là tam giác đều không? bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 43 Tính cước cuộc gọi điện thoại N giây biết rằng đơn giá 1 block là x ñồng, 1 block = 6 giây bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 44 Viết chương trình cho phép giải... sai; số ≠ 0: điều kiện đúng) if(delta=0) bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 47 Sử dụng else if q Khi muốn chọn 1 trong n quyết định thì sử dụng else if như sau: bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 48 Viết chương trình xếp loại học lực theo điểm trung bình học tập bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 49 Sử dụng toán tử ? thay if q Cú pháp: (điều kiện) ? lệnh 1... bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 52 Rẽ nhánh switch … case… bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 53 bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 54 Bài tập – cấu trúc rẽ nhánh 1 2 3 4 5 Viết chương trình tìm giao điểm của đường trong tâm O (x0, y0) bán kính R với đường thẳng y = ax + b Viết chương trình tính giá trị căn bậc N của số nguyên X (N và X đều nhập từ bàn phím) Viết chương. .. dòng) phải q Chương trình viết xong chưa thể biết được đúng hay sai chạy thử với các bộ số liệu khác nhau (nên test thử với các bộ số liệu đặc biệt) bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 21 bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 22 Xuất dữ liệu, hàm: printf q Thuộc thư viện “stdio.h” q Cú pháp: printf(“Xâu điều khiển”,[danh sách tham số]); q Ví dụ: bangtqh@utc2.edu.vn Tin học đại cương. .. mới bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 FALSE TRUE 58 Lặp dạng for q Biểu thức 1: Thường là 1 phép gán để khởi tạo giá trị ban ñầu cho biến điều khiển q Biểu thức 2: Thường là 1 biểu thức điều kiện q Biểu thức 3: Cũng là 1 phép gán để thay ñổi giá trị biến điều khiển bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 59 bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 60 Tính S = 3 + 6 + 9... q Công dụng: - Thực hiện 1 trong 2 lệnh tùy thuộc vào điều kiện đúng/sai Nếu thực nhiện nhiều hơn 1 lệnh phải để trong cặp dấu { } bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 40 Rẽ nhánh if - ví dụ1 q Tìm min của 2 số a, b nhập từ bàn phím bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 41 q Sử dụng các toán tử luận lý để xây dựng các điều kiện phức tạp hơn Toán tử Ký hiệu AND && OR || NOT !... y) bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 36 Màu sắc khi xuất dữ liệu q Đặt màu nền textbackground(màu nền) q Đặt màu chữ textcolor(màu chữ) bangtqh@utc2.edu.vn Hằng màu Giá trị ý nghĩa BLACK 0 Đen BLUE 1 Xanh dương GREEN 2 Xanh lá CYAN 3 Xanh ngọc RED 4 Đỏ MAGENTA 5 Tím BROWN 6 Nâu LIGHTGRAY 7 Xám Tin học đại cương - Chương 4 37 Bài tập - Nhập/xuất dữ liệu 1 Viết chương trình cho nhập các... và biện luận phương trình bậc 2 ax2 + bx + c = 0 bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 45 Rẽ nhánh if q Lưu ý: – Nếu sau if hoặc else tác động lên nhiều hơn 1 lệnh thì phải sử dụng cặp dấu { } – Nếu sau if có dấu ; thì ñiều kiện không còn tác động đến lệnh phía sau kết quả ? bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 46 Rẽ nhánh if q Lưu ý: – Giá trị số cũng được coi là ñiều kiện (số... return 0; }} bangtqh@utc2.edu.vn a 59 0 1 2 2 3 4 -10 5 Tin học đại cương - Chương 4 67 Kiểu array – Thao tác cơ sở Giới hạn chỉ số mảng ? bangtqh@utc2.edu.vn Tin học đại cương - Chương 4 68 Lặp dạng for – Bài tập 1 Tính TBC các số lẻ trong dãy số a1, a2,…,aN 2 Tìm giá trị min/max trong dãy a1, a2,…,aN 3 Đếm xem trong dãy a1, a2,…,aN có bao nhiêu số nguyên tố ? 4 Cho dãy điểm M1(x1, y1), M2(x2, y2),…,Mn(xn, ... bangtqh@utc2.edu.vn Tin học đại cương - Chương 52 Rẽ nhánh switch … case… bangtqh@utc2.edu.vn Tin học đại cương - Chương 53 bangtqh@utc2.edu.vn Tin học đại cương - Chương 54 Bài tập – cấu trúc rẽ nhánh Viết chương. .. bangtqh@utc2.edu.vn Tin học đại cương - Chương 59 bangtqh@utc2.edu.vn Tin học đại cương - Chương 60 Tính S = + + + + N Vòng lặp chạy ngược từ N trở bangtqh@utc2.edu.vn Tin học đại cương - Chương 61 Lặp... bangtqh@utc2.edu.vn Tin học đại cương - Chương 44 Viết chương trình cho phép giải biện luận phương trình bậc ax2 + bx + c = bangtqh@utc2.edu.vn Tin học đại cương - Chương 45 Rẽ nhánh if q Lưu

Ngày đăng: 04/12/2015, 09:19

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan