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

Растровый графический файл содержит черно-белое изображение ( без градации серого ) размером 400 на 250 точек . каков информационный объем этого файла ? ( в кб)

👇
Ответ:
avoka
avoka
19.02.2022
Окей,
Черный и Белый (без град серого) - это два цвета, значит кол-во цветов в палитре - 2. (N=2)
x=400
y=250
Найдём глубину цвета.
N=2^i
i=log2 2
i=1
Находим информационный объём.
V=x*y*i
V=400*250*1=100000 бит

Переводим биты в килобайты.
100000 бит = 12500 байт = 12,2 кБ

ответ: 12,2 Кб
4,7(100 оценок)
Открыть все ответы
Ответ:
rud5001
rud5001
19.02.2022
Код#include <iostream>#include <utility>#include <numeric>#include <vector>class Beast {    int trigger;    double aggression;    double rage_aggression;public:    Beast() = default;    Beast(int trigger, double aggression, double range_aggression)    : trigger(trigger), aggression(aggression), rage_aggression(range_aggression)    { }    Beast(const Beast&) = default;    Beast(Beast&&) = default;    Beast& operator=(const Beast&) = default;    Beast& operator=(Beast&&) = default;    [[nodiscard]] double calculate_aggression(unsigned long amount) const {        return amount > trigger ? rage_aggression : aggression;    }    void ReadFrom (std::istream& is) {        is >> aggression >> rage_aggression >> trigger;    }    void WriteTo(std::ostream &os) const {        os << aggression << " " << rage_aggression << " " << trigger;    }};std::istream& operator >>(std::istream &is, Beast &cls) {    cls.ReadFrom(is);    return is;}std::ostream& operator <<(std::ostream &os, const Beast &cls) {    cls.WriteTo(os);    return os;}class Cage {    double durability;    std::vector<Beast> container;public:    explicit Cage(double durability, std::vector<Beast> container)    : durability(durability), container(std::move(container))    { }    Cage(const Cage&) = default;    Cage(Cage&&) = default;    Cage& operator=(const Cage&) = default;    Cage& operator=(Cage&&) = default;    [[nodiscard]] double calculate_aggressive() const {        auto amount = container.size();        if (amount == 0) return 0;        return std::accumulate(container.begin(), container.end(), 0.0,        [amount](double total_aggressive, const Beast & beast){            return total_aggressive + beast.calculate_aggression(amount);        });    }    [[nodiscard]] bool is_it_normal() const {        auto aggressive = calculate_aggressive();        return aggressive <= durability;    }    [[nodiscard]] int get_capacity() const {        return container.size();    }    [[nodiscard]] double get_durability() const {        return durability;    }};template <typename T>void subsetsUtil(std::vector<T>& A, std::vector<std::vector<T> >& res,                 std::vector<T>& subset, int index){    res.push_back(subset);    for (int i = index; i < A.size(); i++) {        // include the A[i] in subset.        subset.push_back(A[i]);        // move onto the next element.        subsetsUtil(A, res, subset, i + 1);        // exclude the A[i] from subset and triggers        // backtracking.        subset.pop_back();    }}template <typename T>std::vector<std::vector<T>> P(std::vector<T>& A){    std::vector<T> subset;    std::vector<std::vector<T>> res;    int index = 0;    subsetsUtil(A, res, subset, index);    return res;}int main () {    int n, s;    Beast noname{};    std::vector<Beast> set_of_beasts;    std::cin >> n >> s;    for (auto i = 0; i < n; ++i) {        std::cin >> noname;        set_of_beasts.push_back(noname);    }    auto selections = P(set_of_beasts);    std::vector<Cage> variants;    std::transform(selections.begin(), selections.end(), std::back_inserter(variants), [s](std::vector<Beast> &selection){        return Cage(s, selection);    });    std::vector<Cage> true_variants;    std::copy_if(variants.begin(), variants.end(), std::back_inserter(true_variants), [](Cage& x) {return x.is_it_normal();});    auto the_best_of_the_best_variant = *std::max_element(true_variants.begin(), true_variants.end(), [](Cage & s1, Cage & s2){        return s1.get_capacity() < s2.get_capacity();    });    std::cout << the_best_of_the_best_variant.get_capacity();    return 0;}
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
4,4(41 оценок)
Ответ:
SHiiimochka
SHiiimochka
19.02.2022
1) 64*32/8/1024 = 0,25 кб; 1 / 0,25 = 4 бит пиксель; 2^4 = 16 цветов.
2) 50*80*(ln(16)/ln(2)) = 16000 бит; 16000 / 8 = 2000 байт.
3) 64*64*(ln(256)/ln(2)) = 32768 бит / 8 / 1024 = 4 кбайт минимум.
4) 2048*1536*3 байт пиксель = 9437184 байт / 8 / 1024 = 1152 кбайт.
5) (ln(256)/ln(2)) / (ln(2)/ln(2)) =8 раз меньше стал; (текущий уменьшенный вес файла + 70 байт) * 8 =~ 560 байт если весил 1 байт.
6) (ln(64)/ln(2)) / (ln(8)/ln(2)) = 2 раза.
7) (ln(1024)/ln(2)) / (ln(32)/ln(2)) = 2 раза.
8) 32*64/8 = 256; 512 байт / 256 = 2 бит пикс; 2^2 = 4 цветов.
9) 128*128/8/1024 = 2; 4 кб / 2 = 2 бит пикс; 2^2 = 4 цветов.
10) 1024*768*16 бит пикс = 12582912 бит / 8 / 1024 / 1024 = 1,5 мбайт.
11) 1024*512/8/1024 = 64; 256 кб / 64 = 4 бит пикс; 2^4 = 16 цветов.
12) 32*128*(ln(64)/ln(2)) бит = 24576 бит / 8 / 1024 = 3 кбайта.
13) 2^24 = 16 777 216 цветов; 1240*1024*(ln(16777216)/ln(2)) бит пикс = 30474240 бит / 8 / 1024  = 3720 кбайт для одной страницы требуется.
 
4,6(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