3. Данные — величины, обpабатываемые пpогpаммой.

Имеется тpи основных вида данных: константы, пеpеменные и массивы.

Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения. Пpимеpы констант: -числовые 7.5, 12; -логические да (истина), нет (ложь); -символьные (содержат ровно один символ) "А", "+"; -литеpные (содержат произвольное количество символов) "a0", "Мир", "" (пустая строка).

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

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

4. Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций.

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

Различают выражения арифметические, логические и строковые.

Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 — единице.

Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — "истина" или "ложь" (да или нет). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r, определяющее принадлежность точки с координатами (x, y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения — "истина", а при x=2, y=2, r=1 — "ложь".

Cтроковые (литерные) выражения, значениями которых являются текcты. В строковые выражения могут входить литерные и строковые константы, литерные и строковые переменные, литерные функции, разделенные знаками операции сцепки. Например, А + В означает присоединение строки В к концу строки А. Если А = "куст ", а В = "зеленый", то значение выражения А + В есть "куст зеленый".

5. Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет вполне законченный этап обработки данных. В состав опеpатоpов входят:

ключевые слова;

данные;

выpажения и т.д.

Операторы подpазделяются на исполняемые и неисполняемые.

Неисполняемые служат описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор).

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


Примеры функций:

Название и математическое обозначение функции Указатель функции
Абсолютная величина (модуль) | х | abs(x)
Корень квадратный

Предмет и объект прикладной информатики

sqrt(x)
Синус (угол в радианах) sin x sin(x)
Косинус (угол в радианах) cos x cos(x)

Каждый язык программирования имеет свой набор стандартных функций.


Арифметические выражения записываются по следующим правилам:

Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.

Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.

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

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

Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).


Математическая запись Запись на школьном алгоритмическом языке

Предмет и объект прикладной информатики

x * y / z

Предмет и объект прикладной информатики

(a**3 + b**3) / (b*c)

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


Условие Запись на школьном алгоритмическом языке
Целое число a — четное mod(a, 2) = 0
Целое число a — нечетное mod(a, 2) = 1
Каждое из чисел a, b положительно (a>0) и (b>0)
Только одно из чисел a, b положительно

((a>0) и (b<=0)) или

((a<=0) и (b>0))

Хотя бы одно из чисел a, b, c является отрицательным (a<0) или (b<0) или (c<0)
Число x удовлетворяет условию a < x < b (x>a) и (x<b)
Хотя бы одна из логических переменных F1 и F2 имеет значение да F1 или F2
Обе логические переменые F1 и F2 имеют значение да F1 и F2
Обе логические переменые F1 и F2 имеют значение нет не F1 и не F2
Логическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет F1 и не F2
Только одна из логических переменных F1 и F2 имеет значение да (F1 и не F2) или (F2 и не F1)

Алгоритм и его свойства, способы записи алгоритма; стандартные типы данных; представление основных структур: следование, ветвление, повторение


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

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

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

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

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

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

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

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

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

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

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

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

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

Виды алгоритмов:

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

Линейный алгоритм - действия следуют друг за другом.

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

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

Способы записи алгоритмов

Распространены следующие формы представления алгоритмов:

словесная (запись на естественном языке);

графическая (изображения из графических символов);

псевдокоды (включающие в себя элементы языка программирования, и фразы естественного языка)

программная (тексты на языках программирования).

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

Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур. Порядок действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом.

Cловесный способ - описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Словестный способ не имеет широкого распространения, так как такие описания:

строго не формализуемы;

страдают многословностью записей;

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

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

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

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


В таблице приведены наиболее часто употребляемые символы.

Название символа Обозначение и пример заполнения Пояснение
Процесс

Предмет и объект прикладной информатики

Вычислительное действие или последовательность действий
Решение

Предмет и объект прикладной информатики

Проверка условий
Модификация

Предмет и объект прикладной информатики

Начало цикла
Предопределенный процесс

Предмет и объект прикладной информатики

Вычисления по подпрограмме, стандартной подпрограмме
Ввод-вывод

