Две небольшие задачки по программированию. №1. Чему будет равно значение переменной "с" в...

0 голосов
56 просмотров

Две небольшие задачки по программированию.
№1. Чему будет равно значение переменной "с" в результате выполнения фрагмента программы?
a:=1257; c:=0;
while a>0 do begin
if a mod 2<>0 then b:=a mod 10; c:=c+b;
a:=a div 10; end;
№2. Каким должно быть <условие>, чтобы после выполнения фрагмента программы переменная "s" была равна сумме элементов главной диагонали?
s:=0; for i:=1 to N do
for j:=1 to N do if <условие> then s:=s+a[ij];


Информатика (24 баллов) | 56 просмотров
Дан 1 ответ
0 голосов

1) с=18 и это легко получить, просто выполнив программу в Паскале.
2) В условии надо поставить i=j
Однако, вместо дурацкой конструкции
for i:=1 to N do
for j:=1 to N do if <условие> then s:=s+a[i,j];

нормальные люди пишут так:
for i:=1 to N do s:=s+a[i,i];


(142k баллов)