информатика. Игнатьева Елена Александровна, Измайлова Елена Ивановна. Информатика. Электронный ресурс методические указания
Скачать 4.32 Mb.
|
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Кузбасский государственный технический университет имени Т.Ф. Горбачева» Кафедра информационных и автоматизированных производственных систем Е.А. Игнатьева, Е.И. Измайлова Информатика Методические указания к лабораторным работам Рекомендовано учебно-методической комиссией специальности 131201.65 «Физические процессы горного или нефтегазового производства» в качестве электронного издания для использования в учебном процессе Кемерово 2013 1 Рецензенты: Чичерин И. В.– доцент кафедры ИиАПС Хямяляйнен В. А. – профессор, д.т.н., председатель учебно- методической комиссии специальности 131201.65 «Физические процессы горного или нефтегазового производства» Игнатьева Елена Александровна, Измайлова Елена Ивановна. Информатика . [Электронный ресурс]: методические указания к лабора- торным работам для студентов специальности 131201.65 «Физические про- цессы горного или нефтегазового производства», специализация 131201.65 «Физические процессы горного производства» / Е. А. Игнатьева, Е. И. Из- майлова. Электрон. дан. – Кемерово: КузГТУ, 2013. – Систем. требования: Pentium IV; ОЗУ 8 Мб; Windows 95; мышь. - Загл. с экрана. В данных методических указаниях изложено содержание лабораторных работ, порядок их выполнения и контрольные вопросы к ним. КузГТУ Е. А. Игнатьева, Е. И. Измайлова 2 Лабораторная работа № 1 Основы позиционных систем счисления 1. ЦЕЛЬ РАБОТЫ Целью работы является ознакомление студентов с позици- онными системами счисления, с компьютерным представлением чисел, алгоритмами перевода чисел из одной системы счисления в другую и получение практических навыков перевода чисел. 2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ Система счисления – это способ записи чисел с помощью заданного набора специальных знаков (цифр). Система счисления должна обладать следующими свойст- вами: простота способа записи чисел на материальном носителе; удобство выполнения арифметических операций над чис- лами в предложенной записи; наглядность обучения основам работы с числами. Классификация позиционных систем счисления Все многообразие систем счисления можно разделить на две группы: 1. Аддитивные (непозиционные) системы счисления. 2. Позиционные системы счисления. Аддитивные системы счисления – системы записи чисел, в которых каждой цифре в записи числа соответствует величина, не зависящая от местонахождения этой цифры в записи числа. Наиболее известной из аддитивных систем счисления явля- ется римская система счисления. В ней для обозначения чисел используются буквы латинского алфавита: I, V, X, L, C, D и M. Число в римской системе счисления обозначается набором стоя- щих подряд знаков. Значение числа определяется следующим об- разом: 1) суммируются значения идущих подряд нескольких оди- наковых знаков (группа первого вида); 3 2) вычитаются значения двух знаков, если слева от больше- го знака стоит меньший, то есть от значения большего знака от- нимается значение меньшего (группа второго вида). Позиционные системы счисления – системы записи чисел, в которых значение цифры в записи числа зависит от ее позиции или местонахождения в числе. Совокупность различных цифр, используемых в позицион- ной системе счисления для записи чисел, называется алфавитом системы счисления. Базис позиционной системы счисления – это последователь- ность чисел, каждое из которых задает значение цифры по ее месту в записи числа, то есть «вес» каждого разряда. Приведем в качестве примера базисы некоторых традици- онных систем счисления: Десятичная система счисления: 1, 10, 10 2 , 10 3 , …, 10 n Двоичная система счисления: 1, 2, 2 2 , 2 3 , …, 2 n Восьмеричная система счисления: 1, 8, 8 2 , 8 3 , …, 8 n Позиционные системы счисления бывают традиционными и нетрадиционными. Системы счисления, базис которых образуют члены геомет- рической прогрессии, называют традиционными. К традиционным системам счисления относятся двоичная, восьмеричная, десятичная и шестнадцатеричная системы счисле- ния. Для записи чисел в десятичной системе счисления исполь- зуются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В восьмеричной системе счисления: 0, 1, 2, 3, 4, 5, 6, 7, а восьмерка записывается двумя цифрами 10. Для записи чисел в шестнадцатеричной системе счисления необходимо располагать уже 16-ю различными симво- лами, используемыми как цифры. В качестве первых десяти ше- стнадцатеричных цифр используются те же, что и в десятичной системе (0, 1, …, 9), для обозначения остальных шести цифр (в десятичной системе они соответствуют числам 10, 11, 12, 13, 14, 15) используют буквы латинского алфавита – A, B, C, D, E, F. Позиционные системы счисления принято делить на сле- дующие три класса: 1. Системы с целочисленным основанием: 4 единичная (унарная) система счисления, простейшая из позиционных систем счисления; двоичная (применяется в дискретной математике, ин- форматике и программировании); троичная система счисления; восьмеричная (применяется в программировании); десятичная система счисления; двенадцатеричная (широко использовалась в древности, в некоторых областях используется и сейчас); шестнадцатеричная (наиболее распространена в про- граммировании, а также в шрифтах); сорокаичная система счисления (применялась в древно- сти («сорок сороков = 1600»)); шестидесятеричная (применяется при измерении углов и, в частности, долготы и широты). 2. Системы с отрицательным основанием (нега- позиционные): нега-двоичная система счисления (с основанием -2); нега-десятичная система счисления (с основанием -10). Системы с нецелочисленным основанием: 2,71… = e – e-ричная система счисления с основанием, рав- ным числу Эйлера (применяется в натуральных логарифмах). В общем виде для традиционных позиционных систем счис- ления базис можно записать в следующем виде: n n m m P P P P P P P P , , , , , 1 , , , , , 1 2 1 2 1 Знаменатель P геометрической прогрессии, члены которой образуют базис традиционной системы счисления, называется основанием системы счисления. К нетрадиционным системам счисления относятся фактори- альная, фибоначчиевая и уравновешенная. Базисы этих систем счисления выглядят следующим образом: факториальная – 1!, 2!, …, (n-1)!, n!; фибоначчиевая – 1, 2, 3, 5, 8, 13, 21, …; уравновешенная троичная – -1, 0, 1. 5 Преобразование чисел В общем случае перевод любого числа, состоящего из целой и дробной частей ) ( 1 1 0 0 1 1 1 1 m m n n n n P P a P a P a P a P a P a A , (1) из системы счисления с основанием P 1 в систему с основанием P 2 может быть выполнен по универсальному алгоритму, который нетрудно определить, приведя целую и дробную части выраже- ния к видам: ) ) ) ) (( (( 0 2 1 a P P a P a P a A n n n ц P (2) и )) ) ( ( ( 1 ) 1 ( 1 2 1 1 1 P a a P a P a P A m m др P (3) Согласно этому алгоритму перевод числа, включающего в себя целую и дробную части, состоит из вычислительных про- цессов двух видов: 1) последовательного деления нацело целой части и обра- зующихся целых частных на основание новой системы счисле- ния; 2) последовательного умножения дробной части и дробных частей получающихся произведений на то же новое основание, записанное, как и в первом случае, цифрами исходной системы счисления. При переводе целой части числа в ходе процесса последова- тельного деления получаются остатки, выраженные цифрами ис- ходной системы счисления. Они представляют собой цифры 0 a , 1 a , …, n a целой части числа, переведенного в новую систему счисления. Последний остаток является старшей цифрой переве- 6 денного числа. Процесс деления продолжается до тех пор, пока частное не станет равным нулю. При переводе дробной части числа при каждом умножении получаются целые части, которые исключаются из последующих умножений. Эти целые части, изображенные цифрами исходной системы счисления, представляют собой цифры дробной части, переведенной в новую систему счисления. Значение первой це- лой части является первой цифрой после запятой переведенного числа. Процесс умножения продолжаем до тех пор, пока дробная часть произведения не станет равной нулю или не выделится пе- риод. Следует отметить, что все арифметические действия осуще- ствляются по правилам исходной системы счисления. Пример 1. Требуется перевести число 30,6 в десятичной системе счис- ления в двоичную систему счисления. Согласно вышесказанному переводим отдельно целую и дробную части числа. Перевод целой части последователь- ное деление остатки 30 : 2 = 15 0 15 : 2 = 7 1 7 : 2 = 3 1 3 : 2 = 1 1 1 : 2 = 0 1 Перевод дробной части целая часть последовательное умножение 1 0,6 ∙ 2 = 1,2 0 0,2 ∙ 2 = 0,4 0 0,4 ∙ 2 = 0,8 1 0,8 ∙ 2 = 1,6 1 0,6 ∙ 2 = 1,2 1 1 1 1 0 , 1 0 0 1 1 30,6 10 = 11110,10011 2 7 Пример 2. Требуется перевести число 111101,01 в двоичной системе счисления в десятичную систему счисления. Перевод целой части последовательное деление остатки 111101:1010 = 110 001 110 : 1010 = 0 110 Перевод дробной части целая часть последовательное умножение 010 0,0100∙1010=010,1000 101 0,1000∙1010=101,0000 6 1 , 2 5 111101,01 2 = 61,25 10 6 1 , 2 5 111101,01 2 = 61,25 10 По универсальному алгоритму наиболее просто переводить числа из десятичной системы счисления в любую другую. Для перевода числа из любой системы счисления в десятич- ную систему можно воспользоваться представлением исходного числа как суммы произведений цифр данного числа и степеней основания исходной системы счисления. Алгоритм такого пере- вода выглядит следующим образом (действия проводятся в деся- тичной системе счисления): 1) цифры исходного числа нумеруются справа налево начи- ная с нуля – для целой части числа и слева направо начиная с -1 – для дробной части; 2) каждая цифра числа переводится в число в десятичной системе; 3) десятичное число, соответствующее каждой цифре, ум- ножается на основание исходной системы счисления в пронуме- рованной степени, и результаты складываются. Пример 3. Требуется перевести число 111101,01 в двоичной системе счисления в десятичную систему счисления: 1 5 1 4 1 3 1 2 0 1 1 0 ,0 -1 1 -2 2 = =1·2 5 +1·2 4 +1·2 3 +1·2 2 +0·2 1 +1·2 0 +0·2 -1 +1·2 -2 =61,25 10 По универсальному алгоритму наиболее просто переводить числа из десятичной системы счисления в любую другую. Для перевода числа из любой системы счисления в десятич- ную систему можно воспользоваться представлением исходного числа как суммы произведений цифр данного числа и степеней основания исходной системы счисления. Алгоритм такого пере- вода выглядит следующим образом (действия проводятся в деся- тичной системе счисления): 1) цифры исходного числа нумеруются справа налево начи- ная с нуля – для целой части числа и слева направо начиная с -1 – для дробной части; 2) каждая цифра числа переводится в число в десятичной системе; 3) десятичное число, соответствующее каждой цифре, ум- ножается на основание исходной системы счисления в пронуме- рованной степени, и результаты складываются. Пример 3. Требуется перевести число 111101,01 в двоичной системе счисления в десятичную систему счисления: 1 5 1 4 1 3 1 2 0 1 1 0 ,0 -1 1 -2 2 = =1·2 5 +1·2 4 +1·2 3 +1·2 2 +0·2 1 +1·2 0 +0·2 -1 +1·2 -2 =61,25 10 Пример 4. Требуется перевести число 3E5A1 в шестнадцатеричной системе счисления в десятичную систему счисления: 3 4 E 3 5 2 A 1 1 0 16 = 3·16 4 +E·16 3 +5·16 2 +A·16 1 +1·16 0 = = 3·16 4 +14·16 3 +5·16 2 +10·16 1 +1·16 0 = 255393 10 Еще более простой алгоритм применяется для работы с сис- темами счисления, основание которых представляет собой ту или иную степень числа 2. К таким системам счисления относятся: двоичная, восьмеричная, шестнадцатеричная и т.д. Иногда по- добные системы счисления называют смешанными. Для записи любой цифры числа, представленного в системе счисления, осно- вание которой 2 в любой степени, необходимо количество двоич- ных цифр, равное значению данной степени. Например, для запи- си восьмеричного числа – три двоичные цифры, для записи ше- стнадцатеричного – четыре. 1 Для того чтобы перевести двоичное число в восьмеричную систему счисления, преобразуемое число разделяют справа нале- во на группы по три двоичные цифры, при этом самая левая группа может содержать меньше трех двоичных цифр. Затем ка- ждую группу двоичных цифр выражают в виде восьмеричной цифры с учетом того, что: 000 2 = 0 8 011 2 = 3 8 110 2 = 6 8 001 2 = 1 8 100 2 = 4 8 111 2 = 7 8 010 2 = 2 8 101 2 = 5 8 Аналогично преобразуют двоичное число в шестнадцате- ричное с той лишь разницей, что преобразуемое двоичное число делят на группы по 4 двоичных цифры в каждой, поскольку для записи любой цифры шестнадцатеричного числа необходимы че- тыре двоичные цифры: 0000 2 = 0 16 0100 2 = 4 16 1000 2 = 8 16 1100 2 = C 16 0001 2 = 1 16 0101 2 = 5 16 1001 2 = 9 16 1101 2 = D 16 0010 2 = 2 16 0110 2 = 6 16 1010 2 = A 16 1110 2 = E 16 0011 2 = 3 16 0111 2 = 7 16 1011 2 = B 16 1111 2 = F 16 Преобразование восьмеричного или шестнадцатеричного числа в двоичное осуществляется простым переводом каждой цифры исходного числа в группу из трех (для восьмеричного числа) или четырех (для шестнадцатеричного числа) двоичных цифр. Пример 5. 1101111011 2 = 1 101 111 011 = 1573 8 1101111011 2 = 11 0111 1011 = 37B 16 123 8 = 001 010 011 = 1010011 2 A17 16 = 1010 0001 0111 = 101000010111 2 Арифметические операции Арифметические действия над числами (сложение, вычита- ние, умножение и деление) в любой позиционной системе счис- ления производятся по тем же правилам, что и десятичной систе- ме, так как все они основываются на правилах выполнения дей- ствий над соответствующими многочленами. При этом нужно 2 только пользоваться теми таблицами сложения и умножения, ко- торые соответствуют данному основанию b системы счисле- ния.Операции сложения и умножения производятся по тем же правилам, что и в десятичной системе счисления. Пример 6. Требуется сложить два числа в двоичной системе счисле- ния: 1 0 1 1 1 + 1 0 1 1 0 1 0 1 1 0 1 Пример 7. Требуется найти произведение двух чисел в двоичной сис- теме счисления: 1 0 1 1 1 0 1 1 0 1 1 + 1 0 1 1 1 1 0 1 1 1 Вычитание чисел в двоичной системе счисления может осуществляться двумя способами: 1) из большего по абсолютной величине числа вычитается меньшее, и у результата ставится соответствующий знак; 2) вычитаемое предварительно преобразуется в дополни- тельный код (перед преобразованием количество разрядов в чис- лах выравнивается), после чего оба числа суммируются. Для получения дополнительного кода отрицательного числа необходимо: 1) значения всех разрядов изменить на противоположные, т.е. все нули заменить единицами, а единицы нулями (получить обратный код исходного числа); 2) к полученному обратному коду прибавить единицу в младшем разряде. 3 Пример 8. Требуется найти разность двух чисел в двоичной системе счисления: 10111 2 – 1101 2 Первый способ: 1 0 1 1 1 - 1 1 0 1 1 0 1 0 Второй способ: Получим дополнительный код числа 1101 2 1101 01101 (добавили один пустой разряд справа) 01101 10010 (заменили 0 1) 10010 10011 (прибавили 1 в младшем разряде) 1 0 1 1 1 + 1 0 0 1 1 1 0 1 0 1 0 Игнорируем 1 переноса из старшего разряда и получаем ре- зультат, равный 01010 2 При делении столбиком приходится в качестве промежу- точных вычислений выполнять действия умножения и вычита- ния. Пример 9. Требуется найти частное от деления двух чисел в двоичной системе счисления: 1 1 1 1 0 1 1 0 - 1 1 0 1 0 1 1 1 0 - 1 1 0 0 4 Представление данных в памяти ЭВМ Основные положения Любая информация (числа, команды, записи и т.п.) пред- ставляется в ЭВМ в виде двоичных кодов фиксированной или пе- ременной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют разрядами или битами. Двоичный код, состоящий из 8 разрядов, носит название байта. Для записи чисел также используют 32-разрядный формат (машинное слово), 16-разрядный формат (полуслово) и 64-разрядный формат (двой- ное слово). В целях упрощения выполнения арифметических операций в ЭВМ применяют специальные коды для представления чисел, что позволяет свести операцию вычитания чисел к арифметиче- скому сложению кодов этих чисел. Применяютсятак называемые прямой, обратный и дополнительныйкоды чисел. |