Математические первоисточники.

В первых механических предшественниках компьютера числа представлялись либо в виде линейных перемещений цепных и реечных механизмов, либо в виде угловых перемещений зубчатых и рычажных механизмов. Перемещения → большие габариты – низкая скорость. Только переход от регистрации перемеще-ний к регистрации сигналов позволил снизить габариты и повысить быстродействие. Для этого потребовалось ввести ряд важных принципов и понятий.

Двоичная система Лейбница. В электрических и электронных устройствах речь идет не о регистрации положений элементов конструкции, а о регистрации состояний элементов устройства. Таких устойчивых и различимых состояний всего два: включен – выключен; открыт – закрыт; заряжен – разряжен и др.

Возможность представления любых чисел (и не только чисел) двоичными цифрами впервые была предложена Готфридом Вильгельмом Лейбницем в 1666 г. «Об искусстве комбинаторики». Он пришел к двоичной системе счисления, зани-маясь исследованиями философской концепции единства и борьбы противоположностей. Попытка представить мироздание в виде непрерывного взаимодействия двух начал ("черного" и "белого", мужского и женского, добра и зла) и применить к его изучению методы "чистой" математики подтолкнули Лейбница к изучению свойств двоичного представления данных с помощью нулей и единиц.

Лейбниц впервые высказал мысль о возможности машинного моделирования человеческих функций; ввёл термин «модель».

Математическая логика Джорджа Буля.

Буль (Boole) Джордж (1815-1864), английский математик и логик. Не имея специального математического образования, в 1849 стал профессором математики в Куинс-колледже в Корке (Ирландия), где преподавал до конца жизни. Б. почти в равной мере интересовали логика, математический анализ, теория вероятностей, этика Б. Спинозы, философские работы Аристотеля и Цицерона. В работах «Математический анализ логики» (1847), «Логическое исчисление» (1848), «Исследование законов мышления» (1854) Б. заложил основы математической логики.

Занимаясь исследованием законов мышления, он применил в логике систему формальных обозначений и правил, близкую к математической (алгебра логики, булева алгебра). Результатом формального расчета логического выражения является одно из двух логических значений: истина или ложь.

Значение логической алгебры долгое время игнорировалось, поскольку она не находила применение в науке и технике того времени. С появлением электронной техники операции, введенные Булем, оказались весьма полезны. Они изначально ориентированы на работу только с двумя сущностями: истина и ложь, что хорошо согласуется с двоичным кодом, который в современных компьютерах тоже представляется всего двумя сигналами: ноль и единица.

Основные булевы операции, их использование в устройствах автоматики, трехмерном моделировании, программировании.

 

3.1 Теоретические основы программирования

 

 

3.1.1. Понятие данных, информации.

 

Нас окружает материальный мир. Состояния абсолютного покоя не существует, все физические объекты находятся в состоянии непрерывного движения и изменения, которые сопровождаются обменом энергии и ее переходом из одной формы в другую.

Все виды энергообмена сопровождаются появлением сигналов, которые каким-либо образом регистрируются (погода: разность атмосферного давления вызывает ветер, величина которого фиксируется на метеостанции).

Данные – это зарегистрированные сигналы.

Данные несут в себе информацию о событиях, произошедших в материальном мире. Однако нельзя поставить знак тождества "данные = информация". Наблюдая излучения далеких звезд, человек получает определенный поток данных, но станут ли эти данные информацией, зависит от многих обстоятельств.

Прослушивая передачу на незнакомом языке, мы получаем данные, но не получаем информацию в связи с тем, что не владеем методом преобразования данных в известные нам понятия (не знаем языка).

Информация – это продукт взаимодействия данных и адекватных им методов

 

В ходе информационного процесса данные преобразуются из одного вида в другой, обработка данных включает в себя множество различных операций, та-кие, как сбор данных, их фильтрация, сортировка, архивация, защита, транспортировка, преобразование и многие другие. Работа с информацией может иметь огромную трудоемкость, и ее надо автоматизировать.

Объем рынка информационных технологий (индустрия программного обеспечения) в 2000 г. приблизительно равен 4 трлн. долл., что составляет около 10 % от общего объема валового внутреннего продукта всех стран мира.

Развитие индустрии информационных технологий в России могло бы в течение нескольких лет выйти на объемы продаж, сопоставимые с объемами экспорта природного российского газа. Особенно крупных капиталовложений для этого не требуется.

Отечественная система отраслевых НИИ и КБ практически полностью разрушена, следовательно, целесообразно развивать индустрию информационных технологий при крупных университетах.

Основные направления развития, наиболее перспективные области:

· системы автоматизации проектирования и программирования различного назначения;

· информационные технологии с элементами искусственного интеллекта;

· программные и аппаратные средства так называемой «компьютерной математики» (Дьяконов В. П. Компьютерная математика. Теория и практика. М., Нолидж, 2000, 196 с.);

· средства педагогической информатики – для информатизации сферы образования и информационной поддержки образовательного процесса.

К сведению:

· зарплата программиста средней квалификации в США в 2002 г. составляла 150-180 тыс. долл. в год;

· английский язык становится не только самым распространенным языком международного общения, но и базовым языком глобального информационного общества; на английском языке представлено около 90 % научных знаний и более 80 % электронных баз данных;

· по данным ООН (2003 г.) сегодня в мире свободно владеют английским языком около 500 млн. чел. (8,5 % населения планеты), 1200 млн. чел. (20 %) изучают его и знают в качестве первого иностранного языка;

· одна из актуальных проблем формирования современной информатизационной культуры России – проблема формирования у граждан России хорошего знания русского языка: уровень его изучения в школах за последнее десятилетие значительно снизился и продолжает падать (количество часов сокращается, вводятся второстепенные предметы);

· исследования показывают, что в условиях информационного общества, помимо высокого уровня общей образованности человека, наиболее востребованными и ценными его качествами будут интеллект и способность к творчеству.

Развитие интеллекта современная психология связывает с деятельностью левого полушария головного мозга человека (логическое мышление), правое полушарие отвечает за процессы образного мышления и пространственного воображения, которые являются наиболее характерными для творчества.

Системы образования европейского типа, в том числе и российская, основное внимание уделяют развитию интеллектуальных способностей человека, способность к творчеству не используется и не развивается.

3.1.2. Способы представления информации. Двоичная система исчисления. Двоичная арифметика.

 

 

Для автоматизации работы с данными, относящимися к различным типам, важно унифицировать их форму представления. Для этого используется кодирование.

Кодирование – выражение данных одного типа через данные другого типа.

Примеры кодирования:

· человеческие языки: кодирование понятий для выражения мыслей посредством речи;

· азбуки – кодирование языка с помощью графических символов (букв);

· математические записи, азбуки глухонемых и слепых (система Брайля), азбука Морзе и др.

В вычислительной технике: двоичное кодирование, основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами (binary digit, bit), или битами.

Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, чер-ное или белое, истина или ложь и т. п.).

Два бита (4 понятия): 00 01 10 11;

три бита (8 значений): 000 001 010 011 100 101 110 111

или N = 2m ,

где N – количество независимых кодируемых значений;

m – разряд (количество бит для кодирования).

Целое число делится пополам до тех пор, пока частное не будет равно 1. Совокупность остатков от каждого деления, записанная справа налево вместе с последним частным, даст двоичный аналог десятичного числа.

17 / 2 = 8 + 1,

8 / 2 = 4 + 0,

4 / 2 = 2 + 0,

2 / 2 = 1 + 0,

1710 = 100012 = 1•20 + 0•21 + 0•22 + 0• 23 + 1• 24.

Для кодирования чисел 0 – 255: 8 разрядов двоичного кода (8 бит);

0 – 65535: 16 бит; 24 бита – более 16,5 миллионов различных значений.

Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:

3,1415926 = 0,31415926 • 101;

Первая часть числа называется мантиссой (для ее хранения отводят большую часть из 80 разрядов, вместе со знаком), вторая – характеристикой (фиксированное число разрядов, со знаком).