ЛР 2.
Арифметические, логические и побитовые операции, операции отношения

Задания

  1. (20) Дано однобайтовое значение X. Создать программу, определяющую сколько потребуется последовательных операций инкремента и декримента для перехода через границу типа переменной X. Границы переменной определять с помощью констант модуля limits.h. Рассмотреть варианты типов signed char и unsigned char для переменной X. Быть готовым предсказать результат работы программы после ввода значения X.
  2. (20) Даны однобайтовые значения X и Y. Создать программу, определяющую сколько потребуется последовательных операций вида X=X+Y и X=X-Y для перехода через границу типа переменной X. Границы переменной определять с помощью констант модуля limits.h. Рассмотреть все варианты сочетаний типов signed char и unsigned char для переменных X и Y. Быть готовым предсказать результат работы программы после ввода значений X и Y.
  3. (20) Дана последовательность из N целочисленных значений (N>1). Применив не более одного условного оператора (или условной тернарной операции), программа должна определить, является-ли последовательность возрастающей. Циклы в программе разрешается использовать только для организации перебора элементов последовательности. Если условный оператор встречается внутри цикла, считается, что он выполняется многократно.
  4. (20+20) Дана строка (массив) из 8 символов. Считая, что на месте десятичных цифр находятся единицы, а на месте остальных символов - нули, получить десятичное представление строки, рассматривая ее как последовательность двоичных цифр. Запрещается использовать при решении задачи условные операторы или условную тернарную операцию. Циклы в программе разрешается использовать только для организации перебора элементов строки (массива). Если условный оператор встречается внутри цикла, считается, что он выполняется многократно. Например: исходная строка(массив) - F19w0-65, ответ - 107