Работа программы представляет собой последовательное выполнение команд программирования: объектно – ориентированных логических функциональных процедурных
Var a,k,m,min,i,flag:integer; begin readln(a); m:=a; {сохраняю введенное значение и считаю кол-во цифр в числе} while m >0 do begin m:=m div 10; k:=k+1; end; min:=9; {записываю самое большое нечетное число} {в цикле отсекаю последнюю цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то сохраняю ее в min и присваиваю переменной Flag 1. Если к концу программы в переменной flag будет 1, значит хотя бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных} for i:=1 to k do begin if (a mod 10<=min)and(a mod 2<>0) then begin min:=a mod 10; flag:=1; end; a:=a div 10; end; if flag=0 then writeln('нет нечетных') else writeln(min); end.
Целая часть от деления Остаток от деления12 div 2 = 6 12 mod 2 = 06 div 2 = 3 6 mod 2 = 03 div 2 = 1 3 mod 2 = 11 div 2 = 0 1 mod 2 = 1Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 1100 12 = 1100|2 Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения. 0.75*2 = 1.5 (целая часть 1) 0.5*2 = 1 (целая часть 1) 0*2 = 0 (целая часть 0) 0*2 = 0 (целая часть 0) Получаем число в 2-ой системе счисления: 1100 0.75 = 1100|2 В итоге получаем число: 1100.1100|2
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку