Другие языки программирования и технологии
подправить программу
randomize: for 0 to x do X:=random(100); генерируется случайное число затем это число переводим writeln('переведи число из десятичной',x); write(' в двоичную систему и напиши свой ответ:'); readln(OTVET); написать лошическое выражение если верно тоесть если ввели проавильнй ответ то на экран выводится слово ВЕРНО если не верно тл на экран выводится НЕВЕРНО! ПРАВИЛЬНЫЙ ОТВЕТ= ЗДЕСЬ ПРОГРАММА ДОЛЖНА АВТОМАТИЧЕСКИ ВЫВОДИТЬ НА ЭКРАН ПРАВИЛЬНЫЙ ОТВЕТ
1) Функция переводит из десятичной (обычной) системы счисления
в двоичную.
DECIMAL -> BINARY
FUNCTION DEC2BIN(DEC: LONGINT): STRING;
VAR
BIN : STRING;
I, J: LONGINT;
BEGIN
IF DEC = 0 THEN BIN := '0'
ELSE
BEGIN
BIN := '';
I := 0;
WHILE (1 SHL (I + 1)) <=DEC DO I := I + 1;
{ (1 SHL (I + 1)) = 2^(I + 1) }
FOR J := 0 TO I DO
BEGIN
IF (DEC SHR (I - J)) = 1 THEN BIN := BIN + '1'
{ (DEC SHR (I - J)) = DEC DIV 2^(I - J) }
ELSE BIN := BIN + '0';
DEC := DEC AND ((1 SHL (I - J)) - 1);
{ DEC AND ((1 SHL (I - J)) - 1) = DEC MOD 2^(I - J) }
END;
END;
DEC2BIN := BIN;
END;
2) Функция переводит из двоичной системы счисления в десятичную
(обычную) .
BINARY -> DECIMAL
FUNCTION BIN2DEC(BIN: STRING): LONGINT;
VAR
J : LONGINT;
Error: BOOLEAN;
DEC : LONGINT;
BEGIN
DEC := 0;
Error := False;
FOR J := 1 TO Length(BIN) DO
BEGIN
IF (BIN[J] <>'0') AND (BIN[J] <>'1') THEN Error := True;
IF BIN[J] = '1' THEN DEC := DEC + (1 SHL (Length(BIN) - J));
{ (1 SHL (Length(BIN) - J)) = 2^(Length(BIN)- J) }
END;
IF Error THEN BIN2DEC := 0
ELSE BIN2DEC := DEC;
END;
в двоичную.
DECIMAL -> BINARY
FUNCTION DEC2BIN(DEC: LONGINT): STRING;
VAR
BIN : STRING;
I, J: LONGINT;
BEGIN
IF DEC = 0 THEN BIN := '0'
ELSE
BEGIN
BIN := '';
I := 0;
WHILE (1 SHL (I + 1)) <=DEC DO I := I + 1;
{ (1 SHL (I + 1)) = 2^(I + 1) }
FOR J := 0 TO I DO
BEGIN
IF (DEC SHR (I - J)) = 1 THEN BIN := BIN + '1'
{ (DEC SHR (I - J)) = DEC DIV 2^(I - J) }
ELSE BIN := BIN + '0';
DEC := DEC AND ((1 SHL (I - J)) - 1);
{ DEC AND ((1 SHL (I - J)) - 1) = DEC MOD 2^(I - J) }
END;
END;
DEC2BIN := BIN;
END;
2) Функция переводит из двоичной системы счисления в десятичную
(обычную) .
BINARY -> DECIMAL
FUNCTION BIN2DEC(BIN: STRING): LONGINT;
VAR
J : LONGINT;
Error: BOOLEAN;
DEC : LONGINT;
BEGIN
DEC := 0;
Error := False;
FOR J := 1 TO Length(BIN) DO
BEGIN
IF (BIN[J] <>'0') AND (BIN[J] <>'1') THEN Error := True;
IF BIN[J] = '1' THEN DEC := DEC + (1 SHL (Length(BIN) - J));
{ (1 SHL (Length(BIN) - J)) = 2^(Length(BIN)- J) }
END;
IF Error THEN BIN2DEC := 0
ELSE BIN2DEC := DEC;
END;
Похожие вопросы
- Надо подправить программу С++.
- Нужно подправить программу в Pascal на одномерные массивы.
- Ребят, помогите подправить программу на С++
- Посоветуйте мне, пожалуйста, что где подправить, чтобы стало ещё красивее? ===>
- Создание программ.
- Продаю программу с исходниками на Visual Basic 2008 за 50 руб.
- Помогите написать программу со switch в СИ
- Подскажите пожалуйста, на каком языке написана программа, на С или C++
- Помогите пожалуйста подправить процедуру Pascal
- а можно ли в cms движке что то самому подправить ручками или только средствами управления движка