А)132031(4) переводим в двоичную систему. Каждую цифру заменяем двумя двоичными (4=2^2) по принципу 0 ⇒ 00б 1 ⇒ 01, 2 ⇒ 10, 3 ⇒ 11 132031(4)=01 11 10 00 11 01(2) ⇒ 11110001101(2) б) Для перевода из 2 с/с в 8 с/с справа налево разбиваем двоичное число на триады и заменяем каждую двоичную триаду соответствующей восьмеричной цифрой. 11110001101(2) = 11 110 001 101(2) = 3615(8) в) Для перевода в 10 с/с заменяем каждую восьмеричную цифру её произведением на 8 в степени, на единицу меньшей порядкового номера позиции цифры в числе, считая справа налево
2. 9347(11) +7039(11) ----------------- 15385(11) Объяснение: 7+9=16, но в 11с/с цифры только 0..10, поэтому 16 это 16-11=5 и перенос 1 в старший разряд.
3221(6) - 354(6) ------------- 2423(6) Объяснение: от 1 отнять 4 нельзя, поэтому занимаем "единичку" в старшем разряде. Но "единичка" в 6с/с - это 6, а не 10, как в 10с/с, поэтому вместо 1 мы получаем 1+6-7, далее из 7 вычитаем 3 и получаем 4. Теперь во втором справа разряде вместо 2 осталась 1 (мы "занимали единицу"), Из 1 нельзя вычесть 5, занимаем "единичку" у соседней 2 и.т.д.
type tWP = record naim: string; wide: real; leng: real; cost: real end;
var WallPaper: array[1..n] of tWP; lr, wr, hr, ww, hw, wd, hd, gc, sg: real; i, nw, nd, nPanel, nWP, nRolls, index: integer; p, nPanRoll, ng, cg, C, Cmin: real;
begin writeln('Введите информацию по рулонам обоев:'); for i := 1 to n do begin with WallPaper[i] do begin write('Рулон ', i, ', наименование: '); readln(naim); write('ширина, длина, стоимость: '); readln(wide, leng, cost); end; end; writeln('Длина комнаты, ширина комнаты, высота оклейки'); readln(lr, wr, hr); writeln('Ширина окна, высота окна, количество окон'); readln(ww, hw, nw); writeln('Ширина двери, высота двери, количество дверей'); readln(wd, hd, nd); writeln('Стоимость обойного клея и площадь, которую им можно оклеить'); readln(gc, sg); p := 2 * (lr + wr) - nw * ww - nd * wd; //периметр оклейки ng := p * hr / sg; if ng > int(ng) then ng := int(ng) + 1; //количество банок с клеем cg := gc * ng; // общая стоимость клея Cmin := 32768; nRolls := 0; index := 0; for i := 1 to n do with WallPaper[i] do begin // Требуемое количество полотнищ, т.е. сколько раз // ширина рулона укладывается по периметру оклейки nPanel := Trunc(p / wide); if p - nPanel * wide > 0 then nPanel := nPanel + 1; // Определяем, сколько полотнищ получается из одного рулона // при заданной высоте оклейки. nPanRoll := leng / hr; // Вычисляем, сколько потребуется рулонов nWP := Trunc(nPanel / nPanRoll); if nPanel - nWP * nPanRoll > 0 then nWP := nWP + 1; C := nWP * cost + cg; // Cтоимость поклейки обоев if Cmin > C Then begin Cmin := C; index := i; nRolls := nWP end; end; with WallPaper[index] do begin writeln('Минимальные расходы на оклейку в сумме ', CMin:0:2); writeln('получаются при использовании ', nRolls, ' рул. обоев ',naim); writeln('шириной ', wide * 100:0:2, ' при цене ', cost:0:2, ' руб.'); writeln('за рулон длиной ', leng:0:0, ' м. и ',ng,' банок клея.') end end.
Тестовое решение:
Введите информацию по рулонам обоев: Рулон 1, наименование: Гладкие ширина, длина, стоимость: 0.8 10 190 Рулон 2, наименование: Гладкие ширина, длина, стоимость: 0.9 10 210 Рулон 3, наименование: Гладкие ширина, длина, стоимость: 1.2 8 240 Рулон 4, наименование: Ромбик ширина, длина, стоимость: 0.8 10.5 210 Рулон 5, наименование: Ромбик ширина, длина, стоимость: 0.9 10 230 Рулон 6, наименование: Ромбик ширина, длина, стоимость: 1.1 8.5 240 Рулон 7, наименование: Тисненые ширина, длина, стоимость: 0.8 10 218 Рулон 8, наименование: Тисненые ширина, длина, стоимость: 0.9 9.5 224 Рулон 9, наименование: Тисненые ширина, длина, стоимость: 1 9 235 Длина комнаты, ширина комнаты, высота оклейки 8.5 6.2 2.4 Ширина окна, высота окна, количество окон 1.6 1.2 1 Ширина двери, высота двери, количество дверей 0.95 2.2 2 Стоимость обойного клея и площадь, которую им можно оклеить 85 3.1 Минимальные расходы на оклейку в сумме 3255.00 получаются при использовании 7 рул. обоев Гладкие шириной 90.00 при цене 210.00 руб. за рулон длиной 10 м. и 21 банок клея.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку