Язык программирования С, лабораторная работа 2.
Циклы и функции

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

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

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

Основу для некоторых задач предоставляет задачник.

Задания

  1. Решить задачу 330 в следующих комбинациях:
    1. Циклами for, без функций
    2. Циклами while, без функций
    3. Циклами do-while, без функций
    4. Операторами goto, без циклов и функций
    5. Циклами разного вида, с функцией определения совершенного числа
  2. Решить задачу 339, создав на каждый вариант отдельную функцию. Функции должны обрабатывать только локаьные данные, переданные в качестве аргументов. Возврат результатов - через дополнительные аргументы или с помощью return, в зависимости от задачи, решаемой функцией. Обращение из функций к внешним по отношению функциям пользовательским переменным - запрещено. Разработать программу проверки действия функций.

Для ввода-вывода данных использовать функции 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 - имя функции.