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.[r]
(1)BÀI TOÁN CHUYỂN ĐỔI CƠ SỐ: Nhập số vào, số vào số ra, đổi số vào số vào thành số số ra? có kiểm tra liệu nhập cho phép nhập lại Cơ số vào số nhận giá trị từ đến 36
Ví dụ 1: số vào : 16 số vào: 1f
số ra: số : 11111 ví dụ 2: số vào :
số vào: 149
> liệu sai cho phép nhập lại HƯỚNG DẪN GIẢI:
1 Chuyển số vào (sv) số vào (csv) thành số số 10 Chuyển số số 10 thành số (sr) số (scr) CHƯƠNG TRÌNH CHI TIẾT:
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) sv[i]:=upcase(sv[i]); kt:=true;
for i:=1 to length(sv)
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) begin
k:=pos(sv[i],chuso)-1; tp:=tp*csv+k;
end;
{doi sang co so ra} sr:='';
while >0 begin
du:=tp mod csr; sr:=chuso[du+1]+sr; tp:=tp div csr; end;
writeln('Doi sang co so ',csr,':',sr); readln;