У нас будет HTML-страница, на ней будет блок, похожий на лист бумаги. У него будет включен content editable, то есть внутри этого блока можно будет что-то писать. После каждого нажатия клавиши содержимое этого блока будет записываться во внутреннюю память браузера.
Вторая часть алгоритма — при загрузке страницы взять из памяти тот текст, что там был раньше, и показать его в нашей текстовой области. Страницу можно обновлять как угодно и даже выключать компьютер — текст всё равно останется в памяти.
1) Достаём из памяти тот текст, который там был
2) Выводим его в нашу область для редактирования
3) Постоянно смотрим, нажата ли какая-нибудь клавиша
4) Если нажата — сразу записываем изменения в память.
Пункты 3 и 4 выполняются непрерывно до тех пор, пока вы не закроете страницу. Первая часть работы сделана
Сохраняем как html-файл, открываем его в браузере и видим пустой экран. Это нормально, сейчас будем наполнять.
Нам нужен только заголовок, который объяснит нам, где мы находимся, и большое пространство для ввода текста. За текстовое поле будет отвечать блок <div> со свойством contenteditable. Это свойство разрешает редактировать текст в блоке как угодно.
Разместим это в разделе <body>
Стили задают внешний вид страницы и любых элементов на ней. Сделаем наш заголовок опрятнее:
Для того, чтобы перевести число 1892 из десятичной системы счисления в двоичную, необходимо осуществить последовательное деление на 2, до тех пор пока остаток не будет меньше чем 2.
— 1892 2
1892 — 946 2
0 946 — 473 2
0 472 — 236 2
1 236 — 118 2
0 118 — 59 2
0 58 — 29 2
1 28 — 14 2
1 14 — 7 2
0 6 — 3 2
1 2 1
1
Полученные остатки записываем в обратном порядке, таким образом:
ответ: 189210=111011001002.
Объяснение:
:)
Поделитесь своими знаниями, ответьте на вопрос:
Ошибка "несколько подпрограмм могут быть вызваны". pascal abc.net. begin var d: =readlnstring('вас программа, которая может делить '+ 'два числа с остатком. напишите, , свое имя'); writeln(', ', d, '! '); repeat writeln('как нужно написать ответ? ', #13#10, '1 вариант. 5: 3 = 1(ост.2)', #13#10, '2 вариант. 5 = 3*1 + 2', #13#10, '0 - завершить работу'); var c: char; repeat c: =readlnchar('введите 0, 1 или 2: '); case c of '0': exit; '1', '2': break; end; until false; var a, b: biginteger; if not biginteger.tryparse(readlnstring('введите целочисленное делимое: '), a) then begin writeln('вы ввели неверное значение. работа завершена'); exit end; if not biginteger.tryparse(readlnstring('введите целочисленный делитель: '), b) then begin writeln('вы ввели неверное значение. работа завершена'); exit end; {if b=0 then begin writeln('вы ввели неверное значение.'); exit end; } if c='1' then writelnformat('{0}: {1}={2}(ост.{3})', a, b, a div b, a mod b) else writelnformat('{0}={1}*{2}+{3}', a, b, a div b, a mod b); var f: char; repeat f: =readlnchar('если вы хотите завершить работу, введите "0", если продолжить - любую букву.'); case f of '0': exit; else break; end; until false; until false end.
begin
var d:=ReadlnString('Вас приветствует программа, которая может делить '+'два числа с остатком. Напишите свое имя');
Writeln('Здравствуйте, ',d,'!');
repeat
Writeln('Как нужно написать ответ?',#13#10,'1 вариант. 5: 3 = 1(ост.2)',#13#10,'2 вариант. 5 = 3*1 + 2',#13#10,'0 - завершить работу');
var c:char;
Repeat
c:=ReadlnChar('Введите 0, 1 или 2:');
case c of
'0': exit;
'1','2':break;
end;
until False;
var a,b:BigInteger;
if not BigInteger.TryParse(ReadlnString('Введите целочисленное делимое:'),a) then
begin
Writeln('Вы ввели неверное значение. Работа завершена');
Exit
end;
if not BigInteger.TryParse(ReadlnString('Введите целочисленный делитель:'),b) then
begin
Writeln('Вы ввели неверное значение. Работа завершена');
Exit
end;
if integer(b)=0 then
{приведение к типу Integer. Менее абстрактно, чем BigInteger}
begin
writeln('Вы ввели неверное значение.');
exit
end;
if c='1' then WritelnFormat('{0}:{1}={2}(ост.{3})',a,b,a div b,a mod b)
else
WritelnFormat('{0}={1}*{2}+{3}',a,b,a div b,a mod b);
var f:char;
Repeat
f:=ReadlnChar('Если вы хотите завершить работу, введите "0", если продолжить - любую букву.');
case f of
'0': exit;
else break;
end;
until False;
until False
end.