1. Trang chủ
  2. » Mẫu Slide

De cuong on tap phan Passcal

17 4 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 17
Dung lượng 109,5 KB

Nội dung

Function: hàm For, repeat, until,..... 7) Viết chương trình nhập vào một số nguyên rồi sau đó in ra các ước của nó.. 8) Viết chương trình nhập vào hai số nguyên dương tìm và in ra UWCL[r]

(1)

NGƠN NGỮ LẬP TRÌNH PASCAL

SƠ LƯỢC VỀ NGƠN NGỮ LẬP TRÌNH PASCAL

Ngơn ngữ lập trình Pascal đời năm 1970 Do giáo sư niklauswirth phát triển

1) Các thành phần Pascal

Sử dụng 26 chữ thường: a z 26 chữ hoa A Z Sử dụng 10 chữ số thập phân:

Sử dụng phép toán: +, -, *, /, (), >, <, =>, <=, <> Ngoài sử dụng “, ‘, {, }, [, ]

2) Khái niệm tên

Pascal qui định số từ khóa sau (keyword) Program: tên chương trình

Begin: bắt đầu End: kết thúc Var: khai báo Or: Not: phủ định If:

Else: ngược lại Then: sau

* Hằng: Là đại lượng khơng thay đổi trình thực chương trình

* Biến: Là đại lượng thay đổi trình thực chương trình 3) Cách đặt tên chươnng trình

- Khơng trùng với từ khóa - Khơng dài q 63 kí tự

- Khơng bắt đầu bẳng số - Khơng có khoảng trắng

- Hai đại lượng khác phải có tên khác Vd: an so: sai có kí tự trắng

An_so:

1abc: sai bắt đầu số

* Lưu ý: Đặt tên chương trình phải ngắn gọn đủ để nhớ ý nghĩa 4) Các kiểu liệu đơn giản

Số nguyên, số thực, boolean, kí tự sâu kí tự Write: viết

Writeln: viết xuống dòng Read: đọc

Readln: đọc xuống dòng Integer: biến nguyên To, downto

(2)

* Các phép toán: +: Cộng

-: trừ *: nhân

Chia: x mod y chia lấy phần dư X div y chia lấy phần nguyên * Lệnh gán:

* Khai báo: ví dụ Var

a: integer;

CẤU TRÚC CHUNG CỦA MỘT CHUvONG TRÌNH * Cấu trúc chung chương trình gồm phần

- Phần tiêu đề

- Phần khai báo (bắt buộc)

- Phần thân chương trình: nằm hai từ khóa Begin end

* Chú ý: Nếu thực khối lệnh ( từ hai lệnh trở lên) ta phải gói từ khóa begin

CẤU TRÚC ĐIỀU KHIỂN

1) IF THEN * Cú pháp:

* Ý nghĩa: Khi gặp lệnh máy kiểm tra biểu thức, biểu thức thực lệnh P, ngược lại bỏ qua thực lệnh chương trình

* Sơ đồ:

:=

IF <ĐIỀU KIỆN> THEN <LỆNH P>;

B T

Lệnh P

Lệnh T

(3)

* Ví dụ: Nhập vào hai số nguyên dương, tìm Max in Max Program max_cua_hai_so;

Var

a,b: integer; begin

write(‘nhap vao so nguyen thu nhat:’); readln(a); write(‘nhap vao so nguyen thu hai:’); readln(b); if a> b then

writeln(‘max hai so vua nhap la:’,a) if b>a then

writeln(‘ max hai so vua nhap la:’,b) readln;

end

2) Cấu trúc IF đủ: IF THEN ELSE * Cú pháp:

* Sơ đồ:

* Ví dụ: Nhập vào số kiểm tra xem số số âm hay số dương Var

X: Integer; Begin

Write(‘ nhap vao mot so bat ki:’); readln(x); If x>=0 then

Writeln(‘ so vua nhap la so duong’) Else writeln(‘ so vua nhap la so am’);

if <điều kiện> then <lệnh P> Else < Lệnh Q>;

Đ K

LỆNH P LỆNH Q

LỆNH KẾ TIẾP

+

(4)

-Readln; End

CẤU TRÚC FOR

Cấu trúc for cấu trúc vòng lặp biết trước số vòng lặp * Cú pháp:

* Sơ đồ:

Ví dụ: Nhập vào số nguyên in số nguyên nhỏ số vừa nhập Giải:

Var

N,i: integer; Begin

Write(‘nhap n:’); readln(n); For i:=1 to n

Write(i:3); Readln;

End Bài tập:

Vừa gà vừa chó Bó lại cho trịn Đếm đủ 36 100 chân chẵn Giải:

Var

A,b: integer; Begin

FOR BIếN: =M1 TO M2 DO <LệNH P>;

Biến:= m1

Lệnh P

Lệnh Biến

<m2

Biến: =succ(biến)

(5)

For a:=1 to 36

For b:=1 to 36

If (a+b=36) and (4*a +2* b =100) then Begin

Writeln(a); Writeln(b); End;

Readln; End

Bài toán: Nhập vào số nguyên n sau tính tổng từ đến n Giải:

Var

S,n,i: integer; Begin

Write(‘nhap n:’); readln(n); S:=0;

For i:=1 to n S:=s+i;

Writeln( ‘ tong tu den n la :’,s); Readln;

End

VÒNG LẶP WHILE * Cú pháp:

* Sơ đồ:

Ví dụ: Tính giai thừa số nguyên n, với n nhập từ bàn phím Giải:

Var

N,i: integer; S:longint; Begin

WHILE <ĐK> DO < LỆNH P>;

Đ K

LỆNH LỆNH KẾ TIẾP

T

WHILE

(6)

Write(‘nhap n:’); readln(n);

S:=0; i:=1;

While i<n Begin

S:=s+i; I:= i+1; End;

Writeln(n:3, ‘ giai thua bang ‘, s); Readln;

End

Giải toán hàm for Var

N,i: integer; S:longint; Begin

Write(‘nhap n:’); readln(n); S:=1;

For i:=1 to n S:=s+i;

Writeln(‘ giai thua cua ‘, n, ‘la’,s); Readln;

End

VÒNG LẶP REPEAT UNTIL * Cú pháp:

* Sơ đồ:

REPEAT LỆNH;

UNTIL < Điều kiện thoát>

Lệnh

Lệnh ĐK Thoá

(7)

KIỂU MẢNG

1) Đ/N: Kiểu mảng (Array) gồm số cố định phần tử kiểu liệu

Ví dụ: Cách khai báo mảng

Type mangthuc=array [5 100] of real;

Var

X: mangthuc; 2) Cách khai báo:

* Khai báo tường minh: Var

<Tên biến>: array<chỉ số> of <kiểu>; Ví dụ: gio_Lv: array[1 8] of integer; * Khai báo không tường minh:

Type

<tên kiểu> = [ danh sách phần t]; < tên mảng>= array< tên biến> of kiểu; Var

<Tên biến>: <tên mảng>;

Bài tập: Nhập vào dãy số nguyên in mảng số nguyên vừa nhập vào

Giải: Var

N,i:integer;

A:array[1 50] of integer; Begin

Write( ‘nhap vao so phan tu cua mang:’); Readln(n);

For i:=1 to n Begin

Write(‘a[‘,I,’]:’); Readln(a[i]); End;

Writeln(‘ mang vua nhap la:’); For i:=1 to n

Write(a[i]:3); Readln;

(8)

Bài tập: Nhập vào số nguyên n từ bàn phím tìm in số nguyên tố nhỏ n

Giải:

Var

I,j,n: integer; Begin

Write(‘nhap vao mot so nguyen:’); readln(n); I:=2;

While i<n Begin

J:=2;

While (j<i ) begin

If i mod j <>0 then J:=j+1

Else

Break; End;

If j=I then write(i:3); I:=i+1;

End; Readln;

End

Bài tập: Viết chương trình in bảng cửu chương Giải:

Uses crt; Var

I,j:integer; Begin

Clrscr;

Writeln(‘chuong trinh in bang cuu chuong’); Writeln(‘………’); Writeln(‘………’); For j:=1 to 10

Begin

For i:=2 to

Write(i:3,’*’, j:3, ’=’, j*i:3, ’||’); Writeln;

End;

(9)

Begin

For i:=6 to

Write (i:3,’*’, j:3, ’=’, j*i:3, ’||’); Writeln;

End; Readln;

End

Bài tập: Nhập vào n số nguyên, tìm in số có giái trị lớn Uses crt;

Var

A: array [1 100] of integer; n,i,max : integer;

begin clrscr;

writeln(‘ chuong trinh nhap vao mot day so nguyen); writeln(‘ tim va in so co gia tri lon nhat);

writeln(‘ ……….’); writeln(‘ ……….’); writeln;

write(‘nhap vao so phan tu cua day:’); readln(n); for i:=1 to n

begin

write(‘ nhap pt a[‘,I, ‘]:’); readln (a[i]);

end;

max:=a[1]; begin

if a[i]> max then max:=a[i];

end;

writeln(‘ gia tri so lon nhat day vua nhap la:’,max: 3); readln;

end

Bài tập: Viết chương trình in tam giác rỗng Uses crt;

Var

I,n:integer; Begin

Clrscr;

(10)

Writeln;

Writeln(‘………’); Writeln;

Write(‘nhap chieu cao cua tam giac:’); readln(n); Writeln;

Writeln(‘*’:n); For i:=2 to n-1

Writeln( ‘*’:n-i+1, ‘*’:2*i-2; For i:=1 to 2*n-1

Write(‘*’); Readln;

End

Bài tập: Viết chương trình tính chu vi, diện tích tam giác với cạnh tam giác nhập từ bàn phím

Gợi ý cách giải:

Ba cạnh tam giác nhập vào từ bàn phím, sau nhập ba cạnh tam giác ta kiểm tra xem ba cạnh có tạo thành tam giác hay không

Đk để tạo thành tam giác: a+b>c a+c >b b+c>a thỏa tính chu vi tam giác

Chu vi:= a+b+c;

Diện tich:= sqrt(p*(p-a)*(p-b)*(p-c)); Với p:=(a+b+c)/2;

Giải:

Program chuong_trinh_tinh_cv_dt_tamgiac; Uses crt;

Var

a,b,c : integer;

p:real; { phải gán p kiểu real số lẻ} begin

clrscr;

write(‘nhap canh a:’); readln(a); write(‘nhap anh b:’); readln(b); write(‘nhap canh c:’); readln(c);

if (a+b>c) and (b+c >a) and (c+a >b) then begin

writeln(‘chu vi cua tam giac la:’,a+b+c); p:=(a+b+c)/2;

(11)

writeln(sqrt(p*(p-a)*(p-b)*(p-c)):5:2); end

else

writeln( ‘ba canh tren khong tao tam giac’); readln;

end

Bài tập: Viết chương trình in tam giác vuông rỗng dấu ‘*’; Giải:

Program tamgiac_vuong_rong; Uses crt;

Var

I,j,n: integer; Begin

Write( ‘nhap vao chieu cao cua tam giac:’); readln(n); Writeln(‘*’);

For i:=1 to n-1 Writeln(‘*’, ‘*’:2*i); For i:=1 to 2*n Write(‘*’);

Readln; End

Bài tập: Viết chương trình tính số tiền tháng bất kì, biết số tiền ban đầu tiền lãi nhập từ bàn phím

Giải

Program tinh_tien; Uses crt;

Var

Tbd,ls, s, t: real; N,i:byte;

Begin

Write(‘nhap vao so tien ban dau:’); readln(tbd); Write( ‘nhap vao lai suat hang thang:’); readln(ls); Write(‘nhap vao so thang gui:’); readln(n); For i:=1 to n

Begin

T:=tbd*ls; S:=t+ tbd; Tbd:=s; End;

(12)

Readln; End

Bài tập: Viết chương trình nhập vào dãy số nguyên, xếp dãy giảm dần in hình

Giải:

Program sx_giam_dan; Uses crt;

Var

n,i, tam,j: integer;

a:array[1 50] of integer; begin

write(‘nhap vao so pt cua mang:’); readln(n); for i:=1 to n

begin

write(‘a[‘,i,’]:’); readln(a[i]); end;

writeln(‘ day so vua nhap la:’); for i:=1 to n

write(a[i]:3); for i:=1 to n-1

for j:=i+1 to n if a[i]<a[j] then begin

tam:=a[i]; a[i]:=a[j]; a[j]:=tam; end;

writeln;

writeln(‘ day sau sap xep la:’); for i:=1 to n

write(a[i]:3); readln;

end

Bài tập: Nhập vào số nguyên phân tích số thừa số nguyên tố Giải:

Uses crt; Var

N,i:integer; Begin

(13)

I:=2;

Write(n,’=’); While i<n If n mod i =0 then Begin

Write(I,’*’); N:=n div I; End

Else

I:=i+1; Write(n); Readln;

End Bài tập:

1) Viết chương trình nhập vào số, máy thơng báo số số chẵn hay số lẻ

2) Viết chương trình nhập vào ngày tháng năm, máy thơng báo vào ngày thứ tuần

CT tính thứ tuần:

Thứ:= (d+2*m+3*(m+1) div +y + y div 4) mod 7;

3) Viết chương trình nhập vào điểm trung bình, máy thơng báo điểm xếp loại kem, yếu, Tb, khá, giỏi hay xuất sắc biết:

Đtb<3.5: Đtb<5: yếu Đtb<6.5: Tb Đtb<8:

Đtb < 9: giỏi lại xếp loại xuất sắc

4) Viết chương trình nhập vào tháng, máy thơng báo tháng có ngày

5) Viết chương trình nhập vào cạnh a,b,c tam giác kiểm tra chúng có tồn tam giác hay khơng tồn tính chu vi, diện tích tam giác

Gợi ý: chu vi:=a+b+c;

Diện tích:= sqrt(p*(p-a)*(p-b)*(p-c) Trong : p:=(a+b+c)/2;

6) Viết chương trình giải hệ phương trình bậc sau: 5*x+2=0;

(14)

7) Viết chương trình nhập vào số ngun sau in ước

8) Viết chương trình nhập vào hai số nguyên dương tìm in UWCLN, BCNN hai số

9) Viết chương trình nhập vào kiểm tra xem số có phải số hồn hảo hay khơng?

Biết số hồn tổng ước trừ Ví dụ: 6=1+2+3

10) Viết chương trình nhập vào số nguyên kiểm tra xem số có phải số ngun tố hay khơng?

11) Viết chương trình nhập vào số nguyên, tìm in số nguyên tố nhỏ số vừa nhập

12) Viết chương trình in dãy Fibonaci

13) Viết chương trình tính giai thừa n số nguyên với n nhập từ bàn phím

14) Viết chương trình nhập vào số tiền ban đầu, lãi suất n tháng gửi tính số tiền sau n tháng gửi

15) Viết chương trình in hình vng đặc 16) Viết chương trình in hình chữ nhật đặc 17) Viết chương trình in tam giác cân đặc 18) Viết chương trình in hình vng rỗng 19) Viết chương trình in hình chữ nhật rỗng 20) Viết chương trình in tam giác vng rỗng 21) Bài tốn cổ:

Vừa gà vừa chó Bó lại cho trịn Đếm đủ 36 100 chân chẵn

22) yêu cau sáu bổ ba

Ghét cau sáu bổ làm 10 Số người tính chẵn 80

Cau 15 hỏi người ghét yêu?

23) Viết chương trình nhập vào cạnh hình vng, tính in chu vi, diện tích hình vng

24) Viết chương trình nhập vào cạnh hình chữ nhật, tính in chu vi, diện tích hình chữ nhật

25) Viết chương trình nhập vào hai số nguyên tính tổng, tích hai số nguyên

(15)

27) Viết chương trình nhập vào dãy số nguyên nhập vào số

28) Viết chương trình tính tổng:

S=1+2+3+…+n với n nhập vào từ bàn phím 29) Viết chương trình tính tổng :

S= 1+1/2 +1/3+…+ 1/n 30) Viết chuwong trình tính tổng:

S=1+ 1/4 +1/9 +… +1/n2

31) Viết chương trình tính tổng:

S=1 +1/8 + 1/27 +… + 1/n3

32) Viết chương trình tính tổng: S= +4 +16+… n2

33) Viết chương trình nhập in dãy số nguyên

34) Viết chương trình nhập vào mảng số nguyên tìm in giá trị nhỏ mảng

35) Viết chương trình nhập vào mảng số nguyên tìm in giá trị lớn mảng

36) Viết chương trình nhập vào mảng số nguyên tìm in GTLN, GTNN mảng

37) Viết chương trình nhập vào mảng số thực xếp mảng tăng dần in hình

38) Viết chương trình nhập vào mảng số nguyên (hoặc số thực) xếp mảng giảm dần in hình

39) Viết chương trình nhập vào mảng số nguyên, loại bỏ phần tử trùng in hình

40) Viết chương trình nhập vào mảng số ngun, tính tổng, tích số ngun in hình

42) Viết chương trình tính in giá trị trung bình số nguyên vừa nhập

43) Viết chương trình nhập vào mảng số nguyên, chèn phần tử vào mảng in hình

44) Viết chương trình in bảng cửu chương

KIỂU CHUỖI

Cách khai báo kiểu chuỗi giống kiểu mảng Ví dụ: Viết chương trình xuất chuỗi Program xuat_chuoi;

Var

(16)

1

1

1

Write(‘ nhap vao mot chuoi:’); readln(chuoi); N:=length(chuoi);

begin

For i:=1 to n Writeln(‘ ‘,chuoi[i]); End;

Writeln; End

* Các thủ tục hàm kiểu chuỗi Thủ tục xóa:

Cú pháp: delete(st, pos, num); Trong đó:

st: chuỗi kí tự

pos: vị trí bắt đầu xóa num: số kí tự cần xóa Thủ tục chèn:

Cú pháp: insert( st2, st1, pos); Trong đó:

St2: chuỗi cần chèn St1: chuỗi kí tự Pos: vị trí cần chèn Length(st): trả chiều dài chuỗi

Trong Pascal hàm Upcase() dùng để đổi chữ thường thành chữ hoa hàm ngược lại

Trong bảng mã ASCII: A Z: từ 65 90

a z : 97 122

Bài tập: Viết chương trình đổi chữ thường chữ hoa Var

Chuoi:string; I:byte;

Begin

Write(‘nhap vao mot chuoi bang chu thuong:’); readln(chuoi); For i:=1 to length (chuoi)

Begin

Chuoi[i]:=upcase(chuoi[i]); Write(chuoi[i]);

End; Readln; End

(17)

Bài tập: Viết chương trình đổi chữ hoa thành chữ thường Var

Chuoi:string; I:byte;

Begin

Writeln(‘chuong trinh doi chu hoa chu thuong’); Write(‘nhap vao mot chuoi bang chu hoa:’);

Readln(chuoi);

For i:=1 to length(chuoi) Begin

If (chuoi[i] >#65) and (chuoi[i]<#90) then Chuoi[i]:=chr(ord(chuoi[i]+32));

Write(chuoi[i]); End;

Ngày đăng: 30/04/2021, 00:52

TỪ KHÓA LIÊN QUAN

w