Tải bản đầy đủ (.doc) (1 trang)

Bài toán chuyển đổi cơ số (thọ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (71.71 KB, 1 trang )

BÀI TOÁN CHUYỂN ĐỔI CƠ SỐ: Nhập cơ số vào, số vào và cơ số ra, đổi
số vào ở cơ số vào thành số ra ở cơ số ra? có kiểm tra dữ liệu khi
nhập và cho phép nhập lại. Cơ số vào và cơ số ra có thể nhận giá
trị từ 2 đến 36.
Ví dụ 1: cơ số vào : 16
số vào: 1f
cơ số ra: 2
số ra : 11111
ví dụ 2: cơ số vào : 8
số vào: 149
--> dữ liệu sai và cho phép nhập lại.
HƯỚNG DẪN GIẢI:
1. Chuyển số vào (sv) ở cơ số vào (csv) thành số tp ở cơ số 10.
2. Chuyển số tp ở cơ số 10 thành số ra (sr) ở cơ số ra (scr).
CHƯƠNG TRÌNH CHI TIẾT:
6/9/2013-/var/www/html/tailieu/data_temp/document/bai-toan-chuyen-doi-co-so-tho--
13707160463856/ncy1369381652.doc
uses crt;
const chuso:string='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var sv,sr:string;
csv,csr,du,i,k:0..36;
tp:longint;
kt:boolean;
begin
repeat
clrscr;
write('Nhap co so vao:');readln(csv);
write('Nhap so vao:');readln(sv);
for i:=1 to length(sv) do sv[i]:=upcase(sv[i]);
kt:=true;
for i:=1 to length(sv) do


if pos(sv[i],chuso)-1>=csv then kt:=false;
until (2<=csv)and(csv<=36)and kt;
repeat
write('Nhap co so ra:');readln(csr);
until (2<=csr)and(csr<=36);
{doi sang co so 10}
tp:=0;
for i:=1 to length(sv) do
begin
k:=pos(sv[i],chuso)-1;
tp:=tp*csv+k;
end;
{doi sang co so ra}
sr:='';
while tp >0 do
begin
du:=tp mod csr;
sr:=chuso[du+1]+sr;
tp:=tp div csr;
end;
writeln('Doi sang co so ',csr,':',sr);
readln;
end.

×