1. Находим общее количество пикселей n = 1024×768 = 786432 2. Находим количество бит, необходимое для отображения цвета одного пикселя k=㏒₂64 = 6 (или просто вспоминаем, что 64=2⁶) 3. Определяем объем информации в битах I = n×k = 786432×6 = 4718592 бит 4. Переводим в более крупные единицы - в байты: 1 байт=8 бит; 4718592 бит/8 = 589824 байт - в Кбайты: 1 Кбайт=1024 байта; 589824 байт/1024 = 576 Кбайт - в Мбайты: 1 Мбайт=1024 Кбайта; 576 Кбайт/1024 = 0.5625 Мбайт.
Б. Решение "в степенях двойки"
1. Находим общее количество пикселей n = 1024×768 = 2¹⁰×2⁹×1.5 = 2¹⁹×1.5 2. Находим количество бит, необходимое для отображения цвета одного пикселя k=㏒₂64 = 6 (или просто вспоминаем, что 64=2⁶) 3. Определяем объем информации в битах I = n×k = 2¹⁹×1.5×6 = 2¹⁹×9 бит 4. Переводим в более крупные единицы - в байты: 1 байт=2³ бит; 2¹⁹×9 бит/2³ = 2¹⁶×9 байт - в Кбайты: 1 Кбайт=2¹⁰ байт; 2¹⁶×9 байт/2¹⁰ = 2⁶×9 Кбайт = 64×9 = 576 Кбайт - в Мбайты: 1 Мбайт=2¹⁰ Кбайт; 2⁶×9 Кбайт/2¹⁰ = 2⁻⁴×9 Мбайт = 9/16 Мбайт = 0.5625 Мбайт.
lemoh
15.03.2020
Переменные в программе дают возможность обращаться к областям в памяти компьютера с удобных имен - это упрощает написание, отладку и модификацию программы. Получив описание переменной, современный транслятор (непринципиально, будет это компилятор или интерпретирующая программа) должен отвести под эту переменную область памяти, достаточную для размещения в ней данных и впоследствии учитывать тип переменной, делая, при необходимости, неявные преобразования типа. Ранние языки программирования не допускали неявных преобразований, т.е. преобразований, которые выполняются без участия программиста. Пример таких языков - Fortran II. В этом языке нельзя было смешивать в одном операторе переменные разных типов. Кстати, о типе переменных. Существуют разные классификации, но для понимания самой концепции типов непринципиально, какой классификацией пользоваться. Если говорить упрощенно, можно различать числовые и нечисловые данные. С числовыми можно совершать математические операции, а нечисловые можно только вводить в компьютер (например, с клавиатуры) и выводить из компьютера во внешнюю среду (например, отображать на мониторе). И вот тут самое интересное. Перед тем, как компьютер получит числовое данное, оно должно быть введено в форме нечислового. Тут-то и возникает неявное преобразование типов. Когда мы, к примеру, вводим число 25, то нажимаем клавиши "2" и "5", посылая компьютеру определенные коды. Компьютер преобразует их и получает последовательность символов "25". Это то же, что число 25? Если мы пишем 25 на бумаге, то для нас оно хоть число, хоть текст, изображающий число. А для компьютера это не так. Его система команд обрабатывает символы отдельно, числа отдельно. И хранит компьютер число 25 и символы "25" совсем по-разному. Вот поэтому мы должны описывая переменные, сообщать не только их имена, но и тип - чтобы транслятор "понял", как эти данные ему обрабатывать. Даже числовые данные неоднородны - компьютер может хранить их с разным представлением (целые, с фиксированной точкой, с плавающей точкой) и с разной разрядностью (максимальным числом цифр). И, встретив в операции два числа разного типа, транслятор должен привести их к одному - это тоже случай неявного приведения типов. Например, оно возникнет при вычислении выражения 2.5+1, потому что первое значение дробное, а второе - целое. Транслятор приведет его к 2.5+1.0.
Описание переменной должно быть сделано до её первого использования в программе. Обычно стараются вынести все описания в начало программы - при изучении текста чужой программы так легче найти нужное описание. Это характерно для "классических" языков программирования типа Pascal. Описание переменных в этом языке делается в разделе, который начинается ключевым словом var (от английского слова variable - переменная). Альтернативой является описание в месте, непосредственно предшествующем первому использованию переменной - это облегчает первичное написание программы, когда заранее сложно сказать, какие переменные понадобятся - особенно этим любят пользоваться программисты на языках С/С++, хотя и в этом языке есть возможность описать переменные в начале программы.
Примеры описания одних и тех же переменных: a) Pascal var a:integer; b1, b134, delta: real; weight: array[1..n] of integer;
б) С/С++ int a; single b1, b134, delta; int weight[n+1];
в) BASIC DIM a AS INTEGER DIM b1 AS REAL, b134 AS REAL, delta AS REAL DIM weight(1 To N) AS INTEGER
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Створіть програму для обчислення площі трикутника за значенням його сторін. Виконайте програму та доведіть, шо отриманий результат є правильним.
1. Находим общее количество пикселей
n = 1024×768 = 786432
2. Находим количество бит, необходимое для отображения цвета одного пикселя
k=㏒₂64 = 6 (или просто вспоминаем, что 64=2⁶)
3. Определяем объем информации в битах
I = n×k = 786432×6 = 4718592 бит
4. Переводим в более крупные единицы
- в байты: 1 байт=8 бит; 4718592 бит/8 = 589824 байт
- в Кбайты: 1 Кбайт=1024 байта; 589824 байт/1024 = 576 Кбайт
- в Мбайты: 1 Мбайт=1024 Кбайта; 576 Кбайт/1024 = 0.5625 Мбайт.
Б. Решение "в степенях двойки"
1. Находим общее количество пикселей
n = 1024×768 = 2¹⁰×2⁹×1.5 = 2¹⁹×1.5
2. Находим количество бит, необходимое для отображения цвета одного пикселя
k=㏒₂64 = 6 (или просто вспоминаем, что 64=2⁶)
3. Определяем объем информации в битах
I = n×k = 2¹⁹×1.5×6 = 2¹⁹×9 бит
4. Переводим в более крупные единицы
- в байты: 1 байт=2³ бит; 2¹⁹×9 бит/2³ = 2¹⁶×9 байт
- в Кбайты: 1 Кбайт=2¹⁰ байт; 2¹⁶×9 байт/2¹⁰ = 2⁶×9 Кбайт = 64×9 = 576 Кбайт
- в Мбайты: 1 Мбайт=2¹⁰ Кбайт; 2⁶×9 Кбайт/2¹⁰ = 2⁻⁴×9 Мбайт = 9/16 Мбайт = 0.5625 Мбайт.