//
you're reading...
Chủ đề tập hợp (set)

Bài 11: Kiểu dữ liệu tập hợp (set)

Bài tập

Bài tập

 Program So_nguyen_to;
Var
 NguyenTo,Sang:Set of 1..100;
 so:1..100;
 i:Integer;
Begin
 Writeln(' CAC SO NGUYEN TO TU 1 DEN 100');
 Writeln(' -----------------------------');
 Writeln;
 NguyenTo:=[];
 Sang:=[2..100];
 So:=2;
 Repeat
 While Not (So In Sang) Do
 So:=So+1;
 NguyenTo:=NguyenTo + [So];
 Write(So,' ');
 I:=So;
 While I <= 100 Do
 Begin
 Sang:=Sang -[I];
 I:=I + So;
 End;
 Until Sang=[];
 Writeln;
 Writeln;
 Write(' Bam phim <Enter> de ket thuc ');
 Readln
End.

.

Bài tập

 Program So_so_hang;
Var
    Thuong:Set of 0..9;
   Sodu:0..9;
   So,Soluu,Sohang:Integer;
Begin
    Writeln('SO SO HANG CUA MOT SO NGUYEN');
   Writeln('----------------------------');
   Write('-Nhap so nguyen bat ky: ');
   Readln(So);
   Soluu:=So;
   Thuong:=[];
   Sohang:=0;
   Repeat
       Sodu:=So Mod 10;
      If Not (Sodu In Thuong) Then
          Sohang:=Sohang + 1
      Else
          Begin
             Sohang:=Sohang + 1;
            Thuong:=Thuong + [Sodu]
         End;
      So:= So Div 10;
   Until So = 0;
   Writeln;
   Writeln('   *So ',Soluu,' co ',Sohang,' so hang');
   Writeln;
   Write('     Bam phim <Enter> de ket thuc ');
   Readln
End.

.

Bài tập

 Program So_ngau_nhien;
CONST
    N=100;
TYPE
    Nguyen= Set of 1..N;
Var
    a:Nguyen;
   So,i,spt:Integer;
Begin
    Writeln('TIM 10 S0 NGUYEN NGAU NHIEN KHONG AM');
    Writeln('  NHO HON 100, KHONG TRUNG NHAU');
   Writeln('------------------------------------');
   spt:=0;
   a:=[];
   Randomize;
   Repeat
       So:=Random(100);
      If Not (So In a) Then
          Begin
             a:=a+[So];
            Spt:=Spt +1;
         End;
   Until Spt = 10;
   Writeln;
   Writeln('10 so ngau nhien nho hon 100 la: ');
   Writeln;
   For i:= 0 To 100 Do
       If i In a Then
          Write(i,', ');
   Writeln;
   Writeln;
   Write('   Bam phim <Enter> de ket thuc ');
   Readln
End.

.

Bài tập

 Program Tim_ky_tu;
Var
    Chuoi:String;
   Co,Khong:Set of Char;
   i:Integer;
   Ch:Char;
Begin
    Writeln('TIM KY TU KHONG XUAT HIEN TRONG CHUOI');
   Writeln('-------------------------------------');
   Write('-Nhap mot chuoi ky tu: ');
   Readln(Chuoi);
   Co:=[];
   For I:=1 To Length(Chuoi) Do
       Co:=Co+[Upcase(Chuoi[i])];
   Khong:=['A'..'Z'] - Co;
   Writeln;
   Writeln('     Nhung ky tu khong co trong chuoi nay la: ');
   Writeln;
   For Ch:='A' To 'Z' Do
       If Ch In Khong Then
          Write(Ch,', ');
   Writeln;
   Writeln;
   Write('   Bam phim <Enter> de ket thuc ');
   Readln
End.

.

Bài tập

 Program Nguyen_am_Phu_am;
TYPE
    Kytu=Set of Char;
Var
    a,b,Nguyen,Phu:Kytu;
   Chuoi:String;
   i:Integer;
   Ch:Char;
Begin
    Writeln('CAC NGUYEN AM, PHU AM TRONG MOT CHUOI');
   Writeln('-------------------------------------');
   Write('-Nhap mot chuoi ky tu: ');
   Readln(Chuoi);
   a:=['a','e','i','o','u','A','E','I','O','U'];
   b:=['a'..'z','A'..'Z'] - a;
   Nguyen:=[];
   Phu:=[];
   For I:=1 To Length(Chuoi) Do
       Begin
          If Chuoi[i] In a Then
             Nguyen:=Nguyen + [Chuoi[i]];
         If Chuoi[i] In b Then
             Phu:=Phu +[Chuoi[i]];
      End;
   Writeln;
   Writeln('*Chuoi nay co cac nguyen am sau day:');
   Write('     ');
   For Ch:='A' To 'z' Do
       If Ch In Nguyen Then
          Write(Upcase(ch),', ');
   Writeln;
   Writeln('*Chuoi nay co cac phu am sau day:');
   Write('     ');
   For Ch:='A' To 'z' Do
       If Ch In Phu Then
          Write(Upcase(Ch),', ');
   Writeln;
   Writeln;
   Write('    Bam phim <Enter> de ket thuc ');
   Readln