Предмет и объект прикладной информатики

Ввод-вывод в общем виде
Пуск-останов

Предмет и объект прикладной информатики

Начало, конец алгоритма, Вход и выход в подпрограмму

Стандартные типы данных;

Целочисленный тип - содержит числовые значения, целые числа. Числа упорядочены по возрастанию:..., -2, -1, 0, 1, 2, 3..

Логический тип - содержит всего 2 значения - True, False, которые тоже упорядочены: False, True (следует из соответствия False - 0, True - 1).

Символьный тип - символы кодовой таблицы. Поскольку каждому символу соответствует свой код, то символы расположены в порядке увеличения кода.

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

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

Сначала рассмотрим беззнаковые типы- хранят только положительные числа и ноль:

Byte - значения 0..255 - занимает в памяти 1 байт.

Word - значения 0..65535 - 2 байта.

LongWord - значения 0..4294967295 - 4 байта.

Теперь типы со знаком (отрицательные "-" впереди, неотрицательные "+", так и без него):

ShortInt - значения -128..127 - 1 байт.

SmallInt - значения -32768..32767 - 2 байта.

LongInt - значения -2147483648..2147483647 - 4 байта.

Int64 - значения -2^53..2^53-1 - 8 байт.

Рекомендуется использовать именно эти типы, т.к. компилятор создаёт более быстрый код:

Integer - значения -2147483648..2147483647 - 4 байта.

Cardinal - значения 0..4294967295 - 4 байта.

Целые числа представляются как в десятичной, так шестнадцатеричной системе счисления, $xxxxxxxx, где x - один из символов 0, 1,..E, F. Все цвета представляются в виде шестнадцатеричных чисел.

Логические типы. Существуют следующие логические типы: Boolean, принимает значение True и False, ByteBool, WordBool и LongBool, Последние для обеспечения совместимости с другими языками и системами программирования. Используется только Boolean. Логическое значение в памяти занимает 1 байт.

Символьные типы. Обеспечивают хранение отдельных символов. Основной тип данных - Char, который содержит символы с кодами 0..255. Существуют ещё типы AnsiChar и WideChar. Тип AnsiChar эквивалентен типу Char. Занимает в памяти 1 байт.

Для кодирования используется код ANSI (American National Standards Institute). Тип WideChar кодируется международным кодом Unicode и занимает в памяти 2 байта. Таблица Unicode включает символы практически всех языков мира.

Вещественные типы. Для хранения вещественных- действительных чисел. Отличаются, числом цифр после запятой. Вот эти типы:

Real (он же Double) - значения от 5.0x10^-324 до 1.7x10^308, точность - 15-16 цифр, занимает в памяти 8 байт.

Real48 - значения от 2.9x10^-39 до 1.7x10^38, точность - 11-12 цифр, 6 байт памяти.

Single - значения от 1.7x10^-45 до 3.4x10^38, точность - 7-8 цифр, 4 байта.

Extended - от 3.6x10^-4951 до 1.1x10^4932, точность - 19-20 цифр, 10 байт памяти.

Comp - от -2x10^63+1 до 2x10^63-1, точность - 19-20 цифр, 8 байт.

Currency - от -922337203685477.5808 до 922337203685477.5807, точность - 19-20 цифр, в памяти занимает 8 байт.

Перед вещественными числами может стоять знак "+" или "-". Возможны 2 записи вещественных чисел - с фиксированной точкой и с плавающей.

С фиксированной точкой целая и дробная части отделяются точкой или запятой.

С плавающей точкой, запись которая отделяется от самого числа буквой "E". Например, запись 1.5e2 означает число 1.5 с порядком +2, т.е. это 1.5x10^2 = 150.

Типы Comp и Currency служат для точных денежных расчётов. Comp, хранит целые числа, при задании чисел с дробной частью они преобразуются в целое число.

