laleonaretouch
?>

Переведите число 315 записанное в одиннадцатеричную систему счисления в семеричную систему счисления

Информатика

Ответы

Elen-Fler

Логика игры

Есть игро­вое поле — про­стой пря­мо­уголь­ник с твёр­ды­ми гра­ни­ца­ми. Когда шарик каса­ет­ся стен­ки или потол­ка, он отска­ки­ва­ет в дру­гую сто­ро­ну. Если он упа­дёт на пол — вы про­иг­ра­ли. Что­бы это­го не слу­чи­лось, вни­зу вдоль пола лета­ет плат­фор­ма, а вы ей управ­ля­е­те с щью стре­лок. Ваша зада­ча — под­став­лять плат­фор­му под шарик как мож­но доль­ше. За каж­дое удач­ное спа­се­ние шари­ка вы полу­ча­е­те одно очко.

Алгоритм

Что­бы реа­ли­зо­вать такую логи­ку игры, нуж­но преду­смот­реть такие сце­на­рии пове­де­ния:

игра начи­на­ет­ся;

шарик начи­на­ет дви­гать­ся;

если нажа­ты стрел­ки вле­во или впра­во — дви­га­ем плат­фор­му;

если шарик кос­нул­ся сте­нок, потол­ка или плат­фор­мы — дела­ем отскок;

если шарик кос­нул­ся плат­фор­мы — уве­ли­чи­ва­ем счёт на еди­ни­цу;

если шарик упал на пол — выво­дим сооб­ще­ние и закан­чи­ва­ем игру.

Хит­рость в том, что всё это про­ис­хо­дит парал­лель­но и неза­ви­си­мо друг от дру­га. То есть пока шарик лета­ет, мы вполне можем дви­гать плат­фор­му, а можем и оста­вить её на месте. И когда шарик отска­ки­ва­ет от стен, это тоже не меша­ет дру­гим объ­ек­там дви­гать­ся и вза­и­мо­дей­ство­вать меж­ду собой.

marinakovyakhova
Сделать эту задачу можно двумя Первый - чисто арифметический. Второй - более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды).

Var n:longint;

Function MinDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
 str(n,s);
 a:=s[1];
 for i:=2 to length(s) do
   if s[i]<a then a:=s[i];
 val(a,n,c);
 MinDigit:=n;
end;

Function MaxDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
 str(n,s);
 a:=s[1];
 for i:=2 to length(s) do
   if s[i]>a then a:=s[i];
 val(a,n,c);
 MaxDigit:=n;
end;

Begin
 readln(n);
 writeln(MinDigit(n),' ',MaxDigit(n));
End.

По факту переменную "c" можно убрать из функций и использовать вместо нее уже не нужную в конце "i", таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Переведите число 315 записанное в одиннадцатеричную систему счисления в семеричную систему счисления
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

anikamalish
angelina-uj1350
miha23727
rusart3
artemkolchanov24
galtig83
i7aster26
matveevaev81
oyunabaduraeva
prik-galina7390
мария Кузив1393
Borg Fedak1162
milkiev
u-bhank
Anatolevich667