End.

.

Bài tập

 Program Du_lich;
Uses Crt;
TYPE
 Diadiem=Set of 1..5;
Var
 ng1,ng2,ng3,Ba,Hai,Mot:DiaDiem;
 ch1,ch2,ch3,i:Byte;
(*----------------------------*)
 PROCEDURE Den(i:Byte);
 Begin
 Case i Of
 1:Write('Da Lat ');
 2:Write('Vung Tau ');
 3:Write('Nha Trang ');
 4:Write('Hue ');
 5:Write('Ha Noi ');
 End;
 End;
(*----------------------------*)
BEGIN
 ClrScr;
 Writeln('CHUONG TRINH THAM QUAN');
 Writeln('----------------------');
 Writeln(' 1-Da Lat');
 Writeln(' 2-Vung Tau');
 Writeln(' 3-Nha Trang');
 Writeln(' 4-Hue');
 Writeln(' 5-Ha Noi');
 Writeln('Chon noi nao, go cac so tu 1 den 5');
 Writeln('1-Nguoi thu nhat chon 3 noi:');
 Write(' -Noi thu nhat: ');
 Readln(ch1);
 Write(' -Noi thu hai: ');
 Readln(ch2);
 Write(' -Noi thu ba: ');
 Readln(ch3);
 ng1:=[ch1,ch2,ch3];
 Writeln('2-Nguoi thu hai chon 3 noi:');
 Write(' -Noi thu nhat: ');
 Readln(ch1);
 Write(' -Noi thu hai: ');
 Readln(ch2);
 Write(' -Noi thu ba: ');
 Readln(ch3);
 ng2:=[ch1,ch2,ch3];
 Writeln('3-Nguoi thu ba chon 3 noi:');
 Write(' -Noi thu nhat: ');
 Readln(ch1);
 Write(' -Noi thu hai: ');
 Readln(ch2);
 Write(' -Noi thu ba: ');
 Readln(ch3);
 ng3:=[ch1,ch2,ch3];
 Ba:=ng1 * ng2 * ng3;
 Hai:=(ng1*ng2-ng3) + (ng2*ng3-ng1) + (ng3*ng1-ng2);
 Mot:=ng1 + ng2 +ng3;
 Writeln;
 Writeln('*Cac noi ma ca 3 nguoi deu chon: ');
 For i:=1 To 5 Do
 If i In Ba Then
 Den(i);
 Writeln;
 Writeln('*Noi chi co 2 nguoi chon: ');
 For i:=1 To 5 Do
 If i In Hai Then
 Den(i);
 Writeln;
 Writeln('*Noi chi co 1 nguoi chon: ');
 For i:=1 To 5 Do
 If i In Mot Then
 Den(i);
 Writeln;
 Write(' Bam phim <Enter> de ket thuc ');
 Readln
END.

.

Bài tập

 Program So_khac_nhau;
CONST
 M=100;
TYPE
 DaySo=Set of 0..255;
 DayNguyen=Array[1..M] Of Integer;
Var
 a:DayNguyen;
 i,n:Integer;
 x:DaySo;
Begin
 Writeln('IN CAC SO KHAC NHAU CUA DAY SO');
 Writeln('------------------------------');
 Repeat
 Write('Nhap bao nhieu so: ');
 Readln(n);
 Until N <= M;
 For i:=1 To N Do
 Begin
 Write('-Phan tu thu: ',i,' = ');
 Readln(a[i]);
 End;
 x:=[];
 For i:=1 To N Do
 If Not (a[i] In x) Then
 Begin
 Write(a[i],', ');
 x:=x+[a[i]];
 End;
 Writeln;
 Write(' Bam phim <Enter> de ket thuc ');
 Readln
End.

.

Bài tập

 Program Cac_phep_Toan;
TYPE
 KyTu=Set of Char;
Var
 a,b,Cong,Nhan,tru1,tru2:KyTu;
 p:Array[1..100] Of Char;
 m,n,i:Byte;
