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

Инструментарий

Для подготовки текста решений задач следует использовать произвольный текстовый редактор, желательно - с подсветкой синтаксиса (geany, редактор файлового менеджера mc и т.д.).

Для компиляции - компилятор gcc.

Задания

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

Ограничения на условные операторы распространяются и на условную тернарную операцию.

Для ввода-вывода данных использовать функции scanf, printf.

При необходимости использовать математические функции из библиотек stdlib.h и math.h.

При использовании функций из math.h следует указывать компилятору подключать при сборке программы динамическую библиотеку libm.so, содержащую код математических функций. Это обеспечивает опция -lm в командной строке компилятора. Например: gcc my.c -o my.run -lm скомпилирует программу my.c в исполняемый файл my.run, подключив библиотеку libm.so.

Для поиска нужной функции использовать утилиту man, которая обеспечивает доступ из консоли к системе помощи linux, в том числе - к описаниям системных библиотек и функций на языке С. Например man stdlib.h возвратит описание содержимого библиотеки stdlib, в том числе - заголовки всех функций библиотеки. Найдя требуемую функцию, ее описание можно получить, например, так: man abs, где abs - имя функции.