IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Free PASCAL
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский

Репутация: -  0  +


Помогите пожайлуста написать программу на free pascal

Напишите программу для решения уравнения ax = b относительно х в целых числах. Учтите, что a может принимать любые значения, в том числе и 0.

На вход программе подаются целые числа a, b, по модулю не превосходящие 30000. Требуется вывести целый корень уравнения, если он существует и единственный. Если уравнение не имеет корней, то вывести no solution. Если уравнение имеет больше одного целого корня, то вывести many solutions

в этой сказали много ошибок, ноо гдеее

program horosho;
var a,b:integer;
begin
write('a b ? ');
readln(a,;
if a=0
then
if b=0
then
writeln('many solutions')
else if b mod a<>0
then
writeln('no solution)
else writeln(b div a);
readln
end.


хеелп мии плииз
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ну смотрите,во-первых, ах=b это уравнение прямой,следовательно есть 3 возможных варианта.Первый,прямая пересекает ось Х тогда будет 1 корень.Второй вариант,прямая не пересекает ось Х,значит она паралельна ей.Второй случай делится ще на 2 .Первый, когда b=0 мы получаем бесконечное число корней,второй когда b не равно нулю,тогда корней нет.Теперь давайте разберемся с кодом.

program horosho;
var a,b:integer;
begin
write('a b ? ');
readln(a,b); {надеюсь вы тут ошиблись при переписывании задачи)
}if a=0 then{учитель правильно записывать структуры}
if b=0 then
writeln('many solutions')



else if b mod a<>0
then
writeln('no solution)


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

В общем все может выглядеть так.

program horosho;
var a,b:integer;
begin
write('a b ? ');
readln(a,b);
if a=0 then
if b=0 then
writeln('many solutions')
else
writeln('no solution')
else
if (b mod a=0) then
writeln(b/a:5:0);{Зачем использовать Div если мы условием уже проверили,что они деляться целочисленно. }
readln;
end.


Согласитесь,когда есть четкая структура,читать намного проще,понятно какой else к какому if.Работоспособность не проверял,но не вижу причин,чтобы не работало.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Женский

Репутация: -  0  +


спасиибо огромное, все получилось good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 12.05.2024 18:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name