- •1. Краткие теоретические сведения
- •1.1. Алгоритмизация вычислительного процесса
- •1.2. Арифметические операции
- •1.2.1. Знаки операций
- •1.2.2. Операции
- •1.2.3. Арифметические операции
- •1.2.4.1. Операция присваивания
- •1.2.4.6. Операция sizeof
- •1.3. Порядок (старшинство) выполнения арифметических операций
- •1.4. Круглые скобки позволяют переопределить приоритет
- •{ // Начало главной функции double X, y, z, a, b, c, h; // Объявление переменных
- •1.6. Побитовые логические операции и операции сдвига
- •3.6. Использование операторов сдвига для организации ввода и вывода
- •2. Задание
- •2.12. Задания
- •2.12.1. Задание на алгоритмизацию вычислительных процессов (домашнее)
- •2.12.2.1. Формулировка задания
- •2.12.2.2. Варианты задания Варианты задания приведены в табл. 3.14. Вариант соответствует номеру в журнале группы.
- •2.12.2.3. Разработка алгоритма решения
- •2.12.2.4. Определение переменных программы
- •2.12.2.5. Разработка текста программы
- •2.12.2.6. Текст программы
- •При работе программы на экран было выдано следующее:
- •Варианты задания приведены в табл. 3.15. Вариант соответствует номеру в журнале группы.
- •2.12.3.3. Пример решения задачи для варианта № 30 Решение задачи предполагает создание двух программ: упаковки (см. 2.12.3.3.1) и распаковки (см. 2.12.3.3.2)
- •2.12.3.3.1. Программа упаковки
- •2.12.3.3.1.1. Разработка алгоритма решения
- •2.12.3.3.1.2. Определение переменных программы
- •2.12.3.3.1.3. Разработка текста программы
- •2.12.3.3.1.4. Программа
- •2.12.3.3.1.5. Отладка программы
- •2.12.3.3.1.6. Результаты работы программы
- •2.12.3.3.2. Программа распаковки
- •2.12.3.3.2.1. Разработка алгоритма решения.
- •2.12.3.3.2.4. Текст программы
- •2.12.3.3.2. 5. Отладка программы
- •2.12.3.3.2.6. Результаты работы программы
- •2.12.4. Домашнее задание
- •2.12.4.1. Текст программы
- •2.12.4.2. Результаты работы программы
- •3. Выводы
- •4. Требование к отчету
- •5. Вопросы для самоконтроля
- •Литература
- •Оглавление
- •1. Краткие теоретические сведения 2
- •1.1. Алгоритмизация вычислительного процесса 2
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:
Замечание: поскольку решение аналогичных задач рассмотрено очень подробно при решении предыдущих задач, то ниже приводится только текст программы.