Язык программирования С, лабораторная работа 5.
Арифметические, логические и побитовые операции, операции отношения

Задания

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