Интервальные типы данных. (ограниченные) получаются из имеющихся типов путём ограничения диапазона значений. Интервал задаётся двумя константами - начальной и конечной границей. При присвоении значения переменной выполняется проверка нового значения. Если значение не попадает в диапазон, выдаётся сообщение об ошибке. Ограниченный тип данных задается на основе простого упорядоченного типа. Значение правой границы должно быть больше значения левой границы.

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

Например, мы хотим в программе работать с датами. Можно создать ограниченные типы данных для значений дня, месяца и года

type

TDay = 1..31;

TMonth = 1..12;

TYear = 1900..2100;


Составные (структурированные) типы данных


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

Представление основных структур: следование, ветвление, повторение.

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

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


Базовая структура Следование

Образуется из последовательности действий, следующих одно за другим:


Предмет и объект прикладной информатики



Базовая структура Ветвление.

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

Структура ветвление существует в четырех основных вариантах:


1. если - то

Предмет и объект прикладной информатики

2. если - то - иначе

Предмет и объект прикладной информатики


3. выбор

Предмет и объект прикладной информатики


4. выбор - иначе

Предмет и объект прикладной информатики


Базовая структура цикл.

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

Основные разновидности цикла:


Цикл пока

Предмет и объект прикладной информатики

Цикл для.

Предмет и объект прикладной информатики


Общее равновесие, эффективность и благосостояние


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

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

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

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

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

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

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


Информатика как наука. Предмет и объект прикладной информатики. Системы счисления


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

Инфоpматика — научная дисциплина с широчайшим диапазоном применения.

Её основные направления:

pазpаботка вычислительных систем и пpогpаммного обеспечения;

теоpия инфоpмации, изучающая процессы, связанные с передачей, приёмом, преобразованием и хранением информации;

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

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

методы машинной графики, анимации, средства мультимедиа;

средства телекоммуникации, в том числе, глобальные компьютерные сети, объединяющие всё человечество в единое информационное сообщество;

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

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

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

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


Предмет и объект прикладной информатики


ПРЕДМЕТОМ ИНФОРМАТИКИ ЯВЛЯЕТСЯ ЗНАНИЕ.

ОБЪЕКТОМ ИНФОРМАТИКИ ЯВЛЯЕТСЯ СИСТЕМА ЧЕЛОВЕК-ВМ.

знание исторически всегда подразумевает человека, а не ВМ. Этому можно возразить так: ВМ используется человеком и для человека непосредственно или в конечном счете. слова «мыслить», «думать» и «знать», примененные к ВМ, начинают применяться без кавычек: ВМ мыслит, ВМ думает и ВМ знает.

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

Для записи информации о количестве объектов используются числа. Числа записываются с использованием особых знаковых систем, которые называются системами счисления. Алфавит системы счисления состоит из символов, которые называются цифрами.

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

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

В позиционных системах количественное значение цифры зависит от ее положения в числе, а в непозиционных — не зависит.

Непозиционные системы счисления. Система записи чисел называется единичной, так как любое число в ней образуется путем повторения одного знака, символизирующего единицу. Примером непозиционной системы: римская система счисления в её основе лежат знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для числа 10. При записи чисел в римской системе счисления есть правило: каждый меньший знак, поставленный слева от большего, вычитается из него, в остальных случаях знаки складываются. Недостатком непозиционных систем, является отсутствие арифметических действий над ними.

Позиционные системы счисления. Для записи чисел используется отличных друг от друга знаки. Число таких знаков называется основанием системы счисления. Пример некоторых позиционных систем: двоичная, троичная, четверичная, пятеричная, восьмеричная, десятичная, двенадцатеричная (0,1,2,3,4,5,б,7,8,9,А,В), шестнадцатеричная (0,1,2,3,4,5,6,7,8,9,A.B,D,E,F)

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


AnAn-1An-2 … A1,A0,A-1,A-2 =

АnВn + An-1Bn-1 +... + A1B1 + А0В0 + A-1B-1 + А-2В-2 +...


(знак «точка» отделяет целую часть числа от дробной; знак «звездочка» здесь и ниже используется для обозначения операции умножения). Таким образом, значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Именно поэтому такие системы счисления называют позиционными. Примеры (десятичный индекс внизу указывает основание системы счисления): 23,43(10) = 2*101 + З*10° + 4*10-1 + З*10-2

(в данном примере знак «З» в первом случае число единиц, а в другом - число сотых долей единицы);


692(10) = 6* 102 + 9*101 + 2.


(«Шестьсот девяносто два» с формальной точки зрения представляется в виде «шесть умножить на десять в степени два, плюс девять умножить на десять в степени один, плюс два»).


1101(2)= 1*23 + 1*22+0*21+ 1*2°;

A1F4(16) = A*162 + 1*161 + F*16° + 4*16-1.


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

Двоичная система счисления

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

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


Остаток

25: 2 = 12 (1),

12: 2 = 6 (0),

6: 2 = 3 (0),

3: 2 = 1 (1),

1: 2 = 0 (1).


Таким образом 25(10)=11001(2).

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

Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной {периодической) двоичной. Например:


0,73 • 2 = 1,46 (целая часть 1),

0,46 • 2 = 0,92 (целая часть 0),

0,92 • 2 = 1,84 (целая часть 1),

0,84 • 2 = 1,68 (целая часть 1) и т.д.

В итоге 0,73(10) =0,1011...(2).

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


Таблица 1.5. Таблицы сложения и умножения в двоичной системе

Предмет и объект прикладной информатики


Заметим, что при двоичном сложении 1 + 1 возникает перенос единицы в старший разряд - точь-в-точь как в десятичной арифметике:


Предмет и объект прикладной информатики


Восьмеричная и шестнадцатеричная системы счисления


Перевод чисел из десятичной системы счисления в восьмеричную производится с помощью делений и умножений на 8. Например, переведем число 58,32(10):


58: 8 = 7 (2 в остатке),

7: 8 = 0 (7 в остатке).

0,32 • 8 = 2,56,

0,56 • 8 = 4,48,

0,48-8=3,84,...


Таким образом, 58,32(10) =72,243... (8)

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


11011001= 11011001, т.е. 11011001(2) =331(8).


Заметим, что группу из трех двоичных цифр часто называют «двоичной триадой».

Перевод целого двоичного числа в шестнадцатеричное производится путем разбиения данного числа на группы по 4 цифры - «двоичные тетрады»:


1100011011001 = 1 1000 1101 1001, т.е. 1100011011001(2)= 18D9(16).


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


0,1100011101(2) =0,110 001 110 100 = 0,6164(8),

0,1100011101(2) = 0,1100 0111 0100 = 0,C74(16).


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


Таблица 1.6 Соответствие чисел в различных системах счисления

Десятичная Шестн-чная Восьмеричная Двоичная
0 0 0 0
1 1 1 1
2 2 2 10
3 3 3 11
4 4 4 100
5 5 5 101
6 6 6 110
7 7 7 111
8 8 10 1000
9 9 11 1001
10 А 12 1010
11 В 13 L011
12 С 14 1100
13 D 15 1101
14 E 16 1110
15 F 17 1111

Преобразования чисел из двоичной в восьмеричную и шестнадцатиричную системы и наоборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2.

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

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

Например, число 114(10):


114 - 26 = 114 – 64 = 50,

50 - 25 = 50 – 32 = 18,

18 - 24 = 2,

2 - 21 = 0.


Таким образом, 114(10) = 1110010(2).

114 – 1 ∙ 82 = 114 – 64 = 50,

50 – 6 ∙ 81 = 50 – 48 = 2,

2 – 2 ∙ 8° = 2 – 2 = 0.


Итак, 114(10)= 162(8).


Таблица 1.7 Таблицы сложения и умножения в восьмеричной системе

Сложение

Предмет и объект прикладной информатики Умножение

Предмет и объект прикладной информатики


Производственная функция, издержки производства


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

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

В зависимости от анализа влияния факторов производства на объём выпуска в определённый момент времени или в разные промежутки времени производственные функции делятся на статические: P = f(x1,x2,...,xn) и динамические: P = f(x1(t),...,xk(t),...,xn).


Линейные


Предмет и объект прикладной информатики


функция производства— экономико-математическое уравнение, связывающее переменные величины затрат (ресурсов) с величинами продукции (выпуска).

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

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

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

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

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

Существует несколько классификаций издержек.

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

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

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

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

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

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

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

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

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

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

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

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


Процедуры, функции; записи; файлы. Программирование рекурсивных алгоритмов


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

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

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

Общий вид описания процедуры:

Procedure Имя [Список формальных параметров];

Описательная часть

Begin

Тело процедуры

End;

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

Фактические параметры – это параметры, которые передаются процедуре при ее вызове.

Количество и типы формальных и фактических параметров должны в точности совпадать.

Формальные параметры описываются в заголовке процедуры и определяют тип и место подстановки фактических параметров. Формальные параметры делятся на 2 вида: параметры-переменные и параметры-значения.

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

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

Все переменные программы делятся на глобальные и локальные. Глобальные переменные объявляются в разделе описаний основной программы. Локальные переменные объявляются в процедурах и функциях.

Таким образом, локальные переменные «живут» только во время работы подпрограммы.

Функции

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

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

Таким образом общий вид описания функции следующий:

Function Имя [Список формальных параметров]:

Тип результата;

Описательная часть

Begin

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

Имя функции:=значение

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

Описание записи в языке Паскаль осуществляется с помощью служебного слова record, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом end.

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


type TRec = Record

FIO: String[20];

TEL: String[7]

end;

var rec: TRec;

Описание записей возможно и без использования имени типа, например:


var rec: Record

FIO: String[20];

TEL: String[7]

end;


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


rec.FIO, rec.TEL


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

Обращение к компонентам записей можно упростить, если воспользоваться оператором присоединения with.

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

with rec do оператор;

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

with rec do begin

FIO:='Иванов А.А.';

TEL:='2223322';

end;


Такая алгоритмическая конструкция полностью идентична следующей:


rec.FIO:='Иванов А.А.';

rec.TEL:='2223322';


Инициализация записей может производиться с помощью типизированных констант:


type

RecType = Record

x,y: Word;

ch: Char;

dim: Array[1..3] of Byte

end;

const

Rec: RecType = (x: 127;

y: 255;

ch: 'A';

dim: (2, 4, 8));


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

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


ype

TFigure = record

type_of_figure: string[10];

color_of_figure: byte;

...

case integer of

1: (x1,y1,x2,y2: integer);

2: (a1,a2,b1,b2,c1,c2: integer);

3: (x,y: integer; radius: word);

end;

var figure: TFigure;


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

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

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

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

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

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

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

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


'LAB1.DAT'

'c:\ABC150\pr.txt'

'my_files'


Турбо Паскаль поддерживает три файловых типа:

текстовые файлы;

типизированные файлы;

нетипизированные файлы.

Доступ к файлу в программе происходит с помощью переменных файлового типа. Переменную файлового типа описывают одним из трех способов:


file of тип - типизированный файл (указан тип компоненты);

text - текстовый файл;

file - нетипизированный файл.

Примеры описания файловых переменных:

var

f1: file of char;

f2: file of integer;

f3: file;

t: text;


Стандартные процедуры и функции файлов:

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

Assign(f, FileName)

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

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

- Reset(f)

открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента. Процедура завершается с сообщением об ошибке, если указанный файл не найден.

Если f - типизированный файл, то процедурой reset он открывается для чтения и записи одновременно.

- Rewrite(f)

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

- Close(f)

закрывает открытый до этого файл с файловой переменной f. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все-же будет создан на внешнем устройстве, но содержимое последнего буфера в него не будет перенесено.

- EOF(f): boolean

возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст.

- Rename(f, NewName)

позволяет переименовать физический файл на диске, связанный с файловой переменной f. Переименование возможно после закрытия файла.

- Erase(f)

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

- IOResult

