1. Trang chủ
  2. » Hóa học

Lý thuyết và bài tập PASCAL - DK - LAP - DAY SO

23 14 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

Định dạng
Số trang 23
Dung lượng 17,32 KB

Nội dung

2. Tìm và đưa ra màn hình các số chính phương, nguyên tố, hoàn hảo trong mảng.. Bài 6: Nhập vào một mảng N phần tử nguyên và một số nguyên K. Đưa ra màn hình:. a) Số lượng phần tử trong [r]

(1)

* Câu lệnh gán:

<tên biến>:=<biểu thức>;

Lưu ý: Biến biểu thức phải kiểu liệu

Bài 6: CÂU LỆNH RẼ NHÁNH Rẽ nhánh

- Là việc thực nhiều công việc tùy theo điều kiện Câu lệnh rẽ nhánh

- Dạng thiếu:

IF <điều kiện> THEN <câu lệnh>; Đ

S

Ví dụ: Tìm số lớn số a,b Readln(a,b);

Max:=a;

If max<b then max:=b; Writeln(max);

ĐK

(2)

- Dạng đủ:

IF <điều kiện> THEN <câu lệnh1> ELSE <Câu lệnh 2>;

S Đ

Ví dụ: Tìm số lớn số a,b IF a>b then max:=a else max:=b;

ĐK

(3)

3 Câu lệnh ghép

- Ghép nhiều câu lệnh thành câu lệnh - Cấu trúc:

Begin

<các câu lệnh>; End;

Ví dụ: Tính nghiệm PT bậc 2: ax2+bx+c=0

If delta>0 then Begin

Writeln(‘Phuong trinh co nghiem phan biet:’); X1:=(-b+sqrt(b*b-4*a*c))/(2*a);

(4)

1 Cách giải PT bậc ax+b = B1: Nhập a, b

B2: Xét trường hợp - Nếu a =

+ Nếu b = PT VSN + Nếu b <> PT VN

- Nếu a <>0 PT có nghiệm x = -b/a Cách giải PT bậc 2: ax2+bx+c=0

B1: Tính Delta: Delta = b2-4ac

B2: Xét Delta

- Nếu Delta <0 PT vơ nghiệm

- Nếu Delta = PT có nghiệm kép x1=x2=-b/(2*a)

- Nếu Delta >0 PT có nghiệm phân biệt: X1:=(-b+sqrt(b*b-4*a*c))/(2*a); X1:=(-b-sqrt(b*b-4*a*c))/(2*a);

BTVN: Lập trình giải phương trình bậc ax+b=0 PT bậc ax2+bx+c=0

Ví dụ:

2x2 - 3x + = 0

(5)(6)

Bài 7: Cấu trúc lặp Lặp

- Là việc thực nhiều lần cơng việc - Có cách lặp:

+ Biết trước số lần lặp + Chưa biết số lần lặp Cấu trúc lặp

a) Lặp biết trước số lần: FOR – DO - Dạng tiến:

For <biến đếm>:=<cs đầu> to <cs cuối> Do <câu lệnh>; + Biến đếm: thường kiểu nguyên

+ cs đầu, cs cuối: Phải kiểu với biến đếm Ví dụ:

(7)

- Dạng lùi:

For <biến đếm>:=<cs cuối> downto <cs đầu> Do <câu lệnh>; Ví dụ 1: In hình số nguyên dương lẻ nhỏ 100 Ví dụ 2: In hình số phương từ đến 1000 Kiểm tra số i:

Hàm sqrt(i): Căn bậc hai Hàm sqr(i): Bình phương

Hàm Trunc(i): Là hàm lấy phần nguyên

Nếu I = sqr(trunc(sqrt(8))) = sqr(trunc(2.83)) = sqr(2) = <>

Nếu Bình phương phần nguyên bậc hai I mà I I số phương ngược lại khơng số phương

Ví dụ: I = 16

(8)

Bài tập:

1 Lập trình đưa hình số phương nhỏ N (nhập từ bàn phím). 2 Nhập vào số nguyên N, kiểm tra xem số N có phải số nguyên tố hay khơng?

3 Lập trình đưa hình số lượng số nguyên tố nhỏ số M cho trước (nhập từ bàn phím).

4 Lập trình đưa hình loại số phương, ngun tố, hồn hảo nhỏ bằng N cho trước

(N nhập từ bàn phím).

Bài 1:

Duyệt từ đến N

(9)

Code: Dem:=0;

For i:=1 to N

If sqr(trunc(sqrt(i)))=I then Begin Write(i:5); Inc(dem); End; Bài 2: Dem:=0;

For i:=1 to N Begin

If (1<i)and(i<4) then begin write(i:5); inc(dem); end; If I>=4 then

Begin c:=1;

For j:=2 to trunc(sqrt(I)) If I mod j = then

Begin c=0; break; end;

(10)(11)

Bài 3: Dem:=0;

For i:=1 to N Begin

tu:=0;

For j:=1 to I-1

If I mod j = then tu:=tu+j;

(12)

LÀM VIỆC VỚI DÃY SỐ

1 Khái niệm

- Dãy số gọi mảng chiều số Được đánh số từ đến N Ví dụ: Cho dãy số A

1

9 -2

