54

Как программировать (x-1) /x+(x-2) /x+(x-3) /x+… +1/x=3 на языке Qbasic пожалуста

27 февраля 2023

Как программировать (x-1) /x+(x-2) /x+(x-3) /x+… +1/x=3 на языке Qbasic пожалуста

категория: информатика

50

Непонятно условие. Решить уравнение, что ли? Так оно решается аналитически. Если тупо перебором, то примерно так. Напишу на псевдоязыке, перевести его на другой язык программирования — дело техники. Сначала функция для вычисления левой части (х перенесем в правую, чтобы избежать деления на 0). Если знаешь формулу суммы арифметической прогрессии, эту сумму можно аналитически преобразовать, но допусим, не знаешь, тогда тупой цикл. Функция С (х) Сум=0; Для ц=1 по (х-1) ЦиклСум=Сум + ц; КонецЦикла; Возврат (Сум); КонецФункции; Теперь основная программа, которая тупо перебирает все числа от Начало до Конец с шагом Шаг 0. Если достигнута заданная Точность, выводится результат. Начало=-100; Конец=100; Шаг 0=0,1; Точность=0,00001; Ввод (Значение); Для х=Начало по Конец Шаг Шаг 0 ЦиклЕсли АБС (С (х) — Значение*x) <= Точность ТогдаПечать ("х="+ х); Выход; КонецЕсли; КонецЦикла; Вот и все. Задача решена в общем виде, когда справа не обязательно 3, а любое, которое вводится, как Значение; АБС () — это функция нахождения модуля числа, если ее в языке нет, ее можно написать, например, так Функция АБС (х) Если х<0 ТогдаВозврат (-х); ИначеВозврат (х); КонецФункции; Если в языке нет оператора полного итерационного цикла, он легко эмулируется оператором цикла с условием пока (do while (). Ну вот, где-то так. Хотя условие задачи следовало бы сформулировать точнее а вдруг х-только целые или еще что-нибудь? Ну и последнее, используемый псевдоязык на самом деле лишь чуть-чуть модифицированный язык программироваия 1С7.

Знаете ответ?

Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...