У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 1.1

Работа добавлена на сайт samzan.net: 2016-03-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.2.2025

1.   Лабораторная работа №1.

«Преобразование целых десятичных чисел в двоичный вид».

Целью данной работы является моделирование преобразований целочисленных величин как в операционной системе, так и в процессоре.

 

1.1                    Задание на лабораторную работу.

 

С клавиатуры вводится целое число. Необходимо вывести его двоичное представление на экран.

Программа должна поддерживать все целочисленные типы данных языка реализации (char, int, long int, unsigned int, unsigned long int для языка C/C++, integer, byte, word, shorting, longint для Pascal/Delphi).

Отрицательные числа выводятся в дополнительном коде.

Необходимо также решить обратную задачу: преобразовать двоичное число в десятичный вид.

Замечания:

1.     Дополнительный код образуется из прямого путем инверсии бит и прибавления единицы:

Пример: -5:   5 = 00000101, -5 = not(5)+1 = 11111010+1 = 11111011

2.     Запрещается использовать для машинно-зависимые методы и библиотеки языков программирования.

1.     В качестве одного из вариантов решения предлагается следующие алгоритм на псевдоязыке:

 

program Translate1;

s : string;

begin

enter(a);

s:=’’;

while a<>0 do

  if  (abs(a) mod 2) then s:=’1’+s else s:=’0’+s;

  a:=abs(a) div 2;

end while;

if a<0 then

 mind:=0;

 for i:=1 to 8 do

   k:=val(s[8-i+1])+1+mind;

   s[8-i+1]:=k;

   if k=2 then begin

     s[8-i+1]:=’0’; mind:=1;

   endif  

   if k=3 then begin

     s[8-i+1]:=’1’; mind:=1;

   endif  

 endfor

 endif

end;

где div и mod  - операции целочисленного деления и деления по модулю соответственно.

 

program Translate1;

s : string;

begin

enter(a);

s:=’’;

while a<>0 do

  if  (abs(a) shr 1) and (1 shl (sizeof(a)+1) + 1) then s:=’1’+s else s:=’0’+s;

  a:=abs(a) shr 2;

end while;

if a<0 then

 mind:=0;

 for i:=1 to 8 do

   k:=val(s[8-i+1])+1+mind;

   s[8-i+1]:=k;

   if k=2 then begin

     s[8-i+1]:=’0’; mind:=1;

   endif  

   if k=3 then begin

     s[8-i+1]:=’1’; mind:=1;

   endif  

 endfor

 endif

end;

 

где shr и sizeof  - операции сдвига вправо и определения размера типа в битах соответственно.

Задание 1. Решение.

С клавиатуры вводится целое число. Необходимо вывести его двоичное представление на экран. Ниже приведен разработанный код:

program algoritm;

uses crt ;

var s,sbox:string;

I, step, dva, n, l, delo: intger;

begin

{Алгоритм перевода}

Writeln  (‘Введите двоичное число:’);

read (dva);

s:=IntToStr(dva);      записываем двоичное число как строку

l:=length (s);          длина строки

for i:=1 to l do       делаем для каждого символа

begin

dva:=StrToInt (s [i] ); записываем текущее число

step:=l-I;   степень

if dva>0 then

begin

for n:=1to step do

dva:=dva*2;

delo:=delo+dva;     складываем

end;

end;

Writeln(‘Десятичное число:’,delo);

end.

Задание 2. Решение.

Перевод числа из двоичной системы счисления в десятичную систему счисления.

Разработанный код:

program algoritm;

uses crt ;

var i, ost,des,n: integer;

m: array [1..99] ofinteger;

begin

Writeln  (‘Введите двоичное число:’);

read (des);

n:=0;

i:=0;

repeat

  inc (n);                              сколько раз делим

  inc (i);                                     текущий элемент

  ost;=des mod 2;                          остаток

des:=des div 2;                            делим десятичное число

m [i]:=ost;    записываем в массив остаток (элемент двоичного числа - 0 или 1)

until des=0              делим пока не останется 0

writeln (‘Двоичное число:’);

for i:=n downto 1 do                                выводим наше двоичное число с конца

write (m[i], ‘ ’);

end.




1. Государственный Рязанский Приборный завод СОДЕРЖАНИЕ
2. политических организаций которые могли бы решать задачи распространения доверительной информации управля
3. тема устойчивых связей которые возникают между элементами социальной системы в ходе взаимодействия
4. по теме- телефонный этикет
5. Тема 3 Грошові надходження підприємств 3
6. АКАДЕМИЯ ПРАВА И УПРАВЛЕНИЯ ИНСТИТУТ ТЮМЕНСКИЙ ФИЛИАЛ УЧЕБНОМЕТОДИЧЕСКИЙ К
7. Ведь так часто получается что мы планируем свой длительный новогодний отдых таким идеальным и интересным а
8. Добро пожаловать но это очевидно а вот что было под ним- Убирайтесь в Ад твари
9. тема ~ это совокупность взаимосвязанных и взаимосоединенных процессоров или вычислительных машин перифери
10. Пепел розы Мэри Хиггинс КларкПепел розы OCR Rolnd; SpellCheck Nicol Пепел розы Эксмо; Мо