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

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

 

Бей­сикPython

INPUT а, b, х

IF а = 0 THEN

IF b > 0 THEN

PRINT "нет ре­ше­ний"

ELSE

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

ENDIF

ELSE

PRINT -a,"< x < 0"

a = float(input())

b = float(input())

x = float(input())

if a == 0:

    if b > 0:

        print("нет ре­ше­ний")

    else:

        print("x > 0 или x <0")

else:

    print(-a,'< x <0')

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

var a,b,x: real;

begin

readln(a,b,x);

if a = 0 then

if b > 0 then

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

else

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

else

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

end.

алг

нач

    вещ a, b, x

    если a == 0 то

        если b > 0 то

            вывод 'нет ре­ше­ний'

        иначе

            вывод 'x > 0 или x <0'

        все

    иначе

        вывод -a,'< x <0'

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{ float a,b,x;

cin >> a >> b,&x;

if (a==0)

if (b>0)

cout << "нет ре­ше­ний"<< endl;

else

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

else

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

}

 

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

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

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

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

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

Ре­ше­ние.

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

 

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

 

3)  Воз­мож­ная до­ра­бот­ка: readln(a, b);

if а=0 then

if b>0 then

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

else

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

else

if b>0 then

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

else

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

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

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

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

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