ФГБОУ ВПО БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ
Факультет информационных технологий и управления
Кафедра информатики и ИТ
Специальность прикладная информатика
Форма обучения очная
Курс, группа 1,1
Кузьмин Артем Олегович
( Фамилия, имя, отчество студента)
Арифметические основы функционирования ЭВМ.
Разработка программ на языке программирования PASCAL
Расчетно-графическая работа
«К защите допускаю»
Руководитель
ст. преп-ль Иванова Г.Р.
(ученая степень, звание, Ф. И. О.)
____________________
(подпись)
“___”_____________2012 г.
Оценка при защите
____________________
(подпись)
“___”_____________2012 г.
Уфа 2012
БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ
КАФЕДРА ИНФОРМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Задание на расчетно-графическую работу №2 по информатике по теме
«Арифметические основы функционирования ЭВМ.
Разработка программ на языке программирования PASCAL»
Выдано студенту группы ПИН101 Кузьмину А.О.
Дата выдачи задания: 27 марта 2012 года
Дата сдачи: 24 апреля 2012 года
Вариант 1
РГР состоит из пяти задач. При решении первых двух задач программное обеспечение не используется. Решение трех последних выполняется с использованием языка программирования Pascal.
Содержание работы
Выполнить примеры на использование различных систем счисления
Разработать блок-схемы алгоритмов решаемых задач.
Разработать и отладить программы в среде программирования Turbo Pascal 7.0.
Оформить пояснительную записку согласно СТО 0493582-003-2010.
Перевести заданное десятичное число в двоичную, пятеричную, восьмеричную и шестнадцатеричную системы счисления, оставив 4 знака в дробной части нового числа.
777,0210
Выполнить вычисление B7D16 – 2506.
Дан двумерный массив размерности NM. Определить сумму элементов, значения которых больше или равны заданному числу F. Найти местоположения максимальных элементов массива.
Определить, сколько раз в строке встречается заданный символ, и указать позиции этого символа в строке.
Вычислить значение функции:
Задание выдал: ___________________ Иванова Г.Р.
Задание получил: ___________________ Кузьмин А.П.
Работа выполнена: «__» __________ 2012г.
Оглавление
Решение задачи №1 «Переводы в различные системы счисления»
Постановка задачи
Перевести заданное десятичное число 777,0210 в двоичную, пятеричную, восьмеричную и шестнадцатеричную системы счисления, оставив 4 знака в дробной части нового числа.
Решение
Для перевода произвольного составного десятичного числа в любую систему счисления следует его целую и дробную часть переводить отдельно.
Алгоритм перевода целой части числа:
последовательно выполняем деление данного числа и получаемых неполных частных на основание новой системы счисления до тех пор пока не получится неполное частное, меньшее делителя;
полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления;
составить число в новой системе счисления, записывая его, начиная с последнего частного.
|
|
|
|
|
|
|
|
|
|
|
|
|
777 |
2 |
|
|
|
|
|
|
|
|
|
|
776 |
388 |
2 |
|
|
|
|
|
|
|
|
|
1 |
388 |
194 |
2 |
|
|
|
|
|
|
|
|
|
0 |
194 |
97 |
2 |
|
|
|
|
|
|
|
|
|
0 |
96 |
48 |
2 |
|
|
|
|
|
|
|
|
|
1 |
48 |
24 |
2 |
|
|
|
|
|
|
|
|
|
0 |
24 |
12 |
2 |
|
|
|
|
|
|
|
|
|
0 |
12 |
6 |
2 |
|
|
|
|
|
|
|
|
|
0 |
6 |
3 |
2 |
|
|
|
|
|
|
|
|
|
0 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 1 Перевод целой части числа 777,0210 в двоичную систему
Отсюда, 77710 = 11000010012
Алгоритм перевода дробной части:
последовательно умножать дробную часть числа и получаемые дробные части произведений на основание новой системы до тех пор, пока дробная часть произведения не станет равной нулю или не будет достигнута требуемая точность представления числа в новой системе счисления;
полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления;
составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.
|
0,02 |
|
2 |
|
0,04 |
|
2 |
|
0,08 |
|
2 |
|
0,16 |
|
2 |
|
0,32 |
|
2 |
|
0,64 |
|
2 |
|
1,28 |
Рисунок 2 Перевод дробной части числа 777,02 в двоичную систему
Отсюда, 0,0210 = 0,0000012
777,0210 = 1100001001,0000012
|
777 |
5 |
|
|
|
|
|
0,02 |
|
|
775 |
155 |
5 |
|
|
|
|
5 |
|
|
2 |
155 |
31 |
5 |
|
|
|
0,1 |
|
|
|
1 |
30 |
6 |
5 |
|
|
5 |
|
|
|
|
1 |
5 |
1 |
|
|
0,5 |
|
|
|
|
|
1 |
|
|
|
5 |
|
|
|
|
|
|
|
|
|
2,5 |
|
|
|
|
|
|
|
|
|
0,5 |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
2,5 |
|
Рисунок 3 Перевод числа 777,0210 в пятеричную систему
Отсюда, 777,0210 = 11112,00225
Для перевода в другие системы счисления можно воспользоваться теми же правилами, но можно использовать и другой метод, учитывая, что два оставшихся перевода осуществляются в системы с основанием 2n (8-ую и 16-ую). Так как двоичное представление заданного числа уже получено, то можно воспользоваться n-разрядной эквивалентностью этого представления и восьмеричного и шестнадцатеричного представления.
Для того чтобы произвольное двоичное число записать в системе счисления с основанием 2n, нужно:
данное двоичное число разбить слева и справа (целую и дробную части) на группы по n цифр в каждой;
рассмотреть каждую группу как n-разрядное двоичное число и записать ее соответствующей цифрой в системе счисления с основанием 2n.
Таким образом:
1 100 001 001, 000 0012
1411,0018
Отсюда, 777,0210 = 1411,0018
11 0000 1001, 0000 01002
309,0416
Отсюда, 777,0210 = 309,0416
Ответ:
777,0210 = 100001001,0000012 = 11112,00225 = 1411,0018 = 309,0416