TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc

Tài liệu tương tự
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 9. Vào ra dữ liệu trong C Các lệnh vào ra dữ liệu C cun

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Mảng và xâu kí tự Nội dung 1. Mảng 2. Xâu kí tự 2 1

Chương trình dịch

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Lập trình và ngôn ngữ lập trình

ĐỀ THI GIỮA KỲ MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề số 1. Thời gian 120 phút (Sinh viên KHÔNG được sử dụng tài liệu hay máy tính ) Xây dựng lớp STRING và

PowerPoint Presentation

PowerPoint Template

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Danh sách tuyến tính kiểu hàng đợi Danh sách tuyến tính kiểu hàng đợi Bởi: Khoa CNTT ĐHSP KT Hưng Yên ĐỊNH NGHĨA Hàng đợi là một vật chứa (container)

Bài tập thực hành NNLT Visual Basic GV. Nguyễn Thị Hải Bình BÀI THỰC HÀNH ÔN TẬP 1. Sinh viên ĐỌC CẨN THẨN TẤT CẢ NỘI DUNG trong bài thực hành trước k

Microsoft Word - danh-sach-lien-ket-doi-trong-c.docx

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Tệp tin Nội dung 1. Khái niệm cơ bản 2. Các thao tá

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

Microsoft Word - bo_tien_xu_ly_trong_c.docx

Các cấu trúc logic trong lập trình 1 Cấu trúc tuần tự (Sequence) 1.1 Những câu lệnh phải được sắp xếp theo thứ tự Một số hướng dẫn cho việc tổ chức câ

NHẬP MÔN LẬP TRÌNH C Phân bổ thời gian thực hành (12 tuần, 5 tiết/tuần) Tuần 01-02: Chương 1. Các thành phần cơ bản của Ngôn ngữ C Chương 2. Nhập xuất

Chương 1:

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

C++ và lập trình hướng đối tượng C++ và lập trình hướng đối tượng Bởi: Phạm Văn Ất Làm việc với TC Các ví dụ trong cuốn sách này sẽ viết và thực

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

ĐIỂM THI KHỐI A ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG ầ ươ ữ ặ ố ả ườ ườ ườ ễ ướ ườ ườ ầ ườ ễ ữ ấ ồ ấ ứ ấ ố ấ ễ ấ ễ ả ấ ễ ướ ấ ễ ấ ễ ấ ễ ấ ễ ấ ấ ồ ố ấ ạ ấ ầ ấ ầ ấ

I. MSWLogo là gì. Giới thiệu. Là một ngôn ngữ lập trình được thiết kế và phát triển bởi Seymour Papert, Daniel Bobrow và Wallace Feurzeig. Trong chươn

9-KiemThu

BỘ GIAO THÔNG VẬN TẢI TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO C MA Y TI NH KHOA: CÔNG NGHỆ THÔNG TIN BÀI GIẢNG KỸ THUẬT LẬP TRÌNH C TÊN HỌC PHẦN : KỸ

Microsoft Word - jsp_syntax.docx

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Java cơ bản

Microsoft Word - Bai tap THPPLT_new.doc

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

Trung Tâm Gia Sư Tài Năng Việt Đề Số 1 Câu 1: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: S

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

Animation, Modules 6 - Hoạt hình, tách file

Loi vong lap lap vo tan - Worksheet_Change

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Slide 1

GV NGUYỄN KHẮC HƯỞNG ĐỀ SỐ 148 (Đề thi có 5 trang) ĐỀ THI THỬ THPT QUỐC GIA 2017 Môn thi: TOÁN Thời gian làm bài: 90 phút. Họ và tên thí sinh:

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

01_De KSCL Giua Ki 1 Toan 10_De 01

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

VỤ KIỆN 2 THẾ KỶ: TRỊNH VĨNH BÌNH VS. CHÍNH PHỦ VIỆT NAM Kỳ 3: Vụ án lên đến Bộ Chính trị Khánh An VOA Với số tiền gần 2,5 triệu đô la và 96 kg vàng m

