Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по основам алгоритмизации.doc
Скачиваний:
6
Добавлен:
22.07.2019
Размер:
143.87 Кб
Скачать

Кодировки, основанные на кодовой таблице unicode:

1.Кодировки с постоянным числом бит на символ. (UCS 2- 2 байта на символ (внутри OC windows и в параметрах ее системных вызовов – с windows 2000 ( win NT 5.0))).

В языках программирование, в которых есть тип данных для UNICODE- символов.

2. Кодировки с переменным числом бит на символах (UTF). В этих кодировках символом из диапазона 0…127 дает минимальное число байт, а остальным увеличенное. UTF- 8. Символы из диапазона 0…827 кодируется одним байтом, остальные 2- мя, 3- мя, 4- мя или 5-ю байтами. Кодировка была придумана для совместимости со старым ПО, который работает с однобайтными строками. Англоязычный текст выглядит так же, как в кодировках ASCII, конкретно работает поиск и алфавитное упорядочивание даже для многобайтных символов. Применяется в Internet.

UTF- 16 символы с диапазоном 0….32267 выделяется 2 байтами, остальные большее число байт. UTF- 16 находится в таком же отношении совместимости с UCS- 2, как UTF с ASCII.

В начале UNICODE- текста иногда добавляется 2 байта специально назначения. Они называются BOM- BITE ORDER MARK (памятка о порядке байт).

Прямой и обратный порядок байт.

Память любой современной ЭВМ можно представить себе как длинную ленту, состоящих из отдельных байт. У каждого байта есть адрес, начиная с О и т.д. Допустим, начиная с некоторого адреса в памяти размещено их байтное целое. Оно может размешаться двумя способами: 1) сначала старший байт, потом остальные до младшего – прямой порядок байт « тупоконечный» BE- Big Endean’s.

2) Сначала младший байт, потом остальные до старшего - обратный порядок байт « остроконечный» le – Little Endean’s.

В архитектуре Intel (AMD) используется LE.

Кодировка цветов.

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

Стандартное программное представления – 3 байта на цвет, по 1 байту на R, G и B составляющие (RGB- формой).

FFFFFF – белый коды с одинаковым значением, OOOOOO – черный байт соответствуют градациям серого.

Иногда в графиках изображения нужна информация о прозрачности точки. Тогда добавляется 4-й байт степени прозрачности. Его называют альфа-каналом, а формат RGBA.

В полиграфии используется другие базовые цвета (CMYK).

Доклад: представление вещественных чисел.

В технике применяется не только двоичная система: троичная сбалансированная система счисления (каждый разряд может принимать одно из 3-х значений: 0,1; -1; достоинство: значимость - как информационное ( в математике доказано, что лучше всего основание - самое экономичное, а ближе всего) и инженерное (мы можем использовать и потом, и отрицательный сигнал). Впервые была применена в ЭВМ « ступень» Брусенцовым . Удобно представлять отрицательные числа- не нужен дополнительный код. Модумерная арифметика: используется кодирование в остатках от деления на разных делители. В таком представлении арифметика машинная для операций сложнее и умножение выполняется на порядок быстрее. (в 10 и более раз).

Д\З: Закодировать фамилию в UTF- 8.

Информатика и информационные технологии.

Изначально ЭВМ были предназначены для вычисления. Отрасль состояла из инженерной практики создание ЭВМ и специальных разделов математики- теории алгоритмов и вычислительная математика. В это же время в 1946г. Появляется кибернетика. Такое название носит книга американского ученого НОРБЕРТА ВИННЕРА. Автор определял кибернетику как науку об управлении в биологический и теоретических системах. К этому времени уже существовали общие теории систем. (Текстология – всеобщая организационная наука А.А. Богданов; « теория систем» Бертолонфий ). Винер тоже занимается системами в общем понимании, но акцентируется на механизмах управления и информационных процессах, на их общности в самых различных системах. Есть понимание общности этих процессов и есть универсальные вычислительные машины. Естественным шагом является идея применения этих машин для любых задач обработки информации. Эти идеи быстро распространились в научных средах в других странах. Предельной ценою кибернетика ставила искусственный интеллект (ИИ). Направление ИИ дало решение многих задач: распознавание образов, автоматическое управление техникой, обработка естественного языка.

Под эгиды кибернетики в разных странах началась автоматизация экономики, т. е ЭВМ стало применятся для обработки данных. В СССР начался проект ОГАС, который предполагал создание единой сети между всеми предприятиями и полной информатизации управления при сокращение бюрократии (Лужков). По политическим причинам проект был свернут до отдельных систем автоматизации (АСУ). Под влияние идеи Лужкова Стафорд Бир создал в Чили для правительства Альенде такую систему. Поскольку кибернетика распалась на много практических и теоретических наставлений, ее название используется в основном исторически. А с 70 – x годов распространился термин «информатика» и «информационные технологии».

Информатика- область науки, занимающаяся проблемами обработки данных.

Что можно делать с данными: хранить, преобразовывать и передавать.

При взаимодействии информационной системы с окружающим миром. Их можно рассматривать как передачу, но уж слишком они особый сбор данных и управление внешними объектами.

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

Информационные технологии (ИТ.)- применение тех. средств для решение задач информатики.

Тех. средства – аппаратные и программные системы.

В современной электронике, т. е на любом уровне, поэтому любая аппаратная система на самом деле программно-аппаратные.

ПО предназначению для работы в составе физического устройства называют вероятным ПО.

EF BB BF DO 90 DO BD D1 82 DO BE D1 88 DO D8 DO BD DO BO.

1)Вычислительная техника- отрасль, занимающаяся производством аппаратных средств ИТ. (кроме систем связи).

2) Телекоммуникации - отрасль, занимающаяся производством систем связи.

3) Программная инженерия- отрасль, занимающаяся производством программных систем.

Компьютерная наука (Computes\ Computing Science) – совокупность дисциплин, являющихся основной для создания и применения информационных технологий. (CS).

В CS входит как разделы дискретной математики (теория, информация, теория алгоритмов, теория вычисления, теория формальных языков); так и дисциплины, обобщающие инженерный опыт (теория проектирования цифровых систем, теория разработки компьютеров, теория разработки ОС, теория БД)

Задачи программной инженерии.

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

Функциональность включает в себе в том числе требуемый уровень надежности и другие атрибуты качества.

Ресурсы времени разработки- сроки разработки, трудовые ресурсы, готовые компоненты, которые можно использовать.

Основные принципа: есть 3 пожелания – быстро, качественно, дешево. Пытаться удовлетворить можно только 2 из них.

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

Например, разработка Интернет магазина: требуемая функциональность диктуется техническим заданием, которое составлено заказчиком. В нем же записаны некоторые требование к платформе работа на сервере с немее 2 Гб памяти под управлением ОС windows и Linux.Далее мы сами уточняем платформу - выбираем web- сервер Apache, язык программирования PHP и СУБД My SQL. Для получения курса валют мы можем обращаться к сайту Центробанка.

То есть инженер всегда находится между двумя плюсами: что ему дано и что ему нужно получить. Создаваемая им система должна соединить эти плюсы.

Многоуровневая информация технологий.

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

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

В принципе, со временем при решении любой долгосрочной задачи проявляется годы системного программирование – наша система становится платформой для других.

Программирование - в некотором смысле машинная реализация математики, поэтому оно проникает всюду.