From 5634e41e2117db02cbb813823c7d8016f004de84 Mon Sep 17 00:00:00 2001 From: ada-dmitry Date: Thu, 30 Nov 2023 15:00:25 +0300 Subject: [PATCH] reboot 2 --- .vscode/settings.json | 6 + .../Project 1.1.tar.xz | Bin Archive/Project_Antipenko_1.2.tar.xz | Bin 0 -> 6156 bytes Project_1.2/README | 12 +- Project_1.2/functions.c | 28 ++-- Project_1.2/main.c | 16 +- a.out | 0 test.c | 18 -- README.md => try/README.md | 0 try/a.out | Bin 16576 -> 0 bytes try/test.c | 154 +----------------- 11 files changed, 42 insertions(+), 192 deletions(-) rename Project 1.1.tar.xz => Archive/Project 1.1.tar.xz (100%) create mode 100644 Archive/Project_Antipenko_1.2.tar.xz delete mode 100755 a.out delete mode 100644 test.c rename README.md => try/README.md (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index cc6fa74..7fe9890 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,4 +5,10 @@ } } +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} diff --git a/Project 1.1.tar.xz b/Archive/Project 1.1.tar.xz similarity index 100% rename from Project 1.1.tar.xz rename to Archive/Project 1.1.tar.xz diff --git a/Archive/Project_Antipenko_1.2.tar.xz b/Archive/Project_Antipenko_1.2.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..f0be3d5b3c81069e16345e660621f2eb29fa8ae7 GIT binary patch literal 6156 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 #include - #include "declare.h" - - -double f(double x) +double f(double x) { return x - 16; } @@ -25,12 +22,12 @@ void fork_method() printf("%lf %lf\n", *pa, *pb); if (f(*pa) * f(x) <= 0) *pb = x; - else if(f(*pb) * f(x) <= 0) + else if (f(*pb) * f(x) <= 0) *pa = x; - + sleep(1); - } while(fabs(*pb - *pa) > eps && f(x) != 0); + } while (fabs(*pb - *pa) > eps && f(x) != 0); return; } @@ -39,15 +36,15 @@ void choose_path() char choice, *ch = &choice; struct termios term; - + // Получение текущих настроек терминала tcgetattr(0, &term); - + // Отключение символа ECHO - //term.c_lflag &= ~ECHO; - + // term.c_lflag &= ~ECHO; + // Применение новых настроек терминала - //tcsetattr(0, TCSANOW, &term); + // tcsetattr(0, TCSANOW, &term); printf("\nПродолжить поиск корня?\n"); __fpurge(stdin); @@ -69,7 +66,7 @@ void choose_path() case 'r': // Включение символа ECHO term.c_lflag |= ECHO; - + // Применение новых настроек терминала tcsetattr(0, TCSANOW, &term); @@ -99,13 +96,12 @@ void choose_path() default: printf("Ошибка ввода, повторная попытка..."); - } - } while (*ch != 'A' || *ch != 'R' || *ch != 'C' || *ch != 'a' || *ch != 'r' || *ch != 'c'); + } while (*ch != 'A' || *ch != 'R' || *ch != 'C' || *ch != 'a' || *ch != 'r' || *ch != 'c'); // Включение символа ECHO term.c_lflag |= ECHO; - + // Применение новых настроек терминала tcsetattr(0, TCSANOW, &term); } diff --git a/Project_1.2/main.c b/Project_1.2/main.c index 611c1bb..6c81150 100644 --- a/Project_1.2/main.c +++ b/Project_1.2/main.c @@ -9,16 +9,18 @@ double a, b, eps, x, *pa, *pb, *px; - -int main(){ +int main() +{ double tmp; - pa = &a; pb = &b; px = &x; - + pa = &a; + pb = &b; + px = &x; + struct sigaction sig; sig.sa_handler = ctrlc_handler; sig.sa_flags = 0; - sigemptyset(&sig.sa_mask); + sigemptyset(&sig.sa_mask); printf("Введите интервал [a, b] и точность eps: "); scanf("%lf %lf %lf", pa, pb, &eps); @@ -27,8 +29,8 @@ int main(){ { perror("sigaction"); return 1; - } - + } + if (*pa > *pb) // Если пользователь перепутал границы { printf("Границы указаны неверно, запуск задачи с исправленным условием\n"); diff --git a/a.out b/a.out deleted file mode 100755 index e69de29..0000000 diff --git a/test.c b/test.c deleted file mode 100644 index 4048f69..0000000 --- a/test.c +++ /dev/null @@ -1,18 +0,0 @@ -#include - -void plus1(int *px) -{ - *px += 1; -} - -int main() -{ - static int x = 5; - static int *px = &x; - plus1(px); - printf('%d %d\n', x, x+1); - - return 0; - - -} \ No newline at end of file diff --git a/README.md b/try/README.md similarity index 100% rename from README.md rename to try/README.md diff --git a/try/a.out b/try/a.out index c29759fd364bb46588ad4edd5486f4af3c2c9408..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100755 GIT binary patch literal 0 HcmV?d00001 literal 16576 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 LNz8L8xKQywb4)+0 diff --git a/try/test.c b/try/test.c index bfed2bd..4048f69 100644 --- a/try/test.c +++ b/try/test.c @@ -1,154 +1,18 @@ #include -#include -#include -#include -#include -double a, b, eps, x, *pa = &a, *pb = &b, *px = &x; -char choice, *ch = &choice; - -double f(double x); -void find_zero(); -void ctrlc_handler(int signum); -void choose_path(); - -double f(double x) // Функция обязана быть линейной +void plus1(int *px) { - return x + 4; + *px += 1; } -void choose_path() +int main() { + static int x = 5; + static int *px = &x; + plus1(px); + printf('%d %d\n', x, x+1); - printf("\nПродолжить поиск корня?\ - (C - продолжить, A - закончить работу программы, R - начать поиск на другом отрезке): \n"); - do - { - *ch = getchar(); - switch (*ch) - { - case 'C': - return; - case 'A': - printf("Работа программы завершена.\n"); - exit(0); - case 'R': - printf("Введите новые значения границ a и b: "); - scanf("%lf %lf", pa, pb); - if (f(*pa) * f(*pb) > 0) - { - printf("В указанных границах нуля функции не существует.\n"); - printf("Нажмите Ctrl+C и поменяйте границы\n"); - } - if (*pa == *pb) - { - if (f(*pa) == 0) - { - printf("\nКорень уравнения: %lf\n", *pa); - printf("Работа программы завершена.\n"); - exit(0); - } - else - { - printf("Нажмите Ctrl+C и поменяйте границы\n"); - } - } - find_zero(); - printf("Ожидание сигнала Ctrl+C...\n"); - return; - } - } while (*ch != 'A' || *ch != 'R' || *ch != 'C'); - printf("Ошибка ввода, повторная попытка..."); - choose_path(); -} - -void ctrlc_handler(int signum) -{ - printf("\nПолучен сигнал Ctrl+C\n"); - choose_path(); - find_zero(); -} - -void find_zero() -{ - signal(SIGINT, ctrlc_handler); - do - { - *px = (*pa + *pb) / 2; // метод деления отрезка пополам - printf("%lf %lf\n", *pa, *pb); - sleep(10); - - if (f(*pa) * f(x) < 0) - *pb = x; - else if(f(*pb) * f(x) < 0) - *pa = x; - - printf("Текущее приближение: %lf\n", *px); - - } while(fabs(*pb - *pa) > eps && f(x) != 0); - - printf("\nКорень уравнения: %lf\n", *px); - printf("Работа программы завершена.\n"); - return; -} - -int main(){ - double tmp; - - struct sigaction sa; - sa.sa_handler = ctrlc_handler; - sa.sa_flags = SA_RESTART; - sigemptyset(&sa.sa_mask); - - printf("Введите интервал [a, b] и точность eps: "); - scanf("%lf %lf %lf", pa, pb, &eps); - - if (*pa > *pb) // Если пользователь перепутал границы - { - printf("Границы указаны неверно, запуск задачи с исправленным условием\n"); - tmp = *pa; - *pa = *pb; - *pb = tmp; - } - - if (f(*pa) * f(*pb) > 0) - { - printf("В указанных границах нуля функции не существует.\n"); - printf("Нажмите Ctrl+C и поменяйте границы\n"); - } - if (eps < 0) // Если пользователь указал отрицательную точность - { - eps = eps * (-1); - printf("Точность отрицательна, условие приведено в порядок, запуск решения...\n"); - } - - if (*pa == *pb) - { - if (f(*pa) == 0) - { - printf("\nКорень уравнения: %lf\n", *pa); - printf("Работа программы завершена.\n"); - exit(0); - } - else - { - printf("Нажмите Ctrl+C и поменяйте границы\n"); - } - } - - find_zero(); - - if (sigaction(SIGINT, &sa, NULL) == -1) - { - perror("sigaction"); - return 1; - } - - printf("Ожидание сигнала Ctrl+C...\n"); - // signal(SIGINT, ctrlc_handler); - while(1) - { - sleep(1); - } return 0; + + } \ No newline at end of file