Постоянные читатели

вторник, 26 октября 2021 г.

 

Тема 7. Алгоритмизация и программирование

1.    Основные свойства и способы записи алгоритмов.

2.    История развития ЯП. Этапы развития языков программирования. Классификация ЯП.

 1.       Основные свойства и способы записи алгоритмов.

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

Основными свойствами алгоритмов являются:

1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.

2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.

3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование.

4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.

5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.

6. Выполнимость - результата алгоритма достигается за конечное число шагов.

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

Выделяют три крупных класса алгоритмов:

- вычислительные алгоритмы, работающие со сравнительно простыми видами данных, такими как числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;

- информационные алгоритмы, представляющие собой набор сравнительно простых процедур, работающих с большими объемами информации (алгоритмы баз данных);

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

Алгоритм может быть записан различными способами:

Словесное описание (на естественном языке) алгоритма представляет собой описание структуры алгоритма на естественном языке. Например, к приборам бытовой техники, как правило, прилагается инструкция по эксплуатации, т. е. словесное описание алгоритма, в соответствии с которым данный прибор должен использоваться.  

Формальное описаниена формализованном языке, например на языке программирования. 

Графическое описание алгоритма в виде блок-схемы – это описание структуры алгоритма с помощью геометрических фигур с линиями связи.

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

Основные элементы блок-схем:

 

Описание: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYU7t3S8ijVZBCyGVy3Ne0jArrIxbTU_H-yPK1ou3JOVXIRaOVErQ1_RNNeVhac-qeqcGlpEfAIcGGzceWjvsWf7jMsKP7PR2r8oohsXhSA7xRe8pFbVn2lD5so_gKfzND__weSpyH9fA/w337-h442/image.png


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

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

Линейный алгоритм

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

 

Описание: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHRSxn9C99zBXzSr-GqqEdom9zJ0UzfJ_F9OHwiq8604mdZmwdAeocMB2wyhHSCViVB3Ej62pTv-sj_SK9pj68f06Mkmp8G9-yaPnq3RFjvyyVex_dIhNzKOrDtw1L1Q1YVS3bDfGpXwc/


Графическое изображение

Разветвляющийся алгоритм

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

ЕСЛИ условие справедливо, ТО выполнить действия 1,

ИНАЧЕ выполнить действия 2.

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

Если есть «действия 1» и «действия 2», то говорят о полной альтернативе

   Описание: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS_z5aCWe0ubcRmyCUEoTb6C3YsPx4YG1GuC26gExziRZAsNQFCft8RlBYVCa52uQ-J_wvY-dVNso6vQLvBZjkMmmNMoDfUTdVZMFtLLfg8GT5zs46TAXvJdojfkGVtVOm45UuRVjEg9g/w209-h144/image.png                 Описание: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPGLCwD_JtUFAJ_cRwd1nKlHSeQ1BnnxiN7k5T9JhToFMvNTWfYc9RLoi8mKt9ZeGnPB88HIGPrqNJ0XiLQcmSJ44ApmZGPK_B1SPmChDNs8h1WaspalT8t-wa9saQyypdfzHM1mxfj8M/w148-h193/image.png





Полная альтернатива                                     неполная альтернатива

Графическое изображение разветвленного алгоритма

 Циклический алгоритм

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

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

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

Описание: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjrejZSivvTl17pRVeNQoOnNkFLM6D1FnPBXgBJr1Su_feUEqRr5nh73MsRuwRPk939gmabGhgrUGbfLjaGVmcCKKC4fa7KWpcxB0vAuSotE5Qtxyb_7CaOmxkuCacAT9E3Pc4zFQKtfw/w376-h357/image.png



Известно, что первым программистом была женщина - леди Ада Лавлейс, дочь лорда Байрона. Она разрабатывала программы для одного из первых механических компьютеров, созданного в начале прошлого века английским ученым Чарльзом Беббиджом. Однако настоящее программирование в современном понимании началось с момента создания первой электронной вычислительной машины. Но тем не менее, имя этой замечательной женщины - Ada - присвоено одному из самых мощных современных ЯП, который является базовым для министерства обороны США.

 

 

 

 

 

2.   История развития ЯП. Этапы развития языков программирования. Классификация ЯП.

 Первые ЭВМ, созданные человеком, имели небольшой набор команд и встроенных типов данных, но позволяли выполнять программы на машинном языке. Машинный язык (МЯ) - единственный язык, понятный ЭВМ. Он реализуется аппаратно: каждую команду выполняет некоторое электронное устройство. Программа на МЯ представляет собой последовательность команд и данных, заданных в цифровом виде. Например, команда вида 1А12 в 16-ричном виде или 0001101000010010 в двоичном виде означает операцию сложения (1А) содержимого регистров 1 и 2.

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

            Стремление программистов оперировать не цифрами, а символами, привело к созданию мнемонического языка программирования, который называют ассемблером, мнемокодом, автокодом. Этот язык имеет определенный синтаксис записи программ, в котором, в частности, цифровой код операции заменен мнемоническим кодом. Например, команда сложения записывается в виде AR 1,2 и означает сложение (Addition) типа регистр-регистр (Register) для регистров 1 и 2. Теперь программа имеет более удобночитаемую форму, но ее не понимает ЭВМ. Поэтому понадобилось создать специальную программу транслятор, который преобразует программу с языка ассемблера на МЯ. Эта проблема потребовала, в свою очередь, глубоких научных исследований и разработки различных теорий, например теорию формальных языков, которые легли в основу создания трансляторов. Практически любой класс ЭВМ имеет свой язык ассемблера. На сегодняшний день язык ассемблера используется для создания системных программ, использующих специфические аппаратные возможности данного класса ЭВМ.

            Следующий этап характеризуется созданием языков высокого уровня (ЯВУ). Эти языки являются универсальными (на них можно создавать любые прикладные программы) и алгоритмически полными, имеют более широкий спектр типов данных и операций, поддерживают технологии программирования. На этих языках создается неисчислимое множество различных прикладных программ.

Принципиальными отличиями ЯВУ от языков низкого уровня являются:

·      использование переменных;

·      возможность записи сложных выражений;

·      расширяемость типов данных за счет конструирования новых типов из базовых;

·      расширяемость набора операций за счет подключения библиотек подпрограмм;

·      слабая зависимость от типа ЭВМ.

С усложнением ЯП усложняются и трансляторы для них. Теперь в набор инструментов программиста, кроме транслятора, входит текстовый редактор для ввода текста программ, отладчик для устранения ошибок, библиотекарь для создания библиотек программных модулей и множество других служебных программ. Все вместе это называется системой программирования. Наиболее яркими представителями ЯВУ являются FORTRANPL/1, PascalCBasicAda.

Может возникнуть вопрос: почему создано столько различных языков одного класса? Почему нельзя создать один язык на все случаи жизни? Ответ на этот вопрос может быть таким же, как и на вопрос о различных языках народов мира: так уж получилось. Каждый из разработчиков ЯВУ стремился создать самый лучший и самый универсальный язык, который позволял бы быстро получать самые эффективные, надежные и безошибочные программы. Однако в процессе этого поиска выяснилось, что дело не в самом языке, а в технологии его использования. Поэтому дальнейшее развитие языков стало определяться новыми технологиями программирования.

Одновременно с развитием универсальных ЯВУ стали развиваться проблемно-ориентированные ЯП, которые решали экономические задачи (COBOL), задачи реального времени (Modula-2, Ada), символьной обработки (Snobol), моделирования (GPSSSimulaSmallTalk), численно-аналитические задачи (Analitic) и другие. Эти специализированные языки позволяли более адекватно описывать объекты и явления реального мира, приближая язык программирования к языку специалиста в проблемной области.

Другим направлением развития ЯП является создание языков сверхвысокого уровня (ЯСВУ).

На языке высокого уровня программист задает процедуру (алгоритм) получения результата по известным исходным данным, поэтому они называются процедурными ЯП.

На ЯСВУ программист задает отношения между объектами в программе, например систему линейных уравнений, и определяет, что нужно найти, но не задает как получить результат. Такие языки еще называют непроцедурными, т.к. сама процедура поиска решения встроена в язык (в его интерпретатор). Такие языки используются, например, для решения задач искусственного интеллекта (LispProlog) и позволяют моделировать мыслительную деятельность человека в процессе поиска решений.

К непроцедурным языкам относят и языки запросов систем управления базами данных (QBESQL).

 

 

 

Тема 6. Представление числовой информации в различных системах

 

1.    Представление чисел в компьютере.

2.    Системы счисления

3.    Арифметические действия в двоичной системе счисления

 

1.    Представление чисел в компьютере

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

Обычно целые числа занимают в памяти компьютеров один, два или четыре байта. Один, как правило, старший бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак отрицательного числа "-" - единицей. Целые числа без знака в двухбайтовом формате могут принимать значения от 0 до 216-1 (до 65535), а со знаком - от -215 до +215-1, т.е. от -32768 до 32767.

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

 Запись чисел с плавающей точкой. Обработка очень больших и очень маленьких чисел производится в экспоненциальной форме. В этом случае положение запятой в записи числа может изменяться. Поэтому представление в памяти чисел в экспоненциальной форме называется представлением с плавающей точкой (запятой). Любое число А в экспоненциальной форме представляется в виде:

А = mА  qp,

где mA - мантисса числа, q - основание системы счисления, p - порядок числа.

 

Для однозначности представления чисел c плавающей точкой используется нормализованная форма, при которой мантисса отвечает условию:

q-1  |mА| < 1.

Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.

 

Число в форме с плавающей точкой занимает в памяти компьютера четыре или восемь байт. При записи числа с плавающей точкой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Любое вещественное число в современных компьютерах представляется в экспоненциальной форме с нормализованной мантиссой. При этом мантисса является правильной двоичной дробью, а порядок - целым числом.

В традиционных кодировках для кодирования одного символа используется 8 бит. Легко подсчитать по формуле 2.3, что такой 8-разрядный код позволяет закодировать 256 различных символов.

Присвоение символу определенного числового кода - это вопрос соглашения. В качестве международного стандарта принята кодовая таблица ASCII (American Standard Code for Information Interchange), кодирующая первую половину символов с числовыми кодами от 0 до 127 (коды от 0 до 32 отведены не символам, а функциональным клавишам). Данную таблицу можно найти в любом учебном пособии по информатике.

 

Национальные стандарты кодировочных таблиц включают международную часть кодовой таблицы без изменений, а во второй половине содержат коды национальных алфавитов, символы псевдографики и некоторые математические знаки. К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows, MS-DOS, Macintosh и ISO), что вызывает дополнительные трудности при работе с русскоязычными документами.

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 ("Код обмена информацией, 8-битный"). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.

Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251 ("CP" означает "Code Page", "кодовая страница").

От начала 90-ых годов, времени господства операционной системы MS DOS, остается кодировка CP866. Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac. Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.

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

2.    Системы счисления

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

Происхождение наиболее распространенной десятичной системы связано с пальцевым счетом. Существовавшая в Древнем Вавилоне шестидесятиричная система осталась в делении часа и градуса угла на 60 минут и минут - на 60 се- кунд. В России до XVIII в. существовала десятичная система счисления, основанная на буквах алфавита а, в, г... с чертой над буквой (от греческих букв: альфа, бета, гамма).