PowerPoint Presentation

LỌC ĐIỆN

Số tín chỉ Lý thuyết Chữa bài tập /Thảo luận Thí nghiệm /Thực hành (tiết) BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Microsoft Word - cau-truc-du-lieu-hang-doi.docx

UART0

Bài tập chương 1 ngôn ngữ lập trình visual basic Bài tập chương 1 ngôn ngữ lập trình visual basic Bởi: Khoa CNTT ĐHSP KT Hưng Yên MỤC TIÊU: SAU KHI HO

Slide 1

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

Microsoft Word - Chương trình ĂÀo tạo - Website

Microsoft Word - VaiDieuThuViVeMotLoaiTamGiacDacBiet

LỜI CẢM ƠN

GV NGUYỄN KHẮC HƯỞNG ĐỀ SỐ 120 (Đề thi có 5 trang) ĐỀ THI THỬ THPT QUỐC GIA 2017 Môn thi: TOÁN Thời gian làm bài: 90 phút. Họ và tên thí sinh:

Microsoft Word - SỐ PHỨC.doc

Số 143 (7.491) Thứ Năm ngày 23/5/2019 XUẤT BẢN TỪ NĂM http:

Microsoft Word - bai tap ve tiep tuyen 1.doc

ĐỀ cương chương trình đẠi hỌc

Đề toán thi thử THPT chuyên Hùng Vương tỉnh Bình Dương năm 2018

Số nguyên tố Sinh số nguyên tố mạnh dùng trong mật mã Nguyễn Đức Thắng Sinh viên TI26 TLU 1 / 23

ĐỀ CƯƠNG ÔN TẬP HỌC KÌ I MÔN TOÁN 6 A. LÝ THUYẾT : I. SỐ HỌC: 1. Viết dạng tổng quát của tính chất giao hoán, kết hợp, của phép cộng và phép nhân, tín

(Tái bản lần thứ hai)

Chương trình dịch

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Nhập môn Công Nghệ Thông Tin 1

META.vn Mua sắm trực tuyến HƯỚNG DẪN SỬ DỤNG LÒ CHIÊN CHÂN KHÔNG MAGIC A70 New 1. Cảnh báo Vui lòng đọc kỹ hướng dẫn này và giữ lại cho các lần sử dụn

Làm quen với chương trình Microsoft Excel Làm quen với chương trình Microsoft Excel Bởi: unknown Làm quen với chương trình Những thao tác đầu tiên với

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM NGHỆ THUẬT TRUNG ƯƠNG NGUYỄN THỊ PHƯƠNG NHUNG DẠY HỌC MÔN TRANG TRÍ CHO NGÀNH CAO ĐẲNG SƯ PHẠM TIỂU HỌC

GV NGUYỄN KHẮC HƯỞNG ĐỀ SỐ 89 (Đề thi có 5 trang) ĐỀ THI THỬ THPT QUỐC GIA 2017 Môn thi: TOÁN Thời gian làm bài: 90 phút. Họ và tên thí sinh:

Quy dinh lap ke hoach

Chương 1:

Tìm đường đi và kiểm tra tính liên thông Tìm đường đi và kiểm tra tính liên thông Bởi: Thạc sĩ Nguyễn Thanh Hùng Trong mục này ta xét ứng dụng các thu

HOC360.NET - TÀI LIỆU HỌC TẬP MIỄN PHÍ CHƯƠNG 04 BÀI TOÁN VẬN DỤNG CAO SỐ PHỨC... Các khái niệm cơ bản nhất Chủ đề 1. Các bài toán tính toán số phức B

SỞ GD VÀ ĐT VĨNH PHÚC TRƯỜNG THPT ĐỒNG ĐẬU ĐỀ KHẢO SÁT THPTQG LẦN I MÔN: TOÁN Thời gian làm bài: 90 phút;không kể thời gian phát đề Đề gồm 50 câu trắc

NHỮNG CHÂN DUNG CỦA MỘT THỜI ĐÃ MẤT Thi Phương Ngô Thế Vinh là một tác giả đặc biệt, rất đặc biệt trong văn học Miền Nam - trước đây và cả ngày nay. N

ruot-waranty-full

ĐỀ CƯƠNG PHÁP LUẬT C u 1 : Hành vi nhũng nhiễu vì vụ lợi A. Sử dụng tài sản của Nhà nước vượt chế độ, định mức, tiêu chuẩn; C. Sử dụng chức vụ, quyền

2018 Nhận xét, phân tích, góp ý cho Chương trình môn Tin học trong Chương trình Giáo dục Phổ thông mới

TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI VIETTEL TRUNG TÂM CÔNG NGHỆ THÔNG TIN 1 HƯỚNG DẪN SỬ DỤNG HỆ THỐNG QUẢN LÝ VÀ ĐIỀU HÀNH VĂN BẢN ĐIỆN TỬ Đối tượng Văn thư

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên: Đỗ Thị Thanh Tuyền

Microsoft Word - khoahochethong.docx

HOC360.NET - TÀI LIỆU HỌC TẬP MIỄN PHÍ THỬ SỨC TRƯỚC KÌ THI THPTQG Đề Chuẩn 06 Thời gian làm bài : 90 phút Câu 1: Tìm tất cả các giá trị thực của x để

Đề thi Violympic Toán lớp 8 vòng 1 năm Bài 1: Sắp xếp các giá trị theo thứ tự tăng dần Bài 2: Vượt chướng ngại vật Câu 2.1: Giá trị của x th

Thực hành hàm kết hợp và gom nhóm Thực hành hàm kết hợp và gom nhóm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Hàm kết hợp Hàm count(), min(),

HƯỚNG DẪN SỬ DỤNG F10 FROM LOCKS-DOOR VIETNAM TEL Công ty Cổ phần kinh doanh công nghệ Alense Việt Nam xin gửi tới quý kh

TỔNG HỢP BỘ CÂU HỎI VỀ DỰ ÁN XÂY DỰNG KHU NHÀ Ở THƯƠNG MẠI GIAI ĐOẠN 1 STT NỘI DUNG CÂU HỎI Tầng hầm của dự án có quy mô ra sao, có thông giữa t

Liên Trì Ðại Sư - Liên Tông Bát Tổ

Kinh Tám Điều Giác Ngộ Của Các Bậc Đại Nhân

Ảnh hưởng của môi trường không khí và chọn thông số tính toán các hệ thống điều hoà không khí Ảnh hưởng của môi trường không khí và chọn thông số tính

Phân tích bài thơ “Nhớ rừng” của Thế Lữ – Ngữ Văn 9

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC TRỊNH HỒNG UYÊN MỘT SỐ PHƯƠNG PHÁP GIẢI PHƯƠNG TRÌNH VÔ TỶ LUẬN VĂN THẠC SỸ TOÁN HỌC Chuyên ngành: PHƯƠNG

Microsoft Word - Document1

Phương pháp biểu diễn thuật toán Phương pháp biểu diễn thuật toán Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khi chứng minh hoặc giải một bài toán trong toán học

Bản ghi:

TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc lệnh khối 2. Cấu trúc rẽ nhánh 2.1. Cấu trúc if, if else 2.2. Cấu trúc lựa chọn switch 3. Cấu trúc lặp 3.1. Vòng lặp for 3.2. Vòng lặp while 4. Các lệnh thay đổi cấu trúc lập trình 4.1. continue 4.2. break 2 1

1. Cấu trúc lệnh khối Thể hiện cấu trúc tuần tự Lệnh khối là dãy các câu lệnh được đặt trong cặp dấu ngoặc nhọn lenh_1; lenh_2;. lenh_n; C cho phép khai báo biến trong lệnh khối, nhưng phần khai báo phải nằm trước câu lệnh. 3 1. Cấu trúc lệnh khối (2) Lệnh khối lồng nhau: Trong một lệnh khối có thể chứa lệnh khối khác Sự lồng nhau là không hạn chế lenh; lenh;... 4 2

