Tuyen Chon Bai Tap Pascal Lop 11

Embed Size (px)

Citation preview

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 1

    Bi tp pascal c bn n nng cao theo chng trnh TIN HC lp 11 khng phn ban

    Nhm gip cc bn hc sinh lp 11 tip cn vi ngn ng lp trnh Pascal mt cch d dng v vn dng vo cc ngn ng lp trnh khc trong tin hc, ti su tm v bin son mt s bi ton c bn n nng cao c trong chng trnh ca lp 11 khng phn ban. Cc chng trnh nhm mc ch tham kho cho cc bn ham m tin hc v l ti liu chun b cho cc bi kim tra v mn tin hc.

    Nha trang thng 3/2011

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 2

    Phn I: CC BI TP C BN Bi 1: Tm gi tr ln nht trong 4 s a, b, c, d (a, b, c, c nhp t bn phm).

    Program Program TIM_SO_LON_NHAT;

    Uses crt;

    Var a,b,c,d,max: real;

    BEGIN

    Clrscr;

    Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D');

    Writeln('---------------------------------------------------------------');

    Write('Nhap a='); Readln(a);

    Write('Nhap b='); Readln(b);

    Write('Nhap c='); Readln(c);

    Write('Nhap d='); Readln(d); max:=a;

    If b>max then max:=b; If c>max then max:=c; if d>max then max:=d;

    Writeln('So lon nhat la: ',max: 4: 2);

    Readln;

    END.

    Bi 1B: Vit chng trnh nhp ba s dng bt k, kim tra ba s va nhp c phi l ba cnh ca tam gic khng? Nu phi th tnh chu vi v din tch ca tam gic .

    PROGRAM Kiem_tra_tam_giac;

    Uses crt;

    Var a,b,c,cv,s,p: real;

    BEGIN

    Clrscr;

    Writeln(nhap so thu nhat); readln(a);

    Writeln(nhap so thu hai); readln(b);

    Writeln(nhap so thu ba); readln(c);

    If(a+b>c) And(a+c>b) And(b+c>a) then

    Begin

    Cv:=a+b+c; p:=c/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));

    Writeln(ba so vua nhap la ba canh cua tam giac);

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 3

    Writeln( chu vi cua tam gia la, cv: 4: 2, dien tich cua tam giac la, s:6:2);

    End

    Else Writeln(ba so vua nhap khong phai la ba canh cua tam giac);

    Readln

    End.

    Bi 1C: Vit chng trnh nhp cao h so vi mt t ca mt vt ri ti ni c gia tc g,

    Tnh v hin th vn tc ca vt ti mt t.

    Program Tinh_van_toc;

    Uses crt;

    Var h, v,g: real;

    Begin

    Clrscr;

    Writeln(nhap do cao cua vat); readln(h);

    Writeln(nhap gia toc); readln(g);

    V:=sqrt(2*g*h);

    Writeln(van toc tai mat dat la, v: 6: 2);

    Readln

    End.

    Bi 2: Vit chng trnh gii phng trnh ax+b=0

    Program GIAI_PHUONG_TRINH_BAC_NHAT;

    Uses crt;

    Var a,b,x: real;

    Begin

    Clrscr;

    Writeln('GIAI PHUONG TRINH BAC NHAT: AX + B=0');

    Writeln('------------------------------------------------------------');

    Write ('Nhap a= '); readln(a);

    Write ('Nhap b= '); readln(b);

    If(a=0) then

    If(b=0) then Writeln(' Phuong trinh co vo so nghiem')

    Else writeln(' Phuong tring vo nghiem')

    Else Writeln('Phuong trinh co nghiem x=',-b/a: 4: 2);

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 4

    Readln

    End.

    Bi 3: Vit chng trnh gii bt phng trnh bc 1 (ax + b > 0)

    Program BAT_PHUONG_TRINH_BAC_I;

    Uses crt;

    Var a,b: real;

    Begin

    Clrscr;

    Writeln('GIAI BAT PHUONG TRINH BAC NHAT: AX + B>=0');

    Writeln('----------------------------------------------------------------------');

    Write('nhap a='); readln(a);

    Write('nhap b='); readln(b);

    If a0 then

    If a>0 then Writeln('Bat phuong trinh co nghiem: x>=',-b/a: 4: 2)

    Else Writeln('Bat phuong trinh co nghiem: x

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 5

    If b=0 then

    If c=0 then

    Writeln('Phuong trinh co vo so nghiem')

    Else Writeln('Phuong trinh vo nghiem')

    Else Writeln('Phuong trinh co mot nghiem: x=',-c/b: 4: 2)

    Else

    Begin

    d:=b*b-4*a*c;

    If d=0 then Writeln('Phuong trinh co nghiem kep: x=',-b/(2*a): 4: 2)

    Else if d

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 6

    Write('Nhap c='); readln(c);

    Write('Nhap m='); readln(m);

    Write('Nhap n='); readln(n);

    dd:=a*d-b*c; dx:=m*d-b*n; dy:=a*n-c*m; If dd=0 then

    If (dx=0) And (dy=0) then

    Writeln('He vo so nghiem hoac vo nghiem')

    Else writeln('He vo nghiem')

    Else

    Begin

    Write('He co nghiem: '); Writeln('x=',dx/dd: 4: 2,' va y=',dy/dd: 4: 2);

    End;

    Readln

    End.

    Bi 6: Nhp vo thi gian 1 cng vic no l x giy. Hy chuyn i v vit ra mn

    hnh s thi gian trn di dng bng bao nhiu gi, bao nhiu pht, bao nhiu giy.

    Program DOI_GIO_PHUT_GIAY;

    Uses crt;

    Var gio, phut,giay, x: longint;

    Begin

    Clrscr;

    Writeln('DOI SANG GIO PHUT GIAY');

    Writeln('--------------------------------------');

    Write('Nhap vao so giay: '); readln(x);

    gio:=x div 3600; x:=x mod 3600; phut:=x div 60; x:=x mod 60;

    Writeln('Ket qua = ', gio,'gio: ', phut, 'phut: ', x, 'giay');

    Readln;

    End.

    Bi 7: Nhp vo tm v bn knh ca mt ng trn. Sau nhp vo mt im A(x, y) bt k v kim tra xem n c thuc ng trn hay khng?

    Program KIEM_TRA_DIEM_THUOC_DUONG_TRON;

    Uses crt;

    Var x0,y0,xa,ya,d,r : real;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 7

    Begin

    Clrscr;

    Writeln('KIEM TRA DIEM THUOC DUONG TRON: ');

    Writeln('--------------------------------------------------------');

    Write('Nhap ban kinh R= '); readln(r);

    Write('Nhap hoanh do tam duong tron = '); readln(x0);

    Write('Nhap tung do tam duong tron = '); readln(y0);

    Write('Nhap hoanh do diem a = '); readln(xa);

    Write('Nhap tung do diem a = '); readln(ya);

    d:=SQRT(SQR(xa-x0)+SQR(ya-y0));

    If r=d then Writeln('Diem A nam tren duong tron')

    Else

    If d>r then Writeln('Diem A nam ngoai duong tron')

    Else Writeln('Diem A nam trong duong tron');

    Readln

    End.

    Bi 7 b: Vit chng trnh nhp vo tm v bn knh hai ng trn, xc nh v

    tr tng i ca hai ng trn .

    Program Khao_Sat_Hai_Duong_Tron;

    Var R 1, R2 ,x1, y1,x2,y2, Kc, Tong, Hieu: Real;

    BEGIN

    Writeln('KHAO SAT 2 DUONG TRON');

    Writeln('----------------------------------------------------');

    Writeln;

    Writeln('*Duong tron thu nhat');

    Write(' +Ban kinh: '); Readln(R1);

    Write(' +Toa do x: '); Readln(x1);

    Write(' +Toa do y: '); Readln(y1);

    writeln;

    Writeln('*Duong tron thu hai');

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 8

    Write(' +Ban kinh: '); Readln(R2);

    Write(' +Toa do x: '); Readln(x2);

    Write(' +Toa do y: '); Readln(y2);

    Kc:=Sqrt(Sqr(x1 x2) + Sqr(y1 y2));

    Tong:=R1 + R2; Hieu:=ABS(R1 R2);

    If (Kc = 0) AND (Hieu = 0) Then

    Writeln('-Hai duong tron trung nhau')

    Else

    If (Hieu > Kc) Then

    Writeln('-Hai duong tron long nhau')

    Else If (Tong = Kc) OR (Hieu = Kc) Then

    Writeln('-Hai duong tron tiep xuc nhau')

    Else If (Tong > Kc) AND (Hieu < Kc) Then

    Writeln('-Hai duong tron cat nhau ')

    Else If (Tong < Kc) Then

    Writeln('-Hai duong tron o ngoai nhau-');

    Readln

    End.

    Bi 8: Tnh xy ( Vi x, y l s thc).

    Program X_LUYTHUA_Y;

    Uses crt;

    Var lt, x,y,z: real;

    Begin

    Clrscr;

    Writeln(TINH X LUY THUA Y: );

    Writeln('----------------------------------');

    Write('Nhap x = '); readln(x); Write('nhap y = '); readln(y);

    If x>=0 then

    Begin

    z:=exp(y*ln(x));

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 9

    Writeln('x ^ y = ',z: 4: 2);

    End

    Else

    Writeln('Khong tinh duoc do x la so am');

    Readln;

    End.

    Bi 9: Tnh n!

    Program TINH_N_GIAI_THUA;

    Uses crt;

    Var i,n,gt: integer;

    Begin

    Clrscr;

    Writeln(' TINH N GIAI THUA: ');

    Writeln('----------------------------------');

    Write('Nhap n ='); readln(n); gt:=1;

    For i:=1 to n do gt:=gt*i; Writeln(n, '!= ',gt);

    Readln;

    End.

    Bi 10**: c ngy thng nm, sau vit ra mn hnh l ngy th my trong tun.

    Program Ngaythang;

    Uses crt;

    Var Thu, Ngay, Thang: Byte;

    Nam: Integer;

    BEGIN

    Clrscr;

    Write (' Doc Ngay: '); Readln ( Ngay );

    Write (' Doc Thang: '); Readln ( Thang );

    Write (' Doc Nam: '); Readln ( Nam );

    Nam:=1900 + ( Nam mod 1900 );

    If Thang < 3 Then

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 10

    Begin

    Thang:=Thang + 12; Nam:=Nam - 1;

    End;

    Thu:=Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3 div 5 + Nam + Nam div 4 ) mod 7;

    Case Thu Of

    0: Writeln (ngay ,ngay, thang ',thang, nam ,nam, la ngay Chu Nhat ');

    1: Writeln ('ngay ,ngay, thang ',thang, nam ,nam, la ngay Thu Hai ');

    2: Writeln ('ngay ,ngay, thang ',thang, nam ,nam, la ngay Thu Ba ');

    3: Writeln (ngay ,ngay, thang ',thang, nam ,nam, la ngay Thu Tu ');

    4: Writeln (ngay ,ngay, thang ',thang, nam ,nam, la ngay Thu Nam ');

    5: Writeln ('ngay ,ngay, thang ',thang, nam ,nam, la ngay Thu Sau ');

    6: Writeln ('ngay ,ngay, thang ',thang, nam ,nam, la ngay Thu Bay ');

    End;

    Readln;

    END.

    Bi 11: Vit chng trnh:

    Nhp s bo danh Nhp im vn, ton, ngoi ng

    In ra mn hnh di dng:

    Phiu im: S bo danh: im vn: im ton: im ngoi ng: Tng s im:

    Bn trng tuyn ( hoc Bn khng trng tuyn ) vi iu kin Tng s im >= 15 hay ngc li.

    Program INPHIEU;

    Uses Crt;

    Var SBD: Integer;

    Van, Toan, Ngoaingu, Tongdiem: Real;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 11

    BEGIN

    Clrscr;

    Write (' So bao danh: '); Readln( SBD );

    Write (' Diem toan: '); Readln( Toan );

    Write (' Diem ngoai ngu: '); Readln( Ngoaingu );

    Write (' Diem van: '); Readln ( Van );

    Tongdiem:=Toan + Van + Ngoaingu;

    Writeln (' Phieu Bao Diem ');

    Writeln (' So bao danh: ', SBD );

    Writeln (' Diem van: ', Van );

    Writeln (' Diem toan: ', Toan );

    Writeln (' Diem ngoai ngu: ', Ngoaingu);

    Writeln (' Tong diem: ', Tongdiem);

    If Tongdiem >= 15 Then

    Writeln(' Ban da trung tuyen ')

    Else Writeln(' Ban khong trung tuyen ');

    Readln;

    END.

    Bi 12 : Vit chng trnh nhp hai s thc. Sau hi php tnh cn thc hin v in kt qu ca php tnh .

    Nu l +, in kt qu ca tng ln mn hnh.

    Nu l -, in kt qu ca hiu ln mn hnh.

    Nu l /, in kt qu ca thng ln mn hnh.

    Nu l *, in kt qu ca tch ln mn hnh. Nu l +, in kt qu ca tng ln mn hnh.

    Nu l +, in kt qu ca tng ln mn hnh.

    Program Chuongtrinh_tinh;

    Uses Crt;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 12

    Var a, b, T: Real;

    Pt: Char;

    BEGIN

    Clrscr;

    Write (' a = '); Readln( a );

    Write (' b = '); Readln( b );

    Write (' Phep tinh thuc hien la (+ - * /): ');

    Readln( Pt );

    If Pt = '+ Then T:=a + b;

    If Pt = '- Then T:=a - b;

    If Pt = '* Then T:=a * b;

    If Pt = '/ Then T:=a / b;

    Write ( a, pt, b, ' = ', T );

    Readln;

    END.

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 13

    PHN II: CU LNH C CU TRC Bi 12. Cho s t nhin n, hy lp trnh tnh cc tng sau:

    a. 1 + 1/22 + 1/32 + + 1/n2 b. 1 + 1/2! + 1/3! + + 1/n!

    Program Caua;

    Uses crt;

    Var n, i: Word;

    S: Real;

    BEGIN

    Clrscr;

    Write (' Nhap n: '); Readln (n);

    S:=0;

    For i:=1 To n Do

    S:=S + 1 / sqr(i);

    Writeln ('Tong la S = ', S: 6: 2);

    Readln

    END.

    Program Cau_b;

    Uses crt;

    Var n, i, j, p: Word;

    S: Real;

    BEGIN

    Clrscr;

    Write (' Nhap n: '); Readln(n);

    p:=1; s:=0;

    For i:=1 To n Do

    Begin

    p:=p * i; S:=S + 1 / p;

    End;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 14

    Writeln ('Tong la S = ', S: 6: 2);

    Readln

    End.

    Cu 13a: Lp trnh tnh tng:

    A = 1 + 1/2 + 1/3 + + 1/n

    y n l s t nhin c nhp vo t bn phm.

    Program tinhtong;

    Uses Crt;

    Var i, n: Integer; tong: Real;

    BEGIN

    Clrscr;

    Write (' Cho so tu nhien n: '); Readln (n);

    tong:=0; i:=1;

    While i

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 15

    Writeln(can so hang thu may cua day Fibonaxi); readln(n);

    A[0]:=0; A[1]:=1;

    For i:=2 to n do

    A[i]:=A[i-1]+A[i-2];

    Writeln(so hang thu, n,cua day fibonaxi la, A[n]);

    Readln

    End.

    Cu 14a: Tnh hm ly tha an, y a thc v n t nhin c nhp vo t bn phm.

    Program Tinhgiaithua;

    Uses Crt;

    Var i, n: Integer;

    a, giatri: Real;

    BEGIN

    Clrscr;

    Write (' nhap co so a =: '); Readln(a);

    Write (' nhap so mu n =: '); Readln(n);

    i:=1; giatri:=1;

    While i

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 16

    Bi 14b. Vit chng trnh nhp vo hai s nguyn dng a, b bt k, hin th c chung ln nht ca hai s v bi chung nh nht ca hai s .

    Program UC_BC;

    Uses crt;

    Var a, b, uc, bc: integer;

    BEGIN

    Clrscr;

    Writeln(nhap so thu nhat ); readln(a);

    Writeln(nhap so thu hai ); readln(b);

    While (ab) do

    Begin

    If a>b then a:=a-b else b:=b-a;

    End;

    uc:=a; bc:=(a*b)/uc;

    Writeln(uoc chung lon nhat cua ,a, va ,b, la ,uc);

    Writeln(boi chung nho nhat cua ,a,va ,b, la ,bc);

    Readln

    END.

    Cu 15: Chng trnh nhp mng mt chiu gm n phn t n

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 17

    Prgram BAI_15;

    Uses crt;

    Var A: array[1..100] of integr;

    i, k,demd, s, demnt, tg,n, d, dd,j : integer;

    tb, tbm: real;

    Begin

    Clrscr;

    Writeln(nhap so luong phan tu cua mang); readln(n);

    Writeln(----------------------nhap mang--------------------------------------);

    For i:=1 to n do

    Begin

    Writeln(nhap so hang thu, I, A[,I,]= );

    Readln(A[i]);

    End;

    {-------------------------------------------Cau a----------------------------------}

    demd:=0;

    For i:=1 to n do if A[i]>0 then demd:=demd+1;

    Writeln( so luong phan tu duong cua mang la, demd);

    {-----------------------------------Cau b-----------------------------------------}

    s:=0;

    For i:=1 to n do if A[i]>0 then s:=s+ A[i];

    Writeln( tong cac phan tu duong cua mang la, s);

    {-----------------------------------Cau c-----------------------------------------}

    s:=0;

    For i:=1 to n do s:=s+A[i];

    tbm:=s/n;

    Writeln( trung binh cac phan tu cua mang la , tbm: 6: 2);

    {----------------------------------------Cau d-------------------------------------}

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 18

    s:=0; demd:=0;

    For i:=1 to n do

    Begin

    if A[i]>0 then s:=s+ A[i]; demd:=d+1;

    End;

    tb:=s/demd;

    Writeln( trung binh cac phan tu duong cua mang la , tb: 6: 2);

    {----------------------------------------Cau e-------------------------------------}

    Writeln( nhap gia tri can tim vi tri ); readln(k);

    J:=1;

    While (j n then Writeln(khong co gia tri , k, trong mang)

    Else Writeln(k, nam o vi tri thu , j, trong mang);

    {----------------------------------------Cau f---------------------------------------------}

    Writeln( nhap gia tri can tim vi tri ); readln(k);

    J:=1; writeln(cac vi tri xuat hien cua ,k, trong mang la);

    While (j

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 19

    If j> A[i] - 1 then demnt:=demnt+1;

    End;

    Writeln( so luong phan tu la nguyen to la, demnt);

    {----------------------------------------Cau h-------------------------------------------}

    d:=A[2]-A[1]; j:=3;

    While (jn then Writeln( mang vua nhap la cap so cong)

    else Writeln( mang vua nhap khong phai la cap so cong);

    {------------------------------------------Cau i-----------------------------------------------}

    For i:=1 to n do

    For j:=i+1 to n-1 do

    If A[j]>A[j+1] then

    Begin {doi vi tri hai phan tu A[j] va A[j+1]}

    tg:=A[j];

    A[j]:=A[j+1];

    A[j+1]:=tg;

    End;

    Writeln(mang sau khi duoc sap xep la);

    For i:=1 to n do write(A[i]: 5);

    Readln

    END.

    Bi 15 b: Vit chng trnh nhp vo mng gm n phn t (n

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 20

    readln(n);

    writeln(' moi nhap cac phan tu cua mang ');

    for i:=1 to n do

    begin

    write('A', i,']= ');

    readln(a[i]);

    end;

    Max:=a[1]; vt:=1;

    For i:=1 to n do

    begin

    If A[i]>max then

    Begin

    Max:=a[i]; vt:=i;

    End;

    End;

    Writeln('gia tri lon nhat la ', max, ' nam o vi tri thu ',vt);

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if a[i]>a[j] then

    Begin

    tg:=a[i];

    a[i]:=a[j];

    a[j]:=tg;

    End;

    writeln(' day sau khi sap xep la ');

    for i:=1 to n do

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 21

    write( a[i]: 4);

    readln;

    End.

    Bi 15C: Vit chng trnh nhp mng gm n phn t kiu nguyn(nmax then max:=b[i];

    write('--So xuat hien nhieu nhat la--');

    for i:=1 to n do

    if max=b[i] then write(st[i],' ');

    write('---xuat hien--- ',max,' lan--');

    Readln

    End.

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 22

    Bi 16. Vit chng trnh nhp mng gm n (n

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 23

    Bi 17. Vit chng trnh nhp mng gm n (n

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 24

    Writeln; Writeln;

    Writeln(' Bam phim de ket thuc ');

    Readln

    End.

    Bi 18. Vit chng trnh nhp mng gm n (n

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 25

    a[k]:=a[k+1];

    n:=n-1;

    End

    Else

    i:=i+1;

    End;

    Writeln;

    Write('-Mang con lai: ');

    For i:=1 to n Do Write(a[i]: 8);

    Writeln;

    Writeln(' Bam phim de ket thuc ');

    Readln

    End.

    Bi tp phn xu:

    Bi tp1: Chng trnh nhp t bn phm cc k t chng trnh m s ln xut hin ca mi k t

    Program Dem_so_lan;

    Uses Crt ;

    Var a: Array[ 'A'..'Z' ] of integer;

    ch: char ;

    i: byte ;

    BEGIN

    Clrscr ;

    For ch:='A' to 'Z' Do a[ch]:=0 ;

    Writeln (' Go phim 50 lan ') ;

    For i:=1 To 50 Do

    Begin

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 26

    ch:=Readkey ;

    ch:=Upcase(ch) ;

    a[ch]:=a[ch] + 1 ;

    End;

    Writeln (' So lan xuat hien cac ki tu la: ') ;

    For ch:='A' to 'Z' do

    If a[ch] > 0 Then

    Writeln (ch xuat hien, a[ch]: 4, ' lan. ');

    Readln ;

    END.

    Bi tp 2: Nhp xu cho trc kim tra c phi xu i xng hay khng?

    Program Xau-doi-xung;

    Uses Crt;

    Var St: string;

    dx: Boolean;

    i, len: byte;

    BEGIN

    Clrscr;

    Write(' Nhap xau St = '); Readln(St);

    dx:=True; i:=1; len:=Length(St);

    While dx And (i

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 27

    Else Write(St, khong phai la xau doi xung ') ;

    Readln;

    END.

    Bi tp 3: Chng trnh nhp vo h tn ca mt ngi sau xa ht k t trng d tha

    Uses crt;

    Const Chu=['a'..'z'];

    Var Hoten: string;

    i,len: byte;

    BEGIN

    Clrscr;

    Write('Ho ten='); Readln(Hoten);

    Len:=length(Hoten);

    If Hoten[1] in Chu then Hoten[1]:=Upcase(Hoten[1]);

    For i:=2 to len do

    If (Hoten[i-1]=#32)And(Hoten[i] in Chu) then

    Hoten[i]:=Upcase(Hoten[i]);

    Write('Ho ten sau khi dieu chinh la: ', Hoten);

    Readln;

    END.

    Bi tp 4: Vit chng trnh nhp vo mt xu, sau xut ra xu sau khi xa ht k t s.

    Program xoa_ky_tu_so;

    Uses crt;

    Var I,k: byte;

    S: string;

    Ch: char;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 28

    Begin

    Clrscr;

    Writeln(nhap xau ); readln(s);

    K:=length(s); i:=1;

    For ch:=0 to 9 do

    Begin

    While (i

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 29

    Writeln( xau sau khi xoa het ky tu trang du thua la, s);

    Readln

    End.

    Bi 6: Vit chng tnh nhp vo mt xu, sau xa ht k t trng d tha v i cc k t u ca mi t thnh ch hoa.

    Program Doi_chu;

    Uses crt;

    Var I,k : byte;

    S: string;

    Begin

    Clrscr;

    Writeln(nhap xau); Readln(s);

    While (s[1]= do Delete(s,1,1);

    While (s[lengh(s)] = do Delete(s,length(s),1);

    While pos( ,s)0 do Delete(s,pos( ,s),1);

    K:=length(s);

    For i:=1 to k do if ( s[i]= )And( s[i+1] ) do upcase(s[i+1];

    Writeln(xau sau khi dieu chinh la,s);

    Readln

    End.

    Bi tp phn bn ghi, file

    Bi tp 1: Chng trnh nhp danh sch hc sinh gm H tn, tui, lp ca hc sinh,in ra danh sch va nhp

    Program danh_sach;

    Uses Crt;

    Const n=15;

    Type Danhsach=record

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 30

    holot: string[25];

    ten: string[10];

    tuoi: 0..99;

    lop: string[3];

    End;

    Var ds: array [1..n] of Danhsach;

    i: byte;

    BEGIN

    ClrScr;

    Writeln('Hay nhap danh sach hoc sinh: ');

    Writeln;

    For i:=1 to n do

    Begin

    Writeln('Thong tin hoc sinh thu ',i);

    Write('Cho ho lot: '); Readln(ds[i].holot);

    Write('Cho ten: '); Readln(ds[i].ten);

    Write('Cho tuoi: '); Readln(ds[i].tuoi);

    Write('Cho lop: '); Readln(ds[i].lop);

    Writeln;

    End;

    Writeln('Danh sach hoc sinh: ');

    For i:=1 to n do

    With ds[i] do Writeln(holot: 20,ten: 10,tuoi: 4,lop: 5);

    Writeln;

    Write('Bam Enter de ket thuc...');

    Readln;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 31

    END.

    Bi tp 2: Chng trnh nhp danh sch hc sinh gm H tn, tui, lp. Chng trnh in ra danh sch sau khi sp xp theo th t tng dn.

    Program sap_xep;

    Uses Crt;

    Const n=5;

    Type

    Danhsach=record

    holot: string[25];

    ten: string[10];

    tuoi: 0..99;

    lop: string[3];

    End ;

    Var ds: array [1..20] of Danhsach;

    i,j: byte;

    f: file of Danhsach;

    Procedure Doi(i,j: byte);

    Var tg: Danhsach;

    Begin

    tg:=ds[i];

    ds[i]:=ds[j];

    ds[j]:=tg;

    End;

    BEGIN

    ClrScr;

    Writeln('Nhap danh sach hoc sinh tu file data.dat: ');

    Writeln;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 32

    Assign(f,'data.dat'); Reset(f);

    For i:=1 to n do Read(f,ds[i]);

    Close(f);

    For i:=1 to n-1 do

    For j:=i+1 to n do

    begin

    If (ds[i].ten>ds[j].ten) then Doi(i,j)

    Else

    If (ds[i].ten=ds[j].ten)And(ds[i].holot>ds[j].holot) then Doi(i,j);

    end;

    Writeln('Danh sach hoc sinh: ');

    For i:=1 to n do

    With ds[i] do Writeln(holot: 20,ten: 11,tuoi: 4,lop: 5);

    Writeln;

    Write('Bam Enter de ket thuc...');

    Readln;

    END.

    Bi tp 3: Thng tin v mi hc sinh l mt bn ghi gm cc trng:

    Hm: mt xu 25 k t.

    Tn: mt xu 10 k t.

    Tui: mt s nguyn hai ch s.

    Lp: mt xu hai ch s v mt ch ci vit hoa

    Mt file bn ghi cha mt danh sch mt lp gm 20 hc sinh. Hy lp chng trnh hin th danh sch ln mn hnh, mi ngi mt dng.

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 33

    Program Nhaphocsinh;

    Uses Crt; Const n=5;

    Type Danhsach=record

    holot: string[25];

    ten: string[10];

    tuoi: 0..99;

    lop: string[3];

    end;

    Var ds: Danhsach;

    i: byte;

    f: file of Danhsach;

    BEGIN

    ClrScr;

    Writeln('Danh sach hoc sinh tu file bai2.dat');

    Writeln;

    Assign(f,'bai2.dat'); Reset(f);

    For i:=1 to n do

    Begin

    Read(f,ds);

    With ds do Writeln(holot: 20,ten: 11,tuoi: 4,lop: 5);

    End;

    Close(f);

    Writeln;

    Write('Bam Enter de ket thuc...');

    Readln;

    END.

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 34

    Bi tp 4: Mt file bn ghi cha mt danh sch hc sinh, thng tin v mi hc sinh ging nh bi trn. Hy lp chng trnh to mt file bn ghi khc cha danh sch , mi bn ghi gm cc trng:

    Htn: mt xu 35 k t.

    Tui: mt s nguyn hai ch s.

    Khi: mt s nguyn hai ch s.

    Lp: mt ch ci vit hoa

    Prorgam file_banghi;

    Uses Crt;

    Type Danhsach1=record

    holot: string[25];

    ten: string[10];

    tuoi: 0..99;

    lop: string[3];

    End;

    Danhsach2=record

    hoten: string[35];

    tuoi: byte;

    khoi: byte;

    lop: char;

    End;

    Var ds1: Danhsach1;

    ds2: Danhsach2;

    f1: file of Danhsach1;

    f2: file of Danhsach2;

    c: integer;

    BEGIN

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 35

    ClrScr;

    Writeln('Ghi tu file bai3.dat sang bai3n.dat: ');

    Writeln;

    Assign(f1,'bai3.dat'); Reset(f1);

    Assign(f2,'bai3n.dat'); Rewrite(f2);

    While not Eof(f1) do

    Begin

    Read(f1,ds1);

    With ds1 do

    Begin

    ds2.hoten:=holot+ten;

    val(copy(lop,1,2),ds2.khoi,c);

    ds2.tuoi:=tuoi;

    ds2.lop:=UpCase(lop[3]);

    Write(f2,ds2);

    End;

    End;

    Close(f1); Close(f2);

    Writeln;

    Writeln('Bam Enter de ket thuc!');

    Readln;

    END.

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 36

    Bi tp v chng trnh con Bi tp 1. Dng th tc chuyn mt s t nhin n cho trc sang h c s 2.

    Procedure Change ( n: integer ; Var St: String ) ;

    b: Array[0.. 1] Of Char = ('0', '1') ;

    Var

    du, So: Integer ;

    S: String ;

    Begin

    S:='' ; {tao xau rong}

    So:=n ;

    Repeat

    Du:= So mod 2 ;

    So:=So div 2 ;

    S:=b[du] + s ;

    Until So = 0 ;

    St:=S ;

    End ;

    Bi tp 2: Dng th tc gii phng trnh bc hai ax2 + bx + c = 0

    Uses Crt ;

    Var a, b, c, x1, x2: real;

    {================================}

    Procedure Nhapabc(var aa,bb,cc: real);

    Begin

    Write('a='); Readln(aa);

    Write('b='); Readln(bb);

    Write('c='); Readln(cc);

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 37

    End;

    {=================================}

    Procedure GPTB2;

    Var Delta: real;

    Begin

    Delta:=sqr(b)-4*a*c;

    If Delta

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 38

    If a0 then GPTB2

    Else Writeln(' Khong phai phuong trinh bac hai ');

    Readln ;

    END.

    Bi tp 3: Vit chng trnh thc hin ln lt cc cng vic sau:

    Lp th tc nhp ba s thc dng a, b, c t bn phm. Lp th tc kim tra xem ba s trn c lp thnh ba cnh ca tam gic hay

    khng ? Vit th tc tnh din tch ca tam gic. Vit th tc tnh cc trung tuyn ca tam gic. Vit hon thin chng trnh chnh.

    Program Chuong_trinh;

    Uses Crt;

    Var a, b, c: real ;

    {================================}

    Procedure Nhap(Var a, b, c: real);

    Procedure input (Var a: real; tenbien: Char);

    Begin

    Repeat

    Write('Nhap ' + tenbien+' = '); Readln(a);

    Until (a>=0);

    End;

    Begin

    Input(a, 'a');

    Input(b, 'b');

    Input(c, 'c');

    End;

    Procedure Kiemtra(a, b, c: Real);

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 39

    Begin

    If (a

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 40

    Dientich(a, b, c);

    Trung_tuyen(a, b, c);

    Readln;

    END.

    Bi tp 4: S Hon Ho l s c tng cc c ca n (tr n) bng chnh n V d: 6 = 1 + 2 + 3

    a. Vit chng trnh kim tra xem 1 s c l s hon ho khng b. Lit k tt c s hon ho t 1..2000 v m xem c bao nhiu s

    Program So_hoan_hao; uses crt; var n,i,d,k,j: integer; Procedure hoanhao; Begin d:=0; for i:=1 to n-1 do if n mod i=0 then d:=d+i; if d=n then writeln(' So vua nhap la so hoan hao') else writeln(' So vua nhap khong la so hoan hao'); end; Procedure Viet_len; Begin write(' Day so hoan hao tu 1-->2000: '); k:=0;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 41

    for i:=1 to 2000 do Begin d:=0; for j:=1 to i-1 do if i mod j=0 then d:=d+j; if d=i then

    Begin write(i: 5); k:=k+1; End;

    End;

    writeln; writeln(' Trong day 1-->2000 co ',k,' so hoan hao'); End; Begin clrscr; write(' Nhap n='); readln(n); hoanhao; vietlen; readln; End.

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 42

    Bi 5: Nhp vo 1 s nguyn gm 4 ch s vit chng trnh con thc hin

    Kim tra tnh chn l Kim tra xem c phi l s nguyn t khng Kim tra xem c phi l s chnh phng khng

    Sau trn chng trnh chnh kim tra v tr li s va nhp thuc s no?

    Program chuong_trinh; uses crt; var i,n,k,d: integer; ok: boolean;

    Function chanle(n: integer): boolean;

    Begin ok:=true; if n mod 20 then ok:=false; chanle:=ok; End; Function nguyento(n: integer): boolean; Begin ok:=true; d:=0; for i:=2 to n-1 do if n mod i=0 then d:=d+1; if d1 then ok:=false; nguyento:=ok; End;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 43

    Function chinhphuong(n: integer): boolean;

    Begin ok:=true; k:=trunc(sqrt(n)); if sqr(k)n then ok:=false; chinhphuong:=ok;

    End;

    Begin clrscr; write(' Nhap n=');readln(n); if chanle(n) then writeln(' So vua nhap la chan') else writeln(' So vua nhap la so le'); if nguyento(n) then writeln(' So vua nhap la nguyen to') else writeln(' So vua nhap khong phai la so nguyen to'); if chinhphuong(n) then writeln(' So vua nhap la so chinh phuong') else writeln(' So vua nhap khong la so chinh phuong'); readln; End.

    Bi 6. Vit chng trnh con tnh a Giai Tha vi a nhp t bn phm

    Program giaithua;

    uses crt;

    var a: integer;

    Function gt(n: byte): Longint;

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 44

    Var s: Longint; i: byte;

    Begin s:=1; For i:=2 to n do s:=s*i;

    gt:=s;

    End; Begin

    clrscr;

    write ('Nhap so can tinh giai thua: ');readln(a); if a:=0 or a:=1 then writeln('Giai thua cua ',a,' = 1') else writeln('Giai thua cua',a,' =', gt(a) ); End.

    Bi 7. Nhp vo 1 mng gm n s nguyn (2

  • Trn Vn Chung trng THPT Hong Vn Th Nha Trang

    T: 0972.311.481 Trang 45

    k:=0;

    for i:=1 to n do Begin d:=0;

    for j:=1 to a[i]-1 do

    if a[i] mod j=0 then d:=d+1; if d=1 then Begin write(' ',a[i]); k:=k+1; End; End; if k=0 then write(' khong co so nao') else begin writeln; writeln(' Trong day co ',k,' so nguyen to'); End; End; Begin clrscr; repeat

    write(' Nhap n='); readln(n);

    until (2