- •Кафедра математики и информатики
- •Практикум
- •Введение
- •1. Арифметические основы построения эвм
- •2. Интегрированная среда Turbo Pascal 7.1
- •2.1. Основные элементы ide Turbo Pascal 7.1
- •2.2. Ввод программы в среде Turbo Pascal
- •2.3.Сохранение программы в файле
- •2.4. Работа с существующей программой
- •2.5. Компиляция программы в среде Turbo Pascal
- •(Успешная компиляция: Нажмите любую клавишу...)
- •2.6. Выполнение программы в среде Turbo Pascal
- •2.7. Выход из среды Turbo Pascal
- •3. Элементы языка Turbo Pascal
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Разделители
- •3.4. Основные типы данных и операции с ними
- •3.5. Константы и переменные
- •3.6. Выражения
- •3.7. Стандартные математические функции языка Турбо - Паскаль
- •3.8. Структура программы на языке Pascal
- •X,y,z: Real; {переменные типа Real}
- •I,j,k: Integer; {переменные типа Integer}
- •3.9. Контрольные вопросы
- •4. Лабораторная работа №1: Программирование линейных вычислительных процессов
- •4.1. Оператор присваивания
- •4.2. Ввод исходных данных. Операторы Read и ReadLn
- •4.3. Вывод данных. Операторы Write и WriteLn
- •4.4. Примеры составления программы
- •4.5. Контрольные вопросы
- •Раздел Var;
- •4.6. Варианты заданий
- •5. Лабораторная работа №2: Программирование разветвляющихся процессов
- •5.1. Методические указания
- •5.2. Условный оператор If и составной оператор Begin … End
- •5.3. Логические операции
- •5.4. Оператор безусловного перехода Goto
- •5.5. Примеры составления программы
- •5.6. Контрольные вопросы
- •5.7. Варианты заданий
- •6. Лабораторная работа №3: Циклический процесс
- •6.1. Общие сведения
- •6.2. Цикл с параметром
- •6.3. Цикл с предусловием
- •6.4. Цикл с постусловием
- •6.5. Итерационные циклы
- •6.6. Контрольные вопросы
- •6.7. Варианты заданий
- •6.7.2. Циклы со счетчиками Составить программы используя разные циклы (с предусловием, с постусловием, с параметром)
- •6.7.2. Итерационные циклы
- •7. Лабораторная работа №4: Вложенные циклы
- •7.1. Общие сведения
- •7.2. Примеры выполнения задания
- •7.3. Контрольные вопросы
- •7.4. Варианты заданий
- •8. Лабораторная работа №5: Массивы
- •8.1. Одномерные и многомерные массивы
- •В квадратных скобках - индексы массива
- •8.2.Символьные массивы
- •8.3. Инициализация элементов массива
- •8.4. Примеры выполнения задания
- •8.5. Контрольные вопросы
- •8.6. Варианты заданий
- •9. Лабораторная работа №6: Сортировки
- •Приложение 1
- •Приложение 2 Структурограммы
- •Структурное программирование
- •Приложение 3
- •(Основная и дополнительная)
- •Приложение 4 Сообщения об ошибках компиляции
- •(Ошибка 15 : Файл не найден)
- •113. Error in statement (ошибка в операторе)
- •Приложение 5
- •21 Столетие Библиографический список
- •Содержание
1. Арифметические основы построения эвм
Системой счисления называется совокупность правил для обозначения (записи) действительных чисел с помощью цифровых знаков. Для записи чисел в конкретных системах счисления используется некоторый конечный алфавит, состоящий из цифр . При этом каждой цифре в записи числа ставится в соответствие определенный количественный эквивалент. Различают непозиционные и позиционные системы счисления.
Непозиционные системы счисления
В ней количественный эквивалент каждой цифры, входящей в запись данного числа, не зависит от места (позиции) этой цифры в ряду других цифр. Пример: римская система счисления. В ней для записи различных целых чисел используются символы I, V, X, L, C, D, M и т.д., обозначающие соответственно 1, 5, 10, 50, 100, 500, 1000 и т.д. Например, запись MCMLXXXV означает число 1985. Общим недостатком непозиционных систем является сложность представления в них достаточно больших чисел, так как при этом получается чрезвычайно громоздкая запись чисел или требуется очень большой алфавит используемых цифр. В ЭВМ применяют только позиционные системы счисления, в которых количественный эквивалент каждой цифры алфавита зависит не только от вида этой цифры, но и от ее местоположения в записи числа.
Позиционные системы счисления
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее позиции в последовательности цифр, изображающих число. Любая позиционная система характеризуется своим основанием. Основание позиционной системы счисления - это количество различных знаков или символов, используемых для изображения цифр в данной системе. За основание можно принять любое натуральное число - два, три, четыре, шестнадцать и т.д. Следовательно, возможно бесконечное множество позиционных систем.
Системы счисления
Десятичная система счисления.
Пришла в Европу из Индии, где она появилась не позднее VI века н.э. В этой системе 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, но информацию несет не только цифра, но и место, на котором цифра стоит (то есть ее позиция). В десятичной системе счисления особую роль играют число 10 и его степени: 10, 100, 1000 и т.д. Самая правая цифра числа показывает число единиц, вторая справа - число десятков, следующая - число сотен и т.д. Позиции цифр в записи числа называют его разрядами. В десятичной системе счисления вес каждого разряда в 10 раз больше веса предыдущего. Всякое число в десятичной системе счисления можно представить в виде суммы различных целых степеней десяти с соответствующими коэффициентами (0-9), взятыми из алфавита данной системы счисления. Например: 245,83=2*102+4*101+5*100+8*10-1+3*10-2. Любое десятичное позиционное число N можно представить с помощью целых степеней десяти, взятых с соответствующими коэффициентами, т.е. N10=am*10m+am-1*10m-1+…+a1*10+a0*100+a-1*10-1+…+a-n*10-n.
Двоичная система счисления.
В этой системе всего две цифры - 0 и 1. Особую роль здесь играет число 2 и его степени: 2, 4, 8 и т.д. Самая правая цифра числа показывает число единиц, следующая цифра - число двоек, следующая - число четверок и т.д. Двоичная система счисления позволяет закодировать любое натуральное число - представить его в виде последовательности нулей и единиц. В двоичном виде можно представлять не только числа, но и любую другую информацию: тексты, картинки, фильмы и аудиозаписи. Инженеров двоичное кодирование привлекает тем, что легко реализуется технически. Наиболее простыми с точки зрения технической реализации являются двухпозиционные элементы, например, электромагнитное реле, транзисторный ключ.
Восьмеричная система счисления.
В этой системе счисления 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7. Цифра 1, указанная в самом младшем разряде, означает - как и в десятичном числе - просто единицу. Та же цифра 1 в следующем разряде означает 8, в следующем 64 и т.д. Число 100 (восьмеричное) есть не что иное, как 64 (десятичное). Чтобы перевести в двоичную систему, например, число 611 (восьмеричное), надо заменить каждую цифру эквивалентной ей двоичной триадой (тройкой цифр). Легко догадаться, что для перевода многозначного двоичного числа в восьмиричную систему нужно разбить его на триады справа налево и заменить каждую триаду соответствующей восьмеричной цифрой.
Шестнадцатеричная система счисления.
Запись числа в восьмеричной системе счисления достаточно компактна, но еще компактнее она получается в шестнадцатеричной системе. В качестве первых 10 из 16 шестнадцатеричных цифр взяты привычные цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а вот в качестве остальных 6 цифр используют первые буквы латинского алфавита: A, B, C, D, E, F. Цифра 1, записанная в самом младшем разряде, означат просто единицу. Та же цифра 1 в следующем - 16 (десятичное), в следующем - 256 (десятичное) и т.д. Цифра F, указанная в самом младшем разряде, означает 15 (десятичное). Перевод из шестнадцатеричной системы в двоичную и обратно производится аналогично тому, как это делается для восьмеричной системы.
Правила перевода из системы счисления в систему счисления
Для перевода чисел из любой системы счисления в десятичную необходимо:
Старшую цифру исходного числа умножить на основание старой системы счисления и прибавить следующую цифру исходного числа.
Результат опять умножить на основание старой системы счисления и прибавить следующую цифру исходного числа.
Процесс перевода заканчивается после прибавления последней самой младшей цифры исходного числа.
Для перевода чисел из десятичной системы счисления в любую необходимо делить исходное число на основание новой системы счисления до тех пор пока последнее частное не станет меньше основания новой системы счисления. Результат складывается из остатков деления, начиная с последнего.
Для перевода чисел из любой системы счисления в любую необходимо исходное число перевести в десятичную систему по первому правилу (умножением), полученное десятичное число перевести в искомую систему по второму правилу (деление).
Таблица 1.1
Представление чисел в различных системах счисления |
|||
Системы счислений |
|||
Десятичная |
Двоичная |
Восьмеричная |
Шестнадцатеричная |
0 |
0 |
0 |
0 |
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 |
А |
11 |
1011 |
13 |
В |
12 |
1100 |
14 |
С |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
Для перевода чисел из систем счисления, которые являются степенью двойки необходимо:
из 16-ричной в 2-ичную: для перевода 16-ричного числа в двоичную систему необходимо каждую цифру 16-ричного числа заменить 4-х разрядным двоичным значением.
из 8-ричной в 2-ичную: Каждую цифру 8-ричного числа необходимо заменить 3-х разрядным двоичным значением.
Варианты представления информации в ПК
Вся информация (данные) представлена в виде двоичных кодов. Для удобства работы введены следующие термины, обозначающие совокупности двоичных разрядов (табл. 1. 2). Эти термины обычно используются в качестве единиц измерения объемов информации, хранимой или обрабатываемой в ЭВМ.
Таблица 1.2. Двоичные совокупности
Количество двоичных разрядов в группе |
1 |
8 |
16 |
8*1024 |
8*10242 |
8*10243 |
8*10244 |
Наименование единицы измерения |
Бит |
Байт |
Параграф |
Килобайт (Кбайт) |
Мегабайт (Мбайт) |
Гигабайт (Гбайт) |
Терабайт (Тбайт) |
Последовательность нескольких битов или байтов часто называют полем данных. Биты в числе (в слове, в поле и т.п.) нумеруются справа налево, начиная с 0-го разряда (рис.1.1)
Рис. 1.1. Двоичная система счисления
Примечание: БИТ (англ. bit, от binary двоичный и digit знак), двоичная единица, в теории информации единица количества информации (минимальная единица). БАЙТ (англ. byte), единица измерения количества информации при ее хранении, передаче и обработке на ЭВМ. Состоит из 8 бит (двоичных единиц). Информация, содержащаяся в одном байте обычно достаточна для представления одной буквы алфавита или 2 десятичный цифр.
В ПК могут обрабатываться поля постоянной и переменной длины.
Поля постоянной длины:
слово - 2 байта |
двойное слово - 4 байта |
полуслово - 1 байт |
расширенное слово - 8 байт |
слово длиной 10 байт- 10 байт |
|
Числа с фиксированной запятой чаще всего имеют формат слова и полуслова, числа с плавающей запятой - формат двойного и расширенного слова.
Поля переменной длины могут иметь любой размер от 0 до 256 байт, но обязательно равный целому числу байтов.
Компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;
представление информации посредством только двух состояний надежно и помехоустойчиво;
возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
двоичная арифметика намного проще десятичной.
Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.
Перевод из одной системы счисления в другую
Перевод десятичной системы в двоичную, восьмеричную и шестнадцатеричную.
При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1. Число в системе с основанием q записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего.
108
Ответ:4610=568 Ответ: 7510=1138 Ответ: 45010=7028 Ответ:12510=1758
102
Ответ: 37710=101 111 0012 Ответ:7510=1 001 0112
1016
Ответ:7510=4B16 Ответ: 17310=AD16 Ответ: 35710=16516 Ответ:75410=2F216
Перевод восьмеричной системы в двоичную, десятичную и шестнадцатеричную.
82
Перевод восьмеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр).
810
568 = (5·81)+(6·80) = 40 + 6 = 4610
3468 = (3·82)+(4·81)+(6·80)= 3·64 + 4·8 + 6·1 = 23010
23578 = (2·83)+(3·82)+(5·81)+(7·80) = 2·512 + 3·64 + 5·8 + 7·1 = 126310
816
Чтобы перевести восьмеричное число в шестнадцатеричное нужно: с начало восьмеричное нужно перевести в двоичную, после сдвигать числа вправо до образования тетрады (четверка цифр).
Перевод двоичной системы в восьмеричную, десятичную, и шестнадцатеричную.
Чтобы перевести число из двоичной системы в восьмеричную или шестнадцатеричную, его нужно разбить справа на лево на триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой.
28
210
Возведение в степень начинается с младшего разряда.
1011011011102 = (0·20) + (1·21) + (1·22) + (1·23) + (0·24) + (1·25) + (1·26) + (0·27) + +(1·28) + (1·29) + (0·210) + (1·211) = 0+2+4+8+0+32+64+0+256+512+0+2048=292610
10001000112 = (1·20) + (1·21) + (0·22) + (0·23) + (0·24) + (1·25) + (0·26) + (0·27) + +(0·28) + (1·29) = 1+2+0+0+0+32+0+0+0+512=54710
10111112=(1·20) + (1·21) + (1·22) + (1·23) + (1·24) + (0·25) + (1·26) = 1 + 2 + 4 + 8 + 16 + 0 + 64 = 9510
216
Перевод шестнадцатеричной системы в двоичную восьмеричную и десятичную.
Перевод шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной тетрадой (четверкой цифр).
162
168
Чтобы перевести шестнадцатеричное число в восьмеричное нужно: с начало шестнадцатеричное нужно перевести в двоичную, после сдвигать числа влево до образования триады (тройка цифр).
1610
Чтобы перевести шестнадцатеричное число в десятичное нужно: с помощью табл.1 перевести шестнадцатеричные значения в десятичный эквивалент, т.е F – 15, C – 12 и т.д.
1FCF16 = (15·160) + (12·161) + (15·162) + (1·163)=15+192+3840+4096=814310
5B16 = (11·160) + (5·161) = 11+80=9110 FF16 = (15·160) + (15·161) = 15+240=25510
АА16 = (10·160) + (10·161) = 10+160 = 17010
Самостоятельная работа
Вариант 1
Перевести число 165 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 531 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 200 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 1110100 переведите в десятичную систему счисления.
Вариант 2
Перевести число 113 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 331 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 333 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 10101011 переведите в десятичную систему счисления.
Вариант 3
Перевести число 253 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 313 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 113из десятичной системы счисления в двоичную систему счисления.
Двоичное число 1101000 переведите в десятичную систему счисления.
Вариант 4
Перевести число 522 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 122 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 212 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 11100111 переведите в десятичную систему счисления.
Вариант 5
Перевести число 141 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 131 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 174 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 100001010 переведите в десятичную систему счисления.
Вариант 6
Перевести число 251 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 364 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 487 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 100010001 переведите в десятичную систему счисления.
Вариант 7
Перевести число 397 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 577 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 348 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 10101110 переведите в десятичную систему счисления.
Вариант 8
Перевести число 231 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 531 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 358 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 10110000 переведите в десятичную систему счисления.
Вариант 9
Перевести число 200 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 750 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 351 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 10010111 переведите в десятичную систему счисления.
Вариант 10
Перевести число 325 из десятичной системы счисления в шестнадцатеричную систему счисления.
Перевести число 521 из десятичной системы счисления в восьмеричную систему счисления.
Перевести число 305 из десятичной системы счисления в двоичную систему счисления.
Двоичное число 11111010 переведите в десятичную систему счисления.