возвращает целое число, соответствующее коду последней ошибки ввода - вывода. При нормальном завершении операции функция вернет значение 0. Значение функции IOResult необходимо присваивать какой-либо переменной, так как при каждом вызове функция обнуляет свое значение. Функция IOResult работает только при выключенном режиме проверок ошибок ввода - вывода или с ключом компиляции {$I-}.

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

Текстовый файл - это совокупность строк, разделенных метками конца строки. Сам файл заканчивается меткой конца файла. Доступ к каждой строке возможен лишь последовательно, начиная с первой. Одновременная запись и чтение запрещены.

Нетипизированные файлы - это последовательность компонент произвольного типа.

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

Множественный тип описывается с помощью служебных слов Set of, например:

type M = Set of B;

Здесь М - множественный тип, В - базовый тип.

Пример описания переменной множественного типа:

type

M = Set of 'A'..'D';

var

MS: M;

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


var C: Set of 0..7;


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


['A', 'C'] [0, 2, 7] [3, 7, 11..14]


Константа вида [ ] означает пустое подмножество. Количество базовых элементов не должно превышать 256. Инициализация величин множественного типа может производиться с помощью типизированных констант:


const seLit: Set of 'A'..'D'= [];


Порядок перечисления элементов базового типа в константах безразличен.

Значение переменной множественного типа может быть задано конструкцией вида [T], где T - переменная базового типа. Например, вполне допустима конструкция:


type T = set of char;


Множество включает в себя набор элементов базового типа, все подмножества данного множества, а также пустое подмножество. Так, переменная Т множественного типа


var T: Set of 1..3;


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

[ ] [1] [2] [3] [1,2] [1,3] [2,3] [1,2,3]


К переменным и константам множественного типа применимы операции присваивания(:=), объединения(+), пересечения(*) и вычитания(-):


['A','B'] + ['A','D'] даст ['A','B','D']

['A','D'] * ['A','B','C'] даст ['A']

['A','B','C'] - ['A','B'] даст ['C'].


Результат выполнения этих операций есть величина множественного типа.

К множественным величинам применимы операции: тождественность (=), нетождественность (<>), содержится в (<=), содержит (>=). Результат выполнения этих операций имеет логический тип, например:


['A','B'] = ['A','C'] даст FALSE

['A','B'] <> ['A','C'] даст TRUE

['B'] <= ['B','C'] даст TRUE

['C','D'] >= ['A'] даст FALSE.


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


'A' in ['A', 'B'] даст TRUE,


Информация о работе «Предмет и объект прикладной информатики»
Раздел: Информатика, программирование
Количество знаков с пробелами: 308601
Количество таблиц: 37
Количество изображений: 3

Похожие работы

Скачать
164521
0
4

... приемлемого уровня оплаты труда, улучшением условий и мотивации труда. 7.         Менеджмент. Ключевая цель в этой области - определение критических сфер управленческого воздействия. Общая цель => Ключевые цели по подсистемам организации=> Производство / Маркетинг / Персонал / Финансы (5)       Производственная структура предприятия   Производственная структура - это состав его ...

Скачать
158303
36
0

... -педагогическая или научно-техническая проблема, являющаяся новым научным вкладом в теорию определенной области знаний (педагогику, технику и другие). 4.   ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ВЫПОЛНЕНИЯ ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЫ БАКАЛАВРА ФИЗИКО-МАТЕМАТИЧЕСКОГО ОБРАЗОВАНИЯ ПРОФИЛЬ ИНФОРМАТИКА   4.1. Положение о выпускной квалификационной работе бакалавра физико-математического образования: ...

Скачать
90598
2
0

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

Скачать
89574
4
11

... . Раздел 2 Вычислительные системы   Тема 6 Архитектура вычислительных систем Общая часть   6.1 Что такое архитектура ЭВМ? Сформулируйте определение и расшифруйте его Говоря об устройстве компьютера, необходимо рассказать о понятии «архитектура». Архитектура- это наиболее общие принципы построения ЭВМ, реализующие программное управление работой и взаимодействием основных ее ...

0 комментариев


Наверх