Кодирование информации в компьютере
Поговорим о том, как физически представлена информация в компьютере. Вот на листе учебника буквы представлены типографской краской, в человеческом мозге информация представлена электрическими импульсами, которые передаются из одной нервной клетки мозга в другую. В компьютере принят тот же способ представления, что и в мозге - из одного устройства компьютера в другое и внутри устройств информация передается электрическими импульсами. Посмотрим поподробнее, как электрические импульсы несут информацию.
Прежде всего заметим, что информация в компьютере - это программы или данные, с которыми эти программы работают.
Из чего состоит программа? Программа на языке программирования состоит из команд, записанных при помощи букв, цифр, знаков математических действий, знаков препинания и других символов[4]. Будем понимать под символом любой знак (букву, цифру, знак математического действия, знак препинания и др.), который понимает компьютер. Большинство символов вы можете видеть на клавиатуре.
Из чего состоят данные? Если это числовые или текстовые данные, то они тоже состоят из символов[5]. О графических данных (изображениях) и звуке поговорим чуть ниже.
Таким образом, значительная часть информации в компьютере состоит из символов. Посмотрим, как в компьютере представлены символы. Для этого вспомним, как кодируются символы в азбуке Морзе, активно использовавшейся не так давно для передачи сообщений на расстояние. Каждый символ (буква, цифра) представлен в ней цепочкой точек и тире. Например, буква А представлена, как .-, буква Ч - как ---. . В компьютере каждый символ тоже кодируется, но по-другому – цепочкой из восьми единиц и ноликов. Например, буква А представлена, как 10000000, буква Ч - как 10010111, а цифра 7, как 00110111.
Кстати, вот полезная задачка для будущего программиста: Сколько всего символов можно закодировать цепочкой из восьми единиц и ноликов?
Пока мы с вами говорили о символах и их кодировании безотносительно к тому, какими физическими процессами они представлены в компьютере. Мы были на так называемом «логическом» уровне. Теперь перейдем на физический уровень. Пусть память передает на принтер букву Ч. В этом случае она посылает по шине в течение, скажем, восьми микросекунд, серию из восьми электрических импульсов или промежутков между импульсами:
Первая микросекунда - импульс
Вторая микросекунда - промежуток
Третья микросекунда - промежуток
Четвертая микросекунда - импульс
Пятая микросекунда - промежуток
Шестая микросекунда - импульс
Седьмая микросекунда - импульс
Восьмая микросекунда - импульс
Как видите, последовательность импульсов и промежутков в серии соответствует последовательности единиц и ноликов в коде буквы Ч. Величина импульса не играет никакой роли, все импульсы в микросхемах компьютера имеют обычно одну и ту же величину, скажем 3 вольта.
Таким же примерно образом обмениваются группами из 8 импульсов все устройства компьютера. В памяти эти группы живут в "замороженном" виде. В каждом байте оперативной памяти или памяти на диске умещается ровно одна такая группа, поэтому говорят, что устройства обмениваются байтами информации.
В оперативной памяти единичка представляется наличием электрического потенциала в определенной точке электронной микросхемы, а нолик - его отсутствием. В памяти на магнитных дисках единичка представляется наличием намагниченности в определенной точке диска, а нолик - его отсутствием или намагниченностью в другом направлении. В компакт-дисках единичка - это бороздка или бугорок в определенной точке диска, а нолик - его отсутствие, то есть участочек с зеркальной поверхностью.
Когда кодируется изображение, то кодируется информация о каждом пикселе изображения (в виде группы единиц и ноликов). Например,
Код 111 - пиксел горит белым цветом
Код 100 - пиксел горит синим цветом
Код 010 - пиксел горит красным цветом
Код 001 - пиксел горит зеленым цветом
. . . . . . . . . . . . . . . . . . . .
Код 000 - пиксел не горит (черный)
Если программа предназначена для распечатки изображения с экрана монитора на цветном принтере, то она просто посылает на принтер по очереди коды информации о каждом пикселе изображения.
При кодировании звука используются разные способы, но факт то, что результатом кодировки являются все те же группы единиц и ноликов.
В заключение отмечу две неточности в моем изложении материала этого пункта. Я говорил, что единички в разных устройствах компьютера представляются наличием потенциала или намагниченности или бороздок и т.д., а вот нолики - их отсутствием. На самом деле в отдельных устройствах может быть и наоборот - единички это отсутствие, а нолики - наличие. Это не принципиально.
Второе: коды чисел в компьютере часто не являются совокупностью кодов цифр, эти числа образующих. Так, число 88 часто не представляется цепочкой 00111000 00111000, а для кодирования чисел используется другой, более экономный способ.
Вывод – любая информация в компьютере закодирована в виде цепочек, состоящих из единиц и нулей, и в таком закодированном виде передается внутри устройств и между устройствами компьютера. Обычно длина цепочки равна 8 и тогда такая цепочка называется байтом, а каждый из восьми ноликов или единичек называется битом. Таким образом, 1 байт = 8 битов.
________ _ _________
Мне кажется, тех сведений, которые вы получили в этой части, достаточно для того, чтобы приступить к сознательному программированию на Паскале.
Часть II. Программирование на Паскале – первый уровень
Цель этой части – научить вас составлять программы, сначала простые, затем все более сложные. А главная цель – добиться у вас ощущения того, что теперь вы можете самостоятельно писать программы любой сложности. По пути вы узнаете все необходимые для этого средства Паскаля. Причем в этой части я попытался обойтись простыми средствами. Если какое-то средство не казалось мне необходимым для достижения главной цели или было слишком сложным, я его откладывал на следующую часть. Таким образом, если эта часть посвящена простым средствам Паскаля, то следующая – более сложным.
Если вы прочли первую часть, то уже имеете достаточное представление о компьютере и программе, чтобы сознательно программировать на языке Паскаль.
Программа состоит из команд, как дом из кирпичей. Прежде, чем строить дом, нам, конечно, нужно узнать, как выглядят кирпичи. Команды, из которых состоит программа на Паскале и многих других языках, называются операторами(см. 2.5). Многие операторы на Паскале являются обращениями к процедурам (см. 2.3). Более подробно о смысле этих названий поговорим позже (8.3), а пока не будем делать между ними различия и все подряд будем называть операторами. Каждый новый изученный оператор будет открывать перед нами новые возможности Паскаля, поэтому поставим задачу для начала изучить побольше операторов на примерах их работы в простых программах и только затем перейдем к более сложным программам.
Глава 4. Простые (линейные) программы. Операторы ввода-вывода. Переменные величины
Процедура вывода Write
Первый оператор, с которым мы познакомимся, занимается исключительно тем, что приказывает компьютеру изобразить на экране монитора ту или иную информацию, состоящую из букв (символов) и чисел. Пусть мы хотим, чтобы компьютер изобразил на экране число 1999. Эту задачу выполняет процедура Write. К ней обратимся так - Write(1999). То, что нужно изобразить, положено заключать в круглые скобки. По-английски слово Writeозначает "пиши". Для тех, кто плохо разбирается в английской транскрипции, я возьму грех на душу и приведу примерное произношение русскими буквами – «райт». Перевод и произношение всех нужных вам слов Паскаля вы найдете в приложении П3 и П4. Сам я настаиваю на умеренно правильном произношении с тех пор, как одна студенточка, указуя перстом на оператор Write, мило сказала: «Здесь врите, Сергей Николаевич».
Говорят, что процедура Write выводитна экран число 1999, или (по традиции), что процедура Write печатаетчисло 1999, хотя, конечно, печатать на экране нельзя. (Правда, Паскаль всегда легко настроить так, чтобы Write выполнялся не на мониторе, а на принтере.)
А теперь поучимся на примерах:
КАК ПИШЕМ ОБРАЩЕНИЕ К ПРОЦЕДУРЕЧТО ВИДИМ В РЕЗУЛЬТАТЕ НА ЭКРАНЕ
Write( -500) -500
Write(3 + 2) 5
Пояснения: Можно печатать не только числа, но и результаты вычисления арифметических выражений
Write(3 * 2) 6
Знак * обозначает умножение
Write(2 * 2 - 1) 3
Write( 'Хорошо!' ) Хорошо!
Текст, в отличие от чисел и выражений, нужно брать в одинарные кавычки
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|