BigEdu.ru

Методы решения С1

Ответы на задачи С1:

1) Программа работает неправильно, если a и b не равны нулю и имеют разные знаки: в этом случае уравнение не имеет решений (поскольку модуль – неотрицательная величина), а программа выдаст два решения. Хотя в задании сказано «Приведите пример таких чисел a, b, x,… », значение x ни на что не влияет (см. далее), в ответе можно указать любое число x . Например,
Лишняя часть программы – ввод x , поскольку это не исходные данные, а результат. Поэтому вместо оператора

readln(a,b,x);

правильнее написать

readln ( a , b );

Возможная доработка программы – добавить еще один условный оператор, обрабатывающий неучтенный случай (a и b не равны нулю и имеют разные знаки), при котором нет решений:

var a,b,x: real;

begin

readln(a,b);

if a = 0 then

if b = 0 then

write (' любое число ')

else write (' нет решений ')

else

if b = 0 then

write('x = 0')

else

if a*b < 0 then

write('нет решений')

else write('x =',b/a,' или x =',-b/a);

end.

обратите внимание, что для проверки условия «a и b имеют разные знаки» использовано произведение a * b , которое больше нуля, когда два значения имеют одинаковые знаки, и меньше нуля – когда разные

2) Программа работает неправильно, если a и b равны нулю: в этом случае решением уравнения является любое число x , а программа выдаст только решение . Хотя в задании сказано «Приведите пример таких чисел a, b, x,… », значение x ни на что не влияет (см. далее), в ответе можно указать любое число x . Например,
Лишняя часть программы – ввод x , поскольку это не исходные данные, а результат. Поэтому вместо оператора

readln ( a , b , x );

правильнее написать

readln ( a , b );

Возможная доработка программы – добавить еще один условный оператор, обрабатывающий неучтенный случай (a и b равны нулю), при котором решением является любое число:

var a,b,x: real;

begin

readln(a,b);

if b = 0 then

if a = 0 then

write('любое число')

else write('x = 0')

else

if a = 0 then

write('нет решений')

else write('x =',-b/a);

end.

можно еще немного оптимизировать программу: заметим, что в обеих частях первого условного оператора встречается оператор if a = 0 then ; его можно «вынести» наверх, сделать внешним, а не вложенным:

if a = 0 then

if b = 0 then

write ('любое число')

else write ('нет решений')

else

write('x=',-b/a);

если вы боитесь запутаться во вложенных условных операторах, можно использовать сложные условия и рассмотреть три возможных варианта (важно не забыть ни один!):

if (a=0) and (b=0)then

write(' любое число ');

if (a=0) and (b<>0)then

write(' нет решений ');

if a <> 0 then

write('x=',-b/a);

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

3) Согласно условию, нас интересует область, закрашенная на рисунке серым цветом. Если рассмотреть границы области по осям координат, получим четыре условия:

по оси X:

по оси Y:

В программе не учитывается условие , причем оно не перекрывается другими условиями. Поэтому программа работает неправильно в том случае, когда и (область красного цвета на рисунке). Одна из таких точек:
Для доработки программы нужно добавить еще один условный оператор с недостающим условием и соответствующий ему else -блок, выдающий сообщение в случае невыполнения этого условия:

var x 0, у0, у: real ;

begin

readln (x0, y0);

if (x0 < 2)then begin

if (x0 > 0)then begin

if (y0 > 0)then begin

у = 2 – х0;

if ( y 0 < у) then

writeln ('точка лежит внутри области')

else writein ('точка не лежит внутри области');

end

else writeln ('точка не лежит внутри области');

end

else writeln ('точка не лежит внутри области');

end

els

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике и программированию Ответы на задачи С1: 1) Программа работает неправильно, если a и b не равны нулю и имеют разные знаки: в этом случае уравнение не имеет
Оценок: 1002 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru