рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ЛАБОРАТОРНАЯ РАБОТА № 5

ЛАБОРАТОРНАЯ РАБОТА № 5 - раздел Программирование, ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ Операции Над Многословными Операндами   1. Многословны...

Операции над многословными операндами

 

1. Многословные операнды

 

Арифметические выражения в языке C представляют собой формулы для вычисления значений. Они состоят из операндов: переменные, константы и т.д.; и операций: сложение, вычитание и т.д. В качестве операндов могут использоваться как простые типы переменных (int, float...), так и структурированные (массивы, множества...). В последнем случае операнды называются многословными для операций над ними в большинстве случаев необходимо писать программы.

В данной лабораторной работе необходимо сложить и вычесть два целых числа. В простейшем случае эти операции выполнялись бы достаточно просто, например: a=x+y; b=x-y; (если типы чисел простые). Однако исходные целые числа не укладываются в стандартное определение простых типов переменных, они представлены в виде массивов байтов (по условию задачи), поэтому возникает необходимость программирования специальных процедур сложения и вычитания. Оба массива одномерные, размером (для конкретной задачи) - не более 6 байт. Пусть в первом байте хранится знак числа, а в остальных - его значащие двоичные цифры (будем это представление считать прямым кодом числа). Исходные массивы (числа) желательно записать в виде шестнадцатеричных констант в технологической части программы.

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

Алгебраическое сложение двух чисел удобно выполнять в дополнительном коде: суммируются все разряды чисел, включая знаковый, а при возникновении переноса из знакового разряда он (перенос) игнорируется. Знаковый разряд суммы (0 –«+», 1 – «-») при этом формируется автоматически, и сама сумма получается в дополнительном коде. Дополнительным кодом положительного числа является прямой код этого числа. Для получения дополнительного кода отрицательного числа необходимо при просмотре цифр числа справа налево оставить неизменными все цифры «0» и первую встреченную цифру «1», все остальные цифры, за исключением знака числа, проинвертировать. Перевод отрицательного числа из дополнительного кода в прямой можно выполнить по этому же правилу.

 

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

 

Написать функцию алгебраического сложения двух целых чисел, каждое из которых представлено массивом байтов. Первый байт массива содержит код знака числа: 0 - ‘+’, 225 - ‘-‘, а остальные байты- значащие двоичные цифры числа.

 

– Конец работы –

Эта тема принадлежит разделу:

ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

На сайте allrefs.net читайте: ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Российской Федерации...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ЛАБОРАТОРНАЯ РАБОТА № 5

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Санкт-Петербург
Составители: Т.М.Максимова   Рецензент: В.П.Попов     В методические указания включены краткие теоретические сведения, необходимые д

ОБЩИЕ ТРЕБОВАНИЯ К СОДЕРЖАНИЮ ОТЧЕТОВ
  В методические указания включены задания на 8 лабораторных работ, содержанием которых является разработка программы на языке С. Процесс разработки программы студент должен отразить

Текст программы
  void sort(int *a, char n) //функция сортировки n первых элементов (n<=100) массива a { bool f=true; //признак выполнения операции обмена char

ЛАБОРАТОРНАЯ РАБОТА N 1
Встроенные типы данных   1. Основные типы данных Язык С поддерживает несколько базовых типов данных, которые также называют простыми. Перечислим некоторые из них.

ЛАБОРАТОРНАЯ РАБОТА N 2
Программирование операций ввода-вывода   1.Некоторые библиотечные функции для работы с файлами   Функции файлового ввода-вывода используют указатель фа

ЛАБОРАТОРНАЯ РАБОТА № 3
Целочисленная арифметика   1. Введение в постановку задачи 1.1. Позиционные системы счисления При записи числа в позиционной системе счисления вклад каждой

ЛАБОРАТОРНАЯ РАБОТА № 4
Вещественная арифметика   1. Генератор псевдослучайных чисел   Для многих задач программирования, связанных с математическими моделями случайных явлени

ЛАБОРАТОРНАЯ РАБОТА N 6
Работа со структурами   1 Понятие табличной структуры данных   Таблицей называется структура данных, элементы которой представляют собой записи, состоя

ЛАБОРАТОРНАЯ РАБОТА N 7
Операции над списковыми структурами   1.Принципы реализации динамических структур данных   Линейный список является примером динамической структуры дан

ЛАБОРАТОРНАЯ РАБОТА N 8
Шаблоны функций   1.Перегрузка и шаблоны функций   В одной программе может быть размещено несколько функций с одним и тем же именем, если списки формал

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
  1. Вирт Н. Алгоритмы и структуры данных. - М.: Мир,1989. - 360с. 2. Карпов Б., Баранова Т. С++: Специальный справочник. – СПб.: Питер, 2001. – 480с. 3. Кнут Д. Иск

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги