Загрузил i i

ЛР1 Соболев ПИТ90

реклама
Министерство цифрового развития, связи и
массовых коммуникаций Российской Федерации
Сибирский государственный университет телекоммуникаций и информатики
Институт заочного образования
Лабораторно-практическая работа № 1
по дисциплине: «Информатика и программирование» ч.1
Представление данных в ЭВМ и основы алгоритмизации
Выполнил: Соболев Р.В.
Группа: ПИТ-90
Вариант: 4
Проверил:
Полетайкин А.Н.
Новосибирск, 2022 год
Тема: Представление данных в ЭВМ и основы алгоритмизации
Цель: изучение способов представления информации в памяти ЭВМ, освоение
принципов цифрового кодирования информации в ЭВМ.
Задание
1. В приложении А выбрать исходные данные (ИД) согласно номеру своего
варианта.
2. Представить десятичное число 1а в двоичной и шестнадцатеричной системе
счисления в формате байт1.
3. Представить десятичные числа 1а, 1б и -1в в двоичной и шестнадцатеричной
системе счисления в формате слова и двойного слова2.
4. Зашифровать данный текст 2, используя таблицу ASCII-кодов.
5. Расшифровать данный текст 3, используя таблицу ASCII-кодов.
6. Составить программу на языке С реализующую указанные в пп. 2 – 5
преобразования и выводящую их на дисплей. Коды выводить в формате
dec и hex3.
7. Отладить программу и получить результаты.
8. Добавить в программу код для вычисления значения функции z (см.
функцию преобразования 1 в приложении Б), приняв за x число А, а за y
число В. Подтвердить расчет ручным простчетом.
9. Составить блок-схему линейного алгоритма для программы4.
10.Сделать выводы.
Примечания:
1. В задании 2 в число "1а" разряд сотен заменить нечетным вариантам
на ноль, четным вариантам – на единицу.
2. В задании 3 "-1в" означает целую часть числа 1в со знаком "минус".
3. При программировании задания 5 необходимо использовать
несколько инструкций (по количеству кодов)
4. При составлении блок-схемы использовать символы 1, 2, 7 и 8.
Вариант 4
1. а) 216(10); б) 336(10); в) 741,125(10); г) 712,375(10); д) 184,14(10).
2. Computer.
3. 84 88 91 8A 8E 82 8E 84.
Приложение Б:
4
z=25*x+37*y
x

e  sin( x), при x  3,1
y 2

cos ( x), при x  3,1
Решение
Представим десятичное число 116 в двоичной и шестнадцатеричной системе
счисления в формате байт.
1) модуль в двоичной форме
2) дописываем нули
3) в 16-ричном виде
1110100
01110100
74
Представим десятичное число 216 в двоичной и шестнадцатеричной системе
счисления в формате слова и двойного слова.
Формат слова
1) модуль в двоичной форме
1101 1000
2) дописываем нули
0000 0000 1101 1000
3) в 16-ричном виде
00D8
Формат двойного слова
1) модуль в двоичной форме
1101 1000
2) дописываем нули
0000 0000 0000 0000 0000 0000 1101 1000
3) в 16-ричном виде
000000D8
Представим десятичное число 336 в двоичной и шестнадцатеричной системе
счисления в формате слова и двойного слова.
Формат слова
1) модуль в двоичной форме
1 0101 0000
2) дописываем нули
0000 0001 0101 0000
3) в 16-ричном виде
0150
Формат двойного слова
1) модуль в двоичной форме
1 0101 0000
2) дописываем нули
0000 0000 0000 0000 0000 0001 0101 0000
3) в 16-ричном виде
00000150
Представим десятичное число -741 в двоичной и шестнадцатеричной системе
счисления в формате слова и двойного слова.
Формат слова
1) модуль в двоичной форме
10 1110 0101
2) дописываем нули
0000 0010 1110 0101
3) инвертируем
1111 1101 0001 1010
4) прибавляем единицу
1111 1101 0001 1011
5) в 16-ричном виде
FD1B
Формат двойного слова
1) модуль в двоичной форме
10 1110 0101
2) дописываем нули
0000 0000 0000 0000 0000 0010 1110 0101
3) инвертируем
4) прибавляем единицу
5) в 16-ричном виде
1111 1111 1111 1111 1111 1101 0001 1010
1111 1111 1111 1111 1111 1101 0001 1011
FFFFFD1B
Зашифровать данный текст “Computer”, используя таблицу ASCII-кодов:
43 6F 6D 70 75 74 65 72
Расшифруем данный текст “84 88 91 8A 8E 82 8E 84”, используя таблицу
ASCII-кодов:
ДИСКОВОД
Составим программу на языке С, реализующую указанные в пп. 2 – 5
преобразования и выводящую их на дисплей.
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void main()
{
setlocale(LC_ALL, "russian");
char a = 116;
int b = 216;
int c = 336;
int d = -741;
printf("Число 116 (dec): %d\n", a);
printf("Число 116 (hex): %X\n", a);
printf("Число 216 (dec): %d\n", b);
printf("Число 216 (hex): %X\n", b);
printf("Число 336 (dec): %d\n", c);
printf("Число 336 (hex): %X\n", c);
printf("Число -741 (dec): %d\n", d);
printf("Число -741 (hex): %X\n", d);
printf("\nComputer (dec):\n%d %d %d %d %d %d %d %d\n",
'C', 'o', 'm', 'p', 'u', 't', 'e', 'r');
printf("Computer (hex):\n%X %X %X %X %X %X %X %X\n",
'C', 'o', 'm', 'p', 'u', 't', 'e', 'r');
printf("\n44 49 53 43 4F 56 4F 44 = %c %c %c %c %c %c %c %c\n",
0x44, 0x49, 0x53, 0x43, 0x4F, 0x56, 0x4F, 0x44);
float x = 216;
float y = 336;
float z = 25 * x + 37 * y;
printf("\nz = %.3f\n", z);
system("pause");
}
Результаты
Добавим в программу код для вычисления значения функции z=25*x+37*y,
приняв за x число А, а за y число В.
float x = 216;
float y = 336;
float z = 25 * x + 37 * y;
printf("\nz = %.3f\n", z);
Результаты
Сделаем ручной просчет:
z = 25 * x + 37 * y = 25 * 216 + 37 * 336 = 5400 + 12432 = 17832
Блок-схема алгоритма
Выводы
Изучили способы представления информации в памяти ЭВМ, освоили принципы
цифрового кодирования информации в ЭВМ.
Скачать