1. Cấu trúc lệnh khối (2) Ví dụ: #include <conio.h> #include <stdio.h> int main() //noi dung cua ham main() cung la mot khoi lenh // khai bao bien int c = 10; printf( Gia tri cua c = %d day la c ngoai,c); // bat dau mot khoi lenh khac int c = 20; printf( \n Gia tri cua c = %d day la c trong,c); printf( \n Tang gia tri cua c them 10 don vi ); c = c + 10; printf( \n Gia tri cua c = %d day la c trong,c); printf( \n Gia tri cua c = %d day la c ngoai,c); getch(); return 0; // ket thuc khoi lenh cua ham main() 5 1. Cấu trúc lệnh khối (2) Kết quả: Gia tri cua c = 10 day la c ngoai Gia tri cua c = 20 day la c trong Tang gia tri cua c them 10 don vi Gia tri cua c = 30 day la c trong Gia tri cua c = 10 day la c ngoai 6 3

Nội dung 1. Cấu trúc lệnh khối 2. Cấu trúc rẽ nhánh 2.1. Cấu trúc if, if else 2.2. Cấu trúc lựa chọn switch 3. Cấu trúc lặp 3.1. Vòng lặp for 3.2. Vòng lặp while 4. Các lệnh thay đổi cấu trúc lập trình 4.1. continue 4.2. break 7 Cấu trúc rẽ nhánh nếu biểu thức điều kiện đúng (giá trị chân lý là True) thực hiện công việc 1. nếu biểu thức điều kiện đúng (giá trị chân lý là True) thực hiện công việc 1. nếu biểu thức điều kiện sai (giá trị chân lý là False) thực hiện công việc 2. 8 4

2.1. Cấu trúc if, if else Cú pháp cấu trúc if if (bieu_thuc_dieu_kien) lenh; //bieu_thuc_dieu_kien đúng Cú pháp cấu trúc if else if (bieu_thuc_đieu_kien) lenh_1;//bieu_thuc_dieu_kien đúng else lenh_2;// bieu_thuc_dieu_kien sai 9 Biểu thức điều kiện bieu_thuc_dieu_kien Biểu thức logic :!, &&, Biểu thức quan hệ : ==,!=, >, >=, <, <= Biểu thức số học if (bieu_thuc_so_hoc) tương đương với if (bieu_thuc_so_hoc!= 0) Phức hợp Kiểm tra điều kiện bộ 3 số (a,b,c) là số đo 3 cạnh của một tam giác (a < b + c) && (b < c + a) && (c < a + b) Kiểm tra với 3 cạnh (a,b,c), tam giác có cân không? (a == b) (b == c) (c == a) 10 5

Ví dụ Tìm số lớn hơn trong 2 số thực a và b: #include <conio.h> #include <stdio.h> int main() // khai bao bien float a, b, max; printf( Nhap gia tri a va b: ); scanf( %f %f,&a,&b); if(a < b) max = b; else max = a; printf( \n So lon hon trong 2 so %f va %f la %f, a, b, max); getch(); return 0; //ket thuc ham main() Kết quả: Nhap vao 2 gia tri a va b: 23 247 So lon nhat trong hai so 23 va 247 la 247 11 Kết hợp lệnh khối if (bieu_thuc_dieu_kien) Khoi_lenh_1; else Khoi_lenh_2; 12 6

Ví dụ //Khai báo tệp tiêu đề #include <stdio.h> #include <conio.h> //nội dung chương trình chính int main () float x,y; //khai báo 2 biến đầu vào float thuong; //Khai báo thương 2 số if (y==0) printf( Loi chia cho 0 ); else thuong = x/y; printf( Ket qua la : %f,thuong); getch(); return 0; 13 Cấu trúc if...else if Rẽ nhiều nhánh if (bieu_thuc_dieu_kien_1) Khoi_lenh_1; else if (bieu_thuc_dieu_kien_2) Khoi_lenh_2;... else if (bieu_thuc_dieu_kien_n) Khoi_lenh_n; else Khoi_lenh_cuoi_cung; 14 7

Bài tập Giải phương trình bậc nhất Giải phương trình ax + b = 0 15 Bài tập - Giải phương trình bậc 2 1. Giải PT bậc 2 trên tập số thực ax 2 + bx + c = 0 (a 0) 2. Cải tiến 1 : giải trên tập số phức 3. Cải tiến 2 : kiểm tra điều kiện của a 16 8

Chú ý Tương đương? if (dieu_kien) Cong_viec_1; else Cong_viec_2; if (dieu_kien_1) if (dieu_kien_2) Cong_viec_1; else Cong_viec_2;? if (dieu_kien) Cong_viec_1; if (! dieu_kien) Cong_viec_2; if (dieu_kien_1) if (dieu_kien_2) Cong_viec_1; else Cong_viec_2; if (dieu_kien_1) if (dieu_kien_2) Cong_viec_1; else Cong_viec_2; 17 Bài tập Viết chương trình có những chức năng sau: 1. Hiển thị một bảng chọn sau 2. Cho phép người dùng nhập 2 số nguyên dương 3. Cho phép người dùng đưa ra lựa chọn 1 chức năng. Tùy theo lựa chọn của người dùng, hãy thực hiện công việc tương ứng. nếu người dùng nhấn 1 phím khác hãy thông báo và dừng chương trình. 18 9

2.2. Cấu trúc lựa chọn switch Cú pháp cấu trúc switch switch (bieu_thuc) case gia_tri_1: lenh_1; break; case gia_tri_2: lenh_2; break; case gia_tri_n: lenh_n; break; default: lenh_n+1; break; Giá trị của biểu thức kiểm tra (bieu_thuc) phải là số nguyên: Phải có kiểu dữ liệu là char, int, long. Tương ứng các giá trị sau case (gia_tri_1, gia_tri_2, ) cũng phải là số nguyên. Case chỉ đóng vai trò là nhãn, lệnh break được sử dụng để thoát ra khỏi cấu trúc switch 19 2.2. Cấu trúc lựa chọn switch Ví dụ: Trong một năm các tháng có 30 ngày là 4, 6, 9, 11 còn các tháng có 31 ngày là 1, 3, 5, 7, 8, 10, 12. Riêng tháng hai có thể có 28 hoặc 29 ngày. Hãy viết chương trình nhập vào 1 tháng, sau đó đưa ra kết luận tháng đó có bao nhiêu ngày. 20 10

2.2. Cấu trúc lựa chọn switch (6) #include <conio.h> #include <stdio.h> int main () int thang; clrscr(); printf("\n nhap vao thang trong nam "); scanf("%d",&thang); switch(thang) case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("\n Thang %d co 31 ngay ",thang); break; 21 2.2. Cấu trúc lựa chọn switch (7) case 4: case 6: case 9: case 11: printf("\n Thang %d co 30 ngay ",thang); break; case 2: printf ("\ Thang 2 co 28 hoac 29 ngay"); break; default : printf("\n Khong co thang %d", thang); break; getch(); return 0; 22 11

Bài tập 23 Bài tập (tiếp) Bài 4: Để đánh giá mức độ gầy hay béo của một người, các nhà khoa học sử dụng chỉ số BMI được tính theo công thức BMI = Cân nặng/(chiều cao) 2 Trong đó Chiều cao tính bằng đơn vị mét. Ví dụ một người cao 1.70 m, nặng 65kg có chỉ số BMI = 65/1.70 2 = 22.5. Kết quả đánh giá như sau: BMI < 18 Chỉ số người gầy Đánh giá 18 BMI <25 Cân nặng bình thường 25 BMI < 30 Thừa cân BMI 30 Béo phì Viết chương trình kiểm tra chỉ số BMI của một người. 24 12

Bài tập (tiếp) Bài 5: Đơn giá điện sinh hoạt được tính theo bảng sau Mức tiêu thụ (kwh) Giá tiền 0 đến 50 1000 đồng 51 đến 100 1200 đồng 101 đến 150 1500 đồng Trên 150 2000 đồng Viết chương trình tính số tiền điện phải trả của một gia đình trong tháng. 25 Nội dung 1. Cấu trúc lệnh khối 2. Cấu trúc rẽ nhánh 2.1. Cấu trúc if, if else 2.2. Cấu trúc lựa chọn switch 3. Cấu trúc lặp 3.1. Vòng lặp for 3.2. Vòng lặp while 4. Các lệnh thay đổi cấu trúc lập trình 4.1. continue 4.2. break 26 13

Cấu trúc lặp nếu biểu thức điều kiện còn đúng, thực hiện công việc trong vòng lặp Thực hiện công việc trong vòng lặp 1 lần Khi biểu thức điều kiện còn đúng, thực hiện công việc trong việc trong vòng lặp 27 3.1. Vòng lặp while và do...while Mục đích: Dùng để thực hiện lặp đi lặp lại một công việc trong khi còn thỏa mãn điều kiện nào đó. 2 cấu trúc: while (bieu_thuc_dieu_kien) Khoi_lenh; hoặc do Khoi_lenh; while (bieu_thuc_dieu_kien); 28 14

3.2. Vòng lặp while và do... while (2) while: Kiểm tra giá trị của bieu_thuc_dieu_kien trước rồi mới thực hiện Khoi_lenh Các câu lệnh có thể không được thực hiện lần nào. do while: Thực hiện Khoi_lenh trước rồi mới kiểm tra bieu_thuc_dieu_kien của vòng lặp. Các câu lệnh được thực hiện ít nhất 1 lần. 29 3.2. Vòng lặp while và do...while (3) bieu_thuc_dieu_kien Biểu thức logic :!, &&, Biểu thức quan hệ : ==,!=, >, >=, <, <= Biểu thức số học while (bieu_thuc_so_hoc) tương đương với while (bieu_thuc_so_hoc!= 0) Phức hợp Sau mỗi bước lặp, kiểm tra lại giá trị của bieu_thuc_dieu_kien 30 15

3.2. Vòng lặp while (4) Ví dụ: nhập vào điểm của một sinh viên, nếu điểm đó không [0, 10] thì thông báo cho người dùng nhập lại. nhận xét: nếu dùng lệnh if Chỉ kiểm tra được 1 lần Chưa biết trước số lần lặp, người dùng được nhập ít nhất 1 lần 31 3.1. Vòng lặp while (5) Sử dụng cấu trúc do... while do printf("nhap diem (0<=diem<=10):"); scanf("%f",&diem); if ((diem < 0) (diem > 10)) printf("\nban nhap khong dung! Hay nhap lai\n"); while ((diem < 0) (diem > 10)); Sử dụng cấu trúc while... //nhập lần đầu tiên printf("nhap diem (0<=diem<=10):"); scanf("%f",&diem); //kiểm tra while ((diem < 0) (diem > 10)) printf("\nban nhap khong dung! Hay nhap lai\n"); printf( nhập điểm(0<=diem<=10):"); scanf("%f",&diem); 32 16

