1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng tin học đại cươn

45 8 0

Đ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

Tiêu đề Cấu trúc lệnh lặp
Trường học Trường Đại Học Thủy Lợi
Chuyên ngành Tin học đại cương
Thể loại bài giảng
Thành phố Hà Nội
Định dạng
Số trang 45
Dung lượng 292,21 KB

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

Nội dung

Các cấu trúc lệnh Cấu trúc tuần tự: Thực hiện các câu lệnh một cách tuần tự từ trên xuống dưới Cấu trúc lựa chọn: Chọn thực hiện một nhóm lệnh Cấu trúc lựa chọn: Chọn thực hiện một nhó

Trang 1

Môn học Tin đại cương

Bộ môn Khoa học máy tính, Khoa Công nghệ

thông tin, Trường đại học Thủy Lợi

Trang 4

Các cấu trúc lệnh

 Cấu trúc tuần tự: Thực hiện các câu lệnh một cách tuần tự từ trên xuống dưới

 Cấu trúc lựa chọn: Chọn thực hiện một nhóm lệnh

 Cấu trúc lựa chọn: Chọn thực hiện một nhóm lệnh dựa trên một điều kiện nào đó

- câu lệnh if, câu lệnh switch

 Cấu trúc lặp: Thực hiện lặp đi lặp lại một nhóm

lệnh cho đến khi một điều kiện nào đó được thỏa mãn

- vòng lặp for ,vòng lặp while, vòng do-while

Trang 5

Cấu trúc lặp

 Khi giải quyết một vấn đề đôi khi ta cần làm đi làm lại một công việc nhiều lần, trong ngôn ngữ lập trình người ta gọi đó là “lặp”

 Số lần lặp có thể biết trước hoặc không biết trước.Số lần lặp có thể biết trước hoặc không biết trước

 VD: In ra 10 số tự nhiên từ 1->10, mỗi số in trên 1 dòng

 C++ cung cấp ba cấu trúc lặp:

 Vòng lặp for (lặp biết trước số lần lặp)

 Vòng lặp while (kiểm tra điều kiện trước)

 Vòng lặp do-while (kiểm tra điều kiện sau)

Trang 6

- Khởitạo: Gán giá trị ban đầu cho biến điều khiển

- Điềukiện: Là một biểu thức logic, trả về giá trị true hoặc false

- Lệnhlặp: Tăng hoặc giảm giá trị của biến điều khiển

- Côngviệc: có thể là một lệnh đơn hoặc một lệnh

ghép (khối lệnh)

Trang 7

Vòng lặp for

 Lưu đồ:

Trang 8

Vòng lặp for

 Bước 1: Gán giá trị ban đầu cho một biến điều

khiển, việc này chỉ được thực hiện 1 lần

Bước 2: Kiểm tra Điềukiện Nếu Điềukiện là đúng

 Bước 2: Kiểm tra Điềukiện Nếu Điềukiện là đúng tiếp tục lặp, ngược lại kết thúc việc lặp

 Bước 3: Thực hiện Côngviệc

 Bước 4: Tăng hoặc giảm giá trị của biến điều

khiển và quay lại bước 2

Trang 9

Vòng lặp for

 Ví dụ:

Trang 10

Lệnh break

 Được sử dụng để thoát khỏi vòng lặp khi điều kiện dừng chưa được thỏa mãn

Trang 11

Vòng lặp lồng nhau

 Vòng lặp lồng nhau: một vòng lặp nằm trong thân một vòng lặp khác

 Ví dụ:

Trang 13

Vòng lặp while

 Lưu đồ:

 Sự thực hiện: Khi Điềukiện còn đúng thì Côngviệc còn được thực hiện

Trang 14

Vòng lặp while

− Kiểm tra Điềukiện rồi mới thực hiện Côngviệc, nên Côngviệc có thể không được thực hiện lần nào

nếu Điềukiện sai ngay từ đầu

nếu Điềukiện sai ngay từ đầu

− Trong Côngviệc thường có ít nhất một lệnh gây ảnh hưởng đến giá trị của biểu thức Điềukiện, làm cho biểu thức Điềukiện đang đúng trở thành sai

− Nếu Điềukiện luôn luôn nhận giá trị đúng thì trong Côngviệc phải có lệnh kiểm tra điều kiện dừng và lệnh break

Trang 15

Vòng lặp while

 Ví dụ:

Trang 17

Vòng lặp do-while

 Lưu đồ:

Sự thực hiện: Côngviệc còn được thực hiện khi

Trang 18

Vòng lặp do-while

− Thực hiện Côngviệc rồi mới kiểm tra Điềukiện, do

đó Côngviệc sẽ được thực hiện ít nhất một lần

− Các đặc điểm khác của vòng lặp do-while cũng

− Các đặc điểm khác của vòng lặp do-while cũng giống với vòng lặp while

Trang 19

Vòng lặp do-while

 Ví dụ:

Trang 20

Bài tập

1,Tính tổng S=1+1/2+1/3+ +1/n Biết rằng n là một

số nguyên dương được nhập từ bàn phím

2,Tính tổng các số nhập vào từ bàn phím khi tổng còn nhỏ hơn 100

nhỏ hơn 100

3,Bài toán cổ: Vừa gà vừa chó, bó lại cho tròn, ba

mươi sáu con, một trăm chân chẵn Hỏi có bao nhiêu

gà và bao nhiêu chó?

Trang 21

Môn học Tin đại cương

Bộ môn Khoa học máy tính, Khoa Công nghệ

thông tin, Trường đại học Thủy Lợi

Trang 22

Chữa các bài tập kết hợp cấu trúc rẽ nhánh, lặp

