М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
zannaeroshik505
zannaeroshik505
29.04.2023 16:09 •  Информатика

Составить программу - конвертер, которая запрашивает тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, а также число - длину в этой единице и переводит данное число во все остальные единицы длины. ввод чисел заканчивается нажатием клавиши 0. протокол работы программы: выберите тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, 0- выход. 1 введите длину в этой единице: 5 ответ: 5 дм = 50 см = 500 мм = 0,5 м = 0,0005 км выберите тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, 0- выход. 3 введите длину в этой единице: 100 ответ: 100 м = 1000 дм = 10000 см = 100000 мм = 0,1 км выберите тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, 0- выход. 0 пока!

👇
Ответ:
василиска8
василиска8
29.04.2023
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var r:integer;
  var x:real;
  while true do begin
    Write('Выберите тип единицы длины:',NewLine,
        '1-дециметр, 2-километр, 3-метр, 4-миллиметр, 5-сантиметр, 0-выход.' );
    Read(r);
    if r=0 then begin Writeln('Пока!'); Exit end;
    Write('Введите длину в этой единице: '); Read(x);
    case r of
      1:Writeln(x, ' дм = ',10*x,' см = ',100*x,' мм = ',x/10,' м = ',
            x/10000,' км');
      2:Writeln(x, ' км = ',1000*x,' м = ',10000*x,' дм = ',100000*x,' см = ',
            x*1000000,' мм');;
      3:Writeln(x, ' м = ',10*x,' дм = ',100*x,' см = ',x*1000,' мм = ',
            x/1000,' км');
      4:Writeln(x, ' мм = ',x/10,' см = ',x/100,' дм = ',x/1000,' м = ',
            x/1000000,' км');
      5:Writeln(x, ' cм = ',10*x,' мм = ',x/10,' дм = ',x/100,' м = ',
            x/100000,' км');
      end
    end
end.

Составить программу - конвертер, которая запрашивает тип единицы длины: 1 - дециметр, 2 - километр,
4,8(50 оценок)
Открыть все ответы
Ответ:
Lizacat201
Lizacat201
29.04.2023
Сначала числа преобразуются в двоичный код.
А=-5(10)=-101(2)
В=-8,25(10)=-1000,01(2)
Числа в формате с фиксированной запятой в памяти хранятся таким образом, что позиция запятой известна и неизменна для всех чисел (отсюда и название с фиксированной точкой) .
Для этого число А должно быть представлено в виде -101,00(2)
Пусть для хранения используется 8 разрядов. Тогда числа в прямом коде будут представлены в виде
А: 1.00101,00
В: 1.01000,01 - здесь отделённый точкой старший разряд знаковый, 1 - означает минус.
Обратный код получается инверсией всех разрядов, кроме знаковых.
А: 1.11010,11
В: 1.10111,10
Теперь нужно получить дополнительный код. Но перед этим нужно иметь в виду, что ни запятые, ни точки в памяти не хранятся, но всегда известно, где знаковый разряд и сколько разрядов в дробной части. Поэтому
А: 11101011 + 1 = 11101100
В: 11011110 + 1 = 11011111
Это и есть внутреннее представление заданных чисел в дополнительном коде.
Сложение и вычитание чисел с фиксированной точкой производится так же, как и для целых чисел.
11101100
+
11011111

111001011 - старший разряд (№8) будет выдавлен из разрядной сетки и в данном случае просто отброшен. Результат операции сложения 11001011.
Теперь можно преобразовать получившееся число в привычный десятичный вид и проверить результат.
1.1001011
1.0110100 - обратный код
1.0110100 + 1 = 1.0110101 - прямой код.
Возвращаем запятую на место
1.01101,01 -> -(8+4+1+1/4)
В десятичном виде это число -13,25
Сложение было выполнено правильно.
4,6(69 оценок)
Ответ:
Fish474
Fish474
29.04.2023
1)
Дано:
K=1024*768=786 432
N=16 777 216
Найти:
V-?

Решение:
V=K*I
I=log₂N
I=log₂16777216=24 бит
V=768432*24=18874368 бит : 8=2359296 байт : 1024=2304 Кб : 1024=2.25 Мб
ответ: 2.25 Мб

2)
Дано:
K=1600*1200=1 920 000
N=16 777 216
Найти:
V-?

Решение:
V=K*I
I=log₂N
I=log₂16777216=24 бит
V=1920000*24=46080000 бит : 8=5760000 байт : 1024=5625 Кб : 1024≈5.5 Мб
ответ: видеокарту с 64 Мб памяти

3)
Дано:
K=1024*768=786 432
I=16 бит
Найти:
V - ?

Решение:
V=K*I
V=786432*16=12582912 бит : 8=1572864 байт : 1024=1536 Кб : 1024=1.5 Мб
Гц (частота) - количество действий в одну секунду => 1.5 Мб * 75=112.5 Мб
ответ: 112.5 Мб
4,4(94 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