profile
Размещено 5 лет назад по предмету Информатика от Kassandriala

условие: нужно ввести 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?
Объясните пожалуйста!

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    while a>0 do
    begin
    q:=a mod 10;
    b:=b*10+q;
    a:=a div 10;
    end;

    Этот фрагмент формирует число, обратное заданному числу а, это число в конце будет находится в ячейке b. Для примера рассмотрим короткое число. Пусть а=123
    123>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 находится число, перевернутое по отношению к исходному.
    1. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Так понятно?
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.