Skip to content

Punisher97/Task_2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task 2 – Алексей Щербаков

Описание

Этот проект содержит набор программ на языке C, демонстрирующих базовые алгоритмы. Все задачи выполнены в рамках домашнего задания №2 курса «Практикум на ЭВМ 2025/2026».


Структура проекта

task2/ 2.1.c # Квадратный корень методом Ньютона 2.2.1.c # Вычисление значения многочлена (метод Горнера) 2.2.2.c # Вычисление многочлена и его производной 2.3.c # Итеративное и рекурсивное вычисление чисел Фибоначчи 2.4.c # Разбор вещественной константы (собственная str2double) 2.5.c # Список слов (удаление повторов последнего слова) 2.6.c # Дерево поиска (BST) 2.7.c # Калькулятор (рекурсивный спуск с +, -, *, /, ^ и скобками)

README.md

Компиляция

Компиляция всех программ через gcc:

'''

gcc 2.1.c gcc 2.2.1.c gcc 2.2.2.c gcc 2.3.c gcc 2.4.c gcc 2.5.c gcc 2.6.c gcc 2.7.c Описание задач и функций 2.1.c — Метод Ньютона для квадратного корня Функция: double calculation_sqrt(double x, double eps); Описание: Вычисляет √x с заданной точностью eps методом Ньютона. Ввод: eps, затем последовательность чисел x. Вывод: приближённые значения √x.

2.2.1.c — Вычисление многочлена (метод Горнера)

Описание: Вычисляет значение многочлена степени n-1 в точке x методом Горнера. Ввод: x, затем коэффициенты. Вывод: значение многочлена.

2.2.2.c — Многочлен и его производная

Описание:

double polynom — значение многочлена; double derivative — значение производной. Вывод: первая строка — значение многочлена, вторая — производной.

2.3.c — Числа Фибоначчи Функции: int fib_iter(int n); int fib_rec(int n); Описание:

Итеративное (fib_iter) и рекурсивное (fib_rec) вычисление n-го числа Фибоначчи. Ввод: последовательность целых чисел n. Вывод: для каждого n оба результата.

2.4.c — Собственная функция str2double Функция: double str2double(char str[]); Описание: Преобразует строку в double без использования math.h и strtod. Поддержка: знак, дробная часть, экспонента. Обработка ошибок: некорректные форматы → сообщение в stderr.

2.5.c — Список слов Структуры: typedef struct Node { char *word; struct Node *next; } Node; Описание:

Создание, добавление, печать, удаление повторов последнего слова. Вывод: слова через пробел после удаления повторов.

2.6.c — Дерево поиска (BST) Структура: typedef struct Node { unsigned int key; struct Node *left; struct Node *right; } Node; Функции: insert, find, removeNode, destruct. Описание:

Поддержка команд +x, -x, ?x из stdin.

?x выводит yes/no.

2.7.c — Калькулятор на рекурсивном спуске Операции: +, -, *, /, ^, скобки. Описание:

expr — сложение и вычитание (левоассоциативно)

add — умножение и деление (левоассоциативно)

mult — возведение в степень (правоассоциативно)

atom — цифра или скобки Особенности:

Проверка ошибок: деление на ноль, отрицательная степень

Принципы реализации Рекурсивные и итеративные алгоритмы

Обработка ошибок с возвратом в начало диалога (longjmp)

Автор Алексей Щербаков

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages