Есть ответ 👍

Условие: нужно ввести 4 значное целое число и определить является ли оно палиндромом("перевертышем"). для определения отдельных разрядов числа используется операции div и mod что в паскале обозначает: program n1; var a,b,i,q,l: integer; constlimit=4 begin readln(a); l: =a; b: =0; while a> 0 do begin q: =a mod 10; b: =b*10+q; a: =a div 10; end; if(l=b)then writeln('yes')else writeln('no'); end. 1. while a> 0 do 2. q: =a mod 10; b: =b*10+q; a: =a div 10; я не совсем понимаю, для чего в переменную b мы присвоили значение где b умножено на 10 и к произведению прибавлена q? 3. l: =a; b: =0; и я не понимаю, почем мы здесь присвоили b значение равное 0? объясните !

100
310
Посмотреть ответы 2

Ответы на вопрос:


While a> 0 do begin q: =a mod 10; b: =b*10+q; a: =a div 10; end; этот фрагмент формирует число, обратное заданному числу а, это число в конце будет находится в ячейке b. для примера рассмотрим короткое число. пусть а=123123> 0 поэтому все команды будут выполняться: q: =a mod 10; остаток от деления  123 на 10:   q=3  b: =b*10+q;     записываем ее в b   b=0*10+3=3 (вот поэтому сначала b должен быть 0) a: =a div 10;   откидываем от а последний разряд: а=12 (берем целую часть деления 123  на 10) идем в начало цикла 12> 0 поэтому все команды будут выполняться: q: =a mod 10; остаток от деления  12 на 10:   q=2 b: =b*10+q;     записываем ее в b   b=3*10+2=32 a: =a div 10;   откидываем от а последний разряд: а=1 (берем целую часть деления 12     на 10) идем в начало цикла 1> 0 поэтому все команды будут выполняться: q: =a mod 10; остаток от деления  1 на 10:   q=1 b: =b*10+q;     записываем ее в b   b=32*10+1=321 a: =a div 10;   откидываем от а последний разряд: а=0 (берем целую часть деления 1     на 10) идем в начало цикла. условие 0> 0 не выполняется, переходим к после цикла. а в b находится число, перевернутое по отношению к исходному.

ответ:

123.21

объяснение:

=округл((69+62)-2*(74/(8+11)); 2)

Популярно: Информатика