Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448

Как определить зацикливание программы?

22.09.2017, 19:32. Показов 3000. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программы, которые требуют очень много времени для своей работы
В связи с этим возникло несколько вопросов...

1. Как вы определяете, что программа работает?
2. Как вы определяете, что программа зациклилась?
3. Ваша программа выдает какие-то данные о том что она работает?
4. Ваша программа извещает вас... сколько ей осталось работать?
5. Вы оцениваете время работы программы перед ее запуском?
6. Ваша программа может сама определить, что она зависла?
7. Ваша программа может сама остановиться?
8. Ваша программа остановилась... Объяснит она свою остановку?
полагаю, этого достаточно...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2017, 19:32
Ответы с готовыми решениями:

Метод Эйлера-Коши (как прервать зацикливание программы)
Подскажите, пожалуйста, как прервать зацикливание данной программы: clear; a=1; b=2; h=0,02; x(1)=a; y(1)=1; i = 1;

Как определить зацикливание процесса?
Собственно, сабж в названии. Как определить, что некоторая программа другого процесса зациклилась? Или, допустим, имея свой процесс и...

Как наиболее быстро определить зацикливание связанного списка? (a => b => c => d => e => a)
You have a pointer to some element in a linked list (a => b => c => d => e). What is the fastest way to tell if there is a loop in the...

8
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
22.09.2017, 20:40
Лучший ответ Сообщение было отмечено йот как решение

Решение

1−3, 8 — решается логированием.
4 — если реализовать просто, то можно и сделать.
5 — в некоторых случаях могут быть ожидания относительно времени работы.
6 — в некоторых случаях возможно, смотря что понимать под зависанием.

На более конкретные вопросы будут более конкретные ответы.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
22.09.2017, 20:54  [ТС]
0x10,
допустим у меня обычный цикл с параметром скажем время
работы программы 1 час (условно), то я предпочитаю, чтобы
программа выносила на экран значение параметра цикла
(с каким нибудь шагом) - это все-таки определенная гарантия
того, что программа работает... заодно можно оценить время
работы...
А как поступаете вы в подобном случае или ином другом?

Добавлено через 5 минут
Зависание
Некоторые переменные должны обязательно менять
свое значение (можно поставить элементарный счетчик)
если переменная не меняет своего значения (хотя должна)
- 100%% гарантии того, что программа зависла...
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
22.09.2017, 21:26
Лучший ответ Сообщение было отмечено йот как решение

Решение

Цитата Сообщение от йот Посмотреть сообщение
А как поступаете вы в подобном случае или ином другом?
Можно на каждой итерации, можно с выбранным шагом… Как удобно, зависит от конкретной задачи.

Цитата Сообщение от йот Посмотреть сообщение
Некоторые переменные должны обязательно менять
свое значение (можно поставить элементарный счетчик)
Утопия. За каждой переменной следить?
Можно после каждой итерации выставлять таймер на время, заведомо большее, чем ожидаемое время итерации, см alarm(2). Если процесс получил SIGALRM, значит, выполняется дольше ожидаемого. Если выполнение перешло на очередную итерацию — будильник будет переставлен на заданный интервал. Естественно, такой прием не спасет от всех бед. Так, процессы в состоянии uninterruptible sleep не могут быть прерваны сигналами.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
23.09.2017, 08:47  [ТС]
0x10
СПАСИБО!! Я учту всё, выше вами сказанное... конкретно
к каждой задаче...
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
23.09.2017, 15:27
Лучший ответ Сообщение было отмечено йот как решение

Решение

Класс, выполняющий потенциально длительную задачу, может реализовывать событие ProgressChanged. Тот, кто запускает асинхронно эту задачу, подписывается на это событие и выводит информацию пользователю (например, в виде полоски на экране).
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
23.09.2017, 15:39
Цитата Сообщение от Shamil1 Посмотреть сообщение
Класс, выполняющий потенциально длительную задачу, может реализовывать событие ProgressChanged.
Это все в контексте .NET?
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
23.09.2017, 15:42
Лучший ответ Сообщение было отмечено йот как решение

Решение

Цитата Сообщение от 0x10 Посмотреть сообщение
Это все в контексте .NET?
Это в контексте ООП. Название события выбираете сами.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
23.09.2017, 16:34  [ТС]
Ребята, Спасибо!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.09.2017, 16:34
Помогаю со студенческими работами здесь

Зацикливание программы
Как сделать так, чтобы программа запрашивала у пользователя, нужно ли еще раз решать то или иное действие??? Т.е чтобы программа не...

Зацикливание программы
Здравствуйте! Написала программу: #include<stdio.h> #include<conio.h> int main() { int p,s,t,t1,t2,t3,sum1,sum2,sum3; ...

Зацикливание программы
Программа должна посылать запрос, затем, если есть нужные данные парсить их и записывать в файл. Сама программа работает, парсит,...

Зацикливание программы
Привет, Я хотел спросить можно ли как то решить проблему с тормозом программы. Я отправляю циклом письма 30 людям, понятно что...

Зацикливание программы
Всем добрый вечер! Работаю в Маткад 2000. Есть некий каскад идущих друг за другом программ, считающих некую условную концентрацию, такого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru