Министерство образования Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
Сибирский Государственный Индустриальный Университет
Кафедра автоматизированного электропривода и промышленной
электроники
ОТЧЕТ
ПО КОМПЬЮТЕРНОЙ ПРАКТИКЕ
Вариант индивидуального задания № 21
Выполнил: студент гр. АЭП-042
Ручкин А.С.
Руководители практики:
Дружилов С.А.
Мурышкин А.К.
Новокузнецк
2006
Задание.
Составить программу преобразования десятичного числа X10 со знаком в обратный модифицированный двоичный код.
Диапазон изменения десятичных чисел -41<X10<33. Использование программы проиллюстрировать тремя примерами.
Для преобразования десятичного числа в двоичный код необходимо провести последовательное деление исходного числа на 2. Это деление в остатках дает запись цифр соответствующего двоичного числа, но в обратном порядке.
Структурная схема.
Алгоритм имеет цикл и два ветвления.
Первое ветвление: проверяется условие n <= 0. Если условие выполняется, то продолжается выполнение программы, если не выполняется, то повторяется цикл (деление исходного числа на 2), после которого вновь проверяется условие n <= 0.
Второе ветвление: проверяется условие nn < 0 (отрицательное число или нет). Если условие не выполняется, то происходит вывод результата. Если условие выполняется, то к числу добавляется начальный разряд, равный единице.
Цикл повторяет выполнение программы для каждого целого числа из промежутка от -10 до 10.
Для составления программы используем язык программирования Borland Pascal 7.0 – один из самых распространенных, что обуславливается его универсальностью и простотой использования.
Текст программы.
program n2;
uses crt;
var b:array [0..8] of integer;
n1, k, n, nn :integer;
begin
clrscr;
for nn:=-10 to 10 do
begin {цикл для расчета 10-ных чисел}
n:=abs(nn); {находится модуль исходного числа}
for k:=0 to 8 do {создается массив с данными для 2-ного числа}
b[k]:=0; {от 0-7 -хранение числа и 8 для знака}
k:=0;
repeat
n1:=n div 2; {число делится на 2}
b[k]:= n mod 2; {и считается остаток от деления на 2}
n:=n1; k:=k+1; {остаток заносится в массив с результатом }
until n<=0; {цикл повторяется пока результат деления не 0}
if nn<0 then b[8]:=1; {если число отрицательное то нач разряд =1 }
write( nn:3,' ');
for k:=8 downto 0 do {Вывод данных}
write( b[k] );
writeln;
end;
end.
Инструкция для пользователя.
Программа перевода десятичных чисел в модернизированный двоичный код хранится в файле с именем «Praktika.pas» и запускается из инструментальной среды Borland Pascal. Программа автоматически без ввода данных выполняет операцию перевода ряда десятичных чисел (-10 до 10) в модифицированный двоичный код. Результаты вычисления выводятся на экран дисплея.
Результат расчета приведён в приложении.
Приложение.
Исходное десятичное число |
Модифицированный двоичный код |
-10 |
100001010 |
-9 |
100001001 |
-8 |
100001000 |
-7 |
100000111 |
-6 |
100000110 |
-5 |
100000101 |
-4 |
100000100 |
-3 |
100000011 |
-2 |
100000010 |
-1 |
100000001 |
0 |
000000000 |
1 |
000000001 |
2 |
000000010 |
3 |
000000011 |
4 |
000000100 |
5 |
000000101 |
6 |
000000110 |
7 |
000000111 |
8 |
000001000 |
9 |
000001001 |
10 |
000001010 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.