Современная десятичная система основана на десяти цифрах, начертание которых 0, 1, 2, ..., 9 сформировалось в Индии к V в. н.э. и пришло в Европу с арабскими рукописями («арабские цифры»). Двоичная система использует две цифры: 0 и 1. Шестнадцатиричная система использует 16 символов: 0, 1, 2, ..., 9, А, В, С, D, E, F. Эти системы счисления называются позиционными, так как значение каждой цифры числа определяется по ее месту (позиции, разряду) в ряду чисел, составляющих данное число. Позиция отсчитывает- ся справа налево; так, в десятичной системе: нулевой раз- ряд — разряд единиц, первый разряд — разряд десятков, второй разряд — разряд сотен, потом тысячи и т.д.

Символы, при помощи которых записывается число, называются цифрами.

Система счисления:

·                 даёт представления множества чисел (целых или вещественных)

·                 даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление)

·                 отражает алгебраическую и арифметическую структуру чисел.

Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 60 минут и угла на 360 градусов. К Древнему Риму - традиция записывать в римской записи числа I, II, III и т. д. К англосаксам - счет дюжинами: в году 12 месяцев, в футе 12 дюймов, сутки делятся на 2 периода по 12 часов.
По современным данным, развитые системы нумерации впервые появились в древнем Египте. Для записи чисел египтяне применяли иероглифы один, десять, сто, тысяча и т.д. Все остальные числа записывались с помощью этих иероглифов и операции сложения. Недостатки этой системы - невозможность записи больших чисел и громоздкость.

В конце концов, самой популярной системой счисления оказалась десятичная система. Десятичная система счисления пришла из Индии, где она появилась не позднее VI в. н. э. В ней всего 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 но информацию несет не только цифра, но также и место позиция, на которой она стоит. В числе 444 три одинаковых цифры обозначают количество и единиц, и десятков, и сотен. А вот в числе 400 первая цифра обозначает число сотен, два 0 сами по себе вклад в число не дают, а нужны лишь для указания позиции цифры 4.

Классификация систем счисления

Системы счисления подразделяются на позиционные и непозиционные.

Позиционные системы счисления

Позиционные системы счисления (СС) - это системы счисления, в которых количественный эквивалент каждой цифры (её вес) зависит от ее положения (позиции) в записи числа.

Путем долгого развития человечество пришло к созданию позиционного принципа записи чисел, который состоит в том, что каждая цифра, содержащаяся в записи числа, занимает определенное место, называемое разрядом. Отсчет разрядов производится справа налево. Единица каждого следующего разряда всегда превосходит единицу предыдущего разряда в определенное число раз. Это отношение носит название основание системы счисления (у непозиционных систем счисления понятия «разряда» и «основания» отсутствуют).

Например:
число 237 состоит из 3 цифр. Понятно, что отдельно взятая цифра 7 больше чем цифра 2. Однако, в составе числа, двойка стоит на позиции сотен, а семёрка - на позиции единиц, поэтому количественное представление двойки - две сотни, или двести, а семёрка - всё та же семь.
Многие, кроме десятичной СС, о других позиционных системах не имеют представления, хотя и часто ими пользуются. Например:

1.              шестидесятиричная (Древний Вавилон) - первая позиционная система счисления. До сих пор при измерении времени используется основание равное 60 (1 мин = 60 с, 1 ч = 60 мин);

2.              двенадцатеричная система счисления (широкое распространение получила в XIX в. Число12 - «дюжина»: в сутках две дюжины часов. Счет не по пальцам. а по суставам пальцев. На каждом пальце руки, кроме большого, по 3 сустава - всего 12;

В настоящее время наиболее распространенными позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная.

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

Достоинства позиционных систем счисления:

·                  в позиционных системах счисления устранены все недостатки непозиционных:

·                  в них можно записать любое число (как натуральное, таки действительное);

·                  запись чисел компактна и удобна;

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

Непозиционные системы счисления

В непозиционных системах счисления величина, которую обозначает цифра, не зависит от положения в числе. Например: Римская система счисления.

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

I

V

X

L

С

D

М

1

5

10

50

100

500

1000

С их помощью можно записывать натуральные числа. Например, число 1995 будет представлено, как MCMXCV (М-1000,СМ-900,ХС-90 и V-5).

Правила записи чисел в римской системе счисления:

·                  если большая цифра стоит перед меньшей, они складываются, например: VI – 6 (5+1);

·                  если меньшая цифра стоит перед большей, то из большей вычитается меньшая, причем в этом случае меньшая цифра уже повторяться не может, например: XL — 40 (50-10), XXL – нельзя;

·                  цифры М, С, Х, I могут повторяться в записи числа не более трех раз подряд;

·                  цифры D, L, V могут использоваться в записи числа только по одному разу.

Например, запись XXX обозначает число 30, состоящее из трех цифр X, каждая из которых, независимо от места ее положения в записи числа, равна 10. Запись MCXX1V обозначает 1124, а самое большое число, которое можно записать в этой системе счисления, это число MMMCMXCIX (3999). Для записи еще больших чисел пришлось бы вводить все новые обозначения. По этой причине, а также по причине отсутствия цифры ноль, римская система счисления не годится для записи действительных чисел.

Таким образом, можно констатировать следующие основные недостатки непозиционных систем счисления:

·                  в них нельзя записать любое число;

·                  запись чисел обычно громоздка и неудобна;

·                  математические операции над ними крайне затруднены.

Алфавитом системы счисления называется совокупность различных цифр, используемых в позиционной системе счисления для записи чисел. Например:

Десятичная система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Двоичная система: {0, 1}

Восьмеричная система: {0, 1, 2, 3, 4, 5, 6, 7}

Шестнадцатеричная система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

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

 

Базисом позиционной системы счисления называется последовательность чисел, каждое из которых задает количественное значение или «вес» каждого разряда. Например: Базисы некоторых позиционных систем счисления.

Десятичная система: 100, 101, 102, 103, 104,…, 10n,…

Двоичная система: 20, 21, 22, 23, 24,…, 2n,…

Восьмеричная система: 80, 81, 82, 83, 84,…, 8n,…

Пример. Десятичное число 4718,63, двоичное число 1001,1, восьмеричное число 7764,1, шестнадцатеричное число 3АF.

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

 

3.       Арифметические действия в двоичной системе счисления

Целые числа в ЭВМ могут быть представлены в виде:

прямого кода. Прямой код двоичного числа совпадает по изображению с записью самого числа.

обратного кода. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.

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

Прямой код числа кодирует только знаковую информацию и используется для хранения положительных и отрицательных чисел в ЭВМ. Прямой код двоичного числа совпадает по изображению с записью самого числа, но в знаковом разряде ставится 0, если число положительное и, 1 если число отрицательное.
Обратный и дополнительный коды используются для выполнения всех арифметических операций через операцию сложения.

Следует помнить, что положительные числа в обратном и дополнительном коде совпадают с прямым кодом.
1) Прямой код числа (кодируется только знаковая информация), “+”=0; ”-”=1.
Для прямого кода возможны два представления нуля, машинный положительный ноль, т.е. +0,110=0,110, машинный отрицательный ноль, т.е. -0,111=1,111.

ПРИМЕР ПЕРЕВОДА
x1=10101-[x1]пр=010101
x2=-11101-[x2]пр=111101
x3=0,101-[x3]пр=0,101
x4=-0,111-[x4]пр=1,111
2) Обратный код числа, используется для 
выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

ПРИМЕР ПЕРЕВОДА
x1=10101-[x1]обр=010101
x2=-11101-[x2]обр=100010
x3=0,101-[x3]обр=0,101
x4=-0,111-[x4]обр=1,000

3) Дополнительный код числа, имеет такое же назначение, как и обратный код числа. Формируется по следующим правилам: положительные числа в дополнительном коде выглядят также как и в обратном и в прямом коде, т.е. не изменяются. Отрицательные числа кодируются следующим образом: к обратному коду отрицательного числа (к младшему разряду) добавляется 1, по правилу двоичной арифметики.

ПРИМЕР ПЕРЕВОДА
x1=10101-[x1]доп=010101
x2=-11101-[x2]обр=100010+1-[x2]доп=100011
x3=0,101-[x3]доп=0,101
x4=-0,111-[x4]обр=1,000+1-[x4]доп=1,001
Для выявления ошибок при выполнении арифметических операций используются также модифицированные коды: модифицированный прямой; модифицированный обратный; модифицированный дополнительный, для которых под код знака числа отводится два разряда, т.е. “+”=00; ”-”=11. Если в результате выполнения операции в знаковом разряде появляется комбинация 10 или 01 то для машины это признак ошибки, если 00 или 11 то результат верный.

Как определить, положительное или отрицательное число? Знак числа определяет старший бит: 0 - положительное число, 1 - отрицательное число. Например, для числа 1,001 сразу можно определить, что оно отрицательное (меньше нуля).

 

 

Тема 4. Представление и обработка информации.

1.     Представление информации в компьютере. Основные свойства информации

2.     Формы представления информации в электронных устройствах.

 

1.     Представление информации в компьютере. Основные свойства информации

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

Последовательности символов алфавита в соответствии с правилами грамматики образуют основные объекты языка – слова. Правила, согласно которым образуются предложения из слов данного языка, называют синтаксисом. Наряду с естественными языками были разработаны и формальные языки (системы счисления, язык алгебры, языки программирования и др.). При этом алфавит могут составлять цифры, символы, формулы, ноты, изображения элементов электрических или логических схем, дорожные знаки, точки и тире и т.п. Основное отличие формальных языков от естественных состоит в наличии строгих правил грамматики и синтаксиса.

Представление информации может осуществляться с помощью языков, которые являются знаковыми системами. Каждая знаковая система строится на основе определенного алфавита и правил выполнения операций над знакам.

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

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

Кодирование – это операция преобразования знаков или групп знаков одной знаковой системы в знаки или группы знаков другой знаковой системы.

 При кодировании информации ставятся следующие цели:

1) удобство физической реализации;

2) удобство восприятия;

3) высокая скорость передачи и обработки;

 4) экономичность, т.е. уменьшение избыточности сообщения;

 5) надежность, т.е. защита от случайных искажений;

6) сохранность, т.е. защита от нежелательного доступа к информации.

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

Классификация информации может быть выполнена по различным критериям. Например,

1) по форме представления: графическая, текстовая, числовая, звуковая, видео;

 2) по способу восприятия: визуальная, аудиальная, тактильная, обонятельная, вкусовая;

3) по стадии обработки: первичная, вторичная, промежуточная, результатная;

4) по стабильности: переменная, постоянная;

5) по функции управления: плановая, нормативно-справочная, учетная, оперативная

Качество информации – положительная характеристика информации, отражающая степень ее полезности для пользователя.

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

К потребительским показателям качества информации можно отнести следующие:

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

· Содержательность – семантическая емкость. С увеличением содержательности информации растет семантическая пропускная способность информационных систем, так как для получения одних и тех же сведений требуется преобразовать меньший объем данных.

· Достаточность (полнота) – свойство информации исчерпывающе (для данного потребителя) характеризовать отображаемый объект и/или процесс.

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

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

 · Своевременность – означает ее поступление не позже заранее назначенного момента времени, согласованного со временем решения поставленной задачи.

· Точность – определяется степенью близости получаемой информации к реальному состоянию объекта, процесса, явления и т. п.

· Достоверность – определяется ее свойством отражать реально существующие объекты с необходимой точностью.

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

· Защищенность – свойство, характеризующее невозможность несанкционированного использования или изменения.

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

Внутренние свойства информации:

 · Объем информации.

· Способ организации информации:

1) Данные, т.е. логически не упорядоченный набор сведений;

 2) Структура данных – логически упорядоченные наборы данных.

 Свойства информации, связанные с процессом хранения

· Живучесть – способность информации сохранять свое качество с течение времени.

· Уникальность – информация хранится в единственном экземпляре.

Внешние свойства информации по отношению к отражаемому объекту: Адекватность – свойство информации однозначно соответствовать отображаемому объекту или явлению.




2.     Формы представления информации в электронных устройствах.

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

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

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

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

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

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

Элементами коммуникации (общения) людей являются знаки. Знак – материально, чувственно воспринимаемый предмет, явление или действие, служащие для обозначения другого предмета, свойства или отношения; для переработки и передачи информации. Любой знак обладает двумя качествами: "обозначением" (формой представления) и "значением" – смыслом. Значение может быть предметным, смысловым или экспрессивным. Различают языковые и неязыковые знаки. Обмен информацией с помощью знаков возможен, если обозначение знака ассоциируется у человека или устройства со значением. Совокупность знаков, для которых между источником и приемником информации существует соглашение о смысловом значении, называется знаковой системой. Последовательность знаков представляет информацию на материальном носителе – бумаге, магнитном и оптическом диске, магнитной ленте.

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

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

дни и те же знаки в зависимости от контекста несут разную информацию и расцениваются по-разному. В формулах цифры используются как числа: запись 20:15 в математике воспринимается как "20 делить на 15", а в расписании поездов – как время отправления. В номерах квартир, телефонов, автомашин цифры воспринимаются как обозначения, их никто не станет перемножать или возводить в куб. К числам календарных дат (01.09.2013) применяют вычитание и сложение, но не умножение и деление.

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

Языки разговорный, деловой, литературный, устный и письменный называются естественными, их построение отражает исторические и культурные традиции общества, психологические и образовательные особенности личности. Сообщения могут содержать информацию о фактах (лат. factum – сделанное, деяние, действие, поступок) или интерпретацию фактов (лат. interpretatio – истолкование, перевод). По знакам, свойственным обычному языку, формируется сообщение, разновидность знаков языка составляет долговременную, хранимую основу национальной культуры.

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

Естественный и искусственный языки передают информацию знаками посредством сообщения.

Работать с информацией в электронных устройствах можно в одной из двух форм: аналоговой или цифровой.

Аналоговая форма кодирует информацию непрерывными сигналами, которые меняются пропорционально тому, что они представляют. Микрофоны и обычные видеокамеры представляют голос и видео аналоговыми сигналами. Телефонная сеть передает голос по кабелю в виде аналоговых сигналов: переменный ток (его называют "синусоидальный несущий сигнал") непрерывно изменяется по частоте и амплитуде пропорционально (аналогично) звуковым колебаниям голоса говорящего.

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

Цифровая обработка информации использует фиксированный, строго определенный набор знаков. Цифровые отображения текста, изображений, звука, видео хранятся в памяти компьютера, а также передаются с помощью сигналов между устройствами компьютера, от компьютера к компьютеру (по локальной сети или через глобальную сеть Интернет), от устройства к компьютеру (от модема, со сканера, цифровой фото- и видеокамеры), от компьютера к устройству (принтеру, модему, монитору). Формы представления информации различны: компьютерные программы и документы в цифровых кодах, символах, массивах чисел, записанные на различных носителях данных. Данные даются не в непрерывно меняющихся значениях, а в дискретных, которые можно описать цифрами, например 0 и 1. Вычислительные машины, использующие цифровую форму представления данных, называются цифровыми. В основе работы цифровой ЭВМ лежит двоичная система счисления.

 

Информатика 23-24г Объекты и классы. Свойства и методы объектов.

  Объекты и классы. Свойства и методы объектов. Итак, определяющим понятием ООП является  объект  – некая совокупность, объединяющая свойс...