Введение
В этом лабораторном практикуме мы изучим, как генерировать последовательность Фибоначчи на языке C. Последовательность Фибоначчи — это известная математическая последовательность, где каждое число является суммой двух предыдущих. Мы начнём с ввода количества элементов от пользователя, затем воспользуемся циклом для генерации последовательности и, наконец, выведем полученную последовательность Фибоначчи. Этот практикум охватывает фундаментальные понятия теории чисел и дискретной математики, используя язык программирования C.
Чтение количества элементов
В этом шаге мы изучим, как считать количество элементов для генерации последовательности Фибоначчи на языке C. Это первый ключевой шаг в создании нашей программы для последовательности Фибоначчи.
Сначала создадим новый файл C в каталоге ~/project:
cd ~/project
nano fibonacci.c
Теперь напишем начальный код для чтения количества элементов от пользователя:
#include <stdio.h>
int main() {
int n;
printf("Введите количество элементов в последовательности Фибоначчи: ");
scanf("%d", &n);
printf("Вы ввели %d элементов.\n", n);
return 0;
}
Скомпилируем и запустим программу, чтобы проверить ввод:
gcc fibonacci.c -o fibonacci
./fibonacci
Пример вывода:
Введите количество элементов в последовательности Фибоначчи: 10
Вы ввели 10 элементов.
Объяснение
scanf("%d", &n)считывает целое число от пользователя и сохраняет его в переменнойn- Мы используем
printf(), чтобы запросить у пользователя данные и отобразить введённое количество элементов. - Программа проверяет, что мы можем успешно получить ввод пользователя для длины последовательности.
Использование цикла для генерации элементов
В этом шаге мы изменим нашу предыдущую программу для последовательности Фибоначчи, чтобы сгенерировать последовательность с помощью цикла. Мы будем использовать код из предыдущего шага для создания фактической последовательности Фибоначчи.
Обновим файл fibonacci.c:
cd ~/project
nano fibonacci.c
Теперь изменим код, чтобы сгенерировать элементы Фибоначчи с помощью цикла for:
#include <stdio.h>
int main() {
int n, first = 0, second = 1, next;
printf("Введите количество элементов в последовательности Фибоначчи: ");
scanf("%d", &n);
printf("Последовательность Фибоначчи из %d элементов:\n", n);
for (int i = 0; i < n; i++) {
if (i <= 1)
next = i;
else {
next = first + second;
first = second;
second = next;
}
printf("%d ", next);
}
printf("\n");
return 0;
}
Скомпилируйте и запустите программу:
gcc fibonacci.c -o fibonacci
./fibonacci
Пример вывода:
Введите количество элементов в последовательности Фибоначчи: 10
Последовательность Фибоначчи из 10 элементов:
0 1 1 2 3 5 8 13 21 34
Объяснение
- Мы инициализируем
firstиsecondкак первые два элемента последовательности Фибоначчи. - Цикл
forгенерирует последующие элементы, складывая два предыдущих элемента. next = first + secondвычисляет следующий элемент.- Мы обновляем
firstиsecondв каждой итерации, чтобы поддерживать порядок последовательности. - Цикл продолжается до тех пор, пока не будет сгенерировано указанное количество элементов.
Вывод последовательности
На этом заключительном шаге мы улучшим нашу программу для последовательности Фибоначчи, добавив опции форматирования и улучшив представление вывода.
Обновим файл fibonacci.c, чтобы улучшить вывод последовательности:
cd ~/project
nano fibonacci.c
Измените код, чтобы добавить больше опций форматирования и вывода:
#include <stdio.h>
int main() {
int n, first = 0, second = 1, next;
printf("Введите количество элементов в последовательности Фибоначчи: ");
scanf("%d", &n);
printf("Последовательность Фибоначчи из %d элементов:\n", n);
printf("Индекс\tЗначение\n");
printf("------\t------\n");
for (int i = 0; i < n; i++) {
if (i <= 1)
next = i;
else {
next = first + second;
first = second;
second = next;
}
printf("%d\t%d\n", i, next);
}
return 0;
}
Скомпилируйте и запустите программу:
gcc fibonacci.c -o fibonacci
./fibonacci
Пример вывода:
Введите количество элементов в последовательности Фибоначчи: 8
Последовательность Фибоначчи из 8 элементов:
Индекс Значение
------ ------
0 0
1 1
2 1
3 2
4 3
5 5
6 8
7 13
Объяснение
- Мы добавили таблицу с отформатированными столбцами "Индекс" и "Значение".
\tиспользуется для табуляции, чтобы создать аккуратную таблицу.- Теперь каждый элемент выводится со своим соответствующим индексом.
- Вывод предоставляет ясное и структурированное представление последовательности Фибоначчи.
Резюме
В этом лабораторном практикуме мы изучили, как считывать количество элементов от пользователя для генерации последовательности Фибоначчи на языке C. Сначала мы запрашиваем у пользователя желаемое количество элементов, затем используем цикл для вычисления и вывода последовательности Фибоначчи. Ключевые шаги включают инициализацию первых двух чисел Фибоначчи, а затем обновление их в каждой итерации цикла для генерации следующего числа в последовательности.
Наконец, мы выводим полную последовательность Фибоначчи на основе ввода пользователя. Этот лабораторный практикум предоставляет практический пример использования циклов и переменных для генерации классической математической последовательности на языке программирования.



