Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
ОУП КРАСНОЯРСКИЙ ФИЛИАЛ
АКАДЕМИИ ТРУДА И СОЦИАЛЬНЫХ ОТНОШЕНИЙ
СОЧНЕВ АЛЕКСЕЙ НИКОЛАЕВИЧ
ИНФОРМАТИКА
лекции, лабораторные работы для студентов
экономических специальностей всех форм обучения
КРАСНОЯРСК 2008
Безусловно, одним из основных направлений применения компьютеров были и остаются разнообразные вычисления. Обработка числовой информации ведется и при решении задач, на первый взгляд не связанных с какими-то расчетами, например, при использовании компьютерной графики или звука. В связи с этим встает вопрос о выборе оптимального представления чисел в компьютере. Безусловно, можно было бы использовать 8-битное (байтовое) кодирование отдельных цифр, а из них составлять числа. Однако такое кодирование не будет оптимальным. Важно, что представление определяет не только способ записи данных (букв или чисел), но и допустимый набор операций над ними; в частности, буквы могут быть только помещены в некоторую последовательность (или исключены из нее) без изменения их самих; над числами же возможны операции, изменяющие само число, например, извлечение корня или сложение с другим числом. Представление чисел в компьютере по сравнению с формами, известными всем со школы, имеет два важных отличия:
во-первых, числа записываются в двоичной системе счисления (в отличие от привычной десятичной);
во-вторых, для записи и обработки чисел отводится конечное количество разрядов (в «некомпьютерной» арифметике такое ограничение отсутствует).
Следствия, к которым приводят эти отличия, и рассматриваются в этой лекции.
Системы счисления
Начнем с некоторых общих замечаний относительно понятия число. Можно считать, что любое число имеет значение (содержание) и форму представления. Ситуация весьма напоминает порядок использованием переменных в программах – они тоже имеют значение и имя. Эта аналогия подчеркивает общность подхода к представлению данных независимо от того, кому (или чему) эти данные предназначены Значение числа задает его отношение к значениям других чисел («больше», «меньше», «равно») и, следовательно, порядок расположения чисел на числовой оси. Форма представления, как следует из названия, определяет порядок записи числа с помощью предназначенных для этого знаков. При этом значение числа является инвариантом, т.е. не зависит от способа его представления. Это означает также, что число с одним и тем же значением может быть записано по-разному, т.е. отсутствует взаимно однозначное соответствие между представлением числа и его значением. В связи с этим возникают вопросы, во-первых, о формах представления чисел, и, во-вторых, о возможности и способах перехода от одной формы к другой. Способ представления числа определяется системой счисления.
Система счисления – это правило записи чисел с помощью заданного набора специальных знаков – цифр.
Людьми использовались различные способы записи чисел, которые можно объединить в несколько групп: унарная, непозиционные и позиционные.
Унарная – это система счисления, в которой для записи чисел используется только один знак – I («палочка»). Следующее число получается из предыдущего добавлением новой I; их количество (сумма) равно самому числу. Именно такая система применяется для начального обучения счету детей (можно вспомнить «счетные палочки»); использование унарной системы оказывается важным педагогическим приемом для введения детей в мир чисел и действий с ними. Но, как мы увидим в дальнейшем, унарная система важна также в теоретическом отношении, поскольку в ней число представляется наиболее простым способом и, следовательно, просты операции с ним. Кроме того, именно унарная система определяет значение целого числа количеством содержащихся в нем единиц, которое, как было сказано, не зависит от формы представления. Для записи числа в унарной системе в дальнейшем будем использовать обозначение Z1.
Из непозиционных наиболее распространенной можно считать римскую систему счисления. В ней некоторые базовые числа обозначены заглавными латинскими буквами: 1 – I, 5 – V, 10 – X, 50 – L, 100 – C, 500 – D, 1000 – M. Все другие числа строятся комбинаций базовых в соответствии со следующими правилами:
• если цифра меньшего значения стоит справа от большей цифры, то их значения суммируются; если слева – то меньшее значение вычитается из большего.
• цифры I, X, C и M могут следовать подряд не более трех раз каждая;
• цифры V, L и D могут использоваться в записи числа не более одного раза.
Например, запись XIX соответствует числу19, MDXLIX – числу 1549. Запись чисел в такой системе громоздка и неудобна, но еще более неудобным оказывается выполнение в ней даже самых простых арифметических операций. Отсутствие нуля и знаков для чисел больше M не позволяют римскими цифрами записать любое число (хотя бы натуральное). По указанным причинам теперь римская система используется лишь для нумерации.
В настоящее время для представления чисел применяют, в основном, позиционные системы счисления.
Позиционными называются системы счисления, в которых значение каждой цифры в изображении числа определяется ее положением (позицией) в ряду других цифр.
Наиболее распространенной и привычной является система счисления, в которой для записи чисел используется 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Число представляет собой краткую запись многочлена, в который входят степени некоторого другого числа – основания системы счисления. Например,
272,12 = 2·102+7·101+2·100+ 1·10-1+2·10-2
В данном числе цифра 2 встречается трижды, однако, значение этих цифр различно и определяется их положением (позицией) в числе. Количество цифр для построения чисел, очевидно, равно основанию системы счисления. Также очевидно, что максимальная цифра на 1 меньше основания. Причина широкого распространения именно десятичной системы счисления понятна – она происходит от унарной системы с пальцами рук в качестве «палочек». Однако в истории человечества имеются свидетельства использования и других систем счисления – пятиричной, шестиричной, двенадцатиричной, двадцатиричной и даже шестидесятиричной.
Общим для унарной и римской систем счисления является то, что значение числа в них определяется посредством операций сложения и вычитания базисных цифр, из которых составлено число, независимо от их позиции в числе. Такие системы получили название аддитивных. В отличие от них позиционное представление следует считать аддитивно-мультипликативным, поскольку значение числа определяется операциями умножения и сложения. Главной же особенностью позиционного представления является то, что в нем посредством конечного набора знаков (цифр, разделителя десятичных разрядов и обозначения знака числа) можно записать неограниченное количество различных чисел. Кроме того, в позиционных системах гораздо легче, чем в аддитивных, осуществляются операции умножения и деления. Именно эти обстоятельства обуславливают доминирование позиционных систем при обработке чисел как человеком, так и компьютером.
По принципу, положенному в основу десятичной системы счисления, очевидно, можно построить системы с иным основанием. Пусть p – основание системы счисления. Тогда любое число Z (пока ограничимся только целыми числами), удовлетворяющее условию Z < pk (k 0, целое), может быть представлено в виде многочлена со степенями p (при этом, очевидно, максимальный показатель степени будет равен k – 1):
(4.1)
Из коэффициентов aj при степенях основания строится сокращенная запись числа:
Zp = (ak-1 ak-1… a1 a0)
Индекс p у числа Z указывает, что оно записано в системе счисления с основанием p; общее число цифр числа равно k. Все коэффициенты aj – целые числа, удовлетворяющие условию:
0 aj p - 1
Уместно задаться вопросом: каково минимальное значение p? p =1 невозможно, поскольку тогда все aj = 0 и форма (4.1) теряет смысл. Первое допустимое значение p=2 – оно и является минимальным для позиционных систем. Система счисления с основанием 2 называется двоичной. Цифрами двоичной системы являются 0 и 1, а форма (4.1) строится по степеням 2. Интерес именно к этой системе счисления связан с тем, что, как указывалось выше, любая информация в компьютерах представляется с помощью двух состояний – 0 и 1, которые легко реализуются технически. Наряду с двоичной в компьютерах используются 8-ричная и 16-ричная системы счисления – причины будут рассмотрены далее.
Необходимо еще раз подчеркнуть, что значение целого числа, т.е. общее количество входящих в него единиц, не зависит от способа его представления и остается одинаковым во всех системах счисления; различаются только формы представления одного и того же количественного содержания числа. Например, IIIII1 = 510 = 1012 = 105 = 56 = 516. Другими словами, размер стипендии или зарплаты не станет больше от того, что при ее начислении вместо десятичной будут использовать, например, двоичную систему счисления.
Представление чисел в различных системах счисления
Перевод целых чисел из одной системы счисления в другую
Поскольку одно и то же число может быть записано в различных системах счисления, встает вопрос о переводе представления числа из одной системы (p) в другую (q) – будем обозначать такое преобразование Zp Zq. Теоретически возможно произвести его при любых q и p. Однако подобный прямой перевод будет затруднен тем, что придется выполнять операции по правилам арифметики недесятичных систем счисления. По этой причине более удобными с практической точки зрения оказываются варианты преобразования с промежуточным переводом Zp Zr Zq с основанием r, для которого арифметические операции выполнить легко. Такими удобными основаниями являются r = 1 и r = 10, т.е. перевод осуществляется через унарную или десятичную систему счисления. Здесь мы рассмотрим только перевод через десятичную систему счисления.
Преобразование Zp Z10 Zq
Очевидно, первая и вторая часть преобразования не связаны друг с другом, что дает основание рассматривать их по отдельности.
Алгоритмы перевода Z10 Zq. Многочлен (4.1) для Zq может быть представлен таким образом:
(4.2)
где m – число разрядов в записи Zq, а bj (j = 0…m–1) – цифры числа Zq.
Разделим число Zq на две части по разряду номер i; число, включающее m–i разрядов с m–1-го по i-й обозначим i, а число с i разрядами с i–1-го по 0-ой – i. Позаимствуем из языка PASCAL обозначение двух операций: div – результат целочисленного деления двух целых чисел и mod – остаток от целочисленного деления (13 div 4=3; 13 mod 4 = 1). Теперь если принять m-1 = bm-1, то в (4.2) усматривается следующее рекуррентное соотношение: из которого, в свою очередь, получаются выражения:
(4.3)
Аналогично, если принять 0 = b0, то для правой части числа будет справедливо другое рекуррентное соотношение: i = i-1 + biqi, из которого следуют:
(4.4)
Из соотношений (4.3) и (4.4) непосредственно вытекают два способа перевода целых чисел из 10-ной системы счисления в систему с произвольным основанием q.
Способ 1 является следствием соотношений (4.3), из которых просматривается следующий алгоритм перевода:
1. целочисленно разделить исходное число (Z10) на основание новой системы счисления (q) и найти остаток от деления – это будет цифра 0-го разряда числа Zq;
2. частное от деления снова целочисленно разделить на q с выделением остатка; процедуру продолжать до тех пор, пока частное от деления не окажется меньше q;
3. образовавшиеся остатки от деления, поставленные в порядке, обратном порядку их получения, и представляют Zq.
Пример 4.2
Выполнить преобразование 12310 Z5.
Остатки от деления (3, 4) и результат последнего целочисленного деления (4) образуют обратный порядок цифр нового числа. Следовательно, 12310 = 4435.
Необходимо заметить, что полученное число нельзя читать «четыреста сорок три», поскольку десятки, сотни, тысячи и прочие подобные обозначения чисел относятся только к десятичной системе счисления. Прочитывать число следует простым перечислением его цифр с указанием системы счисления («число четыре, четыре, три в пятиричной системе счисления»).
Способ 2 вытекает из соотношения (4.4); действия производятся в соответствии со следующим алгоритмом:
1. определить m–1 – максимальный показатель степени в представления числа по форме (4.1) для основания q;
2. целочисленно разделить исходное число (Z10) на основание новой системы счисления в степени m – 1 (т.е. qm-1) и найти остаток от деления; результат деления определит первую цифру числа Zq;
3. остаток от деления целочисленно разделить на qm-2, результат деления принять за вторую цифру нового числа; найти остаток; продолжать эту последовательность действий, пока показатель степени q не достигнет значения 0.
Продемонстрируем действие алгоритма на той же задаче, что была рассмотрена выше. Определить m–1 можно либо путем подбора (50=1<123; 51=5<123; 52=25<123; 53=125>123, следовательно, m–1 =2), либо логарифмированием с оставлением целой части логарифма (log5123=2,99, т.е. m–1=2). Далее:
b2 = 123 div 52 = 4;
1 = 123 mod 52 = 23
(i = 2 - 1 = 1)
b1 = 23 div 51 = 4;
0 = 23 mod 51 = 3
(i = 0)
Алгоритмы перевода ZpZ10 явно вытекает из представлений (4.1) или (4.2): необходимо Zp представить в форме многочлена и выполнить все операции по правилам десятичной арифметики.
Пример 4.3
Выполнить преобразование 4435 Z10
4435 = 4·52+4·51+3·50 = 4·25+4·5+3·1 = 12310
Необходимо еще раз подчеркнуть, что приведенными алгоритмами удобно пользоваться при переводе числа из десятичной системы в какую-то иную или наоборот. Они работают и для перевода между любыми иными системами счисления, однако, преобразование будет затруднено тем, что все арифметические операции необходимо осуществлять по правилам исходной (в первых алгоритмах) или конечной (в последнем алгоритме) системы счисления. По этой причине переход, например, Z3Z8 проще осуществить через промежуточное преобразование к 10-ной системе Z3Z10Z8. Ситуация, однако, значительно упрощается, если основания исходной и конечной систем счисления оказываются связанными соотношением p = qr, где r – целое число (естественно, большее 1) или r = 1/n ( n>1, целое)– эти случаи будут рассмотрены ниже.
Перевод дробных чисел из одной системы счисления в другую
Вещественное число, в общем случае содержащее целую и дробную часть, всегда можно представить в виде суммы целого числа и правильной дроби. Поскольку в предыдущем параграфе проблема записи натуральных чисел в различных системах счисления уже была решена, можно ограничить рассмотрение только алгоритмами перевода правильных дробей. Введем следующие обозначения: правильную дробь в исходной системе счисления p будем записывать в виде0,Yp , дробь в системе q – 0,Yq , а преобразование – в виде 0,Yp0,Yq. Последовательность рассуждений весьма напоминает проведенную ранее для натуральных чисел. В частности, это касается рекомендации осуществлять преобразование через промежуточный переход к 10-ной системе, чтобы избежать необходимости производить вычисления в «непривычных» системах счисления, т.е. 0,Yp0,Y10 0,Yq. Это, в свою очередь, разбивает задачу на две составляющие: преобразование 0,Yp0,Y10 и 0,Y10 0,Yq , каждое из которых может рассматриваться независимо.
Алгоритмы перевода 0,Y100,Yq выводится путем следующих рассуждений. Если основание системы счисления q, простая дробь содержит n цифр и bk – цифры дроби (1kn, 0bkq–1), то она может быть представлена в виде суммы:
(4.5)
Часть дроби от разряда i до ее конца обозначим i и примем n = bn/q (очевидно, 1 = 0,Yq); тогда в (4.5) легко усматривается рекуррентное соотношение:
(4.6)
Если вновь позаимствовать в PASCAL’е обозначение функции – на этот раз trunc, которая производит округление целого вещественного числа путем отбрасывания его дробной части, то следствием (4.6) будут соотношения, позволяющие находить цифры новой дроби:
bi = trunc(q·i),i+1 = q·i - trunc(q·i) (4.7)
Соотношения (4.7) задают алгоритм преобразования 0,Y100,Yq:
1. умножить исходную дробь в 10-ной системе счисления на q, выделить целую часть – она будет первой цифрой новой дроби; отбросить целую часть;
2. для оставшейся дробной части операцию умножения с выделением целой и дробных частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаемая точность конечного числа (exact); появляющиеся при этом целые будут цифрами новой дроби;
3. записать дробь в виде последовательности цифр после ноля с разделителем в порядке их появления в п. (1) и (2).
Пример 4.4
Выполнить преобразование 0,375100,Y2
Таким образом, 0,37510 = 0,0112
Перевод 0,Yp0,Y10, как и в случае натуральных чисел, сводится к вычислению значения формы (4.5) в десятичной системе счисления. Например,
0,0112 = 0·2-1 + 1·2-2 + 1·2-3 = 0,25 + 0,125 = 0,37510
Следует сознавать, что после перевода дроби, которая была конечной в исходной системе счисления, она может оказаться бесконечной в новой системе. Соответственно, рациональное число в исходной системе может после перехода превратиться в иррациональное. Справедливо и обратное утверждение: число иррациональное в исходной системе счисления в иной системе может оказаться рациональным.
Пример 4.5
Выполнить преобразование 5,3(3)10X3
Перевод целой части, очевидно, дает: 510 = 123. Перевод дробной части: 0,3(3)10 = 0,13. Окончательно: 5,3(3)10 = 12,13.
Как уже было сказано, значение целого числа не зависит от формы его представления и выражает количество входящих в него единиц. Простая дробь имеет смысл доли единицы, и это «дольное» содержание также не зависит от выбора способа представления. Другими словами, треть пирога остается третью в любой системе счисления.
Число в системе счисления p с k разрядами, очевидно, будет иметь наибольшее значение в том случае, если все цифры числа окажутся максимальными, т.е. равными p – 1. Тогда
(4.8)
Количество разрядов числа при переходе от одной системы счисления к другой в общем случае меняется. Очевидно, если p =q ( – не обязательно целое), то (Zp)max = pk – 1 =qk – 1. Т.е. количество разрядов числа в системах счисления p и q будут различаться в раз. Очевидно соотношение:
(4.9)
При этом основание логарифма никакого значения не имеет, поскольку определяется отношением логарифмов. Сравним количество цифр в числе 9910 и его представлении в двоичной системе счисления: 9910 = 11000112; т.е. двоичная запись требует 7 цифр вместо 2 в десятичной. = ln(10)/ln(2) = 3,322; следовательно, количество цифр в десятичном представлении нужно умножить на 3,322 и округлить в большую сторону: 2·3,322 = 6,6447 .
Перевод чисел между системами счисления 2 – 8 – 16
Интерес к двоичной системе счисления вызван тем, что именно эта система используется для представления чисел в компьютере. Однако двоичная запись оказывается громоздкой, поскольку содержит много цифр, и, кроме того, она плохо воспринимается и запоминается человеком из-за зрительной однородности (все число состоит из нулей и единиц). Поэтому в нумерации ячеек памяти компьютера, записи кодов команд, нумерации регистров и устройств и пр. используются системы счисления с основаниями 8 и 16; выбор именно этих систем счисления обусловлен тем, что переход от них к двоичной системе и обратно осуществляется, как будет показано ниже, весьма простым образом.
Двоичная система счисления имеет основанием 2 и, соответственно, 2 цифры: 0 и 1.
Восьмеричная система счисления имеет основание 8 и цифры 0, 1,…, 7.
Шестнадцатеричная система счисления имеет основание 16 и цифры 0, 1, …, 9, A, B, C, D, E, F. При этом знак «A» является 16-ричной цифрой, соответствующей числу 10 в десятичной системе; B16 = 1110; С16 = 1210; D16 = 1310; E16 = 1410; F16 = 1510. Другими словами, в данном случае A … F - это не буквы латинского алфавита, а цифры 16-ричной системы счисления и поэтому они имеют только такое начертание (не могут быть представлены в виде, например, соответствующих строчных букв, как в текстах). Можно заполнить таблицу:
Таблица 4.1.Представление чисел в системах счисления
Представление чисел в системах счисления
10-ная
2-ная
8-ричная
16-ричная
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
Для преобразования целого числа ZpZq в том случае, если системы счисления связаны соотношением q = pr, где r - целое число большее 1, достаточно Zp разбить справа налево на группы по r цифр и каждую из них независимо перевести в систему q.
Пример 4.6
Выполнить преобразование Z2 = 1100012Z8. Исходное число разбивается на группы по три разряда справа налево (8 = 23, следовательно, r = 3) и каждая тройка в соответствии с таблицей 4.1. переводится в 8-ричную систему счисления независимо от остальных троек:
Следовательно, 1100012 = 618 . Аналогично, разбивая Z2 на группы по 4 двоичные цифры и дополняя старшую группу незначащими нулями слева, получим 1100012= 3116.
Для преобразования целого числа ZpZq в том случае, если системы счисления связаны соотношением p = qr, где r - целое число большее 1, достаточно каждую цифру Zp заменить соответствующим r-разрядным числом в системе счисления q, дополняя его при необходимости незначащими нулями слева до группы в r цифр.
Пример 4.7
Выполнить преобразование D316Z2.
Переходы Z8Z16 и Z16Z8, очевидно, удобнее осуществлять через промежуточный переход к двоичной системе. Например, 1238 = 0010100112 = 5316.
Преобразование нормализованных чисел
Вещественное число X может быть представлено в двух формах - естественной и нормализованной. В естественной форме у X имеется целая и дробная части, между которыми помещается разделитель (запятая или точка), например, 123,4567. Однако такая запись неудобна для слишком больших или, наоборот, слишком малых чисел. Кроме того, использование такой формы (она называется также «представление числа с фиксированной запятой») в компьютере вызвало бы снижение точности вычислений из-за необходимости приведения в соответствие разрядов обрабатываемых чисел и связанных с этим округлений или могло бы породить ситуацию, называемую переполнением, когда старший разряд числа не умещается в отведенной разрядной сетке. По указанным причинам вещественные числа в компьютере представляются в нормализованном виде (другое название - «представление числа с плавающей запятой»), главным достоинством которой является автоматическое масштабирование числа на каждом этапе обработки, что, с одной стороны, обеспечивает максимально возможную точность вычислений, а с другой - избавляет от необходимости принимать меры по предотвращению переполнения (за исключением достаточно экзотических ситуаций с выходом числа за отведенную разрядную сетку). По сути, это универсальная форма записи всех чисел, кроме определенных как «тип: целые» (например, Integer, Word или Byte в PASCAL'е). Сначала познакомимся с необходимыми понятиями применительно к 10-ной системе счисления.
Число X10 называется нормализованным, если оно представлено в виде
X10 = ± M10 · 10 ±k10
В этой записи M10 называется мантиссой нормализованного числа; значения мантиссы лежат в интервале 0,1M10<1. k10 называется порядком нормализованного числа - это целое положительное десятичное число. Примеры: - 123410 = - 0,1234·104; 0,0345610 = 0,3456·10-1. Понятие нормализованного числа следует отличать от понятия числа в нормальной форме; данная форма достаточно часто используется при записи чисел в математике, физике, технических дисциплинах и отличается от нормализованного представления тем, что мантисса лежит в интервале 1M10<10, например,
kБ=1,38·10-23.
При нормализации происходит расчленение «составляющих» числа с выделением знака числа, мантиссы, знака порядка и порядка - как будет показано ниже, это создает определенные удобства при хранении и обработке чисел в компьютере. Аналогично нормализации десятичного числа можно в нормализованной форме представить и число в произвольной системе счисления p:
Xp = ± Mp · p ±kp (4.12)
При этом значения мантиссы лежат в интервале p-1Mp<1 (т.е. первая значащая цифра мантиссы всегда ненулевая), а показатель степени представляется в системе p (kp). Например, для p = 2:
X2 = - 101,012 = - 0,101012 · 2112
Мантисса располагается в промежутке 0,12 M2<1, что соответствует десятичному интервалу 0,510M10<1.
При нормализации различаются ситуации Xp>1 и Xp< p-1. В первом случае для нормализации необходимо перемещать разделитель разрядов влево по числу до тех пор, пока не исчезнет целая часть числа, но первая цифра после разделителя будет ненулевой; каждое перемещение разделителя на 1 разряд влево эквивалентно делению числа на p и, чтобы число не менялось, показатель должен возрастать на 1 при каждом сдвиге. Если обозначить эту операцию N (будем называть ее «нормализация влево»), то N [(123,45)10] = 0,1234510·103; N[(23,4·105)10] = 0,23410·107; N[(1212,2)3] = 0,121223·311. Аналогично можно ввести операцию «нормализация вправо» (N), обеспечивающая нормализацию чисел меньших p-1; очевидно, такие числа необходимо умножать на p с одновременным уменьшением показателя на 1 до тех пор, пока первая цифра после разделителя станет ненулевой. Например, N[(0,000101·2-101)2] = 0,101·2-1000; N[(0,000987)10] = 0,98710·10-3.
Пример 4.8
Выполнить преобразование X10=16,510X2.
Перевод можно осуществить отдельно для целой и дробной части, а затем их объединить. Легко получить, что 1610 = 100002, а 0,510 = 0,12; следовательно, 16,510 = 10000,12 = (0,100001·2101)2.
Пример 4.9
Выполнить преобразование: X2 = (0,11·2110)2X10
0,112=0,7510; (2110)2=(26)10=64; следовательно, (0,11·2110)2=0,75·64=4810.
Кодирование чисел в компьютере и действия над ними
Второй важной специфической особенностью представления чисел в регистрах и в памяти компьютера является то, что, в отличие от записи числа на бумаге, компьютерные ячейки имеют ограниченный размер и, следовательно, вынуждают использовать при записи чисел и действиях с ними конечное количество разрядов. Это приводит к тому, что бесконечное множество вещественных чисел заменяется конечным множеством их представлений, которые называются кодами чисел, а обычные арифметические операции с числами заменяются операциями с кодами. Способы кодирования и допустимые над ними действия оказываются различными для следующих числовых множеств:
• целые положительные числа (целые числа без знака);
• целые числа со знаком;
• вещественные нормализованные числа.
Рассмотрим подробнее перечисленные группы.
Кодирование и обработка в компьютере целых чисел без знака
Будем исходить из того, что для записи числа в устройствах компьютера выделяется фиксированное количество двоичных разрядов. Память компьютера имеет байтовую структуру, однако, размер одной адресуемой ячейки обычно составляет несколько байт. Например, в компьютерах IBM ячейка памяти объединяет 2 байта (16 двоичных разрядов) - такая комбинация связанных соседних ячеек, обрабатываемая совместно, называется машинным словом. Для представления числа в регистре арифметико-логического устройства процессора, где формируется результат операции, имеется еще один дополнительный одноразрядный регистр, который называется регистром переноса и который можно рассматривать в качестве продолжения (т.е. 17-го бита) регистра результата. Назначение этого бита выяснится чуть позже.
Конечный размер разрядной сетки порождает понятие «наибольшее целое число», которого в обычном (немашинном) представлении чисел просто не существует. Если количество разряд ов k и p=2, то, согласно (4.8), (Z2)max = 2k - 1. В частности, при k=16 (Z2)max = 216 - 1 = 1111111111111112 =6553510. Другими словами, целого числа, скажем, 65636 и более в компьютере просто не может существовать и, следовательно, появление в ходе вычислений чисел, превышающих (Z2)max, должно интерпретироваться как ошибка. Минимальным целым числом в беззнаковом представлении, очевидно, является (Z2)min = 0000000000000002 = 010. В языке программирования PASCAL целые числа без знака, для записи которых отводится 2 байта, определены как тип Word. Тип устанавливает способ кодирования числа, количество отводимых для записи ячеек памяти (т.е. разрядность числа), а также перечень допустимых операций при обработке. Выход за границу 65535 возможен только путем увеличения количества разрядов для записи числа, но это порождает новый тип со своим Zmax; например, тип Longint1 с максимальным значением 214748364710, числа которого занимают 4 байта.
Рассмотрим, как с беззнаковыми числами выполняются арифметические операции, не меняющие типа числа; очевидно, к ним относятся сложение и умножение.
Сложение производится согласно таблице сложения, которая для двоичных чисел имеет вид:
В последнем случае в том разряде, где находились слагаемые, оказывается 0, а 1 переносится в старший разряд. Место, где сохраняется переносимая в старший разряд 1 до того, как она будет использована в операции, называется битом переноса.
Пример 4.10
Найти сумму 159410 + 1756310 при беззнаковой двоичной кодировке и 16-битном машинном слове. После перевода слагаемых в двоичную систему счисления и выполнения сложения получим (для удобства восприятия 16-ти разрядное число разобьем на группы по четыре разряда):
Пример 4.11
Найти сумму 6553410 + 310
В последнем примере в результате сложения получилось число, превышающее максимально возможное; результат ошибочен, о чем свидетельствует появление 1 в регистре переполнения. Возникновение такой ситуации в ходе выполнения программы, написанной на языке, где предусмотрено строгое описание типа переменных, приводит к прекращению работы и выводу сообщения об ошибке. В программах, предназначенных для обработки числовой информации (например, Excel, MathCAD или Calc), при переполнении разрядной сетки производится автоматическое преобразование целого числа в вещественный тип. Таким образом, регистр переноса в данном случае служит индикатором корректности процесса вычислений.
Умножение производится согласно таблице умножения, которая для двоичных чисел имеет предельно простой вид:
0 0 = 0 1 0 = 0
0 1 = 0 1 1 = 1
Пример 4.12
Найти произведение 1310 × 510
Таким образом, умножение двоичных чисел сводится к операциям сдвига на один двоичный разряд влево и повторения первого сомножителя в тех разрядах, где второй сомножитель содержит 1, и сдвига без повторения в разрядах с 0. Сдвиг всегда чередуется со сложением из-за ограниченности числа регистров, которые имеются в процессоре для размещения операндов. Другими словами, реализации отдельной операции умножения в процессоре не требуется. Как и в операции сложения, при умножении чисел с ограниченной разрядной сеткой может возникнуть переполнение. Решается проблема рассмотренными выше способами.
Кодирование и обработка в компьютере целых чисел со знаком
Кодирование целых чисел, имеющих знак, можно осуществить двумя способами. В первом варианте один (старший) разряд машинном слове отводится для записи знака числа; при этом условились кодировать знак «+» нулем, знак «–» - единицей. Под запись самого числа, очевидно, остается 15 двоичных разрядов, что обеспечивает наибольшее значение числа Zmax = 215 - 1 = 3276710. Такое представление чисел называется прямым кодом. Однако его применение усложняет порядок обработки чисел; например, операция сложения двух чисел с разными знаками должна быть заменена операцией вычитания меньшего из большего с последующим присвоением результату знака большего по модулю числа. Другими словами, операция сопровождается большим количеством проверок условий и выработкой признаков, в соответствии с которыми выбирается то или иное действие.
Альтернативным вариантом является представление чисел со знаком в дополнительном коде. Идея построения дополнительного кода достаточно проста: на оси целых положительных чисел, помещающихся в машинное слово (0÷65535), сместим положение «0» на середину интервала; числа, попадающие в первую половину (0÷32767) будем считать положительными, а числа из второй половины (32768÷65535) - отрицательными. В этом случае судить о знаке числа можно будет по его величине и в явном виде выделение знака не потребуется. Например, 1000000000000012 = 3276910 является кодом отрицательного числа, а 0000000000000012 = 110 - кодом положительного. Принадлежность к интервалу кодов положительных или отрицательных чисел видна по состоянию старшего бита - у кодов положительных чисел его значение «0», отрицательных - «1». Это напоминает представление со знаком, но не является таковым, поскольку используется другой принцип кодирования. Его применение позволяет заменить вычитание чисел их суммированием в дополнительном коде. Мы убедимся в этом чуть позднее после того, как обсудим способ построения дополнительного кода целых чисел.
Дополнением (D) k-разрядного целого числа Z в системе счисления p называется величина D (Zp , k) = pk - Z.
Данную формулу можно представить в ином виде: D(Zp, k) = ((pk - 1) - Z) + 1. Число pk- 1 согласно (4.8), состоит из k наибольших в данной системе счисления цифр (p - 1), например, 999910, FFF16 или 11111112. Поэтому (pk - 1) - Z можно получить путем дополнения до p-1 каждой цифры числа Z и последующим прибавлением к последнему разряду 1.
Пример 4.13
Построить дополнение числа 27810. В данном случае p = 10, k = 3.
D(27810 , 3) = {<9-2><9-7><9-8>}+1, т.е. 721+1=722.
Важным свойством дополнения является то, что его сумма с исходным числом в заданной разрядной сетке будет равна 0. В рассмотренном примере:
В разряде тысяч 1 должна быть отброшена, поскольку она выходит за отведенную разрядную сетку.
Так как в двоичной системе счисления дополнением 1 является 0, а дополнением 0 является 1, построение D(Z2 , k) сводится к инверсии данного числа, т.е. замена нулей единицами и единиц нулями, и прибавлением 1 к последнему разряду. Другими словами, дополнение двоичного числа формируется в два этапа:
• строится инвертированное представление исходного числа;
• к инвертированному представлению прибавляется 1 по правилам двоичной арифметики.
Дополнительный код (DK) двоичных целых чисел строится по следующим правилам:
• для Z20 дополнительный код совпадает с самим числом (DK = Z2);
• для Z2<0 дополнительный код совпадает с дополнением модуля числа, т.е. DK = D(|Z2| ,k).
Пример 4.14
Построить дополнительные двоичные коды чисел (a) 310 и (b) –310.
(a) т.к. Z>0,
DK
0000 0000 0000 0011
(b) т.к. Z<0
(1) модуль числа
0000 0000 0000 0011
(2) инверсия числа
1111 1111 1111 1100
(3) DK
1111 1111 1111 1101
Проверка:
Вновь убеждаемся, что
DK(Z) + DK(–Z) = 0
(4.14)
Сопоставление прямых и дополнительных кодов представлено в виде таблицы:
Видно, что общее количество кодов совпадает и, следовательно, одинаковым будет количество кодируемых чисел в обоих способах. Точнее, дополнительных кодов оказывается на один больше, чем прямых, и интервал целых чисел со знаком при их размещении в 2-байтном машинном слове составляет [–32768; 32767] - именно такими являются граничные значения целых чисел типа Integer в языке PASCAL, что свидетельствует об использовании дополнительного кодирования в представлении чисел. Перевод в дополнительный код происходит автоматически при вводе чисел; в таком виде числа хранятся в ОЗУ и затем участвуют в арифметических операциях. При этом, как уже было сказано, операция вычитания двух чисел как самостоятельная отсутствует – она заменяется сложением первого числа с дополнительным кодом второго, т.е. просто сложением содержимого двух ячеек памяти. Убедимся в правомочности этого.
Пример 4.15
Найти значение (27 – 3)10 в двоичной кодировке.
В данном случае появление 1 в регистре переполнения не интерпретируется как ошибка вычислений, поскольку на ее отсутствие указывают знаки чисел и результата. Порядок проверок и анализа корректности операций сложения-вычитания (Z = Z(1) + Z(2)) можно представить в виде таблицы:
Таблица 4.2.
Старший бит Z(1)
Старший бит Z(2)
Старший бит Z
Регистр переполнения
Комментарий
Сложение двух положительных чисел без переполнения. Результат корректен.
1
Переполнение при сложении двух положительных чисел. Результат некорректен.
1
1
1
1
Сложение двух отрицательных чисел без переполнения. Результат корректен.
1
1
1
Переполнение при сложении двух положительных чисел. Результат некорректен.
1
1
Сложение чисел с разными знаками; Z(1)>|Z(2)|. Результат корректен.
Необходимо уточнить, что при выполнении вычитания отрицательного числа оно из дополнительного кода переводится в прямой, и вновь вместо вычитания производится сложение.
Подобным же образом число из дополнительного кода переводится в прямой при выполнении операции умножения; перемножаются всегда положительные числа по рассмотренным выше правилам; знаковый бит результата, очевидно, будет содержать 0, если знаки чисел одинаковы, и 1 при противоположных знаках.
Над множеством целых чисел со знаком операция деления не определена, поскольку в общем случае ее результатом будет вещественное число. Однако допустимыми являются операции целочисленного деления и нахождения остатка от целочисленного деления (те, что мы немного ранее обозначили div и mod). Точнее, значения обеих величин находятся одновременно в одной процедуре, которая, в конечном счете, сводится к последовательности вычитаний или, еще точнее, сложений с дополнительным кодом делителя. Примем обозначения: Z(1) – делимое; Z(2) – делитель; L – результат целочисленного деления Z(1) на Z(2); R – остаток от целочисленного деления Z(1) на Z(2). Эти величины связаны между собой довольно очевидным соотношением:
Z(1) = L· Z(2) + R,
Таким образом, операции div и mod, как, впрочем, и операция умножения, реализуются программно, т.е. сводятся к последовательности небольшого числа более простых действий. При этом уровень программной реализации может быть различным. Если реализация выполнена на уровне команд центрального процессора, то эти операции оказываются доступны из любого приложения (любой прикладной программы). Если же в системе команд процессора эти микропрограммы отсутствуют, их приходится описывать в виде процедур в самих приложениях и, следовательно, они будут доступны только в этих приложениях
Кодирование и обработка в компьютере вещественных чисел
Вернемся к обсуждению того обстоятельства, что в компьютере для записи числа в любой форме представления отводится конечное число разрядов. Для целых чисел это обстоятельство привело к появлению понятий наибольшего целого числа. Однако для каждого целого числа, не превышающего по модулю наибольшего, имеется ровно одно представление в машинном коде и, если не происходит переполнения, результат выполнения операции над целыми числами будет точным, поскольку дискретные множества исходных чисел однозначно отображаются на дискретное множество результатов.
Ситуация радикальным образом меняется при представлении и обработке вещественных чисел. На математической числовой оси вещественные числа образуют непрерывное множество (континуум), т.е. два числа могут находиться сколь угодно близко друг к другу, и на любом отрезке содержится бесконечно много значений чисел. В машинном представлении количество возможных значений чисел конечно; для двоичной системы счисления оно определяется как 2k, где k – количество двоичных разрядов в представлении мантиссы. Т.е. вещественные числа в компьютере заменяются их кодами, которые образуют конечное дискретное множество; каждый код оказывается представителем целого интервала значений континуума.
Из данного обстоятельства вытекают ряд следствий:
Следствие 1 состоит в том, что строгие отношения между числами континуума превращаются в нестрогие для их компьютерных представителей, т.е.
если x(1) > x(2), то X(1) X(2);
если x(1) = x(2), то X(1) = X(2);
если x(1) < x(2), то X(1) X(2).
Следствие 2. Поскольку код вещественного числа в компьютере является приблизительным представителем многих чисел из интервала, то и результаты вычислений также будут заведомо неточными, содержащими неизбежную погрешность. В этом состоит главная особенность обработки вещественных чисел в компьютере – она всегда ведется с погрешностью (кстати, оценка этой погрешности – самостоятельная и непростая задача).
Следствие 3. Наряду с понятием наибольшего вещественного числа (из-за ограниченности разрядной сетки) появляется понятие наименьшего числа или машинного нуля. Например, в типе Real языка PASCAL любое десятичное число, по модулю меньшее 2,3·10-39 оказывается машинным нулем, т.е. считается равным 0 при сохранении и в операциях с ним. Таким образом, математическое понятие «0» как точное значение числа в компьютерном представлении заменяется понятием «машинный нуль» как значение числа меньшее некоторой определенной величины.
Как уже было сказано, основной формой представления кодов вещественных чисел в компьютере является двоичная нормализованная. При этом записываться и храниться в памяти компьютера должны все составляющие нормализованной формы (знак числа, мантисса, знак порядка и порядок), что требует нескольких ячеек памяти. Например, числа типа Real («вещественный») из языка PASCAL размещаются в 6 байтах, т.е. 48 двоичных разрядах. Непосредственное распределение компонентов нормализованного числа по разрядам определяется конструктивными особенностями компьютера и программным обеспечением. Ниже приведен пример размещения числа в двух ячейках памяти (32 разряда):
Поскольку значение мантиссы лежит в интервале 0,12M2<1, ноль в разряде целых и разделитель десятичных разрядов в представление не включается, т.е. мантисса содержит только цифры дробной части. Более того, можно не сохранять и первую значащую цифру мантиссы, поскольку она всегда 1 (но, естественно, восстанавливать ее при вычислениях) – это дает возможность хранить дополнительный «скрытый» разряд, т.е. несколько повысить точность обработки. В ходе выполнения арифметических операций, как указывалось ранее, производится нормализация промежуточных и конечного значений, состоящая в сдвиге мантиссы вправо или влево с одновременным изменением порядка, что эквивалентно смещению разделителя десятичных разрядов – именно по этой причине такая форма представления числа получила название «с плавающей запятой». Как и в случае целых чисел, для кодов вещественных чисел существует понятие переполнение, однако возникает оно не после заполнения разрядной сетки мантиссы – это приводит лишь к нормализации числа, а при заполнении всех разрядов порядка. Для представленного выше примера размещения числа в 32-х битах, очевидно,
|X2|max = 0,1111111111111111111111112 2111112,14710·109
При этом точность обработки составит 7 десятичных разрядов. При |X2| > |X2|max возникнет переполнение, т.е. операция станет некорректной.
Пример 4.16
Установить распределение разрядов двоичного представления числа типа Real, если для его записи отводится 48 бит, а максимальное значение десятичного порядка 38. Какова точность обработки таких чисел?
• 2 бита расходуется на запись знака числа и порядка;
• согласно формуле (4.9), k2 = 3.322·k10; поскольку k10 = 38, очевидно, максимальный показатель порядка двоичного числа k2 = 3.322·3812610, что требует в двоичном представлении, согласно формуле Хартли, 7 бит;
• под запись мантиссы отводится 48 - 2 - 7 = 39 бит;
• с учетом скрытого разряда точность обработки составит (39 + 1)/3,32212 десятичных разрядов.
Изначальной причиной возникновения погрешности обработки кодов вещественных чисел является ограниченность разрядной сетки при их представлении и, следовательно, наличие погрешности неизбежно. Однако ее величина зависит от количества имеющихся разрядов и, в частности, уменьшить погрешность можно за счет расширения разрядной сетки, т.е. выделения большего количества ячеек памяти для записи числа. Например, в языке PASCAL определен вещественный тип Extended, числа которого занимают 10 байт, что обеспечивает точность мантиссы до 20 десятичных знаков и значение модуля порядка до 4932. Несколько вариантов представления вещественных чисел в языках программирования высокого уровня используется как одно из средств оптимизации программы. Повышение точности вычислений требует больших ресурсов памяти компьютера; одновременно с этим возрастает и время вычислений. Таким образом, при составлении программы для практической задачи решается проблема нахождения компромисса между точностью результата и временем обработки.
В процессе выполнения арифметических действий с нормализованными числами отдельно обрабатываются мантиссы и порядки. Поскольку операции над кодами вещественных чисел в компьютере обладают некоторой спецификой по сравнению с обычными арифметическими, будем обозначать их следующим образом: – сложение (вычитание), – умножение, – деление.
Сложение нормализованных чисел.
Пусть имеются два числа X1 = M1·pk1 и X2 = M2·pk2 (здесь индексы у мантиссы и порядка означают не систему счисления, а служат номерами чисел). Сложение должно начинаться с выявления большего из k1 и k2, нахождения модуля их разности k =|k1 - k2| и сдвига вправо на k разрядов мантиссы того числа, у которого k оказался меньше. После этого выполняется сложение мантисс, порядку результата присваивается значение большего из имеющихся и при необходимости производится нормализация результата. При сдвиге вправо мантиссы меньшего числа происходит потеря k младших значащих цифр, что приводит к появлению погрешности сложения.
Рассмотрим действие алгоритма на примере сложения десятичных чисел в ограниченной разрядной сетке.
Пример 4.17
Найти сумму X1=0,87654·101, а X2=0,94567·102, если для записи мантиссы отводится 5 разрядов.
Согласно алгоритму k = 1 и k1+ и +.
• Скрытие сетки или изменение ее цвета Сервис – Параметры – Вид – Сетка.
• Отображение формул Сервис – Параметры – Вид – Формулы.
Гиперссылки на другие документы MS Office.
Гиперссылка – строка текста или объект отформатированный таким образом, чтобы содержать адрес (URL – Унифицированный локатор ресурсов) документа на который ссылается данная гиперссылка. Достаточно щелкнуть по гиперссылке в одном документе, чтобы тут же перейти к другому документу, на который гиперссылка указывает. Гиперссылка в Excel может указывать как на различного типа документы Office, расположенные на данном компьютере, так и на документы в Internet или intranet. Наиболее простой способ создания гиперссылки на другой документ Office:
1. Открыть рабочий лист Excel и документ, с которым его нужно связать. Оба документа должны быть сохранены.
2. Выделите текст или элемент, на который будет указывать гиперссылка, и скопируйте его в буфер обмена: Правка – Копировать.
3. Активизировать документ Excel и выделить ячейку, которая будет содержать гиперссылку (ячейка должна быть пуста).
4. Выполнить команду Правка – Вставка как гиперссылку.
Таким же образом можно задать гиперссылки внутри документа Office.
I. Использование различных данных в ЕХСЕL
Типы объектов Ехсеl
Константы – текстовые или числовые значения, которые вводятся в ячейку и не могут изменяться во время вычислений.
Ссылка на ячейку или группу ячеек – способ, которым указывается конкретная ячейка или несколько ячеек. Ссылка на отдельную ячейку – ее координаты. Значение пустой ячейки равно нулю.
Ссылки на ячейки бывают трех типов:
Относительная ссылка воспринимается программой как указание маршрута к адресуемой ячейки от ячейки, содержащей формулу. При копировании формулы относительные ссылки будут изменены таким образом, что маршрут сохранится. Относительные ссылки используются в Excel по умолчанию.
Абсолютная ссылка задает абсолютные координаты ячейки. При копировании формулы абсолютная ссылка на ячейку не будет изменяться. Абсолютная ссылка задается путем указания символа доллара перед номером строки и столбца, например $A$2.
Смешанная ссылка представляет собой комбинацию абсолютной и относительной ссылок, когда для строки и столбца используются разные способы адресации, например, $A1, B$2. При копировании формулы абсолютная часть ссылки не изменяется.
При выделении ссылки на ячейку в режиме редактирования путем нажатия клавиши F4 можно изменять тип ссылки. Пусть введена ссылка А7,тогда
Нажатие F4
Адрес
Один раз
Два раза
Три раза
Четыре раза
$A$7
A$7
$A7
A7
Задать ссылку, при вводе формулы, можно непосредственно вводом с клавиатуры или методом указания (щелчком мыши на нужной ячейке).
Сылки вида R1C1 Очень удобно работать с относительными и абсолютными сылками, представленными в виде смещения по строке (R-row) и по столбцу (С-column). Перевод в данною запись осуществляется в Сервис/Параметры-Общие. Например, если в ячейке B10 написать формулу =R1C2, то данная ячейка будет ссылаться на ячейку D11 (D=C+2 columns; 11=10+1). Число в [] указывает на сколько столбцов-строк нужно сместиться. Если же скобки [] опущенны – ссылка абсолютная. Например, формула в данной ячейке =R1C1 будет ссылаться на ячейку A1.
Диапазон (или массив) ячеек
Для обращения в формулах к группе ячеек используются специальные символы:
• : (двоеточие) Через двоеточие указывается левая верхняя и правая нижняя границы Диапазона ячеек. Диапазоном называется группа ячеек, образующих прямоугольник. Диапазон обозначается с помощью ячейки в левом верхнем углу прямоугольника и ячейки в правом нижнем углу прямоугольника. Например, обозначение D4:E7 описывает диапазон ячеек, находящихся на пересечении строк с номерами 4,5,6,7 и столбцов D,E.
• ; (точка с запятой) – обозначает объединение ячеек. Например, D2:D4;D6:D8 – обращение к ячейкам D2, D3, D4, D6, D7, D8.
Типы данных Ехсеl
Тип определяет объем выделяемой под данные памяти и возможные операции с ними. Опишем основные типы данных Excel.
Целые числа, 25 -4286 Числа, набранные в круглых скобках, трактуются как отрицательные.
Вещественные числа 24,45 (разделитель ‑ запятая) 1,0Е-5 (Е="умножить на 10 в степени")
Внимание! Excel использует стандарты представления даты, времени, валюты, списков, установленные программой Язык и стандарты, входящей в состав Windows. Запустить ее можно, выбрав в меню Пуск пункты Настройка, затем Панель управления.
Дроби: 06/5 (ноль нужен, чтобы отличить дроби от дат)
Для ввода процентов после числа набирается символ %. Если вводимое число является денежным значением, то в конце набирается р. (рубли). Долларовая константа вводится в виде $100.
Если вводимая числовая константа не входит в ячейку по ширине, то она отображается на экране в виде ####. В этом случае ширину столбца необходимо увеличить.
Дата и Время. Ввод даты, например, 29 октября 1999 года можно провести, набрав на клавиатуре 29/10/99. В памяти компьютера эта дата хранится в виде количества дней между текущей и базовой датами.
Ввод времени выполняется в виде 15:31 или 12:10:00
Ввод текста, состоящего только из цифр: перед таким текстом ставится апостроф. Например, '1234
II. Форматирование данных в ЕХСЕL
Форматирование чисел.
Отображением чисел и дат на экране управляют числовые форматы. Excel располагает множеством стандартных форматов чисел, дат и времени. Можно дополнить их собственными форматами. Форматы и цвета могут меняться в зависимости от значения в ячейке.
Автоматический формат чисел. Если вводить числа 15%, 25р. или 2.1, то Excel применяет автоформатирование. Отображенные на экране отформатированные значения могут отличаться от значений, участвующих в вычислениях. Это может стать причиной расхождения результатов вычислений в формулах Excel с ручными вычислениями. Для решения этой проблемы необходимо установить точность вычислений как для всего листа, так и для отдельных ячеек. Для всего листа: Сервис – Параметры – Вычисления – Точно как на экране.
Для ячейки используя функцию ОКРУГЛ().
Форматирование чисел с помощью панелей инструментов
В меню Формат ячеек – Число выберете требуемый формат.
Создание собственных числовых форматов Пользовательские форматы состоят из четырех секций:
положительный формат; отрицательный формат; нулевой формат; формат текста
Для задания формата отображения каждой секции используются шаблоны:
• шаблон # - выводятся только значащие числа, незначащие нули не отображаются.
• шаблон 0 (ноль) - незначащие нули отображаются, если количество разрядов числа меньше количества нулей в формате.
• шаблон ? - до и после десятичной запятой вместо незначащих нулей отображаются пробелы. Таким образом в числах достигается выравнивание положения десятичной запятой. Этот шаблон можно также применять для выравнивания символа деления в дробях с различным количеством цифр.
Примеры:
1234,59 в виде 1234,6 ####,#
8,9 в виде 8,900 #,000
0,631 в виде 0,6 0,#
12 в виде 12,0 и 1234,568 в виде 1234,57 #,0#
44,398, 102,65 и 2,8 с выровненной десятичной запятой ???,???
5,25 в виде 5 1/4 и 5,3 в виде 5 3/10 с выровненными символами деления # ???/???
Для отображения дополнительного текста:
# ##0р._);(# ##0р.);”Ноль”
“№ “####-###; ”Минус запрещен”; “Введите число”
Для использования пробела в качестве разделителя групп разрядов числа следует включить пробел в шаблон.
12000 в виде 12 000 # ###
12000 в виде 12 #
12200000 в виде 12,2 0,0 .
Скрытие цифр с помощью формата пользователя
-2 500 скроется # ###р._);
Скрытие нулей Скрытие нулей делает рабочий лист более удобным для чтения.
1. Скрыть нули на всем рабочем листе Сервис – Параметры – Вид – Нулевые значения.
2. С помощью пользовательского формата: использовать ‘;’ не определяя формат для нулевого значения:
# ##0,00р._);( - # ##0,00р.);
3. Указать с помощью условного формата белый цвет шрифта если значение = 0
4. Можно использовать функцию ЕСЛИ() в формулах:
=ЕСЛИ(A1+A2=0;” “;A1+A2)
Полезные советы по форматированию чисел.
Можно использовать формат с разделением числа на группы разрядов для того, чтобы отображать числа, уменьшенные на одну или несколько групп разрядов. Например, число 123456789, после применения формата # ##0 “тыс.”р., отображается как 123 457 тыс.р. Число пробелов в формате после нуля определяет число групп разрядов, на которое укорачивается значение.
Можно использовать функцию ТЕКСТ() для преобразования чисел результата в текст. В функции ТЕКСТ() можно использовать любой стандартный или пользовательский формат,
например:
=ТЕКСТ(А1+А2;”# ##0р._);(# ##0р.);0”)
Наиболее часто используемые команды форматирования ячеек
Окно Формат ячеек (вызов - нажатие Ctrl+1): Окно содержит несколько закладок, перейти между которыми можно, щелкая мышкой по ярлычку закладки или с помощью клавиш со стрелками при нажатой Ctrl. Краткое описание закладок:
Число - выбрав в списке Числовые форматы один из способов представления данных, справа можно уточнить его. Например, для формата Числовой можно указать число знаков после запятой. Результат выводится в поле Образец.
Выравнивание - закладка позволяет управлять способом размещения текста я ячейке, поворотом текста в ячейке, переносом слов в ячейке. Например,
Выравнивание по центру выделения. Для этого наберите команды (Формат – Ячейки – Выравнивание – По горизонтали – Выровнять по центру выделения).
Здесь же можно снять и установить объединение ячеек. Для этого наберите команды (Формат – Ячейки – Выравнивание – Объединение ячеек
Шрифт - закладка управляет выбором шрифта. Если мы находимся в режиме ввода данных, при нажатии Ctrl+1 доступна только эта закладка.
Граница - закладка позволяет создать обрамление вокруг ячеек.
Вид - закладка управляет цветом и узором фона ячеек.
Защита - закладка управляет защитой ячеек от изменений.
Копирование формата. Перенести оформление одних ячеек на другие можно следующим образом: выделить ячейки, оформление которых переносится; нажать кнопку (копирование формата) на панели Стандартная; при нажатой левой клавише мыши отметить ячейки, на которые переносится формат.
Автоформат. Можно оформить ячейки, пользуясь готовыми образцами оформления. Для этого: выделить нужные ячейки; обратиться к меню Формат, пункту Автоформат; выбрать нужный образец из списка и нажать ОК.
Автозамена. Для управления свойством автозамены текста при вводе выберите п. Автозамена в меню Сервис. В поле Заменять: вводится сокращение, в поле На: - полный текст, на который автоматически заменяется набранное сокращение. Список уже существующих сокращений можно просмотреть и изменить ниже.
Автоматический перенос текста в ячейке . Для этого наберите команды: (Формат – Ячейки – Выравнивание – Перенос по словам)
Принудительный разрыв строк в ячейке. Для этого наберите команды ()
Изменение ориентации чисел и текста. Для этого наберите команды ( Формат – Ячейки – Выравнивание - Ориентация)
Соединение текстов или текста и чисел. Для этого наберите команды (= … & …)
III. Использование формул и функций в ЕХСЕL
Ввод, вставка и редактирование формул
Формулы являются основным средством для анализа данных. . Они необходимы для того, чтобы вычислять необходимые значения по уже имеющимся данным. Вычисления в таблицах выполняются именно с помощью формул. Формулой называется математическое выражение, которое должна вычислить программа Excel. С помощью формул можно складывать, умножать и сравнивать данные, а также объединять значения. Формулы могут ссылаться на ячейки текущего листа, листов той же книги или других книг. Одна формула может содержать несколько арифметических, алгебраических и т.д. операций, значений, ссылок на ячейку и имена функций, поэтому формулы могут быть любой сложности. Результатом выполнения формулы есть некоторое новое значение, содержащееся в ячейке, где находится формула. В качестве параметров формулы могут использоваться обозначения ячеек или постоянные значения - числа, строки текста.
Все формулы в Excel должны начинаться с символа =. Далее пишется выражение формулы, использующее числа, ссылки на ячейки и функции. До фиксации ввода формула отображается в ячейке и в строке формул. После нажатия Enter в ячейке появится вычисленное по формуле значение, а строка ввода очистится. При выделении ячейки, содержащей формулу, формула появляется в строке редактирования.
При вычислении значения по формуле в первую очередь вычисляются выражения внутри круглых скобок. Если скобок нет, то порядок выполнения операций следующий:
• вычисляются значения функций ;
• операция возведения в степень (знак операции ^ );
• операции умножения и деления (знаки операции *, /);
• операции сложения и вычитания (знаки операций +,-).
• В качестве операндов формула может содержать числа, ссылки (адреса ячеек), функции.
Примеры формул: = 2*5^ 3+4 =A1+A2 =A1+Cos (5,282)
Значение формулы зависит от содержимого ячеек, на которые указывают ссылки, и оно изменяется при изменении содержимого этих ячеек.
Автозаполнение ячеек
Очень часто возникает необходимость заполнить ряд ячеек числами в какой то последовательности. При этом набирать в каждой следующей ячейке какое то число неинтересно и нерационально. При этом удобно применять механизм автозаполнения.
Например, необходимо ввести в последовательных ячейках столбца значения в соответствии формулой n-го члена арифметической прогрессии: an = a1 + d(n - 1).
Начальное значение последовательности 0, шаг последовательности 0.05, последнее значение 4.0
• Для этого необходимо ввести в начальную ячейку
(например, А1) начальное значение последовательности 0. В следующую ячейку (В1) вводим следующее значение 0.05. Далее выделяем обе ячейки с помощью мышки рамкой.
Далее наводим указатель мыши на маркер в правом нижнем углу рамки, пока он не превратится в маленький черный квадрат - маркер заполнения.
маркер заполнения
ячейки
Когда указатель мыши принимает форму черного крестика, протягиваем (с нажатой кнопкой мыши) маркер заполнения вниз, пока весь ряд выделенных ячеек не заполнится данными в нужном диапазоне (от 0 до 4).
• Есть и другой способ ввести члены последовательности. Для этого выделяем ячейку с первым членом прогрессии, затем входим в главное меню:
Правка-Заполнить-Прогрессия Затем выбираем шаг прогрессии, последнее значение, ее тип и направление заполнения(см. рис.):
Упражнение 1. Обработка данных
1. Запустите программу Excel (Пуск > Программы > Microsoft Excel).
2. Создайте новую рабочую книгу (кнопка Создать на стандартной панели инструментов).
3. Дважды щелкните на ярлычке текущего рабочего листа и дайте этому рабочему листу имя Данные.
4. Дайте команду Файл > Сохранить как и сохраните рабочую книгу под именем book.xls.
5. Сделайте текущей ячейку А1 и введите в нее заголовок Результаты измерений.
6. Введите произвольные числа в последовательные ячейки столбца А, начиная с ячейки А2.
7. Введите в ячейку В1 строку Удвоенное значение.
8. Введите в ячейку С1 строку Квадрат значения.
9. Введите в ячейку D1 строку Квадрат следующего числа.
10. Введите в ячейку В2 формулу =2*А2.
11. Введите в ячейку С2 формулу =А2*А2.
12. Введите в ячейку D2 формулу =В2+С2+1.
13. Выделите протягиванием ячейки В2, С2 и D2.
14. Наведите указатель мыши на маркер заполнения в правом нижнем углу рамки, охватывающей выделенный диапазон. Нажмите левую кнопку мыши и перетащите этот маркер, чтобы рамка охватила столько строк в столбцах В, С и D, сколько имеется чисел в столбце А.
15. Убедитесь, что формулы автоматически модифицируются так, чтобы работать со значением ячейки в столбце А текущей строки.
16. Измените одно из значений в столбце А и убедитесь, что соответствующие значения в столбцах В, С и D в этой же строке были автоматически пересчитаны.
17. Введите в ячейку Е1 строку Масштабный множитель.
18. Введите в ячейку Е2 число 5.
19. Введите в ячейку F1 строку Масштабирование.
20. Введите в ячейку F2 формулу =А2*Е2.
21. Используйте метод автозаполнения, чтобы скопировать эту формулу в ячейки столбца F, соответствующие заполненным ячейкам столбца А.
22. Убедитесь, что результат масштабирования оказался неверным. Это связано с тем, что адрес Е2 в формуле задан относительной ссылкой.
23. Щелкните на ячейке F2, затем в строке формул. Установите текстовый курсор на ссылку Е2 и нажмите клавишу F4. Убедитесь, что формула теперь выглядит как =А2*$Е$2, и нажмите клавишу ENTER.
24. Повторите заполнение столбца F формулой из ячейки F2.
25. Убедитесь, что благодаря использованию абсолютной адресации значения ячеек столбца F теперь вычисляются правильно. Сохраните рабочую книгу book.xls.
Использование функций
В формулах могут использоваться функции. Функция, по сути представляет собой заранее составленную формулу (которая может быть весьма сложной). Функция обозначается именем, после которого в круглых скобках перечисляются параметры. Excel вычисляет значение функции на основании значений параметров. Значение функции размещается в ячейке, содержащую формулу. В частном случае формула может состоять только из одной функции.. Аргументы функции отделяются друг от друга символом ; В качестве аргументов можно использовать другие функции (если они работают с тем же типом данных), константы, адреса ячеек и диапазоны ячеек.
ПРИМЕРЫ:
• =СУММ (A1;C2:C5)
Эта функция имеет два аргумента. Первый A1, второй - C2:C5. Суммируются числа в ячейках A1,C2,C3.C4.C5.
• =СРЗНАЧ(G4:G6) – среднее значение ячеек G4, G5, G6.
Функции могут входить одна в другую, например:
=СУММ(F1:F20)ОКРУГЛ(СРЗНАЧ(H4:H8);2);
Для введения функции в ячейку необходимо:
• выделить ячейку для формулы;
• вызывать Мастер функций с помощью команды Функция меню Вставка или кнопки ;
• в диалоговом окне Мастер функций (рис.6), выбрать тип функции в поле Категория, затем функцию в списке Функция; . Все функции Excel разделены на категории, для облегчения нахождения требуемой.
• щелкнуть кнопку ОК;
Ввести аргументы функции можно следующим образом:
а) набрать вручную необходимые адреса или диапазоны ячеек;
б) отметить нужные ячейки или диапазоны ячеек на рабочем листе. Окно ввода аргументов при этом можно свернуть (кнопка 3) или перетащить в сторону. В полях Число1, Число2 и др. окна ввода аргументов ввести аргументы функции; Для этого можно щелкнуть кнопку , находящуюся справа от поля, и выделить мышью ячейки, содержащие аргументы функции (числовые значения или ссылки на ячейки); для выхода из этого режима следует щелкнуть кнопку , которая находится под строкой формул;
• щелкнуть ОК.
Вложение функций. Часто необходимо выполнять вычисления "по цепочке", то есть, в качестве аргументов функций указывать значения, вычисленные по другим, вложенным функциям. Чтобы выполнить вложенные вычисления, удобно использовать выпадающий список Имя слева в строке формул. Покажем это на примере: пусть в ячейке A1 набрано число x=1, а в ячейке A2 нужно вычислить величину ln (sin x). Встав в ячейку A2, вызываем Мастер функций, в категории Математические выбираем функцию LN (натуральный логарифм), нажимаем ОК. Для ввода вложенной функции открываем список Имя, если функция SIN есть в списке, выбираем ее, иначе выбираем элемент Другие функции и находим синус во вновь появившемся окне Мастера функций. Для ввода аргумента синуса щелкаем по ячейке A1. Результат: формула вида =LN(SIN(A1))
Если необходимо быстро подвести итоги суммирования по столбцу или строке, то можно с помощью кнопки СУММ (автосумма) вставить в ячейку функцию суммы
Упражнение
Поместите в ячейку C9 сумму чисел в ячейках A6-C7. Для этого воспользуйтесь командой
меню "Вставка/Функция". Для примера - см. ячейку A9
123
456
1
789
-274
52
1147
Excel обладает слишком большим количеством функций и помнить все их названия не обязательно. Для того, чтобы вставить функцию можно воспользоваться кнопкой с надписью f(x), которая появляется при входе в строку редактирования. После ее нажатия запускается мастер функций, содержащий полный список доступных функций. Все они разбиты по разделам (категориям):
Описание основных функций.
Категория Дата и время.
• Сегодня() - возвращает текущую дату
• Год(дата), Месяц(дата), День(дата), ДеньНед (Дата;2) - соответственно, год, месяц, день, день недели. Аргумент 2 у функции ДеньНед нужен для отсчета дней с понедельника. Пример: =ДеньНед(Сегодня();2) - вывести текущий день недели в ячейке
Категория Математические.
• ABS (число) – модуль числа.
• ACOS (число) – арккосинус числа. угол определяется в радианах в интервале от 0 до .
• ASIN (число) – арксинус числа. Угол определяется в интервале от – /2 до /2.
• ATAN (число) – арктангенс числа. Угол определяется в радианах в диапазоне от -/2 до /2.
• COS(число) – косинус заданного числа.
• EXP(число) – возвращает число е, возведенное в указанную степень.
• LN(число) – возвращает натуральный логарифм числа.
• LOG(число; основание) – возвращает логарифм числа по заданному основанию.
• LOG10 (число) – возвращает десятичный логарифм числа
• SIN (число) – возвращает синус заданного числа.
• TAN (число) – возвращает тангенс заданного числа.
• ГРАДУСЫ (угол) – преобразует радианы в градусы.
• ЗНАК (число) – определяет знак числа. 1, если число положительное, 0, если число равно 0, и -1, если число отрицательное.
• КОРЕНЬ (число) – возвращает положительное значение квадратного корня.
• МОБР (массив) – возвращает обратную матрицу для квадратной матрицы, заданной в массиве. Массив может быть задан как интервал ячеек, например А1:С3, или как массив констант {1;2;3: 4;5;6: 7;8;9} (здесь значения в пределах столбца должны быть разделены двоеточием, в пределах строки – точкой с запятой) или как имя массива или интервала. Ввод матричных формул следует завершать нажатием клавиши CTRL + SHIFT +ENTER.
• МОПРЕД (массив) – возвращает определитель квадратной матрицы, заданной в массиве.
• МУМНОЖ (массив1; массив2) – возвращает произведение матриц, которые задаются массивами. Результатом является массив с таким же числом строк как массив1, и таким же числом столбцов, как массив2.
• ОКРУГЛ (число; число_разрядов) – округляет до указанного числа десятичных разрядов.
• ОСТАТ (число; делитель) – возвращает остаток от деления аргумента число на делитель.
• ПИ () – возвращает число с точностью до 15 цифр.
• ПРОИЗВЕД(число1; число2; ...) – перемножает числа, заданные в аргументах и возвращает их произведение.
• РАДИАНЫ (угол) – преобразует градусы в радианы.
• СТЕПЕНЬ (число; степень) – возвращает результат возведения в степень;
• СУММ (число1; число2; ...) – возвращает сумму всех чисел, входящих в список аргументов;
• СУММЕСЛИ (диапазон_просмотра;условие_суммирования;диапазон_суммирования) - просматривает диапазон просмотра, выбирает ячейки, отвечающие условию суммирования, и суммирует значения из диапазона суммирования. Размеры диапазона просмотра и диапазона суммирования должны совпадать.
• СУММКВ (число1; число2; ...) – возвращает сумму квадратов аргументов;
• СУММКВРАЗН (массв1; массив2) – возвращает сумму квадратов разностей соответствующих значений в двух массивах;
• СУММПРОИЗВ (массив1; массив2; ...) – перемножает соответствующие элементы заданных массивов и возвращает сумму произведений;
• ФАКТР (число) – возвращает факториал числа;
• ЦЕЛОЕ (число) – округляет число до ближайшего целого;
• ЧАСТНОЕ (числитель; знаменатель) – Возвращает частное от деления нацело.
Статистические функции.
• МАКС(аргумент1; аргумент2;…) - ищет максимальный из аргументов;
• МИН(аргумент1; аргумент2;…) - ищет минимальный из аргументов;
• СРЗНАЧ(аргумент1; аргумент2;…) - вычисляет среднее своих аргументов;
• СЧЕТЕСЛИ(диапазон; условие) - подсчитывает число аргументов в диапазоне, отвечающих условию
Логические функции служат для выполнения вычислений в зависимости от выполнения некоторого условия. В условиях могут использоваться операции сравнения =, >, <, <>(не равно), >= (больше или равно), <= (меньше или равно).
• ЕCЛИ (логическое_выражение; значение1; значение2) - результатом является значение1, если логическое_выражение истинно и значение2 в противном случае. Пример: в ячейке A1 набрано число 30000, а в ячейке B1 формула =ЕСЛИ(A1<20000; 12; 15). Результатом будет число 15, т.к. условие на выполняется.
• Функции И, ИЛИ служат для создания сложных условий:
• И (логическое_выражение1; логическое_выражение2;....) - возвращает значение “ИСТИНА”, если все аргументы имеют значение “ИСТИНА”, а в противном случае -“ЛОЖЬ”.
• ИЛИ (логическое_выражение1; логическое_выражение2;...) - возвращает значение “ИСТИНА”, если хотя бы один из аргументов имеет значение “ИСТИНА”, а противном случае - “ЛОЖЬ”.
Примеры:
=ЕСЛИ (И(A1>=20000;A1<40000);15;18) - вычисленное значение равно 15 при величине A1 от 20000 до 40000 и равно 18 в противном случае.
Можно создавать сложные условия и вложением функций ЕСЛИ.
Пример:
=ЕСЛИ (A1<20000; 12; ЕСЛИ (A1<40000; 15; 18)) - если величина A1 меньше 20000, вычисленное значение равно 12, иначе если она меньше 40000, то результат равен 15, а в противном случае (то есть, А1 больше 40000) ,формула вернет значение 18.
Также в Excel имеется подробная справочная информация для функций. Для получения помощи при работе с функцией в строке формул выделите название функции и нажмите .
Значения ошибки при вычислениях по формулам
Если в ячейке содержится формула, результат которой программа не может правильно определить, то в ячейке будет отображено значение ошибки.
Значение ошибки
Причина
# Дел/0!
Задано деление на 0
# Знач!
Указан неправильный аргумент или неправильный оператор
# Имя?
Указано недопустимое имя
# Н/Д
Значение не указано
# Пусто!
Задана область пересечения двух диапазонов, которые не пересекаются
#Ссылка!
Указана некорректная ссылка
# Число!
Ошибка при использовании или получении числа
Ошибки зависимостей в формулах
Просмотр всех формул (Сервис – Параметры – Вид – Формулы)
Поиск ошибок в части формулы (выделить часть, )
Поиск ошибок с помощью специального выделения (Правка – Перейти – Выделить). При отладке рабочего листа полезно найти для активной ячейки влияющие и зависимые ячейки. С помощью можно выбрать любую ячейку в выделенном диапазоне. Трассировка зависимостей в данных и формулах (Сервис – Зависимости).
Упражнение 2. Подготовка и форматирование прайс-листа
1. Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу book.xls.
2. Выберите щелчком на ярлычке неиспользуемый рабочий лист или создайте новый (Вставка > Лист). Дважды щелкните на ярлычке нового листа и переименуйте его как Прейскурант.
3. В ячейку А1 введите текст Прейскурант и нажмите клавишу ENTER.
4. В ячейку А2 введите текст Курс пересчета: и нажмите клавишу ENTER. В ячейку В2 введите текст 1 у.е.= и нажмите клавишу ENTER. В ячейку С2 введите текущий курс пересчета и нажмите клавишу ENTER.
5. В ячейку A3 введите текст Наименование товара и нажмите клавишу ENTER. В ячейку ВЗ введите текст Цена (у.е.) и нажмите клавишу ENTER. В ячейку СЗ введите текст Цена (руб.) и нажмите клавишу ENTER.
6. В последующие ячейки столбца А введите названия товаров, включенных в прейскурант,
7. В соответствующие ячейки столбца В введите цены товаров в условных единицах.
8. В ячейку С4 введите формулу: =В4*$С$2, которая используется для пересчета цены из условных единиц в рубли.
9. Методом автозаполнения скопируйте формулы во все ячейки столбца С, которым соответствуют заполненные ячейки столбцов А и В. Почему при таком копировании получатся верные формулы?
10. В соответствующие ячейки столбца D введите количество товаров каждой категории.
11. В ячейку Е4 введите формулу: =С4*D4, которая используется для пересчета цены за данное количество товара. Методом автозаполнения скопируйте формулы во все ячейки столбца Е.
12. Измените курс пересчета в ячейке С2. Обратите внимание, что все цены в рублях для столбцов С, Е при этом обновляются автоматически.
13. В первой свободной снизу ячейке столбца D введите “Всего:”
14. В первой свободной снизу ячейке столбца Е с помощью кнопки СУММ вставьте в ячейку сумму (в руб.) за все товары с учетом их количеств.
15. Выделите методом протягивания диапазон А1:Е1 и дайте команду Формат > Ячейки. На вкладке Выравнивание задайте выравнивание по горизонтали По центру и установите флажок Объединение ячеек.
16. На вкладке Шрифт задайте размер шрифта в 14 пунктов и в списке Начертание выберите вариант Полужирный. Щелкните на кнопке ОК.
17. Щелкните правой кнопкой мыши на ячейке В2 и выберите в контекстном меню команду Формат ячеек. Задайте выравнивание по горизонтали По правому краю и щелкните на кнопке ОК.
18. Щелкните правой кнопкой мыши на ячейке С2 и выберите в контекстном меню команду Формат ячеек. Задайте выравнивание по горизонтали По левому краю и щелкните на кнопке ОК.
19. Выделите методом протягивания диапазон В2:С2. Щелкните на раскрывающей кнопке рядом с кнопкой Границы на панели инструментов Форматирование и задайте для этих ячеек широкую внешнюю рамку (кнопка в правом нижнем углу открывшейся палитры).
20. Дважды щелкните на границе между заголовками столбцов А и В, В и С, С и D. Обратите внимание, как при этом изменяется ширина столбцов А, В и С.
21. Посмотрите, устраивает ли вас полученный формат таблицы. Щелкните на кнопке Предварительный просмотр на стандартной панели инструментов, чтобы увидеть, как документ будет выглядеть при печати.
22. Сохраните рабочую книгу book.xls.
Построение диаграмм и графиков.
Excel позволяет создавать высококачественные диаграммы. Имеется возможность построения двух типов диаграмм: внедренных диаграмм и диаграмм на отдельных листах.
Для построения диаграмм существуют определенный правила размещения данных, которые определяют, в каких ячейках находятся данные для оси категорий Х, в каких – названия, а какие ячейки используются для меток легенды.
Для построения диаграмм с помощью мастера диаграмм необходимо выделить данные по которым будет строиться диаграмма и нажать кнопку Мастер диаграмм . Далее следовать инструкциям мастера.
Автоматическое создание диаграмм: выделить область данных и нажать .
Упражнение 3. Построение графика функции
В качестве примера построим график функции у=sin(x) для х, изменяющихся от 0 до π с шагом 0.1.
1. Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу book.xls, созданную ранее.
2. Выберите щелчком на ярлычке неиспользуемый рабочий лист и переименуйте его как Построение графика функции.
3. В столбец А, начиная с ячейки А1, введите с помощью автозаполнения набор значений независимой переменной х (см. выше).
4. В столбец В, в ячейку В1, введите значение функции =sin(A1).
5. Методом протягивания заполните ячейки столбца В, соответствующие заполненным ячейкам столбца А.
6. Щелкните на значке Мастер диаграмм на стандартной панели инструментов.
7. В списке Тип выберите пункт График (для отображения графика, заданного векторами значений x, y(x)). В палитре Вид выберите первый пункт в первом столбце (точки y(xi), соединенные прямыми). Щелкните на кнопке Далее.
8. Так как диапазон ячеек (столбец В) был выделен заранее, мастер диаграмм автоматически определяет расположение рядов данных. Убедитесь, что данные на диаграмме выбраны правильно. На вкладке Ряд в поле Имя укажите: y=sin(x).
В окне Подписи оси X кликните мышкой, далее выделите диапазон значений переменной x в столбце А.Щелкните на кнопке ОК.
9. Снова выделите область диаграммы, кликнув на ее поле правой кнопкой мыши. Далее выберите вкладку Параметры диаграммы->Заголовки. Убедитесь, что заданное название ряда данных автоматически использовано как заголовок диаграммы. Замените его, введя в поле Название диаграммы заголовок Функция y=sin(x). Введите подписи к осям X,Y. Щелкните на кнопке ОК.
10. Снова выделите область диаграммы, кликнув на ее поле правой кнопкой мыши. выберите вкладку Размещение. Установите переключатель Отдельном. По желанию, задайте произвольное имя добавляемого рабочего листа. Щелкните на кнопке Готово.
11. Убедитесь, что диаграмма построена и внедрена в новый рабочий лист. Рассмотрите ее и щелкните на построенной кривой, чтобы выделить ряд данных.
12. Дайте команду Формат > Выделенный ряд. Откройте вкладку Вид.
13. На панели Линия откройте палитру Цвет и выберите красный цвет. В списке Тип линии выберите пунктир.
14. На панели Маркер выберите в списке Тип маркера треугольный маркер. В палитрах Цвет и Фон выберите зеленый цвет.
15. Щелкните на кнопке ОК, снимите выделение с ряда данных и посмотрите, как изменился вид графика.
16. Сохраните рабочую книгу.
Вычисления над массивом ячеек(диапазоном, или матрицей)
Вместо того чтобы вводить или копировать повторяющуюся формулу в каждую ячейку диапазона, можно сократить объем работы и используемой памяти, выполнив операцию над массивом (матрицей). Для этого необходимо:
Выделить диапазон для вставки значений, ввести формулу, использующую диапазон, далее нажать одновременно ++. Формула массива заключается в {}. При этом признаком матричной операции, то есть, выполнения вычислений сразу в диапазоне ячеек, служит сочетание клавиш Ctrl+Shift+Enter.
Перемножение двух столбцов: нажать кнопку Автосуммирования; выделить 1-й столбец; нажать клавишу умножения (*); выделить 2-й столбец; нажать Ctrl+Shift+Enter;
Проведение вычислений сразу в диапазоне ячеек: выделить диапазон; в первой ячейке ввести число или формулу; нажать Ctrl+Shift+Enter;
Упражнение 3. Построение матрицы заданного вида и умножение матрицы на вектор с использованием массива ячеек.
Цель:
◦ Создать матрицу А(5,5) c формулой А(i,j)=i+sin(i)+j+cos(j)
◦ Создать с помощью массива ячеек матрицу B=A+1
◦ Создать вектор С(5,1) c формулой С(i)=i+1/i
◦ Найти с помощью массива ячеек и встроенной функции МУМНОЖ матрицу D=B*C
Для построения матрицы заданного вида введем в столбец индекс строки –I, а также индекс столбца -J
На пересечении строки I и столбца J введем соответствующий элемент матрицы А.
Например, для элемента матрицы А(1,1) и для показанного расположения ячеек в ячейку В3 вводим соответствующую формулу, куда вместо значений I=1,J=1 мы вводим ячейки, содержащие значения для данной пары I,J (значение I=1 определяется содержимым ячейки А3, а значение J=1-содержимым ячейки В2), см. рис.:
После набора формулы надо нажать Enter, и в ячейке В3 мы увидим результирующее значение (3,381773) для значения матрицы А(1,1) , см. рис.:
Казалось бы, теперь надо с помощью автозаполнения (путем протаскивания с нажатой ЛКМ выделенной ячейки В3 последовательно по всем строкам матрицы и затем – по ее столбцам) заполнить все элементы матрицы. Но при этом мы увидим, что элемент матрицы А(5,5) превысит значение 400. Но из формулы матрицы А(i,j)=i+sin(i)+j+cos(j) очевидно, что таких значений быть не может!!. Если теперь внимательно проследить, значения каких ячеек используются при построении каждого элемента матрицы, то становится очевидно, в чем причина ошибки. Причина кроется в том, что когда мы вычисляем элементы матрицы, кроме А(1,1), значения относительных ссылок на элементы строки I и столбца J меняются при копировании формулы для элемента матрицы вправо и, сответственно, вниз. А они при этих операциях меняться не должны!!
Для исправления формулы мы должны использовать смешанные ссылки для номера строки I (для I=1 фиксируем столбец А: $A3) и номера столбца J (для J =1 фиксируем номер строки 3: В$3) , см. рис.:
После исправления формулы для ячейки А(1,1) и автозаполнения ее для всех ячеек матрицы мы увидим правильную матрицу, см. рис.:
Аналогично, но более просто и без использования смешанных ссылок создается вектор С(5,1) , см. рис.:
Для построения матрицы В=А+1 необходимо использовать механизм ввода формул не для одной ячейки, а сразу для массива ячеек. Для этого выделим под результирующую матрицу В место с помощью выделения мышкой, введем =, затем выделим все элементы матрицы А и добавим +1, см. рис.:
После ввода формулы не забудем ввести ++! (для одной ячейки мы бы просто ввели ). Матрица В получена.
Для умножения матрицы В на вектор С надо использовать функцию матричного умножения МУМНОЖ. Не забудьте под результирующий вектор вначале выделить массив ячеек (вертикальный вектор из 5 ячеек), потом ввести функцию, ввести ее аргументы (матрицу и вектор), а в конце опять ввести ++.
Задание решено.
Замена формул их значениями
Очень часто бывает необходимость скопировать значения формул из одного места на листе в другое место. Если скопировать значения формул через буфер обмена, то, весьма вероятно, значения формул на новом месте изменятся. Это произойдет из-за того, что относительные ссылки в формулах на новом месте автоматически изменятся и будут указывать на другие ячейки. Чтобы этого не произошло, можно использовать команду Специальная вставка. Для этого необходимо скопировать блок ячеек, содержащих формулы в буфер обмена и воспользоваться командой Специальная вставка – Значение вставить текущие значения формул на новое место. Платой за это является то, что на новом месте мы теперь уже иеем не формулы, а просто числа, которые не будут меняться от того, что мы меняем значения ячеек, которые использовались для вычисления формул.
Имена диапазонов
Любым диапазонам ячеек могут быть присвоены имена , которые в дальнейшем можно указывать вместо адресов ячеек в формулах. Имя может содержать не более 255 символов. Первым символом в имени должна быть буква, символ подчеркивания или обратная косая черта. Кроме этого в именах можно использовать точку, вопросительный знак и цифры. При этом имя не должно совпадать с форматом ссылки (B2).
Имя диапазона может быть задано непосредственно в поле имени строки формул. Для этого следует выделить диапазон ячеек, поместить курсор в поле имени и ввести имя для выделенного диапазона. Можно использовать меню Вставка – Имя – Присвоить.
Для вставки имени в формулу необходимо открыть список имен, щелкнув на кнопке со стрелкой справа от поля имени, и выбрать нужное имя. Вставить имя можно непосредственно с клавиатуры или, нажав клавишу F3, или, используя меню (Вставка – Имя – Вставить)
Упражнение
Поместите в ячейку A5 среднее арифметическое чисел, содержащихся в ячеках А6…С8.
Для этого выделите группу ячеек и дайте ей любое имя (например, "Group"). Затем восполь-
зуйтесь пунктом Функция меню Вставка и вставьте в ячейку A14 функцию СРЗНАЧ, указав
в качестве параметра имя группы ячеек.
1
2
3
4
5
6
7
8
9
Упражнение 4. Решение уравнений средствами программы Excel
Excel позволяет, кроме ввода формул, проводить еще и некоторые автоматические вычисления, реализованные в виде встороенных модулей. Например, позволяет проводить численное решение уравнения от одной неизвестной. В качестве примера, решим следующую задачу:
Задача. Найти решение уравнения х3 – Зх2 + x = -1.
Для этого:
1. Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу book.xls, созданную ранее.
2. Создайте новый рабочий лист (Вставка > Лист), дважды щелкните на его ярлычке и присвойте ему имя Уравнение.
3. Занесите в ячейку А1 значение 0. Данная ячейка будет использоваться для хранения значения переменной х. х=0 – это первоначальное приближение к решению.
4. Занесите в ячейку В 1 левую часть уравнения, используя в качестве независимой переменной ссылку на ячейку А1. Соответствующая формула может, например, иметь вид =А1^3-3*A1^2+А1.
5. Дайте команду Сервис > Подбор параметра.
6. В поле Установить в ячейке укажите В1, в поле Значение задайте -1, в поле Изменяя значение ячейки укажите А1.
7. Щелкните на кнопке ОК и посмотрите на результат подбора, отображаемый в диалоговом окне Результат подбора параметра. Щелкните ца кнопке ОК, чтобы сохранить полученные значения ячеек, участвовавших в операции.
8. Повторите расчет, задавая в ячейке А1 другие начальные значения, например 0,5 или 2. Совпали ли результаты вычислений? Чем можно объяснить различия?
9. Сохраните рабочую книгу book.xls.
Упражнение 5. Решение задач оптимизации
Excel также позволяет, кроме численное решение уравнения от одной неизвестной, еще и решать более сложные задачи оптимизации. Решения задачи, удовлетворяющие всем ограничениям и граничным условиям, называются допустимыми. Оптимальное решение - (optimus от лат. наилучший) это наилучшее решение, но наилучшего решения во всех смыслах быть не может. Может быть лучшим только в одном, строго установленном смысле. Принимающий решение должен абсолютно точно представлять, в чем заключается оптимальность решения, т.е. по какому критерию (kriterio - мерило, оценка) принимаемое решение должно быть оптимальным. Например, необходимо найти экстремум (минимум или максимум) функции от нескольких переменных, на которые могут быть наложены условия ограничения (например, только целочисленные значения). При этом критерий называют целевой функцией (ЦФ). С помощью критерия можно оценивать качества как желательные (например прибыль, производительность, надежность), так и нежелательные (затраты, расходы, простои и т.д.). Тогда в первом случае стремятся к максимизации критерия, во втором - к минимизации.
Итак, задача имеет оптимальное решение, если она удовлетворяет двум требованиям:
• есть реальная возможность иметь более одного решения, т.е. существуют допустимые решения;
• имеется критерий, показывающий, в каком смысле принимаемое решение должно быть оптимальным, т.е. наилучшим из допустимых.
В качестве примера, решим следующую задачу:
Задача. Завод производит электронные приборы трех видов (прибор А, прибор В и прибор С), используя при их сборке микросхемы трех видов (тип 1, тип 2 и тип 3). Расход микросхем задается следующей таблицей:
Прибор А
Прибор В
Прибор С
Тип-1
2
5
1
Тип 2
2
4
ТипЗ
2
1
1
Стоимость изготовленных приборов одинакова.
Ежедневно на склад завода поступает 500 микросхем типа 1 и по 400 микросхем типов 2 и 3. Каково оптимальное соотношение дневного производства приборов различного типа, если производственные мощности завода позволяют использовать запас поступивших микросхем полностью?
1. Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте рабочую книгу book.xis, созданную ранее.
2. Создайте новый рабочий лист (Вставка > Лист), дважды щелкните на его ярлычке и присвойте ему имя Организация производства.
3. В ячейки А2, A3 и А4 занесите дневной запас комплектующих числа 500,400 и 400, соответственно.
4. В ячейки С1, D1 и Е1 занесите нули. В этих ячейках будут находиться величины дневного производства для данных трех приборов. Нули мы заносим в качестве первоначального приближения к решению. В дальнейшем значения этих ячеек будут подобраны автоматически.
5. В ячейках диапазона С2:Е4 разместите таблицу расхода комплектующих.
6. В ячейках В2:В4 нужно указать формулы для расчета расхода комплектующих по типам. В ячейке В2 формула будет иметь вид =$С$1*C2+$D$1*D2+$E$1*E2, а остальные формулы можно получить методом автозаполнения (обратите внимание на использование абсолютных и относительных ссылок).
7. В ячейку F1 (целевую ячейку) занесите формулу, вычисляющую общее число произведенных приборов: для этого выделите диапазон С1 :Е1 и щелкните на кнопке Автосумма на стандартной панели инструментов. Мы будем искать экстремальное значение (максимум) для данной ячейки при всех ограничениях задачи.
8. Дайте команду Сервис > Поиск решения. Откроется диалоговое окно Поиск решения
Примечание. Если вы не увидите данной команды, вам необходимо еще раз войти в меню Сервис и , далее, в Надстройки. Далее необходимо поставить галочку напротив Поиск решения, см. рис.:
9. В поле Установить целевую укажите ячейку, содержащую оптимизируемое значение (F1). Установите переключатель Равной максимальному значению (требуется максимальный объем производства).
10. В поле Изменяя ячейки задайте диапазон подбираемых параметров С1:Е1.
11. Чтобы определить набор ограничений, щелкните на кнопке Добавить. В диалоговом окне Добавление ограничения в поле Ссылка на ячейку укажите диапазон В2:В4. В качестве условия задайте <=. В поле Ограничение задайте диапазон А2:А4. Это условие указывает, что дневной расход комплектующих не должен превосходить запасов. Щелкните на кнопке ОК.
12. Снова щелкните на кнопке Добавить. В поле Ссылка на ячейку укажите диапазон С1:Е1. В качестве условия задайте >=. В поле Ограничение задайте число 0. Это условие указывает, что число производимых приборов неотрицательно. Щелкните на кнопке ОК.
13. Снова щелкните на кнопке Добавить. В поле Ссылка на ячейку укажите диапазон С1:Е1. В качестве условия выберите пункт цел. Это условие не позволяет производить доли приборов. Щелкните на кнопке ОК.
14. Щелкните на кнопке Выполнить. По завершении оптимизации откроется диалоговое окно Результаты поиска решения.
15. Установите переключатель Сохранить найденное решение, после чего щелкните на кнопке ОК.
16. Проанализируйте полученное решение. Кажется ли оно очевидным? Проверьте его оптимальность, экспериментируя со значениями ячеек С1:Е1. Чтобы восстановить оптимальные значения, можно в любой момент повторить операцию поиска решения.
17. Сохраните рабочую книгу book.xls.
IV. Индивидуальное Задание:
Общие требования к заданию:
Все задание выполняется в одной рабочей книге Excel. Имя книги включает фамилию студента и номер группы - например, "Иванов_С_04.xls". Каждый пункт задания выполняется на отдельном рабочем листе.
Все части документа должны быть созданы в Excel. Ячейки таблиц, предполагающие вычисления, должны быть заполнены вычисляемыми полями формул. Форматирование рабочих листов должно соответствовать образцу.
Защита работы может включать в себя дополнительные задания, касающиеся изученных возможностей Microsoft Excel.
Номер варианта определяется по последней цифре студ. билета (зачетки). Цифре 0 соответствует 1й вариант, 1-2й вариант и т.д.
Задание 1. Базовые возможности Excel.
1) Первый лист рабочей книги назвать "Таблица значений функции". Используя копирование, автозаполнение и расчет по формуле, создать таблицу значений функции, указанной в Вашем варианте задания. Таблица должна иметь заголовок следующего вида:
Таблица значений функции F(x,y)=x2+y2
X
Y
F(x,y)
1
1
2
…
…
…
Y в таблице меняется быстрее, чем X. На этом же листе построить график функции f(x1,y) по табличным данным, где x1 - начальное значение x.
Для этой же функции представить таблицу значений в виде
x1
…
xm
y1
f(x1, y1)
…
f(x1, ym)
…
…
…
…
yn
f(xn, y1)
…
f(xn, ym)
При копировании формул использовать смешанные ссылки. По данным этой таблицы построить график поверхности f(x,y)
Таблица вариантов
№ варианта
функция f(x,y)
значения x
значения y
1.
sin x2 + xy
0, 0.1, …., 0.5
1,2,3,4,5
2.
1,2,3
0.5, 1, …, 2.5
3.
-2,-1,…,2
-2,-1,…,2
4.
0.1, 0.2,…,0.4
0.1, 0.2,…,0.4
5.
2x2-4y3
1,2,…,5
1,2,…,5
6.
0.1, 0.3, …, 0.7
1,2,3,4
7.
2e2x - sin y4
1,2,3,4,5
0, 0.1, …., 0.5
8.
-1, -0.5, …, 1
-1, -0.5, …, 1
9.
-2, -1, …, 2
-2, -1, …, 2
10.
cos 4x + sin 2y
0, 0.2, …, 1
0, 0.2, …, 1
2) Второй лист рабочей книги назвать "Зарплата". Подготовить таблицу данных с заголовком вида
ФИО
Начислено
Ставка налога, %
Налог в пенсионный фонд, 1%
К выдаче
Ширину поля ФИО задать вдвое большей, чем остальных полей.
Три последних столбца - вычисляемые.
Ставка налога вычисляется по формуле:
12%, если зарплата менее 6000 руб.;
15%, в противном случае.
Сумма к выдаче рассчитывается как "Начислено" - "Ставка налога" - "Налог в пенсиононный фонд".
Ввести в таблицу 5-6 записей о студентах группы.
3) Создать третий лист с именем "Прайс-лист" по образцу:
Поля "Цена, у.е." и "Сумма" - вычисляемые. В поле "Сегодня" автоматически подставляется текущая дата.
Заполнить прайс на 6-7 товаров.
Задание 2. Работа с функциями и формулами.
1) Создать рабочий лист с названием "Расчеты по формулам". Используя математические, логические и статистические функции Excel, вычислить таблицу значений функции, указанной в Вашем варианте.
С помощью формул подсчитать сумму и количество положительных и отрицательных значений Вашей функции, найти ее минимальное и максимальное значения на области определения.
Таблица вариантов
№ варианта
функция
значения аргументов и величин
1.
a=0, b=1
x=-1,0.5,…,2
2.
x=0,0.5,..,2
y=0,0.5,..,2
3.
, шаг по x и по y = 0,5
4.
x=-1,0,1,
y=-2,-1,…,2
5.
z=max2(x,y)+min(|x|,|y|,0)
x,y меняются от -3 до 3 с шагом 0,5
6.
z=x, если x и y - четные,
z=y, если x и y - нечетные,
z=0, в остальных случаях
x,y меняются от 1 до 6 с шагом 1
7.
a=-1, b=1
x=-3,-2,…,3
8.
, шаг по x,y=
9.
, шаг по x,y=0.2
10.
Z=10-(x2+y2), если точка (x,y) принадлежит кругу радиуса 3 с центром в н начале координат;
z=0, в противном случае
x,y меняются от -4 до 4 с шагом 1
Задание 3. Работа с матрицами и векторами.
1) Подготовить рабочий лист "Решение системы уравнений", на котором решить систему линейных уравнений вида Ax=b. Матрицу A и вектор b сформировать из произвольных чисел. Размерность матрицы указана в Вашем варианте задания. Решение x* находится по формуле x*=A-1b. Проверить решение, то есть оценить величину |Ax*-b|
Найти произведения матриц A*A и A*A-1.
Найти скалярное произведение векторов x и b, то есть, величину
Оценить обусловленность матрицы A, то есть, найти величину , где det[*] - определитель матрицы.
Оформить рабочий лист - то есть, выделить области ввода данных и результатов, добавить соответствующие подписи.
Таблица вариантов
№ варианта
размерность матрицы А
1,3,5,7,9
3 строки, 3 столбца
2,4,6,8,10
4 строки, 4 столбца
Задание 4. Нахождение корней функции одной переменной.
Создать рабочий лист с названием " Нахождение корней ".
По аналогии с Упражнением 4 необходимо вычислить корень функции (т.е. значение х, при котором значение функции =0), указанной в Вашем варианте. Для предварительной локализации корня вначале построить график функции, по аналогии с Упражнением 3. Если вы нашли корень х=0, необходимо найти еще один корень.
Таблица вариантов
№ варианта
функция
интервал изменения аргумента х
1
y=sin3(x3+3*x)
x=-1, …1 с шагом 0.05
2
y=sin(x)*2+1-x
x=-4, …4 с шагом 0.1
3
y=exp(cos2(x))-2
x=-3, …3 с шагом 0.0.5
4
y=cos2(x)/( sin2(x+x2+2)-0.2
x=-3, …3 с шагом 0.0.5
5
y=sin(exp(x-1))
x=-3, …3 с шагом 0.0.5
6
y=tanh(sin(x))
x=-4, …4 с шагом 0.1
7
y=cos(1./(0.1+tanh(x)))
x=-2, …2 с шагом 0.0.5
8
y=sin(x)-x-x.^3-x.^5-100
x=-3, …3 с шагом 0.0.5
9
y=sin(x)-cos(x)
x=-3, …3 с шагом 0.0.5
10
y=sin(cosh(x))
x=-3, …3 с шагом 0.0.5
Задание 5*. Задача оптимизации.
ВНИМАНИЕ!! Данное задание необходимо решить для получения оценки 5.
По аналогии с Упражнением 5 необходимо решить данную задачу оптимизации для своего варианта.
ВАРИАНТЫ
1. Завод выпускает обычные станки и станки с программным управлением, затрачивая на один обычный станок 200 кг стали и 200 кг цветного металла, а на один станок с программным управлением 700 кг стали и 100 кг цветного металла. Завод может израсходовать в месяц до 46 тонн стали и до 22 тонн цветного металла. Сколько станков каждого типа должен выпустить за месяц завод, чтобы объем реализации был максимальным, если один обычный станок стоит 2000 д.е., а станок с программным управлением 5000 д.е.
2. Для производства двух видов изделий А и В используется три типа технологического оборудования. На изготовление одного изделия А оборудование первого типа используется в течение 5 ч., второго - в течение 3 ч. и третьего - 2 ч. На производство одного изделия В, соответственно: 2 ч., 3 ч. и 3 ч. В плановом периоде оборудование первого типа может быть использовано в течение 505 ч., второго - 394 ч. и третьего - 348 ч. Прибыль от реализации одного изделия А равна 7 д.е., В - 4 д.е. Составить план производства, максимизирующий прибыль предприятия.
3. Для изготовления изделий А и В предприятие использует три вида сырья. На производство одного изделия А требуется сырья первого вида 15 кг, второго - 11 кг, третьего - 9 кг, а на производство одного изделия В, соответственно, 4 кг, 5 кг, 10 кг. Сырья первого вида имеется 1095 кг, второго - 865 кг, третьего - 1080 кг. Составить план производства, максимизирующий прибыль, если прибыль от реализации единицы изделия А составляет 3 д.е., В - 2 д.е.
4. Для производства изделий А и В используются три вида оборудования. При изготовлении одного изделия А оборудование первого вида занято 7 ч., второго - 6 ч. и третьего - 1 ч. При изготовлении одного изделия В, соответственно, 3 ч., 3 ч. и 2 ч. В месяц оборудование первого вида может быть занято 1365 ч., второго - 1245 ч. и третьего - 650 ч. Составить план производства, максимизирующий прибыль, если прибыль от реализации одного изделия А равна 6 д.е., изделия В - 5 д.е.
5. Для изготовления изделий А и В используется три вида сырья. На изготовление одного изделия А требуется 9 кг сырья первого вида, 6 кг сырья второго вида и 3 кг сырья третьего вида. На изготовление одного изделия В требуется, соответственно, 4 кг, 7 кг и 8 кг сырья. Производство обеспечено сырьем первого вида в количестве 801 кг, второго - 807 кг, третьего - 703 кг. Прибыль от продажи изделия А равна 3 д.е., изделия В - 2 д.е. Составить план производства, максимизирующий прибыль
6. Завод выпускает два вида редукторов. На изготовление одного редуктора первого вида расходуется 4 тонны чугуна и 1 тонна стали, а на изготовление одного редуктора второго вида 2 тонны чугуна и 1 тонна стали. Завод располагает на месяц 160 тоннами чугуна и 120 тоннами стали. Составить месячный план производства редукторов, максимизирующий прибыль завода, если прибыль от продажи одного редуктора первого вида равна 400 д.е., а второго - 200 д.е.
7. Для производства изделий А и В используются три вида станков. На производство одного изделия А требуется 6 ч. работы станка первого вида, 4 ч. работы станка второго вида и 3 ч. работы станка третьего вида. На производство одного изделия В требуется 2 ч. работы станка первого вида, 3 ч. работы станка второго вида и 4 ч. работы станка третьего вида. Месячный ресурс работы всех станков первого вида, имеющихся на заводе равен 600 ч., всех станков второго вида - 520 ч. и всех станков третьего вида - 600 ч. Прибыль от реализации одного изделия А равна 6 д.е., изделия В - 3 д.е. Составить план производства на месяц, максимизирующий прибыль предприятия.
8. На ферме разводят нутрий и кроликов. В недельный рацион нутрий входят 17 кг белков, 11 кг углеводов и 5 кг жиров, а для кроликов эти нормы, соответственно, равны 13 кг, 15 кг и 7 кг. Доход от реализации одного кролика 20 д.е., а от реализации одной нутрии 25 д.е. Найти план разведения животных, максимизирующий доход фермы, если ферма не может расходовать в неделю более 184 кг белков, 152 кг углеводов и 70 кг жиров.
9. Для изготовления изделий А и В предприятие использует три вида сырья. На производство одного изделия А требуется 12 кг сырья первого вида, 10 - второго и 3 - третьего, а на производство одного изделия В, соответственно, 3 кг, 5 кг, 6 кг. Производство обеспечено сырьем первого вида в количестве 684 кг, второго - 690 кг и третьего 558 кг. Одно изделие А дает предприятию 6 д.е. прибыли, изделие В - 2 д.е. Составить план производства, максимизирующий прибыль предприятия.
10. Мастерская по покраске кузовов автомобилей рассчитана на покраску не более 160 кузовов в месяц. На покраску кузова "Москвича" краски расходуется 4 кг, а кузова "Волги" - 7 кг. Мастерская располагает 820 кг краски на месяц. Составить месячный план покраски автомобилей, максимизирующий прибыль мастерской, если покраска одного "Москвича" дает 30 д.е. прибыли, а одной "Волги" - 40 д.е. прибыли.