Задания
Версия для печати и копирования в MS Word
Тип Д24 C1 № 3646
i

Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая ре­ша­ет не­ра­вен­ство  дробь: чис­ли­тель: x минус a, зна­ме­на­тель: bx конец дроби боль­ше 0 от­но­си­тель­но x для любых не­ну­ле­вых чисел a и b  левая круг­лая скоб­ка b не равно 0, a не равно 0 пра­вая круг­лая скоб­ка , вве­ден­ных с кла­ви­а­ту­ры. Все числа счи­та­ют­ся дей­стви­тель­ны­ми. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

 

Бей­сикPython

INPUT a, b, x

IF b > 0 THEN

PRINT "x > ",a," или x<0"

ELSE

IF a > 0 THEN

PRINT "0 < x < ",a

ELSE

PRINT a," < x < 0"

ENDIF

ENDIF

END

a = float(input())

b = float(input())

x = float(input())

if b > 0:

    print('x > ', a, ' или x < 0')

else:

    if a > 0:

        print('0 < x <', a)

    else:

        print(a, '< x < 0 ')

Пас­кальАл­го­рит­ми­че­ский язык

var a,b,x: real;

begin

readln(a,b,x);

if b>0 then

write ('x > ', a, ' или x < 0')

else

if a > 0 then

write ('0 < x <', a)

else

write (a, '< x < 0 ');

end.

алг

нач

    вещ a,b,x

    ввод a,b,x

    если b > 0 то

        вывод "x > ", a, " или x < 0"

    иначе

    если a > 0 то

        вывод "0 < x <", a

    иначе вывод a, "< x < 0 "

    все

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{ float a,b,x;

cin >> a >> b >> x;

if (b > 0)

cout << "x > " << a << "или x < 0" << endl;

else

if (a>0)

cout << "0 < x <" << a << endl;

else

cout << a << "< x < 0" << endl;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те три за­да­ния:

1)  При­ве­ди­те при­мер таких чисел а, b, х, при ко­то­рых про­грам­ма не­вер­но ре­ша­ет по­став­лен­ную за­да­чу.

2)  Ука­жи­те, какая часть про­грам­мы яв­ля­ет­ся лиш­ней.

3)  Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, по­это­му можно ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы).

Спрятать решение

Ре­ше­ние.

1)  a = −11, b = 1, x = 0.

Зна­че­ние x может быть не ука­за­но. Зна­че­ние а может быть любым от­ри­ца­тель­ным чис­лом, зна­че­ние b  — любым по­ло­жи­тель­ным. Также до­пу­стим ответ, что про­грам­ма ра­бо­та­ет не­пра­виль­но при любых по­ло­жи­тель­ных b и от­ри­ца­тель­ных а.

2)  Лиш­няя часть:

не нужно вво­дить х с кла­ви­а­ту­ры; верно: readln(a, b).

3)  Воз­мож­ная до­ра­бот­ка:

readln(а, b);

if b > 0 then

if а > 0 then

write('х >', а, 'или х < 0')

else

write('х < ', а, 'или х > 0')

else

if а > 0 then

write('0 < х <', а)

else

write(а,' < х < 0');

(могут быть и дру­гие спо­со­бы до­ра­бот­ки).

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Пра­виль­но вы­пол­не­ны три пунк­та за­да­ния. при­ве­де­ны при­ме­ры чисел для ко­то­рых про­грам­ма ра­бо­та­ет не­кор­рект­но. Верно при­ве­де­на лиш­няя часть. При­ве­де­на вер­ная до­ра­бот­ка. В ра­бо­те (во фраг­мен­тах про­грамм) до­пус­ка­ет­ся на­ли­чие от­дель­ных син­так­си­че­ских оши­бок, не ис­ка­жа­ю­щих за­мыс­ла ав­то­ра ре­ше­ния.3
Пра­виль­но вы­пол­не­ны два дей­ствия из трёх.

2
Пра­виль­но вы­пол­не­но толь­ко одно дей­ствие из трёх, то есть либо толь­ко вы­пол­нен пункт 1, либо он не вы­пол­нен или вы­пол­нен не­вер­но и при­ве­де­на лиш­няя часть про­грам­мы или воз­мож­ная до­ра­бот­ка.1
Все пунк­ты за­да­ния вы­пол­не­ны не­вер­но (ответ на пункт 1 не при­ведён или при­ведён не­вер­но, ошиб­ки не най­де­ны или най­де­ны, но не ис­прав­ле­ны, или ис­прав­ле­ны не­вер­но).0
Мак­си­маль­ный балл3