Одним из фундаментальных понятий информатики является алгоритм18. Под алгоритмом понимают описание некоторой точно заданной последовательности действий. Он может быть рассчитан на выполнение человеком или автоматическим устройством -- исполнителем. Алгоритм, предназначенный для компьютера (или другого автомата) и записанный на специальном языке, называют программой . Простая замена программы -- и машина начинает выполнять совершенно другие действия. Первое устройство с быстрой сменой программы было изобретено в 1801-1804 гг Жозеф Мари Жаккаром (Это был ткацкий станок, каждое движение челнока которого записывалось на отдельной перфокарте), идею же программного управления процессом вычислений выдвинул в середине прошлого века английский ученый Чарльз Беббидж19. В современных вычислительных машинах программа хранится в той же памяти, что и обрабатываемые данные20; это позволяет легко ее изменять или заменять другой. Ну, а в результате -- огромное количество "профессий" компьютера и чрезвычайно быстрая их смена.
Но, раз действиями компьютера управляет программа, не значит ли это, что для его использования человеку необходимо уметь программировать?
На заре развития ЭВМ так и было: для решения любой задачи нужно было самому составлять специальную программу. Современные же компьютеры оснащаются богатым программным обеспечением (ПО), которое разработано профессиональными программистами21.
ПО обычно делят на три вида:
Мы будем, в основном, заниматься наиболее распространенными видами прикладных программ, а одновременно с этим поговорим и об узлах компьютера, необходимых для соответствующей работы.
Начнем с устройства, не заметить которое,пожалуй, невозможно: монитора. Он предназначен для вывода информации на экран в виде некоторого изображения. Но как это изображение получается? Присмотримся повнимательней. Заметили? Изображение состоит из маленьких кружочков (или полосочек) трех цветов: красного, зеленого и синего22. Три электронных луча пробегают поочередно по всем строчкам экрана и заставляют светиться особое вещество -- люминофор23. Управляя лучом, можно управлять яркостью точек соответствующего цвета. В результате сложения в различном соотношении трех основных цветов получаются все видимые оттенки.
Подобным образом получают и изображение на бумаге с помощью другого распространенного устройства вывода -- принтера. Он тем или иным способом наносит на бумагу в нужных местах точки трех (чаще -- четырех) цветов. Поскольку в этом случае мы видим отраженный свет, нужно использовать краски, задерживающие основные цвета: голубую, пурпурную и желтую. Для повышения качества к ним добавляют черную24.
Точки, образующие изображение столь малы и расположены так близко друг к другу, что человек воспринимает их как единое целое. Совокупность этих точек называют растром25, а само изображение -- растровым.
Представление графической информации в памяти компьютера основано на том же принципе. Все изображение разбивается на маленькие "точки" -- пикселы, оттенок каждого из которых обозначают двоичным кодом. В простейшем случае картинка состоит только из черных и белых точек. Такую точку можно обозначить одним двоичным символом, допустим, ноль будет обозначать черный цвет, а единица -- белый. Значит, для хранения такого изображения нужно будет столько бит памяти, из скольких пикселов оно состоит. Например, первые компьютеры "Макинтош" имели разрешение экрана 512 х 342 пиксела. То есть, все изображение состояло из 512 342 = 175104 элементов. Для хранения каждого использовался 1 бит памяти. Следовательно все изображение занимало 175104 бит = 21888 байт -- (приблизительно 21 Кбайт).
А если изображение состоит не только из черных и белых точек? Увеличим количество разрядов в коде: пусть каждый пиксел обозначается двумя битами. Сколько разных кодов получится? "00", "01", "10" и "11" -- четыре. Мало? Добавим еще бит: "000", "001", "010", "011", "100", "101", "110", "111" -- можно закодировать 8 цветов. Как видите, увеличение длины кода на один символ удваивает количество различных оттенков, которые можно обозначить.
бит | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
цветов | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
Для того чтобы человеческий глаз не замечал мерцания монитора лучи должны пробегать весь экран несколько десятков раз в секунду27. Поэтому картинка, которую показывает нам компьютер, помещается в специальную оперативную память -- видеопамять, из которой информация и считывается с необходимой частотой.
Попробуем рассчитать минимальный объем видеопамяти для компьютера, который при разрешении 640х480 пиксел отображает 256 оттенков. Изображение в этом случае состоит из 640480=307200 элементов. Чтобы можно было обозначить 256 цветов, код каждого из них должен содержать (посмотрите в таблицу) 8 бит. Значит, каждый пиксел займет в памяти 8 бит = 1 байт, а весь экран -- 307200 байт = 300 Кбайт. Современные компьютеры могут работать с гораздо большим разрешением и обрабатывать изображения, содержащие тысячи28 и даже миллионы 29 оттенков цвета, кроме того, в видеопамяти может хранится несколько кадров одновременно, поэтому объем её может достигать нескольких мегабайт.
Для работы с графической информацией существуют специальные программы, которые так и называются -- графические редакторы. Все они позволяют нарисовать нужное изображение, изменить его, сохранить рисунок во внешней памяти, а также напечатать его. Однако, закодировать картинку для обработки можно по-разному. Вы уже знаете о растровом представлении изображения. В этом случае наименьший элемент, который можно изменить, -- это отдельная точка растра (пиксел). Конечно, можно работать не только с отдельными точками, но и любыми произвольными фрагментами рисунка, имитировать рисование различными реальными инструментами художника. Редакторы, использующие такое представление информации, называются растровыми.
Но можно запоминать не саму картинку, а инструкции, как ее нарисовать. Современные компьютеры могут выполнять такие инструкции с очень большой скоростью -- рисунок появляется почти мгновенно. В результате оказывается, что изображение состоит как бы из большого количества фигурок, разложенных на листе. Их можно в любой момент подвинуть, переложить по-другому, убрать или заменить. Такие "фигурки" называют объектами, а графические редакторы, работающие с ними -- объектными 30.
Оба способа представления изображения имеют свои преимущества и недостатки, поэтому, в зависимости от конкретной задачи, выбирается тот или другой графический редактор.
Похожие способы представления существуют и для звука. Можно разбить все время звучания на очень маленькие промежутки и хранить величину сигнала в каждый из этих промежутков. А можно указать, какую ноту, в какой момент и на каком инструменте сыграть. |