Begin
 Writeln('CAC PHEP TOAN TRONG TAP HOP');
 Writeln('---------------------------');
 a:=[];
 b:=[];
 Write('-So phan tu cua tap hop A= ');
 Readln(m);
 For i:=1 To M Do
 Begin
 Write(' -Phan tu A[',i,']= ');
 Readln(p[i]);
 a:=a + [p[i]];
 End;
 Write('-So phan tu cua tap hop B= ');
 Readln(n);
 For i:=1 To N Do
 Begin
 Write(' -Phan tu B[',i,']= ');
 Readln(p[i]);
 b:=b + [p[i]];
 End;
 Nhan:=a * b;
 Writeln('A * B gom cac phan tu: ');
 For i:=0 To 255 Do
 If Char(i) In Nhan Then
 Write(Char(i),#32);
 Writeln;
 Cong:=a + b;
 Writeln('A + B gom cac phan tu: ');
 For i:=0 To 255 Do
 If Char(i) In Cong Then
 Write(Char(i),#32);
 Writeln;
 Tru1:=a - b;
 Writeln('A - B gom cac phan tu: ');
 For i:=0 To 255 Do
 If Char(i) In Tru1 Then
 Write(Char(i),#32);
 Writeln;
 Tru2:=b - a;
 Writeln('B - A gom cac phan tu: ');
 For i:=0 To 255 Do
 If Char(i) In Tru2 Then
 Write(Char(i),#32);
 Writeln;
 If A <= B Then
 Writeln('-Tap hop A nho hon tap hop B');
 If B <= A Then
 Writeln('-Tap hop B nho hon tap hop A');
 Writeln;
 Write(' Bam phim <Enter> de ket thuc ');
 Readln
End.

.

Bài tập

 Program Dem_phan_tu;
Var
 kytu:'A'..'z';
 taphop: Set of 'A'..'z';
 n,i,spt:Byte;
Begin
 Writeln('DEM SO PHAN TU CUA TAP HOP');
 Writeln('--------------------------');
 Write('-Nhap bao nhieu chu: ');
 Readln(n);
 taphop:=[];
 For i:=1 To N Do
 Begin
 Write('-Ky tu thu ',i,' la: ');
 Readln(kytu);
 taphop:=taphop + [Kytu];
 End;
 For Kytu:= 'A' To 'z' Do
 If Kytu In Taphop Then
 Inc(spt);
 Write('Tap hop gom co ',spt,' phan tu la: ');
 For Kytu:='A' To 'z' Do
 If Kytu In Taphop then
 Write(Kytu,#32);
 Writeln;
 Writeln;
 Write(' Bam phim <Enter> de ket thuc ');
 Readln
End.

.

Bài tập

 Program Bau_cu;
CONST
    Max=100;
   ucv=5;
   tke:Array[1..5] Of Word =(0,0,0,0,0);
TYPE
    stt=1..ucv;
   phieubau=Set of stt;
Var
    Phieu:Array[1..Max] Of Phieubau;
   n,n1,i:1..Max;
   j:1..ucv;
   Ch:Char;
   Bau:0..5;
Begin
    Writeln('KIEM PHIEU BAU CU CHI DOAN TN');
   Writeln('-----------------------------');
   Write('-Cho biet so nguoi tham gia bau (1..100): ');
   Readln(n);
   {Gan tat ca cac tap hop bang rong}
   FillChar(Phieu, Sizeof(Phieu), #0);
   {Nhap phieu bau cua tat ca cac cu tri}
   For i:=1 To N Do
       Begin
          Write('-Cu tri thu ',i);
         For j:=1 To ucv Do
             Begin
                Write('  +Chon ung cu vien thu ',j,' (C/K) ? ');
               Readln(Ch);
               Ch:=Upcase(Ch);
               If Ch = 'C' Then
                   Phieu[i]:=Phieu[i] + [j];
            End;
      End;
   {Kiem tra phieu hop le }
   n1:=n;
   For i:=1 To n Do
       Begin
          Bau:=0;
         For j:=1 To ucv Do
             If j In Phieu[i] Then
                Inc(Bau);
            If Bau <> 3 then
                Begin
                   Phieu[i]:=[];
                  Dec(n1);
               End;
      End;
   {Kiem phieu}
    For i:= 1 To n Do
       For j:=1 To ucv Do
          If j IN Phieu[i] Then
             Inc(Tke[j]);
   Writeln;
   Writeln('   KET QUA KIEM PHIEU');
   Writeln('-So phieu hop le: ',n1,' phieu');
   For j:=1 To ucv Do
       Writeln('-So phieu chon ung cu vien thu: ',j,' la ',Tke[j]);
   Writeln;
   Write('   Bam phim <Enter> de ket thuc ');
   Readln
End.

.

Bài tập


.

Advertisements

About pascalteacher

Trang thông tin Toán học và Tin học

Thảo luận

Không có bình luận

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

Các tác giả

Categories

Tháng Mười 2014
H B T N S B C
« Th11   Th11 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

NCT Computer

Flickr Photos

Thống kê

  • 179,897 lượt xem

pascalteacher.nct@gmail.com


Trang huấn luyện học sinh giỏi Tin học

%d bloggers like this: