Смекни!
smekni.com

Предмет и объект прикладной информатики (стр. 8 из 34)

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

6. Возвратные издержки - это все расходы фирмы, которая

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

7. Невозвратные издержки не имеют альтернативного использования. Это единовременные затраты по регистрации предприятия, его страхованию, изготовлению вывески.

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

1) постоянные издержки, которые не зависят от объема производства в релевантном периоде. Они включают арендную плату, оплату электроэнергии и оклад рабочих;

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

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

Кодирование числовой, текстовой, графической и др. информации

Языки программирования высокого уровня.

Кодирование текстовой информации

Информация передается в виде сообщений.

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

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

Рис. 1.5. Процесс передачи сообщения от источника к приемнику

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

Системы «байтового» кодирования.

Наиболее распространены две такие системы: EBCDIC (Extended Binary Coded Decimal Interchange Code) и ASCII (American Standard Information Interchange).

Первая - исторически тяготеет к «большим» машинам, вторая чаще используется на мини- и микро-ЭВМ (включая персональные компьютеры).

ASCII, в 1963 г. это - система семибитного кодирования. Она ограничивалась одним алфавитом (английским), цифрами и набором различных символов. Примеры на клавиатуре компьютера: DEL - знак удаления символа.

В следующей версии фирма IBM перешла на 8-битную кодировку. В ней первые 128 символов совпадают с исходными и имеют коды со старшим битом равным нулю.

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

Кодирование числовой информации

Сходство в кодировании числовой и текстовой информации состоит в следующем: чтобы можно было сравнивать данные этого типа, у разных чисел (как и у разных символов) должен быть различный код. Основное отличие числовых данных от символьных заключается в том, что над числами кроме операции сравнения производятся разнообразные математические операции: сложение, умножение, извлечение корня, вычисление логарифма и пр. Правила выполнения этих операций в математике подробно разработаны для чисел, представленных в позиционной системе счисления. Многовековая история развития математики показывает, что именно позиционный принцип позволяет использовать эти правила как универсальные алгоритмы, справедливые для системы счисления с любым основанием: 2,3, 8, 10, 16, 60 и пр.

Кодирование графической информации

Языки программирования

Исполнитель алгоритма — это некоторая абстрактная или реальная система, способная выполнить действия, предписываемые алгоритмом. Исполнителя хаpактеpизуют:

сpеда;

элементаpные действия;

cистема команд;

отказы.

Сpеда — это "место обитания" исполнителя.

Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды. Напpимеp, команда Pобота "ввеpх" может быть выполнена, если выше Pобота нет стены. Ее pезультат — смещение Pобота на одну клетку ввеpх.

После вызова команды исполнитель совеpшает соответствующее элементаpное действие.

Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды. Обычно исполнитель ничего не знает о цели алгоpитма. Он выполняет все полученные команды, не задавая вопросов "почему" и "зачем".

В информатике универсальным исполнителем алгоритмов является компьютер.

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

Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.

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

По этому критерию можно выделить следующие уровни языков программирования:

машинные;

машинно-оpиентиpованные (ассемблеpы);

машинно-независимые (языки высокого уровня).

Машинные языки и машинно-ориентированные языки — это языки низкого уровня, указать мекие детали обработки данных. Языки же высокого уровня имитируют естественные языки, используют общепринятые математические символы и разговорный язык.

Языки высокого уровня делятся на:

процедурные (алгоритмические) (Basic, Pascal, C и др.), предназначены:

для однозначного описания алгоритмов;

для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;

логические (Prolog, Lisp и др.), которые ориентированы на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

объектно-ориентированные (Object Pascal, C++, Java и др.), в основе лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче.

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

Основные преимущества алгоритмических языков перед машинными таковы:

алфавит алгоритмического языка значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;

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

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

требуемые операции задаются с помощью общепринятых математических обозначений;

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

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

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

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

Алфавит — это фиксированный набор основных символов, из которых должен состоять любой текст на этом языке.

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

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

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

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

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

1. Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).

2. Опеpации. Типы операций:

аpифметические опеpации +, —, *, / и дp.;

логические опеpации и, или, не;