Лекции. Основные понятия и определения
Скачать 1.94 Mb.
|
1.4. ДанныеДанные – это информация, обрабатываемая программой. Системы счисленияЛюбое число x в десятичной системе счисления может быть представлено в виде: x→Dm-1*10m-1+Dm-2*10m-2+...+D1*10+D0+D-1*10-1+D-2*10-2+..., где Dm-1,Dm-2,D1,D0, D-1, D-2 – цифры, составляющие число. Пример. 125.478 = 1*100+2*10+5+4*10-1+7*10-2+8*10-3 Число различных цифр, образующих систему, называется ее основанием. Любое число может быть записано в системе счисления с основанием, отличным от 10, причем между целыми числами, записанными в различных системах с целыми положительными основаниями, существует взаимно однозначное соответствие. Следовательно, перевод целого числа из одной системы счисления в другую осуществляется точно, без погрешности. Ниже приведена таблица первых 16 целых чисел для систем с основаниями 10, 2, 8, 16, которые применяются в вычислительной технике. 10: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ------------------------------------------------------------------------------------------------- 2: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 ------------------------------------------------------------------------------------------------- 8: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 ------------------------------------------------------------------------------------------------- 16: 0 1 2 3 4 5 6 7 8 9 A B C D E F ------------------------------------------------------------------------------------------------- Перевод целого числа в другую систему счисления выполняется последовательным делением на ее основание. Наиболее удобно использовать для этого основание 8. Заменив в полученном значении каждую 8-ричную цифру ее двоичным представлением, получим то же самое целое число в двоичной системе. Пример. 45910 = 7138 = 111 001 0112 459|8 ------------ 40 |57|8 ------------ 59 56 7 →713 56 1 ---- 3 Обратный перевод показан ниже. 111 001 0112 → 7138 → 7*64+1*8+3=448+8+3=45910 Дробные части значений переводятся в двоичную систему счисления последовательным умножением на основание 2 и этот перевод в общем случае осуществляется с погрешностью, поскольку отнюдь не каждая десятичная дробь представляет собой сумму отрицательных степеней двойки. Ниже приведен пример перевода в двоичную систему числа 0.15. Как видно из него, в результате получена периодическая дробь, что при ограниченной разрядности компьютера обязательно даст погрешность преобразования. 0.15 0.00(1001) 2 ------ 1/8+1/64+1/128+...→0.1250+0.0156+0.0078+...≈0.1484 0.3 2 ------ . 0.6 2 ----- 1.2 2 ----- 0.4 2 ----- 0.8 2 ----- 1.6 2 ----- Типы и совокупности данныхСкалярная переменная – это переменная, имеющая в текущий момент времени 1 значение. Тип переменной – это множество значений, которые может принимать переменная во время выполнения программы. Остановимся на наиболее распространенных типах данных. ЦелыеДиапазон представления определяется разрядностью процессора. Обычно используются 2 модификации целых размером в 32 бита – диапазон представления: |x|<231 (чуть больше 9 десятичных цифр) и 16 бит – диапазон: |x|<215=32768. Все операции над целыми выполняются без погрешности. ВещественныеДиапазон представления также зависит от разрядности. В общем случае, все операции приближенные (имеет место погрешность перевода в двоичную систему счисления). Данные хранятся в памяти в форме с плавающей точкой. Число имеет вид: x=m*Be, где m – мантисса, B – основание системы счисления (10|2|8|16), e – порядок. Пример. -2.73*10-15=-273*10-17 Одно и то же значение записывается по-разному (см. пример выше), отсюда и происходит название – форма с плавающей точкой. Иногда требуется однозначная запись таких данных. В этом случае используется нормализованный вид числа, который удовлетворяет условию: 0.1<=|m|<1 или 1<=|m|<10 ЛогическиеЭти данные могут принимать только 2 значения: True – истина или False – ложь и используются для записи условий. Например, выражение a при a=3, b=5 принимает значение True, а при a=7,b=0 значение False. СтрокиПредставляют собой последовательности символов фиксированной или переменной длины. Пример. "hard disk" "Привет всем!" Совокупности данныхПеременные любых типов могут быть объединены в совокупности. Если в совокупность объединены переменные одного типа и место каждой определяется номером (индексом), то совокупность называют массивом, если же в нее входят переменные разных типов, то это структура. Пример. Система линейных алгебраических уравнений. a11x1+a12x2=b1 a21x1+a22x2=b2 {aij,i,j=1,2} – массив коэффициентов, {xk,k=1,2} – массив корней, {bm,m=1,2} – массив свободных членов. Количество индексов определяет размерность массива. Массивы с размерностью более 1 называют многомерными. Расположение в памяти элементов многомерного массива может быть разным: a11, a12, a21, a22 – лексикографическое(по строкам) в большинстве языков, a11, a21, a12, a22 -- по столбцам(Fortran). В тексте программы доступ к элементам массива осуществляется с помощью переменной с индексами. Пример. ai+1,j-1. При i=2, j=4 это будет элемент a3,3. Пример. Структура – cтрока ведомости по зарплате. таб.номер фамилия и.о. сумма вычеты 236 Иванов П.А. 7605.00 1203.45 10>1> |