Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Может ли сломаться компьютерная программа без внешнего воздействия или она будет вечно работать безошибочно?

КомпьютерыПрограммыОшибки программ
Вадим Коновальчик
  · 6,8 K
Учу учителей. Благодарен всем тем, кто наполнил меня знаниями, которыми теперь могу...  · 7 июл 2021

Спрашивали - отвечу. Для начала необходимо определить термины. Для того, чтобы ответ был понятнее. Глагол "сломаться" обозначает прийти в негодность под воздействием какой либо силы. Компьютерная программа - это набор или комбинация инструкций (команд) и данных изменяемых с помощью этих инструкций. Внешнее воздействие на компьютерную программу, как правило - это динамическое изменение алгоритма либо кода программы, тех самых инструкций. Работать безошибочно - это значит полностью соответствовать ожидаемому результату, без неожиданных, не спланированных и не предусмотренных действий программы. Из всего выше перечисленного, можно сделать теоретический вывод: " При соблюдении условий, отсутствия внешних сил и проверенного, на соответствие задуманному, программного кода - Да , компьютерная программа будет работать вечно". Причем, чем проще задумка, тем реальнее добиться такого результата. Теперь спустимся от теории к практике. Я не знаю ни одну компьютерную программу которая бы работала сама по себе, только набором инструкций. Набор инструкций - это хорошо, но код сам по себе бесполезен. К компьютерной программе нужны, средства ввода информации, средства её визуализации, хранения и передачи. Исходя из того, что этим занимаются миллионы людей по всему миру. Любое отклонение от задуманного алгоритма, умноженное на миллионы поправок и изменений, ведет к тому, что необходимо принимать компромиссные решения, либо к сроку за деньги либо когда получиться "безошибочное решение", но бесплатно. Таким образом на практике ответ - Нет, компьютерная программа не может работать вечно и обязательно сломается, так как зависит от внешнего окружения. Причём поломка случится именно в тот момент, когда закончиться срок гарантии. Как так. Паутов Сергей.

1 эксперт согласен

сравнение идеального мира и реального не всегда устраивает вопрошающего вечных истин )))

Кандзюба Евгений, Не проявляющееся в реальности не может быть идеалом.

Возьмем простейший случай:колонка цифр и арифметические действия над ними,программа(калькулятор,грубо говоря),всегда будет выдавать правильный результат или может выдать неправильный?

Уважаемый Вадим приведу пример из практики с программой SuperCalc 4 установленной на компьютере IBM PC XT c процессором Intel 8088 и операционной системой MS DOS в далеком 1989 году. Программа прекрасно считала цифры из строчек и колонок и выполняла арифметические действия над ними. Потом перестала считать правильно и выдавала ошибку на некоторых действиях, сейчас уже не помню на каких. Когда стали выяснять и сравнили код программы с оригиналом оказалось он был изменён. Переустановили программу, однако опять примерно через месяц и программа SuperCalc и другие программы стали выдавать ошибки при работе. Всё оказалось банально просто, на компьютере лежал сильный магнит для скрепок, под которым был HDD жесткий магнитный диск. Код программы под внешним воздействием случайно изменился. Однако это уже повторение моего ответа. По этому отвечу с другой стороны. Иногда правильно - это поздно, а неправильно к месту. Далее текст из Интернета.

Вступительный экзамен по математике. Преподаватели приглашают первого абитуриента:

— Сколько будет два плюс два?

— Три! — Нет! — Пять! — Нет! — Шесть!

— Неправильно! Да… дурак, но ищущий… берем!

Заходит второй абитуриент:

— Сколько будет два плюс два?

— Три! — Нет! — Три! — Нет! — Три!

— Неправильно! Да… дурак, но настырный… берем!

Заходит третий абитуриент:

— Сколько будет два плюс два?

— Четыре, конечно!

— Да… умный. Но мест уже нет!

Это внешнее воздействие,а если его нет,Вы уверены,что две две одинаковые программы(близнецы),обрабатывая одни и те же данные,в одних и тех же условиях всегда будут выдавать один и тот же результат?

Уважаемый Вадим. Повторю ещё раз. Программа без внешнего воздействия может существовать только в теории. Для теории ответ ДА, будет работать вечно, выдавая одинаковый результат, на одинаковом массиве данных. На практике Нет, сломается либо результат рано или поздно будет не правильный. Далее без обид, посоветую вам поработать на сборочном конвейере. Во первых, там вы получите ответ на ваш вопрос. Во вторых разовьете остроту зрения, и сможете безошибочно определить среди сотни гаек-близнецов - беспартийную. Паутов Сергей.

