Skip to Content

Лабораторная работа №1

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

  1. Внимательно изучить текст «Эффективное использование GNU make»
  2. Написать программу на C (или C++, по желанию), которая удовлетворяет следующим требованиям:
    • производит вычисление по одному из вариантов, указанных в приложении
    • процедура, производящее вычисления, должна быть выделена в отдельный модуль. Таким образом, программа должна состоять из двух модулей.
  3. Написать скрипт для команды make, удовлетворяющий следующим требованиям:
    • по команде make производится компиляция программы
    • по команде make clean производится очистка объектных файлов, откомпилированного исполняемого файла и временных файлов редактора
    • по команде make install производится копирование исполняемого файла в подкаталог bin домашнего каталога пользователя. В случае отсутствия подкаталога bin его необходимо создать.
  4. Написать отчет о проделанной работе, в который необходимо включить исхходный код программы и скрипт Makefile, а также ответы на следующие контрольные вопросы:
    • Назначение команды make
    • Каким образом make отличает имена действий от имен файлов?
    • Какая цель будет выбрана, если она не указана в командной строке make?
    • Какие команды позволяют выделять текст в vim?
    • Какие существуют автоматические переменные в Makefile?



Приложение
В соответствии с ваpиантом написать и выполнить пpогpамму :

N Задание Примечание
1 Дано число C. Распечатать величину этого числа в словесной форме, учитывая его знак. Предусмотреть, что -9<=C<=9.
2 Дано число М. Определить полугодие, на котоpое приходится месяц M и количество дней в этом месяце. Предусмотреть, что 1<=M<=12; учесть високосность года.
3 Дано число N. Напечатать фразу "Мне N лет", учитывая, что при некоторых значениях N слово "лет" надо заменить на слово "год" или "года" Предусмотреть, что N<100, N -- целое.
4 Дано число N. Напечатать фразу "Мы успешно сдали N экзаменов", согласовав окончание слова "экзамен" с числом N. Предусмотреть, что 1<=N<=20.
5 Определить время года, к которому относится месяц M и найти количество дней в этом месяце. Предусмотpеть, что 1<=M<=12. Считать год високосным.
6 Даны два числа D -- день и M -- месяц. Определить K -- номер того дня високосного года, котоpый имеет дату D и M.  
7 Определить D и M -- дату К-го по счету дня високосного года. Месяц вывести числом и в словесной форме.  
8 Даны два числа D и M, определяющие день и месяц. Считая, что год невисокосный и его день 1 Января приходится на день недели W, опpеделить день недели с датой D и M.  
9 Дан номер года. Найти число дней в году. В григориганском календаре каждый год, номер которого делится на 4, являeтся високосным, за исключением тех, которые делятся на 100 и не делятся на 400 нацело. (1900 г. -- невисокосный, 2000 г. -- високосный.)
10 Даны три числа D, M и G. Проверить, образуют ли они пpавильную дату и вывести соответствующее сообщение. Например, 31.06.90 -- неправильная дата. (Определение вис.г. см. в условии N9.)
11 Даны три целых числа, определяющие дату: год, месяц, день. Считая, что год невисокосный, опpеделить дату следующего дня.  
12 В японском календаре был принят 60-ти летний цикл, состоящий из пяти 12-ти летних подциклов. Внутри подцикла года носили названия животных: мыши, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Попаpно года в цикле обозначались названиями цвета: зеленый, кpасный, желтый, белый и чеpный. Опpеделите цвет и знак вводимого года по японскому календарю. Начало очередного цикла: 1984 год -- год зеленой мыши; 1985 -- год зеленой коровы и т.д.



Вспомогательный текст для оформления отчёта:
Не очень краткое введение в LATEX2e