Một số bài tập Pascal phần 2 - Tham khảo
Chia sẻ bởi Đinh Nguyên Thanh Tú |
Ngày 26/04/2019 |
56
Chia sẻ tài liệu: Một số bài tập Pascal phần 2 - Tham khảo thuộc Tin học 11
Nội dung tài liệu:
Readln(tiep);
Until Upcase(tiep)=`K`;
Writeln;
Writeln(` Bam phim de ket thuc`);
Readln
End. [/CODE]
171/Đổi hệ 10 sang hệ 2:
[CODE] Program Doi_so_he_2;
Var
n,so:Integer;
tiep:Char;
Begin
Writeln(`DOI SO HE 10 SANG HE 2`);
Writeln(`----------------------`);
Repeat
Write(`-Nhap so nguyen he 10: `);
Readln(so);
n:=16384; {Gan n= 2 luy thua 14}
Writeln;
Write(`+So he 2 la `);
Repeat
Write(so Div n);
so:=so - n * (so Div n);
n:= n Div 2;
Until n=0;
Writeln;
Write(`-Tiep tuc nua khong (C/K) `);
Readln(tiep);
Until Upcase(tiep)=`K`;
Writeln;
Writeln(` Bam phim de ket thuc`);
Readln
End. [/CODE]
172/Đổi hệ 16 sang hệ 10:
[CODE] Program Doi_he_so;
Var
Ky_so:String;
(*------------------*)
FUNCTION Doiso(x:String):Integer;
Var
j,tong,nhan,so:Integer;
tam:Char;
Begin
tong:=0;
nhan:=1;
For j:= length(x) Downto 1 Do
Begin
tam:=x[j];
If Ord(tam)= 32 Then
tam:=`0`;
If tam in[`0`..`9`,`A`..`F`] Then {Toan tu in}
Begin
so:=Ord(tam) - 48;
If so > 9 Then
so:=so-7;
tong:=tong + so*nhan;
End
Else
Begin
Doiso:=0;
Exit;
End;
nhan:=nhan*16
End;
Doiso:=tong;
End;
(*------------------*)
BEGIN
Writeln(`DOI SO HE 16 SANG HE 10`);
Writeln(` Su dung ham`);
Writeln(`------------------------`);
Repeat
Write(`Nhap ky so he 16 (go kk de dung): `);
Readln(ky_so);
Writeln;
Writeln(`+Doi sang he 10 la = `,Doiso(ky_so));
Writeln;
Until ky_so=`kk`;
END. [/CODE]
173/Đổi số ra chử:
[CODE] Program Doi_So_ra_chu;
TYPE
ChuSo=`0`..`9`;
Donvi=(Muoi,Tram);
Phamvi= 0..999;
CONST
KS:Array[ChuSo] Of String=(` `,`mot `,` hai`,` ba`,
` bon`,` nam`,` sau`,` bay`,` tam`,` chin`);
DV:Array[DonVi] Of String[6]=(` muoi `,` tram`);
Var
n:Phamvi;
sn,s:String;
Dodai:Byte;
Begin
Writeln(`DOI SO RA CHU`);
Writeln(`-------------`);
Writeln;
Write(`-Nhap mot so tu 0 den 999: `);
Readln(n);
Str(n,sn);
DoDai:=Length(sn);
Case DoDai Of
1: s:=KS[sn[1]];
2: Begin
If Sn[1] = `1` Then
s:=`muoi`
Else
s:=KS[sn[1]]+DV[Muoi];
If sn[2] = `5` Then
s:=s+`lam`
Else
s:=s+KS[sn[2]];
End;
3: Begin
s:=KS[sn[1]]+DV[Tram];
Case sn[2] Of
`0` : If sn[3] <> `0` Then
s:=s+`le`;
`1` : s:=s+`muoi`;
Else
s:=s+KS[sn[2]]+DV[Muoi];
End;
Until Upcase(tiep)=`K`;
Writeln;
Writeln(` Bam phim
Readln
End. [/CODE]
171/Đổi hệ 10 sang hệ 2:
[CODE] Program Doi_so_he_2;
Var
n,so:Integer;
tiep:Char;
Begin
Writeln(`DOI SO HE 10 SANG HE 2`);
Writeln(`----------------------`);
Repeat
Write(`-Nhap so nguyen he 10: `);
Readln(so);
n:=16384; {Gan n= 2 luy thua 14}
Writeln;
Write(`+So he 2 la `);
Repeat
Write(so Div n);
so:=so - n * (so Div n);
n:= n Div 2;
Until n=0;
Writeln;
Write(`-Tiep tuc nua khong (C/K) `);
Readln(tiep);
Until Upcase(tiep)=`K`;
Writeln;
Writeln(` Bam phim
Readln
End. [/CODE]
172/Đổi hệ 16 sang hệ 10:
[CODE] Program Doi_he_so;
Var
Ky_so:String;
(*------------------*)
FUNCTION Doiso(x:String):Integer;
Var
j,tong,nhan,so:Integer;
tam:Char;
Begin
tong:=0;
nhan:=1;
For j:= length(x) Downto 1 Do
Begin
tam:=x[j];
If Ord(tam)= 32 Then
tam:=`0`;
If tam in[`0`..`9`,`A`..`F`] Then {Toan tu in}
Begin
so:=Ord(tam) - 48;
If so > 9 Then
so:=so-7;
tong:=tong + so*nhan;
End
Else
Begin
Doiso:=0;
Exit;
End;
nhan:=nhan*16
End;
Doiso:=tong;
End;
(*------------------*)
BEGIN
Writeln(`DOI SO HE 16 SANG HE 10`);
Writeln(` Su dung ham`);
Writeln(`------------------------`);
Repeat
Write(`Nhap ky so he 16 (go kk de dung): `);
Readln(ky_so);
Writeln;
Writeln(`+Doi sang he 10 la = `,Doiso(ky_so));
Writeln;
Until ky_so=`kk`;
END. [/CODE]
173/Đổi số ra chử:
[CODE] Program Doi_So_ra_chu;
TYPE
ChuSo=`0`..`9`;
Donvi=(Muoi,Tram);
Phamvi= 0..999;
CONST
KS:Array[ChuSo] Of String=(` `,`mot `,` hai`,` ba`,
` bon`,` nam`,` sau`,` bay`,` tam`,` chin`);
DV:Array[DonVi] Of String[6]=(` muoi `,` tram`);
Var
n:Phamvi;
sn,s:String;
Dodai:Byte;
Begin
Writeln(`DOI SO RA CHU`);
Writeln(`-------------`);
Writeln;
Write(`-Nhap mot so tu 0 den 999: `);
Readln(n);
Str(n,sn);
DoDai:=Length(sn);
Case DoDai Of
1: s:=KS[sn[1]];
2: Begin
If Sn[1] = `1` Then
s:=`muoi`
Else
s:=KS[sn[1]]+DV[Muoi];
If sn[2] = `5` Then
s:=s+`lam`
Else
s:=s+KS[sn[2]];
End;
3: Begin
s:=KS[sn[1]]+DV[Tram];
Case sn[2] Of
`0` : If sn[3] <> `0` Then
s:=s+`le`;
`1` : s:=s+`muoi`;
Else
s:=s+KS[sn[2]]+DV[Muoi];
End;
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Đinh Nguyên Thanh Tú
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)