Элементов круга в реальности не существует?
В основе расчета любой кривизны не лежит рассмотрение круга?

Какая академическая каша. Просто жуть. Программа и алгоритм - это не одно и то же. Хранение программы, выполнение программы - это разные понятия.

Исполнение программы на каком-либо языке - это ее представление в виде кода, но не сам код!

Вас не смущает, что существует фраза "на каком языке написана программа?" То есть есть программа, которая состоит из алгоритмов и она реализована на каком-то языке, потом помещена на устройство выполнения уже в машинном виде и там выполняется. Где программа, а где устройство?

Пусть будет 1 мб кода и одно сообщение об ошибке при запуске программы. Значит эта программа имеет 1 мб кода и выводит сообщение об ошибке при запуске - все. это такая программа, ни плохая, ни хорошая, ни со смыслом, не бессмысленная.

А качественная оценка в контексте цифровых технологий, это философия какая-то.

Разработчик встроенных систем, немного радиолюбитель.   · 9 июл 2021  · vladimir-coslow.narod.ru/index.html
Если программа отлажена на 100%, то да. Однако сегодня сложилось превратное мнение, будто бы программу принципиально невозможно полностью отладить, поэтому в ней всегда будут глюки, баги, фичи и прочие недоработки. Чем конечно же пользуются многие фирмы-разработчики ПО. Конечно капитализм диктует получение прибыли любыми путями, в том числе и навязыванием покупателям пос... Читать далее
Чтобы ни дня в жизни не работать, на практике совмещаю работу с хобби.Перейти на vladimir-coslow.narod.ru/index.html
1 эксперт согласен

Ответу можно верить.

Разработка высоконагруженных систем. Опыт 15+   · 7 июл 2021  · progolang.zenclass.ru
Здравствуйте! Любое программное обеспечение создано для решения поставленной задачи. И разработано для определенного списка устройств. Если не менять устройство и не обновлять операционную систему, а так же очищать системный журнал. При отсутствия внешнего воздействия, в теории программа может работать вечно.  Но на каждую программу найдется свой баг. Все ситуации... Читать далее

Простейшая арифметическая программа всегда будет выдавать правильный результат?

Делаю программное обеспечение на заказ.  · 11 мар 2022
Если даже исключить такие воздействия, как космические частицы, поломки оборудования, даже если программа безупречна в своей внутренней логике, эта логика у прикладных программ опирается на определённые предпосылки о действительности, которые практически не могут быть точны или покрывать всё многообразие ситуаций. Мир также имеет тенденцию меняться со временем: что не... Читать далее
Информационные технологии  · 12 июл 2021
Нет.  Ни с внешним воздействием, ни без внешнего воздействия. Если у вас там счетчик переполняется, то значит в вашей программе заложено переполнение счетчика. Пусть вы об этом и не подумали.  Более того, компьютерная программа - это алгоритм, который в руках не подержать, и даже если носитель программы сломается (чип  или жесткий диск), то программа не сломается... Читать далее
Если мы сделаем точную ее копию,то работая с одними и теми же данными они всегда будут выдавать одинаковый результа... Читать дальше
Программист в отставке  · 10 июл 2021

Может, если в ней не предусмотрена возможность изменения формата входных данных или ограничений по вводу. Например, "проблема 2000" года. Тогда действительно некоторые программы "сломались", не позволяя ввести верную дату. Так же мы постоянно видим "сломанные" программы в Windows, когда в выводе командной строки получаем кракозябры в кодировке 866

Работаю в сфере автоэмалей и всё для кузовного ремонта. Колорист. Веду ЗОЖ, много читаю...  · 29 авг 2021
Любая программа написана человеком, а мы имеем всегда шанс на ошибку, она написана в определенном промежутке времени, где постоянно будут меняться условия в связи с другими программами, она обречена сломаться, если связана с внешним миром. В замкнутом одном железе у нее шансов больше быть вечной, тут будет зависеть от железа.
Компьютеры и автомобили. YouTube: https://www.youtube.com/c/Коленвальщик/ Яндекс.Дзен: h...  · 8 июл 2021  · youtube.com/c/Коленвальщик/
Если имеете в виду сам код, то нет. Как написали, так он и будет. Если же вы имеет логику работы программы, то да. Такое возможно. Все зависит от самого кода программы. Если в программе, например, есть переменная, которая постепенно увеличивает счетчик, но в нужный момент не обнуляется, то это приведет к ошибке, так как будет выход за границы диапазона типа данных. В... Читать далее

Код тоже сломается рано или поздно. Любой электронный носитель подвержен деградации.