Lập trình Scratch

Code chuyển đổi số hệ thập phân sang nhị phân bằng Pascal và Scratch

Hẳn các bạn đã biết số trong hệ thập phân và hệ nhị phân rồi phải không nào, trong bài này mình sẽ chia sẻ với các bạn code chuyển đổi số hệ thập phân sang nhị phân và nhị phân sang thập phân bằng Pascal và cùng thảo luận xem viết bằng Scratch thì có gì khác không nhé. Hãy tham khảo với onthihsg nhé.

Video đổi hệ nhị phân sang thập phân

Thuật toán chuyển đổi một số tự nhiên từ hệ thập phân sang hệ nhị phân

Để cho dễ hiểu mình lấy một ví dụ : Chuyển số 30 trong hệ thập phân sang hệ nhị phân

Code chuyển đổi số hệ thập phân sang nhị phân bằng Pascal và Scratch

Đầu tiên (ở dòng 1), chúng ta lấy 30 chia 2, kết quả được 15 và số dư là 0.

Kế tiếp (ở dòng 2), chúng ta lấy số 15 chia 2, kết quả được 7 và số dư là 1

Tiếp theo ở dòng 3, ta lấy số 7 chia 2, kết quả được 3 và dư 1

Ta tiếp tục lặp lại quá trình này cho đến khi kết quả chia 2 chúng ta được 0.

Số nhị phân chúng ta thu được chính là tập hợp các số dư của các phép chia (lấy từ dưới lên).

Số 30 trong hệ nhị phân sẽ là 11110 lạ chưa các bạn

Code chuyển đổi một số tự nhiên từ hệ thập phân sang hệ nhị phân bằn Pascal

Các bạn hãy tham khảo code viết bằng Pascal đổi thập phân sang nhị phân


Trong chương trình này mình viết bằng cách dùng chương trình con với dữ liệu vào là một số tự nhiên và kết quả trả về là xâu kí tự chứa số trong hệ nhị phân

Hướng dẫn code Pascal chuyển nhị phân sang thập phân

Đưới đây là code chuyển hệ 2 sang hệ 10 c hãy tham khảo nhé :

Program Nhi_Phan_Thap_Phan;
USES crt;
VAR dec_begin, i: Integer;
bin_number: String;
zero_or_one, bin_or_dec: Char;
bin: String;
currHeading, intBinChar, x: Integer;
dec: Real;
repeat_char: Char;
BEGIN
clrscr;
REPEAT
WRITELN(‘Muon chuyen tu Nhi Phan qua Thap Phan, bam B; Chuyen tu Thap Phan qua Nhi Phan, bam D’);
READLN(bin_or_dec);
IF (bin_or_dec=’D’) OR (bin_or_dec=’d’) THEN
BEGIN
WRITELN(‘Hay nhap vao mot so Thap Phan: ‘);
READLN(dec_begin);
REPEAT
IF (dec_begin mod 2) = 0 THEN zero_or_one := ‘0’
ELSE zero_or_one := ‘1’;
bin_number := bin_number + zero_or_one;
dec_begin := dec_begin div 2;
UNTIL dec_begin = 0;
FOR i := Length(bin_number) DOWNTO 1 DO
WRITE(bin_number[i]);
WRITELN;
END
ELSE
BEGIN
WRITELN(‘Hay nhap vao mot so Nhi Phan: ‘);
READLN(bin);
dec := 0;
currHeading := 0;
FOR i := Length(bin) DOWNTO 0 DO
BEGIN
IF currHeading > 0 THEN currHeading := currHeading * 2
ELSE currHeading := 1;
Val(bin[i], intBinChar, x);
dec := dec + (intBinChar * currHeading);
END;
WRITELN(dec:10:0);
END;
WRITELN(‘Ban co muon tiep tuc khong? Y/N’);
READLN(repeat_char);
UNTIL (repeat_char = ‘N’) OR (repeat_char = ‘n’);
READLN;
END.

Gợi ý dây dựng code chuyển đổi một số tự nhiên từ hệ thập phân sang hệ nhị phân bằn Scratch

Bài toán này nếu các bạn code bằng Scratch thì sẽ đơn giản hơn vì sao nhỉ, các bạn thấy code bằng Pascal trên có dòng str(du,tem); để chuyển dữ liệu kiểu số sang dữ liệu kiểu xâu,vì trong Pascal các kiểu dữ liệu phân biệt rất rạch ròi, vì vậy phải dùng hàm để chuyển đổi qua lại mới có thể tính toán được.

Còn trong Scratch thì khác kiểu số, kiểu xâu đều lưu chung trong một biến được cả chẳng cần phải chuyển đổi gì hết vì vậy khẻo hơn.

Các bạn hãy theo code Pascal trên để xây dựng code trong Scratch nhé.

Đã chuyển đi được thì cũng phải chuyển lại được vì vậy các bạn đón đọc cách chuyển số nhị phân sang số thập phân nhé

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button