- Để lưu trữ dãy số TP, thường lưu trữ dạng mảng chiều Khai báo mảng chiều

Cấu trúc:

Var <tên mảng>:ARRAY[Kiểu số] OF <Kiểu phần tử>; Ví dụ:

Var A:array[1 6] of integer; Var B:array[1 1000] of integer;

- Để truy xuất đến vị trí mảng: A[3]=8

3 Nhập liệu cho mảng Cách 1: Nhập từ bàn phím For i:=1 to N

Begin

Write(‘A[‘,I,’]=’); Readln(a[i]);

(13)

Cách 2: Nhập ngẫu nhiên (random)

- Trước tiên phải tạo số ngẫu nhiên: Khai báo thư viện CRT, tạo số ngẫu nhiên thủ tục RANDOMIZE - Hàm random(x) tạo số ngẫu nhiên từ đến x-1

Randomize;

For i:=1 to N a[i]:=random(100); Cách 3: Nhập từ tệp (FILE)

4 Xuất liệu mảng Cách 1: Xuất hình

For i:=1 to n write(a[i]:5); Cách 2: Xuất tệp (FILE)

For i:=1 to n write(tên biến tệp, a[i]:5); Xử lý liệu mảng

- Tùy yêu cầu tập mà ta có cách xử lý mảng khác Bài tập:

1 Viết chương trình tìm số lớn nhỏ mảng

2 Tìm đưa hình số phương, nguyên tố, hoàn hảo mảng Sắp xếp mảng thành mảng khơng giảm

Ví dụ: Cho mảng A

(14)

Kết quả:

(15)

Bài 4: Tìm giá trị lớn thứ nhì (Max*) nhỏ thứ nhì (Min*) mảng Ví dụ: Cho dãy số:

8 9

(16)

Thuật toán xếp: N =

5

Duyệt lần 1: SL PT

A1 A2 A3 A4 A5 A6

5

I=6: J=1:

J=2:

J=3: 5

J=4: 5

J=5: 5

Duyệt lần 2: SL PT

I=5: J=1: 5

J=2: 5

J=3: 5

J=4: 5

Duyệt lần 3: SL PT

I=4: 5

4 5

(17)

Duyệt lần 4: SL PT

I=3:

4

Duyệt lần 5: SL PT

I=2: 5

(18)

Bài 6: Nhập vào mảng N phần tử nguyên số nguyên K Đưa hình:

a) Số lượng phần tử dãy nhỏ K b) Tính tổng phần tử lớn K

Ví dụ:

Cho dãy N =

6 12

K =

Số phần tử nhỏ là:

Tổng phần tử lớn là: 21

(19)

d) Số nguyên M số lượng số dãy có giá trị nhỏ số bên trái cạnh nó; Nếu M>0 đưa tiếp màn hình M dịng, dòng gồm số: Số thứ tự thứ i số Ai nhỏ số cạnh bên trái Hai số cách

nhau dấu cách.

Ví dụ:

Cho dãy N =

6 12

Thì M = 2 3 1 5 4

e) Đếm đưa hình số cực đại địa phương Trong đó: Số cực đại địa phương số: A1 A1>A2

Ai Ai>Ai+1 Ai >Ai-1 với i = -> n-1

An An >An-1

Ví dụ: Cho dãy

4 6 12 8 10 5 18 26

Dạng: Vị trí Giá trị cực đại địa phương

(20)

3 12

5 10

8 26

(21)

Bài 7: Đưa hình số lần xuất chữ số có nghĩa số nguyên dương N dạng: SO LAN XUAT HIEN CHU SO … : SO LUONG

Ví dụ: N = 10215

(22)

KIỂM TRA 15 PHÚT

ĐỀ 1: (Dành cho bạn CLB) Lập trình nhập vào từ bàn phím ba số thực u, v, R (u,v) tọa độ tâm R bán kính đường tròn Nhập vào N cặp số thực Xi Yi (Xi,Yi) tọa độ điểm thứ i Đếm đưa hình số lượng điểm nằm hình trịn.

Ví dụ: Như hình kết quả Có điểm nằm hình trịn.

HD: Cơng thức tính khoảng cách 2 điểm (u,v) (x,y) là:

d = (x-u)^2 + (y-v)^2

ĐỀ 2: (Dành cho bạn khác) Lập trình nhập vào dãy N số nguyên số nguyên K, sau đưa màn hình:

a) Số lượng phần tử dương dãy. b) Số lượng phần tử ước K. Ví dụ:

N = 6

Dãy: 4 -2 9 31 -7 20 K = 40

Kết đưa hình: So luong phan tu duong la: 4

So luong uoc cua 40 la: 4 2 20

U=2, V=1, R=3 A(-3,1) B(1,3) C(1,1) D(3,-1) E(4,2) F(5,1) Kết quả:

Có điểm thuộc hình trịn

(23)

CÂU LỆNH WHILE - DO

WHILE <ĐIỀU KIỆN> DO <CÂU LỆNH>;

Hoạt động: Trong điều kiện cịn cịn thực câu lệnh. Ví dụ:

Tính tổng từ đến 10. T:=0; i:=1;

WHILE I <=10 DO BEGIN

Ngày đăng: 20/02/2021, 05:05

w