Ví dụ Cài đặt thuật toán Bổ sung 1 : kiểm tra giá trị n Bổ sung 2 : cho người dùng thực hiện lại cho đến khi nhấn phím X Bổ sung 3 : Kiểm tra tính hoàn hảo của n 33 Thảo luận Vòng lặp vô hạn : Khi nào xảy ra? Tác hại? Trong một số trường hợp cần dùng while (1)... thì trong vòng lặp phải có các câu lệnh thay đổi cấu trúc để thoát ra ngoài. Vòng lặp hữu hạn : làm thế nào để điều kiện dừng xảy ra? nhận xét while(dieu_kien1 dieu_kien2) tương đương với while (1) if (! (dieu_kien1 dieu_kien2) exit; while(dieu_kien1 && dieu_kien2) Tương đương với? 34 17

3.2. Vòng lặp for Mục đích Dùng để thực hiện lặp đi lặp lại một công việc nào đó (thông thường với số lần lặp xác định) Cú pháp: for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3) Khoi_lenh; Trong đó: bieu_thuc_1: Khởi tạo giá trị ban đầu cho vòng lặp bieu_thuc_2: Điều kiện tiếp tục vòng lặp bieu_thuc_3: Thay đổi giá trị biến điều khiển vòng lặp Chú ý các biểu thức 1, 2, 3 có thể có hoặc không 35 3.2. Vòng lặp for (2) Ví dụ: Đưa ra màn hình các số nguyên lẻ nhỏ hơn 100 #include <stdio.h> #include <conio.h> int main() int i; for(i = 1;i < 100;i++) if(i%2 == 1) printf( %5d,i); if((i+1)%20 == 0) printf( \n ); getch(); return 0; 36 18

3.2. Vòng lặp for (3) Ví dụ: Đưa ra màn hình các số nguyên lẻ nhỏ hơn 100 #include <stdio.h> #include <conio.h> int main() int i; for(i = 1;I < 100;i+=2) printf( %5d,i); if((i+1)%20 ==0) printf( \n ); getch(); return 0; 37 3.2. Vòng lặp for (4) Kết quả thực hiện 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 38 19

Nội dung 1. Cấu trúc lệnh khối 2. Cấu trúc rẽ nhánh 2.1. Cấu trúc if, if else 2.2. Cấu trúc lựa chọn switch 3. Cấu trúc lặp 3.1. Vòng lặp for 3.2. Vòng lặp while 4. Các lệnh thay đổi cấu trúc lập trình 4.1. continue 4.2. break 39 4. Các lệnh thay đổi cấu trúc lập trình Đối với các lệnh lặp: while, do... while, hoặc for Thay đổi việc thực hiện lệnh trong vòng lặp C cung cấp 2 lệnh: continue; break; 40 20

4. Các lệnh thay đổi cấu trúc lập trình continue Bỏ qua việc thực hiện các câu lệnh nằm sau lệnh continue trong thân vòng lặp. Chuyển sang thực hiện một vòng lặp mới break Thoát khỏi vòng lặp ngay cả khi biểu thức điều kiện của vòng lặp vẫn còn được thỏa mãn. 41 4. Các lệnh thay đổi cấu trúc lập trình Ví dụ: #include <stdio.h> #include <conio.h> int main() int i; for(i = 1;i<=10;i++) if(i == 5) continue; printf( %5d,i); if(i==7) break; getch(); return 0; 42 21

4. Các lệnh thay đổi cấu trúc lập trình Ví dụ: nhập vào 1 số nguyên. Kết luận số đó là số nguyên tố hay là hợp số? 43 #include <stdio.h> #include <math.h> int main() int n, i, kiemtra = 1; printf("\nnhap gia tri n : "); scanf("%d", &n); if (n<2) printf("\nso %d khong la so nguyen to va khong la hop so.", n); else for (i=2; i<n; i++) if (n%i == 0) kiemtra = 0; break; if (kiemtra) printf("\nso %d la so nguyen to.", n); else printf("\nso %d la hop so.", n); getch(); return 0; 44 22

#include <stdio.h> #include <math.h> int main() int n, i, kiemtra = 1; printf("\nnhap gia tri n : "); scanf("%d", &n); if (n<2) printf("\nso %d khong la so nguyen to va khong la hop so.", n); else for (i=2; i<=(int)sqrt(n); i++) if (n%i == 0) kiemtra = 0; break; if (kiemtra) printf("\nso %d la so nguyen to.", n); else printf("\nso %d la hop so.", n); getch(); return 0; 45 Câu hỏi? 46 23