Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР3-С++-13 марта-2012.doc
Скачиваний:
14
Добавлен:
15.09.2019
Размер:
1.26 Mб
Скачать

2.12.3.3.2.4. Текст программы

Полный текст программы приведен ниже.

/*******************************************************/

/* Лабораторная работа № 3 */

/* Задание 3 (часть 2) */

/* Распаковка кода */

/* Пример выполнения. Вариант № 30 */

/*******************************************************/

#include <stdio.h>

# include<conio.h>

int main(void)

{

char c; /* код состояния */

char f; /* признак ошибки */

char b; /* признак занятости */

unsigned char n; /* количество байт */

unsigned int UnitStateWord; /* слово состояния */

/* ввод слова состояния устройства */

printf("Введите cлово состояния устройства \n");

printf("(16-ричное число от 0 до 0xFFFF) >");

scanf("%x",&UnitStateWord);

/* Выделение составных частей */

c=(UnitStateWord>>11)&0x1F;

f=(UnitStateWord>>9)&1;

b=(UnitStateWord>>8)&1;

n=UnitStateWord&0xFF;

/* вывод результатов */

putchar('\n');

printf("Код состояния = %d\n",c);

printf("Признак ошибки = %d\n",f);

printf("Признак занятости = %d\n",b);

printf("Количество переданных байт = %d\n",n);

getch();

return 0;

}

2.12.3.3.2. 5. Отладка программы

Отладка программы ведется по методике, описанной в пп. 2.12.3.3.1.4.

2.12.3.3.2.6. Результаты работы программы

При работе программы на экран были выведены такие результаты:

Введите cлово состояния устройства

(16-ричное число от 0 до 0xFFFF) >cb42

Код состояния = 25

Признак ошибки = 1

Признак занятости = 1

Количество переданных байт = 66

2.12.4. Домашнее задание

Написать программу на языке С++, реализующую вычисления по формуле, приведенной в табл. 3.12. Вариант соответствует номеру в журнале группы.

Таблица 3.12.

Варианты домашнего задания

вар.

Формула

вар.

Формула

1

16

2

17

3

18

4

19

5

20

6

21

7

22

8

23

9

24

10

25

11

26

12

27

13

28

14

29

15

30

Примечание к табл. – число (пи+ принять равным = 3, 14159.

Пример 3.12. Выполнить вычисление по формуле для варианта 30:

Замечание: поскольку решение аналогичных задач рассмотрено очень подробно при решении предыдущих задач, то ниже приводится только текст программы.