В программе обрабатывается одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3; −5; 1; −4; 11; 0; −14; 10; −8; 4 соответственно, т.е. A[0] = 3; A[1] = −5 и т.д. Определите значение переменной k после выполнения следующего фрагмента программы, записанного на рисунке на разных языках программирования.
Or - "ИЛИ". Если одно из условий верно, то и все выражение принимает истину [ 0 or 1 = 1 ; 1 or 0 = 1; 1 or 1 = 0, 0 or 0 = 0], где 1 - истина, а 0 - ложь у тебя условие If(k>9) or (k<14) then условие k > 9 выполняется, а значит и все выражение верно Нужно заменить "OR" на "AND" оператор "И". [ 1 and 1 = 1 ] при всех остальных - ложь
Вот код
var k: integer; begin readln(k); if k > 17 then Writeln('ваша оценка 5. Молодец!'); if (k > 13) and (k < 18) then Writeln('ваша оценка 4.'); if(k > 9) and (k < 14) then Writeln('ваша оценка 3.'); if k < 10 then Writeln('ваша оценка 2.'); end.
Решение, что называется, "в лоб" (далеко, очень далеко, не самое лучшее): var s,k1,k5,k10,k50,k100,k500,k1000,k10000:integer; begin write('s = '); readln(s); k1:=0; k5:=0; k10:=0; k50:=0; k100:=0; k500:=0; k1000:=0; k10000:=0; while s>=10000 do begin s:=s-10000; k10000:=k10000+1; end; while s>=1000 do begin s:=s-1000; k1000:=k1000+1; end; while s>=500 do begin s:=s-500; k500:=k500+1; end; while s>=100 do begin s:=s-100; k100:=k100+1; end; while s>=50 do begin s:=s-50; k50:=k50+1; end; while s>=10 do begin s:=s-10; k10:=k10+1; end; while s>=5 do begin s:=s-5; k5:=k5+1; end; while s>=1 do begin s:=s-1; k1:=k1+1; end; writeln('k10000=',k10000,' k1000=',k1000,' k500=',k500,' k100=',k100,' k50=',k50,' k10=',k10,' k5=',k5,' k1=',k1); writeln(' Всего купюр = ',k1+k5+k10+k50+k100+k500+k1000+k10000); end.
Пример: s = 27879 k10000=2 k1000=7 k500=1 k100=3 k50=1 k10=2 k5=1 k1=4 Всего купюр = 21
4
Объяснение:
Замечу, что команды цикла (кроме k++) попросту меняют местами значения элементов, рассматриваемых на текущей итерации.
k = 0
A = [3, -5, 1, -4, 11, 0, -14, 10, -8, 4]
i = 0
A[0]*A[1] = 3*(-5) = -15
-15 < 0 — true
k = 1, t = 3
A[0] = -5, A[1] = 3
A = [-5, 3, 1, -4, 11, 0, -14, 10, -8, 4]
i = 1
A[1]*A[2] = 3*1 = 2
3 < 0 — false
A = [-5, 3, 1, -4, 11, 0, -14, 10, -8, 4]
i = 2
A[2]*A[3] = 1*(-4) = -4
-4 < 0 — true
k = 2, t = 1
A[2] = -4, A[3] = 1
A = [-5, 3, -4, 1, 11, 0, -14, 10, -8, 4]
i = 3
A[3]*A[4] = 1*11 = 11
11 < 0 — false
A = [-5, 3, -4, 1, 11, 0, -14, 10, -8, 4]
i = 4
A[4]*A[5] = 11*0 = 0
0 < 0 — false
A = [-5, 3, -4, 1, 11, 0, -14, 10, -8, 4]
i = 5
A[5]*A[6] = 0*(-14) = 0
0 < 0 — false
A = [-5, 3, -4, 1, 11, 0, -14, 10, -8, 4]
i = 6
A[6]*A[7] = -14*10 = -140
-140 < 0 — true
k = 3, t = -14
A[2] = 10, A[3] = -14
A = [-5, 3, -4, 1, 11, 0, 10, -14, -8, 4]
i = 7
A[7]*A[8] = -14*(-8) = 112
112 < 0 — false
A = [-5, 3, -4, 1, 11, 0, 10, -14, -8, 4]
i = 8
A[8]*A[9] = -8*4 = -32
-32 < 0 — true
k = 4, t = -8
A[2] = 4, A[3] = -8