Professional Documents
Culture Documents
A. Mc ch:
Cung cp sinh vin mt ngn ng lp trnh kinh in. Khai tm t duy lp trnh.
B.Ni dung:
Chng 1: M u v ngn ng lp trnh. Chng 2: Cc phn t c bn ca mt ngn ng lp trnh. Chng 3: Cc kiu d liu c s. Chng 4: Pht biu c iu kin. Chng 5: Pht biu vng lp. Chng 6: Chng trnh con. Chng 7: Kiu mng. Chng 8: Kiu mu tin.
Mt s khi nim. Mt s khi nim. Gii thiu ngn ng Pascal. Gii thiu ngn ng Pascal. Thut gii v chng trnh. Thut gii v chng trnh. Bi tp thc hnh chng 1 Bi tp thc hnh chng 1
CPU (Central Processing Unit). RAM (Random Access Memory) ROM (Read Only Memory). Floppy disk, hard disk, USB, CD,.. Input device: keyboard, mouse, scanner,.. Output device: monitor, printer, plotter,..
Phn cng: l cc thit b in t v c kh ca my tnh. Phn mm: l cc chng trnh chy trn my tnh.
Thut gii: l tp hu hn cc thao tc (cc bc the hin cc cng vic) Chng trnh: l tp hp cc lnh iu khin my tnh thc hin.
Hy biu din thut gii bng ngn ng t nhin Bi ton tnh din tch hnh ch nht
Biu din thut gii bng ngn ng t nhin. Tnh din tch hnh ch nht Bc 1: Nhp vo chiu di, chiu rng ca hnh ch nht cn tnh. Bc 2: Tnh din tch = chiu di * chiu rng va nhp. Bc 3: Bo kt qu din tch hnh ch nht va tnh.
cd,cr
dt = cd*cr dt
End
BEGIN
Write(Moi nhap chieu dai hinh chu nhat cd= ); Readln(cd); Write(Moi nhap chieu rong hinh chu nhat cr= ); Readln(cr); Dt:=cd*cr; Writeln(Ket qua dien tich =,dt); Readln;
END.
Bi tp thc hnh chng 1: 1. Vit chng trnh in ra dng ch Hello World. 2. Vit chng trnh nhp vo 2 s nguyn a, b. Tnh tng ca chng. 3. Vit chng trnh nhp vo 2 s nguyn a, b. Tnh tch ca chng. 4. Vit chng trnh nhp vo 2 s nguyn a, b. Tnh hiu ca chng. 5. Vit chng trnh nhp vo 2 s nguyn a, b. Tnh thng ca chng. 6. Vit chng trnh nhp vo chiu di v chiu rng ca hnh ch nht. Tnh din tch v xut kt qu ra mn hnh.
1. 2. 3. 4. 5.
Hy cho bit trong ch ci la tinh: Bao nhiu ch HOA? Bao nhiu k t thng? Bao nhiu ch s thp phn? V hy k mt s k t cn li?
B k t.
B ch ci la tinh: 26 ch thng a, b, c, .., x, y, z. B ch ci la tinh: 26 ch HOA A, B, C, .., X, Y, Z. K t gch chn (gch ni - cn phn bit vi du tr). Cc ch s thp phn: 0,1,2,3,4,5,6,7,8,9. Cc k t ton hc: +,-,*,/,=,<,>,(,),. Cc k t khc
T kha, tn.
T kha:
L cc t quy c, bt buc phi vit NG ca mt ngn ng lp trnh. V d: PROGRAM, BEGIN, END, PROCEDURE, FUNCTION,..
10
T kha, tn.
Tn (nh danh - identifier):
Dng phn bit gia i tng ny vi i tng khc. Quy c t tn:
Khng c khong trng. Bt u bng mt k t. Khng c trng nhau (k c t kha).
Lu .
11
Gm 3 phn c bn: 1. Dng tiu 2. Phn khai bo bin 3. Phn thn chng trnh
1. Tnh din tch hnh tam gic. 2. Tnh din tch hnh trn. 3. Nhp vo mt k t thng. i thnh k t hoa. 4. Nhp vo mt k t hoa. i thnh k t thng. 5. Nhp vo hai s nguyn a, b. i ch (hon v) 2 gi tr a, b. Xut kt qu ra mn hnh.
V d: nhp a=4, b=9. Sau khi hon v: a=9, b=4.
12
ngha.
Data (d liu): l tt c nhng g (thng tin) m my tnh x l. Data type (kiu d liu):
Min xc nh: mt tp hp cc gi tr (min gi tr). Cc php ton.
13
Kiu boolean.
Min xc nh: TRUE, FALSE. Cc php ton: AND, OR, XOR, NOT.
X FALSE FALSE TRUE TRUE Y FALSE TRUE FALSE TRUE X AND Y FALSE FALSE FALSE TRUE X OR Y FALSE TRUE TRUE TRUE X XOR Y FALSE TRUE TRUE FALSE X FALSE TRUE NOT X TRUE FALSE
Kiu s nguyn. Min xc nh: t -32768 n 32767. Cc php ton: +, -, *, DIV, MOD
(lu : khng c php chia /).
14
Kiu s thc.
Kiu k t.
Min xc nh: a, b,.., y, z, A, B,.., Y, Z, 0, 1,..,9. Ni chung ton b min gi tr th hin trong bng m ASCII. Cc php ton (hm chun): ORD(kt), CHR(n).
V d:
ORD(c)=99, ORD(A)=65 CHR(97)=a, CHR(99)=c
15
Chng 4: Pht biu c iu kin. Chng 4: Pht biu c iu kin. 1. Cc lnh nhp xut. 2. Mt s php ton logic mnh . 3. Pht biu if. 4. Pht biu case 5. Bi tp chng 4:
16
Dng cu lnh no v vit nh th no, xut cc loi s (nguyn, thc), k t, kiu boolean ra mn hnh?
Begin
Writeln(12345678); (* d m s ch trn mn hnh*) I:=123; Writeln(I:8); Readln;
End.
17
Xut ra s thc:
Var
x:integer;
Begin
Writeln(12345678); (* d m s ch trn mn hnh*) x:=3.14; Writeln(x:8:2); Readln;
End.
Xut ra k t:
Var
c:char;
Begin
Writeln(12345678); (* d m s ch trn mn hnh*) c:=A ; Writeln(c:8); Readln;
End.
18
Begin
Writeln(12345678); (* d m s ch trn mn hnh*) OK:= 3<5 ; Writeln(OK:8); Readln;
End.
Mun nhp vo mt gi tr t bn phm, ta thc hin nh th no? (s nguyn, s thc, k t v kiu boolean)
19
Nhp vo mt gi tr:
Var
I:integer; X:real; C:char; OK:boolean;
Begin
Write(Mi bn nhp vo mt s nguyn i = ); Readln(i); Write(Mi bn nhp vo mt s thc x = ); Readln(x); Write(Mi bn nhp vo mt k t c = ); Readln(c); OK:= 3<5; Writeln(12345678);(* d m s ch trn mn hnh*) Writeln(S nguyn bn va nhp = ,i:8); Writeln(S thc bn va nhp = ,x:8:2); Writeln(K t bn va nhp = ,c:8); Writeln(OK:8); Readln;
End.
20
Mu mt:
IF <biu thc logic> THEN
begin <thc hin nhm cng vic 1>; End;
Bi ton t ra: nhp vo s nguyn dng n. Hy cho bit n c phi l s chn khng? Ta vit cu lnh nh th no?
21
End
ELSE
begin
<nhm cv 2>;
End;
Bi ton: Nhp vo mt k t. Hy cho bit k t ca bn va nhp thuc loi no? (k t thng: a, b,.., z k t hoa: A, B,.., Z k t s: 0, 1, .., 9, k t khc: cn li).
22
Begin
Write(Mi bn nhp vo mt k t c = ); Readln(c); Case c of
a.. z: Writeln(c, l k t thng); A.. Z: Writeln(c, l k t hoa); 0.. 9: Writeln(c, l k t s); else Writeln(c, l k t khc);
End; Readln;
End.
Bi tp thc hnh chng 4: Vit chng trnh nhp vo bn s nguyn. Bn hy tnh tng cc s m trong cc s trn. Vit chng trnh nhp vo mt s nguyn. Kim tra xem bn nhp vo s nguyn dng hay m (xut thng bo ra mn hnh). Nhp vo mt k t. Hy cho bit k t ca bn va nhp thuc loi no? (k t thng: a, b,.., z k t hoa: A, B,.., Z k t s: 0, 1, .., 9, k t khc: cn li). Nhp vo hai s nguyn. In ra s ln nht trong hai s bn va nhp. Nhp vo ba s nguyn. In ra s ln nht trong ba s bn va nhp.
23
Bi tp chng 4 (tt):
Nhp vo bn s nguyn. In ra s ln nht trong bn s bn va nhp. Gii v bin lun phng trnh bc nht ax+b=0; Gii v bin lun phng trnh bc hai ax2+bx+c=0. Gii v bin lun h phng trnh tuyn tnh: Ax+by=m Cx+dy=n Nhp vo thng v nm. Tnh s ngy ca thng . V cc bi tp lm thm ti liu tham kho.
Chng 5: Pht biu vng lp. Chng 5: Pht biu vng lp.
Pht biu for: vng lp xc nh. Pht biu while. Pht biu repeat. Bi tp chng 5.
24
BEGIN
For i:=1 to 25 do
Begin
Write(i:4);
End;
Readln;
END.
25
BEGIN
For i:=25 downto 1 do
Begin
Write(i:4);
End;
Readln;
END.
Bi ton yu cu: Vit chng trnh Tnh tng sau: A=1+1/2+1/3+..+1/n. Vi n nhp t bn phm. Bn thc hin nh th no?
26
BEGIN
Write(Moi ban nhap n=); A:=0; I:=1; while i<=n do Begin A:=A+1/i; End; Writeln(Tng A bng ,A); Readln; Readln(n);
I:=i+1;
END.
Pht biu while. Var I,n:integer; A:real; BEGIN Write(Moi ban nhap n=); Readln(n); A:=0; I:=n; while i>0 do Begin A:=A+1/i; I:=i-1; End; Writeln(Tng A bng ,A); Readln; END.
27
Var I,n:integer; A:real; BEGIN Write(Moi ban nhap n=); Readln(n); A:=0; I:=1; repeat A:=A+1/i; I:=i+1; Until i>n; Writeln(Tng A bng ,A); Readln; END.
Var I,n:integer; A:real; BEGIN Write(Moi ban nhap n=); Readln(n); A:=0; I:=N; repeat A:=A+1/i; I:=i-1; Until i=0; Writeln(Tng A bng ,A); Readln; END.
28
Xut ra mn hnh cc s t 1 n 25. Xut ra mn hnh cc s t 25 n 1. Tnh tng cc s t 23 n 176. Tnh giai tha ca n (n!). Vi n nhp t bn phm Vit chng trnh in ra hai dng nh sau:
Dng th nht: a b c .. x y z (26 k t thng, mi k t cch nhau 1 khong trng). Dng th nht: A B C .. X Y Z (26 k t HOA, mi k t cch nhau 1 khong trng).
Bi tp chng 5 (tt):
Vit chng trnh Tnh tng sau: A=1+1/2+1/3+..+1/n. Vi n nhp t bn phm. Vit chng trnh chuyn i s thp phn thnh nh phn. Vit chng trnh xut bng cu chng. Lm bi tp 7.1, 7.6, 7.10, 7.13, 7.14, 7.15, 7.18, 7.19 ca chng 7, sch bi tp trang 36. Lm bi tp 1, 2, .., 13 ca chng 8, sch l thuyt trang 126.
29
30
Khi nim.
Trnh lp i lp li nhiu ln. Trnh rm r kh hiu. D sa li. Chng trnh con thng dng c vit sn thnh th vin, gi l chng trnh con chun (UNIT: CRT, PRINTER, DOS,..).
Vit chng trnh gii v bin lun phng trnh bc hai, bng chng trnh con nh th no?
31
Procedure Program Giai_Phng_Trnh_Bc_Hai; USES CRT; (*CRT l mt UNIT cha cc CTC v mn hnh, bn phm,..*) Var a,b,c:real;
Procedure
procedure DELTA_KHONG(a,b:real;Delta:real); Var X:real; begin X:=-b/(2*a); Writeln(Mt nghim kp X=,X:6:2); end; procedure DELTA_DUONG(a,b:real;Delta:real); Var X1,X2:real; begin X1:=(-b+sqrt(Delta))/(2*a); X2:=(-b-sqrt(Delta))/(2*a); Writeln(Nghim X1=,X1:6:2);Writeln(Nghim X2=,X2:6:2); end;
32
Procedure
procedure Giai_PT_BII(a,b,c:real); var
Delta:real;
begin
Delta:=b*b 4*a*c; If Delta = 0 then
DELTA_KHONG(a,b,Delta)
Else
Writeln(Delta m, khng gii);
end;
Procedure
BEGIN Write(Mi bn nhp h s a=); Readln(a); Write(Mi bn nhp h s b=);Readln(b); Write(Mi bn nhp h s c=);Readln(c); (**Li gi th tc, chng trnh con**) Giai_PT_BII(a,b,c); Readln; END.
33
Vit chng trnh tnh n! (n giai tha) dng vng for., bng chng trnh con nh th no?
Function (hm):
Program Tinh_n_Giai_Thua; USES CRT; (*CRT l mt UNIT cha cc CTC v mn hnh, bn phm,..*) Var n:integer; kq:longint;
34
Function (hm):
function Giai_Thua(n:integer):longint; var t:longint; i:integer; begin t:=1; for i:=1 to n do begin t:=t*i; end; Giai_Thua:=t; end;
Function (hm):
BEGIN write('Mi nhp n = '); readln(n); kq:=Giai_Thua(n); writeln('Kt qu n!= ',kq); readln; END.
35
Cc loi tham s. 1. Tham tr (value parameter): khng thay i, vn gi nguyn gi tr. 2. Tham bin (variable parameter): thay i gi tr.
36
1. Vit chng trnh gii v bin lun phng trnh bc nht. 2. Vit chng trnh gii v bin lun phng trnh bc hai. 3. Vit chng trnh tnh n! (n giai tha) bng vng for. 4. Vit chng trnh tnh n! (n giai tha) bng vng while. 5. Vit chng trnh tnh n! (n giai tha) bng vng repeat..until. 6. Bi 1 n 15 chng 8, sch bi tp.
37
Khi nim. L kiu d liu c cu trc. Mng (Array) gm mt s hu hn cc phn t c cng kiu d liu c bn.
38
39
Thut ton Duyt mng: Duyt mng t phn t u cho n ht mng X l theo yu cu bi ton. Cui duyt.
40
Mng 1 chiu v mt s thao tc. Thut ton Thao tc xut mng: Duyt mng t phn t u cho n ht mng Xut tng gi tr phn t ca mng. Cui duyt.
41
biu din nhiu dy s, Trn nhiu dng, (mt bng cu chng, cc s trn t lch thng) Ta biu din nh th no?
42
Thut ton Duyt mng: Dng 2 vng for duyt ma trn Duyt matrix t phn t u cho n ht mng X l theo yu cu bi ton. Cui duyt.
43
Mng 2 chiu v mt s thao tc. Thut ton Thao tc xut mng: Duyt mng t phn t u cho n ht mng Xut tng gi tr phn t ca mng. Cui duyt.
44
45
Chng 8: Kiu mu tin. Chng 8: Kiu mu tin. Khi nim. Khi nim. Khai bo. Khai bo. Mt bi ton v cch s Mt bi ton v cch s dng. dng. Bi tp chng 8: Bi tp chng 8:
46
Khi nim.
RECORD (mu tin) l kiu d liu c cu trc vi cc phn t ca n c kiu d liu khc nhau.
47
Khai bo.
V d: M t thi gian DATE, ta c 3 trng: Ngy, thng, nm. TYPE DATE = RECORD Ngay: 1..31; Thang: 1..12; Nam:integer; END;
Khai bo.
V d: M t v a ch, ta c 5 trng: S nh, ng, phng, qun, thnh ph. TYPE DIACHI = RECORD SoNha: integer; Duong: string[50]; Phuong:string[50]; Quan:string[50]; ThanhPho:string[20]; END;
48
Bi ton t ra: Vit chng Bi ton t ra: Vit chng trnh nhp mt danh sch trnh nhp mt danh sch sinh vin. Sau xut danh sinh vin. Sau xut danh sch va nhp ra mn hnh. sch va nhp ra mn hnh. Bn s thc hin nh th Bn s thc hin nh th no? no?
Bi ton QLSV.
Program Quan_Ly_Sinh_Vien; TYPE SINHVIEN = RECORD MSSV: string[9]; HoTen: string[50]; Lp:string[10]; END; DANHSACH = Array1[1..200] of SINHVIEN; Var DS:DANHSACH; Ss:integer;
49
Bi ton QLSV.
Procedure Nhp_SV(var SV:SINHVIEN); Begin WITH SV DO begin Write(Mi nhp M s sinh vin =); Readln(MSSV); Write(Mi nhp h tn =); Readln(HoTen); Write(Mi nhp lp =); Readln(Lop); End; End;
Bi ton QLSV.
Procedure Xut_SV(SV:SINHVIEN); Begin WITH SV DO begin Writeln(M s sinh vin= ,MSSV); Writeln(H tn = , HoTen); Writeln(Lp = , Lop); End; End;
50
Bi ton QLSV.
Procedure Nhp_DS(var DS:DANHSACH; var ss:integer); Var I:integer; Begin Write(Mi nhp s s lp = ); Readln(ss); For i:=0 to ss do Nhp_SV(DS[i]); End;
Bi ton QLSV.
Procedure Xut_DS(DS:DANHSACH; ss:integer); Var I:integer; Begin For i:=0 to ss do Xut_SV(DS[i]); End;
51
Bi ton QLSV.
BEGIN Nhp_DS(DS); writeln(Danh sch sinh vin sau khi nhp=); Xut_DS(DS); readln; END.
52