Bài 1.Viết một chương trình chuyển từ điểm chữ học tập về loại kết quả học tập Đầu vào là một kí tự (char) và đầu

tập Đầu vào là một kí tự (char) và đầu

ra là kết quả học tập tương ứng:

A: loại giỏi, B: loại khá, C: loại trung bình, D: loại trung bình yếu, F: loại yếu Các chữ cái khác thì trả về điểm chữ không hợp lệ

Trang 23

 Bài 2 Cho một số nguyên dương n

Tính n!

trị của biểu thức sau:

Trang 24

 Bài 4 Viết hàm lachinhphuong(x) kiểm tra x có phải là số chính phương không (số chính phương là bình phương của một số tự nhiên)

Sử dụng hàm lachinhphuong để xác định có bao nhiêu số chính phương trong n số tự nhiên.

Trang 25

 Bài 6 viết chương trinh tìm tất cả các số

kì diệu la số có ba chữ số abc thoả mãn:

 a2+ b2+c2=abc

Bài 7 Viết hàm timMax có đầu vào là số nguyên n cho phép nhập vào n số thực

và đưa ra số lớn nhất.

Trang 26

 Bài 8 Viết hàm timMin có đầu vào là số nguyên n cho phép nhập vào n số thực

và đưa ra số nhỏ nhất.

các trường hợp sau, nếu chọn 0 thì thoát, nếu chọn 1 thì ta gọi hàm timMax, nếu chọn 2 thì ta gọi hàm timMin.

Trang 27

Môn học Tin đại cương

Bộ môn Khoa học máy tính, Khoa Công nghệ

thông tin, Trường đại học Thủy Lợi

Trang 29

 Mảng là tập hữu hạn các phần tử có cùng kiểu dữ liệu và chiếm một vùng liên tục trong bộ nhớ

 Vị trí tương đối giữa các phần tử trong mảng được xác định bởi chỉ số

xác định bởi chỉ số

 Ví dụ: Mảng a chứa 5 giá trị nguyên kiểu int có thể được biểu diễn như sau:

Trang 31

Khai báo mảng

giá trị ban đầu cho các phần tử của mảng

bằng cách đặt các giá trị trong cặp dấu {}

Trang 32

Sử dụng mảng

như thao tác với một biến thông thường

cách sau:

cách sau:

Tênmảng[chỉ_số]

Trang 34

 In các giá trị của mảng ra màn hình

cout << "Day da nhap la:" << endl;

Trang 35

vị trí xuất hiện của nó

dần)

Trang 36

for (i=0; i<n; i++) s = s + a[i];

cout << "Day da nhap la:" << endl;

for (i=0; i<n; i++) cout << a[i] << " ";

cout << "Tong cac phan tu cua day la " << s << endl;

return 0;

Trang 37

// Đếm số phần tử dương trong dãy

for (i=0; i<n; i++) if (a[i]>0) dem++;

cout << "Day da nhap la:" << endl;

for (i=0; i<n; i++) cout << a[i] << " ";

cout << "So phan tu duong trong day la " << dem << endl;

return 0;

Trang 38

// Tìm phần tử bé nhất trong dãy, và vị trí xuất hiện của nó

Trang 39

// Sắp xếp dãy theo chiều tăng dần

Trang 40

Mảng hai chiều

rộng của mảng một chiều

cùng kiểu dữ liệu có thể biểu diễn như sau

cùng kiểu dữ liệu có thể biểu diễn như sau

Trang 41

Khai báo mảng hai chiều

kiểu_dữ_liệu tên_mảng[m][n];

 m,n là số hàng, số cột của mảng hai chiều

 m,n là số hàng, số cột của mảng hai chiều

 ví dụ: int a[3][5]; //khai báo mảng gồm 3*5

phần tử kiểu nguyên từ a[0][0] đến a[2][4]

định theo cách sau:

Tênmảng[chỉ_số_hàng][chỉ_số_cột]

Trang 42

Sử dụng mảng hai chiều

cout << "Nhap so hang, so cot cua ma tran:" ; cin >> m >> n;

cin >> m >> n;

for (i=0; i<m; i++)

for (j=0; j<n; j++) {cout << "a[" << i << "][" << j << "] = " ; cin >> a[i][j];

}

Trang 43

Sử dụng mảng hai chiều

hình

cout << "Ma tran da nhap la:" << endl;

for (i=0; i<m; i++)

for (i=0; i<m; i++)

{

for (j=0; j<n; j++) cout << a[i][j] << " ";

cout << endl;

}

Trang 44

Một số bài toán

hiện trên mảng một chiều

 Thực hiện các tính toán trên một hàng, một cột hoặc trên đường chéo chính của mảng hai chiềuhoặc trên đường chéo chính của mảng hai chiều

mảng hai chiều Ví dụ:

 Tính tổng tất cả các phần tử của mảng hai chiều

 Đếm số phần tử dương trong mảng hai chiều

 Tìm giá trị lớn nhất (bé nhất), và vị trí xuất hiện của nó trong mảng hai chiều

Trang 45

//Tính trung bình cộng các phần tử trên đường chéo chính của ma trận vuông

cout << "Nhap bac cua ma tran vuong:"; cin >> n;

for (i=0; i<n; i++)

for (j=0; j<n; j++) {

cout << "a[" << i << "][" << j << "] = " ; cin >> a[i][j];

}

s=0;

for (i=0; i<n; i++) s=s+a[i][i];

cout << "Ma tran vuong da nhap la:" << endl;

for (i=0; i<n; i++)

{

for (j=0; j<n; j++) cout << a[i][j] << " ";

cout << endl;

}

Ngày đăng: 10/04/2021, 12:43

w