Логические данные- это одно из двух значений( истина или ложь).
Для решения примера вспоминаем, что при переходе от шестнадцатиричной системы счисления к двоичной достаточно заменить каждую шестнадцатиричную цифру четырьмя двоичными (тетрадой).
Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде.
Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения.
12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2)
Считаем количество нулей в записи: 9. Это и есть ответ.
a=2
b=8
цикл произошел два раза из-за a:=a+1
значит x равен от 100 до 9999(при прохождении получаются числа от 0,01 до 0,9999)
теперь остался b:
b в начале был равен и получил 8 при цикле. mod узнаёт остаток деления на 100 которое прошло 2 раза. посмотрим если выберем 9999
9999(остаток 99) -> 99,99(остаток 99+99). вывод: программа под буквой b вычислила сумма всех двузначных чисел. значит самое максимальное 800( 8 и 0) т.к. если выбрать больше 999 то 1000 это сумма 10 и 0 что не подходит. а нам надо самое максимальное.
Ответ:800
option explicit
dim s,k,i,j,max,min,a
privat sub cmdstart_click()
pic1.cls
redim a(1 to 5,1 to 3)
pic1.scale(0,0)-(5+1,3+1)
randomize:pic1.forecolor=vbblue
for i=1 to 5
for j=1 to 3
a(i,j)=int(rnd*100):pic1.currentx=j
pic1.currenty=i:pic1.print a(i,j)
next
next
max=a(1,1)
min=a(1,1)
for i=1 to 5
for j=1 to 3
if a(i,j)>max and a(i,j)<min then
end if
next
next
pic1.forecolor=vbred:pic1.print max, min
end sub