bin1:=bin; {bin1 будем использовать для вывода, т.к. значение bin изменится}
for i:=0 to 7 do {если предположить что число меньше, или равно 255}
begin {берём цикл в программные скобки}
temp:=bin mod 10; {отделяем последнюю цифру в переменную temp, которую используем в качестве буфера}
bin:=bin div 10; {убираем последнюю цифру}
dec:=dec+(temp*exp(i*ln(2)));
end; {вышли из цикла}
write ('Число ',bin1,'(2) = ',dec,'(10)');
end.
Пы.Сы. У меня в 9-ом классе не было паскаля, так что использовал всё самое простое что мог. Если вы учили такой тип данных как строка, то напиши в личку, я переделаю. И если что-то не работает/не так работает тоже напиши, ибо у меня нету паскаля и я не мог проверить) Мог где-то случайно опечататься.
1. я не знаю с какой дескретностью осуществляется поворот, однако результатом будут
а) горизонтальная линия вдоль верхней кромки экрана начинающаяся в точке 0,0
б) вертикальная линия вдоль левой кромки экрана начинающаяся в 2 шагах от точки 0,0
в) линия произвольного наклона начинающаяся в двух шагах от точки 0,0 и идущая до края экрана
2. а) вначале дойдем до края экрана
пока впереди не край
прыжок
конец цикла
б) повернем указатель в сторону угла и загоним указатель в угол
пока впереди край
поворот
конец цикла
пока впереди не край
прыжок
конец цикла
в) начинаемрисовать пунктир до следующего угла и там поворачиваем
пока впереди не край
шаг
прыжок
конец цикла
пока впереди край
поворот
конец цикла
г) повторяем пункт в еще 3 раза
итоговая программа
пока впереди не край
прыжок
конец цикла
пока впереди край
поворот
конец цикла
пока впереди не край
прыжок
конец цикла
i:=0
пока i<4
пока впереди не край
шаг
прыжок
конец цикла
пока впереди край
поворот
конец цикла
i := i+1
конец цикла
program perevod;
uses crt;
var
temp, dec, i: byte;
bin, bin1: longint;
begin
clrscr;
write ('Введите двоичное число: );
readln (bin);
bin1:=bin; {bin1 будем использовать для вывода, т.к. значение bin изменится}
for i:=0 to 7 do {если предположить что число меньше, или равно 255}
begin {берём цикл в программные скобки}
temp:=bin mod 10; {отделяем последнюю цифру в переменную temp, которую используем в качестве буфера}
bin:=bin div 10; {убираем последнюю цифру}
dec:=dec+(temp*exp(i*ln(2)));
end; {вышли из цикла}
write ('Число ',bin1,'(2) = ',dec,'(10)');
end.
Пы.Сы. У меня в 9-ом классе не было паскаля, так что использовал всё самое простое что мог. Если вы учили такой тип данных как строка, то напиши в личку, я переделаю. И если что-то не работает/не так работает тоже напиши, ибо у меня нету паскаля и я не мог проверить) Мог где-то случайно опечататься.