Одним из фундаментальных понятий информатики является алгоритм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 цветов. Как видите, увеличение длины кода на один символ удваивает количество различных оттенков, которые можно обозначить.
бит