Тема: процедуры и функции. дана матрица размера 6 на 4. найти сумму отрицательных элементов всей матрицы. через процедуру ввода и вывода и объясните каждую строчку.
Program matritsa; Uses crt; Var s:integer; {Переменная S - сумма} m:array[1..6,1..4]of integer; {матрица} i,j:byte; {Для использования циклов} Begin clrscr; {Очистка экрана} S:=0; {Обнуляем s} For i:=1 to 6 do {проходит столбцы} For j:=1 to 4 do {проходит строки} m[i,j]:=random(101)-50; {присваивает случайное значение от -50 до 50} For i:=1 to 6 do {проходит столбцы} Begin {начало операторных скобок} Writeln; {пропуск строки} For j:=1 to 4 do {проходит строки} Write(m[i,j]:4); {вывод значения} End; {конец операторных скобок} Writeln; For i:=1 to 6 do {проходит столбцы} For j:=1 to 4 do {проходит строки} If m[i,j]<0 then {Проверка значения(меньше нуля?)} S:=s+m[i,j]; {увеличивает сумму на значение данного элемента} Writeln('Сумма отрицательных элементов матрицы =',s); {Вывод} End.
972₁₀ = 1111001100₂ 1. Число будет иметь минимальное значение, если в нем будет минимально возможное количество значащих разрядов. Таких циклическх сдвигов в данном случае возможно 2 (запишем их друг под другом): 0011001111 - циклический сдвиг на 4 разряда влево; 0011110011 - циклический сдвиг на 8 разрядов влево; 2. При равном количестве разрядов меньшим будет то число, у которого при просмотре разрядов слева направо встретится ноль, в то время как у второго в этом же разряде будет единица (это место выделено): 11001111 - это число меньшее из двух. 11110011 ответ: 11001111₂ = 207₁₀
(1 + 0)*(0+0) + 1*0 (1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна (0 + 0) - ложна, т.к. обе перменные ложны (1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны. 1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками ((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
Program matritsa;
Uses crt;
Var s:integer; {Переменная S - сумма}
m:array[1..6,1..4]of integer; {матрица}
i,j:byte; {Для использования циклов}
Begin clrscr; {Очистка экрана}
S:=0; {Обнуляем s}
For i:=1 to 6 do {проходит столбцы}
For j:=1 to 4 do {проходит строки}
m[i,j]:=random(101)-50; {присваивает случайное значение от -50 до 50}
For i:=1 to 6 do {проходит столбцы}
Begin {начало операторных скобок}
Writeln; {пропуск строки}
For j:=1 to 4 do {проходит строки}
Write(m[i,j]:4); {вывод значения}
End; {конец операторных скобок}
Writeln;
For i:=1 to 6 do {проходит столбцы}
For j:=1 to 4 do {проходит строки}
If m[i,j]<0 then {Проверка значения(меньше нуля?)}
S:=s+m[i,j]; {увеличивает сумму на значение данного элемента}
Writeln('Сумма отрицательных элементов матрицы =',s); {Вывод}
End.