Каталог заданий.
Решение уравнений и неравенств
Версия для печати и копирования в MS Word
1
Тип Д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)  Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, по­это­му можно ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы).


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


2
Тип Д24 C1 № 7935
i

Для за­дан­но­го по­ло­жи­тель­но­го ве­ще­ствен­но­го числа A не­об­хо­ди­мо найти ми­ни­маль­ное целое число K, при ко­то­ром вы­пол­ня­ет­ся не­ра­вен­ство 1 плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 2 конец дроби плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 3 конец дроби плюс ... плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: K конец дроби боль­ше или равно A. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал такую про­грам­му.

 

Бей­сикPython

DIM A, S AS DOUBLE

DIM K AS INTEGER

INPUT A

K = 0

S = 1

WHILE S >= A

K = K + 1

S = S + 1.0/K

WEND

PRINT K

END

a = float(input())

k = 0

s = 1

while s>=a:

    k = k + 1

    s = s + 1.0/k

print(k)

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

var a, s: real;

k: integer;

begin

read(a);

k := 0;

s := 1;

while s>=a do begin

k := k + 1;

s := s + 1.0/k;

end;

write(k);

end.

алг

нач

вещ a, s

цел k

ввод a

k := 0

s := 1

нц пока s>=a

k := k + 1

s := s + 1.0/k

кц

вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

double a, s;

int k;

cin >> a;

k = 0;

s = 1;

while (s>=a) {

k = k + 1;

s = s + 1.0/k;

}

cout « k « endl;

return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 1.4.

2.  Сколь­ко су­ще­ству­ет на­ту­раль­ных чисел А, при вводе ко­то­рых про­грам­ма вы­ве­дет ответ 1?

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


3
Тип Д24 C1 № 8000
i

Для за­дан­но­го по­ло­жи­тель­но­го ве­ще­ствен­но­го числа A не­об­хо­ди­мо найти ми­ни­маль­ное целое число K, при ко­то­ром вы­пол­ня­ет­ся не­ра­вен­ство 1 плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 2 конец дроби плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 3 конец дроби плюс ... плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: K конец дроби боль­ше или равно A. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал такую про­грам­му.

 

Бей­сикPython

DIM A, S AS DOUBLE

DIM K AS INTEGER

INPUT A

K = 1

S = 1

WHILE S <= A

K = K + 1

S = 1.0/K

WEND

PRINT K

END

a = float(input())

k = 1

s = 1

while s<=a:

    k = k + 1

    s = 1.0/k

print(k)

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

var a, s: real;

k: integer;

begin

read(a);

k := 1;

s := 1;

while s<=a do begin

k := k + 1;

s := 1.0/k;

end;

write(k);

end.

алг

нач

вещ a, s

цел k

ввод a

k := 1

s := 1

нц пока s<=a

k := k + 1

s := 1.0/k

кц

вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

double a, s;

int k;

cin >> a;

k = 1;

s = 1;

while (s<=a) {

k = k + 1;

s = 1.0/k;

}

cout « k « endl;

return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 0.4.

2.  Сколь­ко су­ще­ству­ет на­ту­раль­ных чисел А, при вводе ко­то­рых про­грам­ма вы­ве­дет ответ 2?

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


4
Тип Д24 C1 № 9208
i

Для за­дан­но­го по­ло­жи­тель­но­го ве­ще­ствен­но­го числа A не­об­хо­ди­мо найти мак­си­маль­ное целое число K, при ко­то­ром вы­пол­ня­ет­ся не­ра­вен­ство

1 плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 2 конец дроби плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 3 конец дроби плюс ... плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: K конец дроби мень­ше A.

(при K = 0 сумма счи­та­ет­ся рав­ной 0).

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал такую про­грам­му.

 

Бей­сик Python

DIM A, S AS DOUBLE

DIM K AS INTEGER

INPUT A

K = 1

S = 1

WHILE S < A

    S = S + 1.0/K

    K = K + 1

WEND

PRINT K

END

a = float(input())

k = 1

s = 1

while s < a:

    s = s + 1.0/k

    k = k + 1

print(k)

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

алг

нач

    вещ a, s

    цел k

    ввод a

    k := 1

    s := 1

    нц пока s<a

        s := s + 1.0/k

        k := k + 1

    кц

    вывод k

кон

var a, s: real;

k: integer;

begin

    read(a);

    k := 1;

    s := 1;

    while s<a do begin

        s := s + 1.0/k;

        k := k + 1;

    end;

    write(k);

end.

Си++

#include <iostream>

using namespace std;

int main(){

    double a, s;

    int k;

    cin >> a;

    k = 1;

    s = 1;

    while (s<a) {

        s = s + 1.0/k;

        k = k + 1;

    }

    cout « k « endl;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 1.2.

2.  При­ве­ди­те при­мер числа, при вводе ко­то­ро­го про­грам­ма даст вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

Об­ра­ти­те вни­ма­ние: вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко ис­прав­лять оши­боч­ные стро­ки; уда­лять стро­ки или до­бав­лять новые стро­ки нель­зя. По­ста­рай­тесь также не вне­сти новые ошиб­ки – за это оцен­ка сни­жа­ет­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


5
Тип Д24 C1 № 9316
i

Для за­дан­но­го по­ло­жи­тель­но­го ве­ще­ствен­но­го числа A не­об­хо­ди­мо найти мак­си­маль­ное целое число K, при ко­то­ром вы­пол­ня­ет­ся не­ра­вен­ство

1 плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 2 конец дроби плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: 3 конец дроби плюс ... плюс дробь: чис­ли­тель: 1, зна­ме­на­тель: K конец дроби мень­ше A.

(при K = 0 сумма счи­та­ет­ся рав­ной 0).

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал такую про­грам­му.

 

Бей­сик Python

DIM A, S AS DOUBLE

DIM K AS INTEGER

INPUT A

K = 0

S = 1

WHILE S < A

    K = K + 1

    S = S + 1.0/K

WEND

PRINT K

END

a = float(input())

k = 0

s = 1

while s < a:

    k = k + 1

    s = s + 1.0/k

print(k)

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

алг

нач

    вещ a, s

    цел k

    ввод a

    k := 0

    s := 1

    нц пока s<a

        k := k + 1

        s := s + 1.0/k

    кц

    вывод k

кон

var a, s: real;

k: integer;

begin

    read(a);

    k := 0;

    s := 1;

    while s<a do begin

        k := k + 1;

        s := s + 1.0/k;

    end;

    write(k);

end.

Си++

#include <iostream>

using namespace std;

int main(){

    double a, s;

    int k;

    cin >> a;

    k = 0;

    s = 1;

    while (s<a) {

        k = k + 1;

        s = s + 1.0/k;

    }

    cout « k « endl;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 1.8.

2.  При­ве­ди­те при­мер числа, при вводе ко­то­ро­го про­грам­ма даст вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

Об­ра­ти­те вни­ма­ние: вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко ис­прав­лять оши­боч­ные стро­ки; уда­лять стро­ки или до­бав­лять новые стро­ки нель­зя. По­ста­рай­тесь также не вне­сти новые ошиб­ки – за это оцен­ка сни­жа­ет­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


6
Тип Д24 C1 № 9774
i

Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо опре­де­лить наи­мень­шее целое число K, для ко­то­ро­го вы­пол­ня­ет­ся не­ра­вен­ство:

1 + 2 + … + K > N.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 1

WHILE N > 0

  N = N - K

  K = K + 1

WEND

PRINT K

END

n = int(input())

k = 1

while n>0:

  n = n - k

  k = k + 1

print(k)

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

var n, k: integer;

begin

  read(n);

  k := 1;

  while n>0 do begin

    n := n- k;

    k := k + 1;

  end;

  writeln(k)

end.

алг

нач

  цел n, k

  ввод n

  k := 1

  нц пока n>0

    n := n - k

    k := k + 1

  кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

int n, k;

cin >> n;

k = 1;

while (n>0) {

n = n - k;

k = k + 1;

}

cout « k « endl;

return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет не­вер­ный ответ. Ука­жи­те вер­ный ответ и ответ, ко­то­рый вы­ве­дет про­грам­ма.

2.  При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


7
Тип Д24 C1 № 9810
i

Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо опре­де­лить наи­мень­шее целое число K, для ко­то­ро­го вы­пол­ня­ет­ся не­ра­вен­ство:

1 + 2 + … + KN.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 1

WHILE N >= 0

  K = K + 1

  N = N - K

WEND

PRINT K

END

n = int(input())

k = 1

while n>=0:

  k = k + 1

  n = n - k

print(k)

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

var n, k: integer;

begin

  read(n);

  k := 1;

  while n>=0 do begin

    k := k + 1;

    n := n- k;

  end;

  writeln(k)

end.

алг

нач

  цел n, k

  ввод n

  k := 1

  нц пока n>=0

    k := k + 1

    n := n - k

  кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

int n, k;

cin >> n;

k = 1;

while (n>=0) {

k = k + 1;

n = n - k;

}

cout « k « endl;

return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет не­вер­ный ответ. Ука­жи­те вер­ный ответ и ответ, ко­то­рый вы­ве­дет про­грам­ма.

2.  При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


8
Тип Д24 C1 № 3649
i

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

 

Бей­сикPython

INPUT с, х

IF с>0 THEN

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

ELSE

PRINT "х=",SQR(-с)

или х=",-SQR(-с)

ENDIF

END

c = float(input())

x = float(input())

if c > 0:

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

else:

    print('х=',sqrt(-с),

' или х=',-sqrt(-с))

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

var с,х: real;

begin

readln (с,х);

if с>0 then

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

else

write ('х=',sqrt(-с),

' или х=',-sqrt(-с));

end.

алг

нач

    вещ c,x

    если c > 0 то

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

    иначе

        вывод 'х=',sqrt(-с),

' или х=',-sqrt(-с)

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{ float c,x;

cin >> c >> x;

if (c>0)

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

else

cout << ""х="" << sqrt(-с) << " или х=" << -sqrt(-с)) << endl;

}

 

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

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

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

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


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


9
Тип Д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)  Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­кор­рект­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, по­это­му можно ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы).


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


10
Тип Д24 C1 № 3637
i

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

 

Бей­сикPython

INPUT а, b, х

IF b = 0 THEN

PRINT "х > 0 или х <0"

ELSE

IF а>0 THEN

PRINT "х >0 или х<",-b

ELSE

PRINT -b,"<х<0"

ENDIF

ENDIF

END

a = float(input())

b = float(input())

x = float(input())

if b == 0:

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

else:

    if a > 0:

        print('x > 0 или x <',-b)

    else:

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

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

var a,b,x: real;

begin

readln(a,b,x);

if b = 0 then

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

else

if a > 0 then

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

else

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

end.

алг

нач

    вещ a,b,x

    если b = 0 то

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

    иначе

    если a > 0 то

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

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

    все

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{ float a,b,x;

cin >> a >> b >> x ;

if (b==0)

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

else

if (a > 0)

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

else

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

}

 

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

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

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

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


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


11
Тип Д24 C1 № 3640
i

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

 

Бей­сикPython

INPUT a, b, x

IF a = 0 THEN

IF b = 0 THEN

PRINT "любое число"

ELSE

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

ENDIF

ELSE

IF b = 0 THEN

PRINT "x =0"

ELSE

PRINT "x =",b/a, "или x =",-b/a

ENDIF

ENDIF

END

a = float(input())

b = float(input())

x = float(input())

if a == 0:

    if b == 0:

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

    else:

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

else:

    if b == 0:

        print('x = 0')

    else:

        print('x =', b/a, 'или x =',-b/a)

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

var a,b,x: real;

begin

readln(a,b,x);

if a = 0 then

    if b = 0 then

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

    else

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

else

    if b = 0 then

        write('x = 0')

    else

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

end.

алг

нач

    вещ a,b,x

    если a = 0 то

        если b = 0 то

            вывод "любое число"

        иначе вывод "нет ре­ше­ний"

        все

    иначе

        если b = 0 то

            вывод "x = 0"

        иначе

            вывод "x =", b/a, "или x =",-b/a

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{float a,b,x;

cin >> a >> b >> x;

if (a==0)

if (b==0)

cout << "любое число";

else

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

else

if (b==0)

cout << "x = 0";

else

cout << "x=" << b/a << "или x=" << -b/a << endl;

}

 

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

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

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

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


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


12
Тип Д24 C1 № 10300
i

Даны целые по­ло­жи­тель­ные числа M и N. Не­об­хо­ди­мо опре­де­лить ко­ли­че­ство таких целых по­ло­жи­тель­ных чисел K, для ко­то­рых вы­пол­ня­ет­ся не­ра­вен­ство

M мень­ше или равно K в квад­ра­те мень­ше или равно N.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM M, N, K, T AS INTEGER

INPUT M, N

K = 1

T = 1

WHILE K*K < N

  IF K*K >= M THEN T = T + 1

  K = K + 1

WEND

PRINT T

END

m = int(input())

n = int(input())

k = 1

t = 1

while k*k < n:

  if k*k >= m:

    t = t+1

  k = k + 1

print(t)

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

var m, n, k, t: integer;

begin

  read(m, n);

  k := 1;

  t := 1;

  while k*k < n do begin

    if k*k >= m

      then t := t+1;

    k := k + 1;

  end;

  writeln(t)

end.

алг

нач

  цел m, n, k, t

  ввод m, n

  k := 1

  t := 1

  нц пока k*k < n

    если k*k >= m

      то t := t+1

    все

    k := k+1

  кц

  вывод t

кон

Си++

#include <iostream>

using namespace std;

int main(){

  int m, n, k, t;

  cin >> m >> n;

  k = 1;

  t = 1;

  while (k*k < n) {

    if (k*k >= m) t = t + 1;

    k = k + 1;

  }

  cout « t « endl;

  return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе M  =  10 и N  =  40.

2.  При­ве­ди­те при­мер таких чисел M и N, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


13
Тип Д24 C1 № 10327
i

Даны целые по­ло­жи­тель­ные числа M и N. Не­об­хо­ди­мо опре­де­лить ко­ли­че­ство таких целых чисел K, для ко­то­рых вы­пол­ня­ет­ся не­ра­вен­ство

M мень­ше или равно K в кубе мень­ше или равно N.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM M, N, K, T AS INTEGER

INPUT M, N

K = 1

T = 1

WHILE K*K*K <= N

  IF K*K*K > M THEN T = T + 1

  K = K + 1

WEND

PRINT T

END

m = int(input())

n = int(input())

k = 1

t = 1

while k*k*k <= n:

  if k*k*k > m:

    t = t+1

  k = k + 1

print(t)

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

var m, n, k, t: integer;

begin

  read(m, n);

  k := 1;

  t := 1;

  while k*k*k <= n do begin

    if k*k*k > m

      then t := t + 1;

    k := k + 1;

  end;

  writeln(t)

end.

алг

нач

  цел m, n, k, t

  ввод m, n

  k := 1

  t := 1

  нц пока k*k*k <= n

    если k*k*k > m

      то t := t+1

    все

    k := k+1

  кц

  вывод t

кон

Си++

#include <iostream>

using namespace std;

int main(){

  int m, n, k, t;

  cin >> m >> n;

  k = 1;

  t = 1;

  while (k*k*k <= n) {

    if (k*k*k > m) t = t + 1;

    k = k + 1;

  }

  cout « t « endl;

  return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе M = 10 и N = 100.

2.  При­ве­ди­те при­мер таких чисел M и N, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния. Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


14
Тип Д24 C1 № 10398
i

Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо опре­де­лить мак­си­маль­ное зна­че­ние числа, ко­то­рое по­лу­ча­ет­ся в ре­зуль­та­те воз­ве­де­ния числа 2 в какую-либо сте­пень, на ко­то­рое N де­лит­ся без остат­ка. На­при­мер, для N  =  2016 нужно по­лу­чить ре­зуль­тат 32, а для N  =  2017  — ре­зуль­тат 1. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 2

WHILE N MOD 2 = 0

  N = N\2

  K = K + 1

WEND

PRINT K

END

n = int(input())

k = 2

while n%2 == 0:

  n = n//2

  k = k + 1

print(k)

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

var n, k: integer;

begin

  read(n);

  k := 2;

  while n mod 2 = 0 do begin

    n := n div 2;

    k := k + 1;

  end;

  writeln(k)

end.

алг

нач

  цел n, k

  ввод n

  k := 2

  нц пока mod(n,2) = 0

    n := div(n,2)

    k := k+1

  кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

  int n, k;

  cin >> n;

  k = 2;

  while (n%2 == 0) {

    n = n/2;

    k = k + 1;

  }

  cout « k « endl;

  return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2016.

2.  При­ве­ди­те два воз­мож­ных зна­че­ния N, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


15
Тип Д24 C1 № 10425
i

Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо опре­де­лить мак­си­маль­ное зна­че­ние сте­пе­ни числа 2, на ко­то­рое N де­лит­ся без остат­ка. На­при­мер, для N  =  2016 нужно по­лу­чить ре­зуль­тат 32, а для N  =  2017  — ре­зуль­тат 1. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE N MOD 2 = 0

  N = N\2

  K = K + 2

WEND

PRINT K

END

n = int(input())

k = 0

while n%2 == 0:

  n = n//2

  k = k + 2

print(k)

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

var n, k: integer;

begin

  read(n);

  k := 0;

  while n mod 2 = 0 do begin

    n := n div 2;

    k := k + 2;

  end;

  writeln(k)

end.

алг

нач

  цел n, k

  ввод n

  k := 0

  нц пока mod(n,2) = 0

    n := div(n,2)

    k := k+2

  кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

  int n, k;

  cin >> n;

  k = 0;

  while (n%2 == 0) {

    n = n/2;

    k = k + 2;

  }

  cout « k « endl;

  return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2016.

2.  При­ве­ди­те два воз­мож­ных зна­че­ния N, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


16
Тип Д24 C1 № 11253
i

Дано целое не­от­ри­ца­тель­ное число N. Не­об­хо­ди­мо вы­ве­сти два не­от­ри­ца­тель­ных целых числа, ко­то­рые при воз­ве­де­нии к квад­рат дадут ре­зуль­та­ты, наи­бо­лее близ­кие к N. На­при­мер, для N = 2016 нужно вы­ве­сти числа 44 и 45 (442 = 1936, 452 = 2025), а для N = 9 нужно вы­ве­сти числа 2 и 3. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма  — не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 1

WHILE K*K <= N

  K = K + 1

WEND

PRINT (K-1)*(K-1), K*K

END

n = int(input())

k = 1

while k*k <= n:

    k = k + 1

print((k-1)*(k-1),k*k)

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

алг

нач

  цел n, k

  ввод n

  k := 1

  нц пока k*k <= n

    k := k + 1

  кц

  вывод (k-1)*(k-1), " ", k*k

кон

var n, k: integer;

begin

  read(n);

  k := 1;

  while k*k <= n do

    k := k + 1;

  writeln((k-1)*(k-1),' ',k*k)

end.

Си++

#include <iostream>

using namespace std;

    int main(){

    int n, k;

    cin >> n;

    k = 1;

    while (k*k <= n)

        k = k + 1;

    cout << (k-1)*(k-1) << k*k << endl;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2016.

2.  На­зо­ви­те зна­че­ние N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

 

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


17
Тип Д24 C1 № 11280
i

Дано целое не­от­ри­ца­тель­ное число N. Не­об­хо­ди­мо вы­ве­сти два бли­жай­ших к нему точ­ных квад­ра­та в по­ряд­ке воз­рас­та­ния. На­при­мер, для N = 2016 нужно вы­ве­сти числа 1936 и 2025 (1936 = 442, 2025 = 452), а для N = 9 нужно вы­ве­сти числа 4 и 9.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма  — не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 1

WHILE K*K <= N

  K = K + 1

WEND

PRINT K-1, K

END

n = int(input())

k = 1

while k*k <= n:

    k = k + 1

print(k-1,k)

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

алг

нач

  цел n, k

  ввод n

  k := 1

  нц пока k*k <= n

    k := k + 1

  кц

  вывод k-1, " ", k

кон

var n, k: integer;

begin

  read(n);

  k := 1;

  while k*k <= n do

    k := k + 1;

  writeln(k-1, " ", k)

end.

Си++

#include <iostream>

using namespace std;

    int main(){

    int n, k;

    cin >> n;

    k = 1;

    while (k*k <= n)

        k = k + 1;

    cout << k-1 << k << endl;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2016.

2.  На­зо­ви­те зна­че­ние N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). ля каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

 

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


18
Тип Д24 C1 № 11320
i

Уче­ник на­пи­сал про­грам­му, опре­де­ля­ю­щую, какой сте­пе­нью числа 4 яв­ля­ет­ся вве­ден­ное. На­при­мер, для 16 это 2, так как 42  =  16. Если же такой сте­пе­ни нет, то не­об­хо­ди­мо вы­ве­сти со­об­ще­ние "Не су­ще­ству­ет". К со­жа­ле­нию, уче­ник на­пи­сал про­грам­му не­вер­но.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE K MOD 4 = 0

    N = N \ 4

    K = K + 1

WEND

IF N <= 4 THEN

    PRINT K

ELSE

    PRINT "Не су­ще­ству­ет"

END IF

END

n = int(input())

k = 0

while k%4 == 0:

    n = n // 4

    k = k + 1

if n <= 4:

    print(k)

else:

    print("Не су­ще­ству­ет")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while k mod 4 = 0 do begin

        n := n div 4;

        k := k + 1;

    end;

    if n <= 4 then

        writeln(k)

    else

        writeln('Не су­ще­ству­ет')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(k, 4)=0

        n := div(n,4)

        k := k + 1

    кц

    если n <= 4

        то вывод k

        иначе вывод "Не су­ще­ству­ет"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (k%4 == 0) {

        n = n / 4;

        k = k + 1;

    }

    if (n <= 4)

        cout « k « endl;

    else

        cout << "Не су­ще­ству­ет";

    return 0;

}

 

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  Что вы­даст про­грам­ма при вводе числа 64?

2.  При вводе ка­ко­го числа про­грам­ма вы­даст вер­ный ответ? Ука­жи­те этот ответ.

3.  Ис­правь­те про­грам­му. За­пи­ши­те оши­боч­ную стро­ку, затем ис­прав­лен­ный ва­ри­ант. Пом­ни­те, что нужно ис­пра­вить име­ю­щу­ю­ся про­грам­му, а не пи­сать свою, хоть и с луч­шим ал­го­рит­мом.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


19
Тип Д24 C1 № 11324
i

Уче­ник на­пи­сал про­грам­му, опре­де­ля­ю­щую, какой сте­пе­нью числа 5 яв­ля­ет­ся вве­ден­ное. На­при­мер, для 25 это 2, так как 52  =  25. Если же такой сте­пе­ни нет, то не­об­хо­ди­мо вы­ве­сти со­об­ще­ние "Не су­ще­ству­ет". К со­жа­ле­нию, уче­ник на­пи­сал про­грам­му не­вер­но.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE K MOD 5 = 0

    N = N \ 5

    K = K + 1

WEND

IF K <= 5 THEN

    PRINT K

ELSE

    PRINT "Не су­ще­ству­ет"

END IF

END

n = int(input())

k = 0

while k%5 == 0:

    n = n // 5

    k = k + 1

if k <= 5:

    print(k)

else:

    print("Не су­ще­ству­ет")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while k mod 5 = 0 do begin

        n := n div 5;

        k := k + 1;

    end;

    if k <= 5 then

        writeln(k)

    else

        writeln('Не су­ще­ству­ет')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(k, 5)=0

        n := div(n,5)

        k := k + 1

    кц

    если k <= 5

        то вывод k

        иначе вывод "Не су­ще­ству­ет"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (k%5 == 0) {

        n = n / 5;

        k = k + 1;

    }

    if (k <= 5)

        cout « k « endl;

    else

        cout << "Не су­ще­ству­ет";

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  Что вы­даст про­грам­ма при вводе числа 125?

2.  При вводе ка­ко­го числа про­грам­ма вы­даст вер­ный ответ? Ука­жи­те этот ответ.

3.  Ис­правь­те про­грам­му. За­пи­ши­те оши­боч­ную стро­ку, затем ис­прав­лен­ный ва­ри­ант. Пом­ни­те, что нужно ис­пра­вить име­ю­щу­ю­ся про­грам­му, а не пи­сать свою, хоть и с луч­шим ал­го­рит­мом'


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


20
Тип Д24 C1 № 11329
i

Дано целое по­ло­жи­тель­ное число N, не пре­вос­хо­дя­щее 1000. Не­об­хо­ди­мо опре­де­лить, яв­ля­ет­ся ли это число сте­пе­нью числа 4. То есть тре­бу­ет­ся опре­де­лить, су­ще­ству­ет ли такое целое число К, что 4K  =  N, и вы­ве­сти это число либо со­об­ще­ние, что та­ко­го числа не су­ще­ству­ет. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма ока­за­лась не­вер­ной.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE N MOD 4 = 0

    K = K + (n \ 4)

    N = n div 4

WEND

IF N <= 4 THEN

    PRINT K

ELSE

    PRINT "Не су­ще­ству­ет"

END IF

END

n = int(input())

k = 0

while n%4 == 0:

    k = k + (n // 4)

    n = n // 4

if n <= 4:

    print(k)

else:

    print("Не су­ще­ству­ет")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while n mod 4 = 0 do begin

        k := k + n div 4;

        n := n div 4;

    end;

    if n <= 4 then

        writeln(k)

    else

        writeln('Не су­ще­ству­ет')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(n, 4)=0

        k := k + div(n, 4)

        n := div(n,4)

    кц

    если n <= 4

        то вывод k

        иначе вывод "Не су­ще­ству­ет"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (n%4 == 0) {

        k = k + n / 4;

        n = n / 4;

    }

    if (n <= 4)

        cout « k « endl;

    else

        cout << "Не су­ще­ству­ет";

    return 0;

}

 

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 16.

2.  При­ве­ди­те при­мер числа, при вводе ко­то­ро­го при­ведённая про­грам­ма на­пе­ча­та­ет то, что тре­бу­ет­ся.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


21
Тип Д24 C1 № 11333
i

Дано целое по­ло­жи­тель­ное число N, не пре­вос­хо­дя­щее 1000. Не­об­хо­ди­мо опре­де­лить, яв­ля­ет­ся ли это число сте­пе­нью числа 5. То есть тре­бу­ет­ся опре­де­лить, су­ще­ству­ет ли такое целое число К, что 5K  =  N, и вы­ве­сти это число либо со­об­ще­ние, что та­ко­го числа не су­ще­ству­ет. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма ока­за­лась не­вер­ной.

 

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE N MOD 5 = 0

    K = K + (n \ 5)

    N = n div 5

WEND

IF N > 0 THEN

    PRINT K

ELSE

    PRINT "Не су­ще­ству­ет"

END IF

END

n = int(input())

k = 0

while n%5 == 0:

    k = k + (n // 5)

    n = n // 5

if n > 0:

    print(k)

else:

    print("Не су­ще­ству­ет")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while n mod 5 = 0 do begin

        k := k + n div 5;

        n := n div 5;

    end;

    if n > 0 then

        writeln(k)

    else

        writeln('Не су­ще­ству­ет')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(n, 5)=0

        k := k + div(n, 5)

        n := div(n,5)

    кц

    если n > 0

        то вывод k

        иначе вывод "Не су­ще­ству­ет"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (n%5 == 0) {

        k = k + n / 5;

        n = n / 5;

    }

    if (n > 0)

        cout « k « endl;

    else

        cout << "Не су­ще­ству­ет";

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 25.

2.  При­ве­ди­те при­мер числа, при вводе ко­то­ро­го при­ведённая про­грам­ма на­пе­ча­та­ет то, что тре­бу­ет­ся.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


22
Тип Д24 C1 № 11360
i

Дано целое по­ло­жи­тель­ное число N, не пре­вос­хо­дя­щее 1000. Не­об­хо­ди­мо опре­де­лить, яв­ля­ет­ся ли это число сте­пе­нью числа 3. То есть тре­бу­ет­ся опре­де­лить, су­ще­ству­ет ли такое целое число K, что 3K = N, и вы­ве­сти это число либо со­об­ще­ние, что та­ко­го числа не су­ще­ству­ет.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма ока­за­лась не­вер­ной. Ниже эта на­пи­сан­ная им про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE K MOD 3 = 0

    K = K + 1

    N = N \ 3

WEND

IF N > 0 THEN

    PRINT K

ELSE

    PRINT "Не су­ще­ству­ет"

END IF

END

n = int(input())

k = 0

while k%3 == 0:

    k = k + 1

    n = n // 3

if n > 0:

    print(k)

else:

    print("Не су­ще­ству­ет")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while k mod 3 = 0 do begin

        k := k + 1;

        n := n div 3;

    end;

    if n > 0 then

        writeln(k)

    else

        writeln('Не су­ще­ству­ет')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(k, 3)=0

        k := k + 1

        n := div(n,3)

    кц

    если n > 0

        то вывод k

        иначе вывод "Не су­ще­ству­ет"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (k%3 == 0) {

        k = k + 1;

        n = n / 3;

    }

    if (n > 0)

        cout « k « endl;

    else

        cout << "Не су­ще­ству­ет";

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 9.

2.  При­ве­ди­те при­мер числа, при вводе ко­то­ро­го при­ведённая про­грам­ма на­пе­ча­та­ет то, что тре­бу­ет­ся.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


23
Тип Д24 C1 № 13420
i

Дано на­ту­раль­ное число A. Тре­бу­ет­ся вы­ве­сти такое мак­си­маль­но воз­мож­ное на­ту­раль­ное число K, при ко­то­ром сумма 1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + … + K) не пре­вы­ша­ет A. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма – не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A,S,P,K AS INTEGER

INPUT A

S = 0

P = 0

K = 1

WHILE S <= A

    K = K + 1

    P = P + K

    S = S + P

WEND

PRINT K

END

a = int(input())

s = 0

p = 0

k = 1

while s <= a:

     k = k + 1

     p = p + k

     s = s + p

print(k)

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

var a, s, p, k: integer;

begin

    readln(a);

    s := 0;

    p := 0;

    k := 1;

    while s <= a do begin

      k := k+1;

      p := k+p;

      s := p+s;

    end;

    writeln(k);

end.

алг

нач

   цел a, s, p, k

   ввод a

   s := 0

   p := 0

   k := 1

   нц пока s <= a

     k := k+1

     p := p+k

     s := s+p

   кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main()

{

   int a, s, p, k;

   cin >> a;

   s = 0;

   p = 0;

   k = 1;

   while (s <= a) {

       k = k+1;

       p = p+k;

       s = s+p;

   }

   cout « k « endl;

   return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 17.

2.  Пе­ре­чис­ли­те все зна­че­ния A, при вводе ко­то­рых про­грам­ма вы­ве­дет ответ 3.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния. Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


24
Тип Д24 C1 № 13473
i

Дано на­ту­раль­ное число A. Тре­бу­ет­ся вы­ве­сти такое ми­ни­маль­но воз­мож­ное на­ту­раль­ное число K, при ко­то­ром сумма 1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + … + K) не пре­вы­ша­ет A. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма – не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A,S,P,K AS INTEGER

INPUT A

S = 0

P = 1

K = 1

WHILE S <= A

    K = K + 1

    P = P + K

    S = S + P

WEND

PRINT K

END

a = int(input())

s = 0

p = 1

k = 1

while s <= a:

     k = k + 1

     p = p + k

     s = s + p

print(k)

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

var a, s, p, k: integer;

begin

    readln(a);

    s := 0;

    p := 1;

    k := 1;

    while s <= a do begin

      k := k+1;

      p := k+p;

      s := p+s;

    end;

    writeln(k);

end.

алг

нач

   цел a, s, p, k

   ввод a

   s := 0

   p := 1

   k := 1

   нц пока s <= a

     k := k+1

     p := p+k

     s := s+p

   кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main()

{

   int a, s, p, k;

   cin >> a;

   s = 0;

   p = 1;

   k = 1;

   while (s <= a) {

       k = k+1;

       p = p+k;

       s = s+p;

   }

   cout « k « endl;

   return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 17.

2.  При­ве­ди­те при­мер зна­че­ния A, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния. Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


25
Тип Д24 C1 № 13500
i

Даны на­ту­раль­ные числа A и B. Тре­бу­ет­ся найти такое ми­ни­маль­но воз­мож­ное на­ту­раль­ное число K ≥ A, что сумма всех чисел от A до K боль­ше или равна B.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A,B,S,K AS INTEGER

INPUT A,B

S = 1

K = A

WHILE S <= B

    K = K + 1

     S = S + K

WEND

PRINT K

END

a = int(input())

b = int(input())

s = 1

k = a

while s <= b:

     k = k + 1

     s = s + k

print(k)

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

var a, b, s, k: integer;

begin

     read(a,b);

     s := 1;

     k := a;

     while s <= b do begin

        k := k+1;

         s := s+k;

     end;

     writeln(k)

end.

алг

нач

     цел a, b, s, k

     ввод a, b

     s := 1

     k := a

     нц пока s <= b

         k := k+1

         s := s+k

     кц

     вывод k

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

     int a, b, s, k;

     scanf("%d %d", &a, &b);

     s = 1;

     k = a;

     while (s <= b) {

         k = k+1;

         s = s+k;

     }

     printf("%d", k);

     return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 10 и 13.

2.  При­ве­ди­те при­мер зна­че­ний A и B, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


26
Тип Д24 C1 № 13527
i

Даны на­ту­раль­ные числа A и B. Тре­бу­ет­ся найти такое ми­ни­маль­но воз­мож­ное на­ту­раль­ное число K ≥ A, что сумма всех чисел от A до K боль­ше B.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A,B,S,K AS INTEGER

INPUT A,B

S = 0

K = A

WHILE S < B

    K = K + 1

    S = S + K

WEND

PRINT K

END

a = int(input())

b = int(input())

s = 0

k = a

while s < b:

    k = k + 1

    s = s + k

print(k)

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

var a, b, s, k: integer;

begin

    read(a,b);

    s := 0;

    k := a;

    while s < b do begin

      k := k+1;

      s := s+k;

    end;

    writeln(k)

end.

алг

нач

    цел a, b, s, k

    ввод a, b

    s := 0

    k := a

    нц пока s < b

      k := k+1

      s := s+k

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int a, b, s, k;

    cin >> a >> b;

    s = 0;

    k = a;

    while (s < b) {

      k = k+1;

      s = s+k;

    }

    cout « k « endl;

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 15 и 26.

2.  При­ве­ди­те при­мер зна­че­ний A и B, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


27
Тип Д24 C1 № 13608
i

Дано на­ту­раль­ное число A > 0. Тре­бу­ет­ся вы­ве­сти такое ми­ни­маль­но воз­мож­ное нечётное на­ту­раль­ное число K, при ко­то­ром сумма 1*2 + 3*4 + … + K*(K+1) ока­жет­ся боль­ше A.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма – не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A,S,K AS INTEGER

INPUT A

S = 0

K = 1

WHILE S <= A

    S = S + K*(K+1)

    K = K + 1

WEND

PRINT K

END

a = int(input())

s = 0

k = 1

while s <= a:

    s = s + k*(k+1)

    k = k + 1

print(k)

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

var a, s, k: integer;

begin

    read(a);

    s := 0;

    k := 1;

    while s <= a do begin

        s := s+k*(k+1);

        k := k+1;

    end;

    writeln(k)

end.

алг

нач

    цел a, s, k

    ввод a

    s := 0

    k := 1

    нц пока s <= a

        s := s+k*(k+1)

        k := k+1

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int a, s, k;

    cin >> a;

    s = 0;

    k = 1;

    while (s <= a) {

        s = s+k*(k+1);

        k = k+1;

    }

    cout « k « endl;

    return 0;

}

 

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 15.

2.  Ука­жи­те два наи­мень­ших зна­че­ния A, при ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки. За ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


28
Тип Д24 C1 № 13635
i

Дано на­ту­раль­ное число A>0. Тре­бу­ет­ся вы­ве­сти такое ми­ни­маль­но воз­мож­ное нечётное на­ту­раль­ное число K, при ко­то­ром сумма 1*2 + 3*4 + … + K*(K+1) ока­жет­ся боль­ше A. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма – не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A,S,K AS INTEGER

INPUT A

S = 0

K = 1

WHILE S <= A

    K = K + 1

    S = S + K*(K+1)

WEND

PRINT K

END

a = int(input())

s = 0

k = 1

while s <= a:

    k = k + 1

    s = s + k*(k+1)

print(k)

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

var a, s, k: integer;

begin

    read(a);

    s := 0;

    k := 1;

    while s <= a do begin

        k := k+1;

        s := s+k*(k+1);

    end;

    writeln(k)

end.

алг

нач

    цел a, s, k

    ввод a

    s := 0

    k := 1

    нц пока s <= a

        k := k+1

        s := s+k*(k+1)

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int a, s, k;

    cin >> a;

    s = 0;

    k = 1;

    while (s <= a) {

        k = k+1;

        s = s+k*(k+1);

    }

    cout « k « endl;

    return 0;

}

 

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 15.

2.  Ука­жи­те два наи­мень­ших зна­че­ния A, при ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


29
Тип Д24 C1 № 14239
i

Даны целые числа A и B, 0 ≤ B ≤ A. По­сле­до­ва­тель­но вы­чис­ля­ют­ся зна­че­ния A – 1, A – 1 – 2, A – 1 – 2 – 3 и т. д. Не­об­хо­ди­мо вы­ве­сти наи­боль­шее из этих зна­че­ний, ко­то­рое мень­ше B.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A,B,S,K AS INTEGER

INPUT A, B

IF NOT (0<=B AND B<=A) THEN

    PRINT "Не­вер­ные дан­ные"

ELSE

    S = A

    K = 0

    WHILE S > B

         S = S - K

        K = K + 1

     WEND

    PRINT K

END IF

END

a = int(input())

b = int(input())

if not 0<=b<=a:

    print("Не­вер­ные дан­ные")

else:

    s = a

    k = 0

    while s > b:

        s = s-k

        k = k+1

    print(k)

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

var a, b, s, k: integer;

begin

    read(a,b);

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

        writeln('Не­вер­ные дан­ные')

    else begin

        s := a;

        k := 0;

        while s > b do begin

            s := s-k;

            k := k+1;

        end;

        writeln(k)

    end

end.

алг

нач

    цел a, b, s, k

    ввод a, b

    если не 0<=b<=a

        то

        вывод "Не­вер­ные дан­ные"

        иначе

        s := a

        k := 0

        нц пока s > b

            s := s-k

            k := k+1

        кц

        вывод k

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int a, b, s, k;

    cin >> a >> b;

    if (!(0<=b && b<=a))

        cout << "Не­вер­ные дан­ные";

    else {

        s = a;

        k = 0;

        while (s > b) {

            s = s-k;

            k = k+1;

        }

        cout << k;

    }

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 6 и 2.

2.  При­ве­ди­те при­мер таких зна­че­ний A и B, при вводе ко­то­рых про­грам­ма вы­ве­дет пра­виль­ный чис­ло­вой ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

 

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


30
Тип Д24 C1 № 14283
i

Даны целые числа A и B, 0 ≤ B ≤ A. По­сле­до­ва­тель­но вы­чис­ля­ют­ся зна­че­ния A–1, A–1–2, A–1–2–3 и так далее... Не­об­хо­ди­мо вы­ве­сти наи­боль­шее из этих зна­че­ний, ко­то­рое мень­ше B.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A,B,S,K AS INTEGER

INPUT A, B

IF NOT (0<=B AND B<=A) THEN

    PRINT "Не­вер­ные дан­ные"

ELSE

    S = 0

    K = 0

    WHILE S > B

         K = K + 1

        S = S - K

     WEND

    PRINT S

END IF

END

a = int(input())

b = int(input())

if not 0<=b<=a:

    print("Не­вер­ные дан­ные")

else:

    s = 0

    k = 0

    while s > b:

        k = k+1

        s = s-k

    print(s)

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

var a, b, s, k: integer;

begin

    read(a,b);

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

        writeln('Не­вер­ные дан­ные')

    else begin

        s := 0;

        k := 0;

        while s > b do begin

            k := k+1;

            s := s-k;

        end;

        writeln(s)

    end

end.

алг

нач

    цел a, b, s, k

    ввод a, b

    если не 0<=b<=a

        то

        вывод "Не­вер­ные дан­ные"

        иначе

        s := 0

        k := 0

        нц пока s > b

            k := k+1

            s := s-k

        кц

        вывод s

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int a, b, s, k;

    cin >> a >> b;

    if (!(0<=b && b<=a))

        cout << "Не­вер­ные дан­ные";

    else {

        s = 0;

        k = 0;

        while (s > b) {

            k = k+1;

            s = s-k;

        }

        cout << s;

    }

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 12345 и 1234.

2.  При­ве­ди­те при­мер таких зна­че­ний A и B, при вводе ко­то­рых про­грам­ма вы­ве­дет пра­виль­ный чис­ло­вой ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

 

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


31
Тип Д24 C1 № 14710
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4! = 1 · 2 · 3 · 4 = 24.

Дано целое по­ло­жи­тель­ное число A. Не­об­хо­ди­мо найти ми­ни­маль­ное на­ту­раль­ное K, для ко­то­ро­го K! ≥ A.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, K, F AS INTEGER

INPUT A

K = 0

F = 1

WHILE F <= A

    K = K + 1

    F = F * K

WEND

PRINT K

END

a = int(input())

k = 0

f = 1

while f <= a:

    k += 1

    f *= k

print(k)

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

var a, k, f: integer;

begin

    read(a);

    k := 0;

    f := 1;

    while f <= a do begin

        k := k + 1;

        f := f * k

    end;

    writeln(k)

end.

алг

нач

    цел a, k, f

    ввод a

    k := 0

    f := 1

    нц пока f <= a

        k := k + 1

        f := f * k

    кц

    вывод k

кон

Си++

#include

using namespace std;

int main(){

    int a, k, f;

    cin >> a;

    k = 0;

    f = 1;

    while (f <= a) {

        ++k;

        f *= k;

    }

    cout << k;

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе A = 6.

2.  На­зо­ви­те ми­ни­маль­ное A, боль­шее 10, при ко­то­ром про­грам­ма вы­ве­дет не­вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


32
Тип Д24 C1 № 14785
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4! = 1 · 2 · 3 · 4 = 24.

Дано целое по­ло­жи­тель­ное число A. Не­об­хо­ди­мо найти ми­ни­маль­ное на­ту­раль­ное K, для ко­то­ро­го K! > A.Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A, K, F AS INTEGER

INPUT A

K = 2

F = 1

WHILE F < A

    K = K + 1

    F = F * K

WEND

PRINT K

END

a = int(input())

k = 2

f = 1

while f < a:

    k += 1

    f *= k

print(k)

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

var a, k, f: integer;

begin

    read(a);

    k := 2;

    f := 1;

    while f < a do begin

        k := k + 1;

        f := f * k

    end;

    writeln(k)

end.

алг

нач

    цел a, k, f

    ввод a

    k := 2

    f := 1

    нц пока f < a

        k := k + 1

        f := f * k

    кц

    вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int a, k, f;

    cin >> a;

    k = 2;

    f = 1;

    while (f < a) {

        ++k;

        f *= k;

    }

    cout << k;

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе A = 5.

2.  На­зо­ви­те ми­ни­маль­ное A, боль­шее 10, при ко­то­ром про­грам­ма вы­ве­дет не­вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


33
Тип Д24 C1 № 15119
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4! = 1 · 2 · 3 · 4 = 24.

Дано целое по­ло­жи­тель­ное число A.

Не­об­хо­ди­мо вы­ве­сти ми­ни­маль­ное на­ту­раль­ное число K, для ко­то­ро­го 1! + 2! + … + K! > A.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, K, F, S AS INTEGER

INPUT A

K = 1

F = 1

S = 0

WHILE F <= A

    K = K + 1

    F = F * K

    S = S + F

WEND

PRINT K

END

a = int(input())

    k = 1

    f = 1

    s = 0

while f <= a:

    k += 1

    f *= k

    s += f

print(k)

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

var a, k, f, s: integer;

begin

    read(a);

    k := 1;

    f := 1;

    s := 0;

    while f <= a do begin

        k := k + 1;

        f := f * k;

        s := s + f;

    end;

    writeln(k);

end.

алг

нач

    цел a, k, f, s

    ввод a

    k := 1

    f := 1

    s := 0

    нц пока f <= a

        k := k + 1

        f := f * k

        s := s + f

    кц

    вывод k

кон

С++

#include <iostream>

using namespace std;

int main(){

    int a, k, f, s;

    cin >> a;

    k = 1;

    f = 1;

    s = 0;

    while (f <= a) {

        ++k;

        f *= k;

        s += f;

    }

    cout << k;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе A = 8.

2.  На­зо­ви­те ми­ни­маль­ное A, боль­шее 10, при ко­то­ром про­грам­ма вы­ве­дет не­вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


34
Тип Д24 C1 № 15146
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4! = 1 · 2 · 3 · 4 = 24.

Дано целое по­ло­жи­тель­ное число A.

Не­об­хо­ди­мо вы­ве­сти ми­ни­маль­ное на­ту­раль­ное число K, для ко­то­ро­го 1! + 2! + … + K! > A.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, K, F, S AS INTEGER

INPUT A

K = 1

F = 1

S = 1

WHILE S <= A

    F = F * K

    K = K + 1

    S = S + F

WEND

PRINT K

END

a = int(input())

    k = 1

    f = 1

    s = 1

while s <= a:

    f *= k

    k += 1

    s += f

print(k)

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

var a, k, f, s: integer;

begin

    read(a);

    k := 1;

    f := 1;

    s := 1;

    while s <= a do begin

        f := f * k;

        k := k + 1;

        s := s + f

    end;

    writeln(k)

end.

алг

нач

    цел a, k, f, s

    ввод a

     k := 1

     f := 1

     s := 1

     нц пока s <= a

         f := f * k;

         k := k + 1;

         s := s + f

     кц

     вывод k

кон

С++

#include <iostream>

using namespace std;

int main(){

     int a, k, f, s;

     cin >> a;

     k = 1;

     f = 1;

     s = 1;

     while (s <= a) {

        f *= k;

        ++k;

        s += f;

    }

    cout << k;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе A = 6.

2.  На­зо­ви­те ми­ни­маль­ное A, боль­шее 10, при ко­то­ром про­грам­ма вы­ве­дет вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не более двух). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


35
Тип Д24 C1 № 15640
i

На вход про­грам­мы по­сту­па­ют 4 не­от­ри­ца­тель­ных целых числа, не пре­вы­ша­ю­щие 1000, среди ко­то­рых могут быть оди­на­ко­вые. Нужно на­пи­сать про­грам­му, ко­то­рая вы­во­дит ко­ли­че­ство чисел, не крат­ных 3, и мак­си­маль­ное из этих чисел. Если среди вход­ных дан­ных нет чисел, не крат­ных трёх, про­грам­ма долж­на вы­ве­сти слово «NO». Про­грам­мист на­пи­сал про­грам­му не­пра­виль­но.

Бей­сикPython

COUNT = 0

MAXIMUM = 1000

FOR I = 1 TO 4

    INPUT X

    IF X MOD 3 <> 0 THEN

        COUNT = COUNT + 1

        IF X > MAXIMUM THEN

            MAXIMUM = I

        END IF

    END IF

NEXT I

IF COUNT > THEN

    PRINT COUNT

    PRINT MAXIMUM

ELSE

    PRINT “NO”

END IF

count = 0

maximum = 1000

for i in range(4):

    x = int(input())

    if x % 3 != 0:

        count = count + 1

        if x > maximum:

            maximum = i

if count > 0:

    print(count)

    print(maximum)

else:

    print("NO")

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

var i, x: integer;

var maximum, count: integer;

begin

     count := 0;

    maximum := 1000;

    for i:=1 to 4 do begin

         read( x );

         if x mod 3 <> 0 then begin

            count := count + 1;

             if x > maximum then

                 maximum := i;

            end;

         end;

     if count > 0 then begin

        writeln(count);

        writeln(maximum);

     end

    else

        writeln('NO');

end.

алг

нач

цел i, x

цел maximum, count

count := 0

maximum := 1000

нц для i от 1 до 4

ввод x

если mod(x, 3) <> 0 то

count := count + 1

если x > maximum то

maximum := i

все

все

кц

если count > 0 то

вывод count, нс

вывод maximum

иначе

вывод "NO"

все

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

    int i, x, maximum;

    int count = 0;

    maximum = 1000;

    for (i=1; i<= 4; i++) {

        cin >> x;

        if ( x % 3 != 0 ) {

             count = count + 1;

             if ( x > maximum ) maximum = i;

            }

        }

     if ( count > 0 ) {

        cout << count << endl;

        cout << maximum;

    }

    else

        cout << "NO";

     return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 7 15 8 21.

2.  При­ве­ди­те при­мер такой по­сле­до­ва­тель­но­сти, со­дер­жа­щей число, крат­ное 3, при вводе ко­то­рой про­грам­ма вы­ве­дет пра­виль­ный ответ.

3.  Най­ди­те все ошиб­ки в этой про­грам­ме (их может быть одна или не­сколь­ко). Из­вест­но, что каж­дая ошиб­ка за­тра­ги­ва­ет толь­ко одну стро­ку и может быть ис­прав­ле­на без из­ме­не­ния дру­гих строк. Для каж­дой ошиб­ки:

1)  вы­пи­ши­те стро­ку, в ко­то­рой сде­ла­на ошиб­ка;

2)  ука­жи­те, как ис­пра­вить ошиб­ку, т. е. при­ве­ди­те пра­виль­ный ва­ри­ант стро­ки.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


36
Тип Д24 C1 № 16399
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4!  =  1 · 2 · 3 · 4  =  24.

Дано целое по­ло­жи­тель­ное число A. Не­об­хо­ди­мо найти бли­жай­шее к A число, ко­то­рое яв­ля­ет­ся точ­ным фак­то­ри­а­лом ка­ко­го-либо на­ту­раль­но­го числа. Если два точ­ных фак­то­ри­а­ла оди­на­ко­во близ­ки к A, нужно вы­брать мень­ший из них. На­при­мер, для A = 15 нужно по­лу­чить ответ 6, а для A = 20 – ответ 24.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, K, F AS INTEGER

INPUT A

K = 1

F = 1

WHILE F < A

    K = K + 1

    F = F * K

WEND

IF F − A >= F \ K − A THEN

    F = F \ K

END IF

PRINT K

END

a = int(input())

k = 1

f = 1

while f < a:

    k += 1

    f *= k

if f − a >= f // k − a:

    f //= k

print(k)

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

var a, k, f: integer;

begin

    read(a);

    k := 1;

    f := 1;

    while f < a do begin

        k := k + 1;

        f := f * k

    end;

    end;

    if f−a >= f div k − a

        then f := f div k;

    writeln(k)

end.

алг

нач

    цел a, k, f

    ввод a

    k := 1

    f := 1

    нц пока f < a

        k := k + 1

        f := f * k

    кц

    если f − a >= div(f,k) − a

        то f := div(f,k)

    все

    вывод k

кон

С++

#include <iostream>

using namespace std;

int main(){

    int a, k, f;

    cin >> a;

    k = 1;

    f = 1;

    while (f < a) {

        ++k;

        f *= k;

    }

    if (f − a >= f/k − a)

        f = f/k;

    cout << k;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе A = 5.

2.  При­ве­ди­те при­мер числа A, при ко­то­ром про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


37
Тип Д24 C1 № 16453
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4!  =  1 · 2 · 3 · 4  =  24.

Дано целое по­ло­жи­тель­ное число A. Не­об­хо­ди­мо найти бли­жай­шее к A число, ко­то­рое яв­ля­ет­ся точ­ным фак­то­ри­а­лом ка­ко­го-либо на­ту­раль­но­го числа. Если два точ­ных фак­то­ри­а­ла оди­на­ко­во близ­ки к A, нужно вы­брать мень­ший из них. На­при­мер, для A = 15 нужно по­лу­чить ответ 6, а для A = 20 – ответ 24.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, K, F AS INTEGER

INPUT A

K = 0

F = 1

WHILE F <= A

    K = K + 1

    F = F * K

WEND

IF F − A > A − F \ K THEN

    F = F \ K

    K = K − 1

END IF

PRINT K

END

a = int(input())

k = 0

f = 1

while f <= a:

    k += 1

    f *= k

if f − a > a − f // k:

    f //= k

    k −= 1

print(k)

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

var a, k, f: integer;

begin

    read(a);

    k := 0;

    f := 1;

    while f <= a do begin

        k := k + 1;

        f := f * k

    end;

    if f−a > a − f div k then begin

         f := f div k;

        k := k − 1;

    end;

    writeln(k)

end.

алг

нач

    цел a, k, f

    ввод a

    k := 0

    f := 1

    нц пока f <= a

        k := k + 1

        f := f * k

    кц

    если f − a > a − div(f,k)

        то f := div(f,k)

            k := k − 1

    все

    вывод k

кон

С++

#include <iostream>

using namespace std;

int main(){

    int a, k, f;

    cin >> a;

    k = 0;

    f = 1;

    while (f <= a) {

        ++k;

        f *= k;

    }

    if (f − a > a − f/k) {

        f = f/k;

        −−k;

    }

    cout << k;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе A = 7.

2.  При­ве­ди­те при­мер числа A, при ко­то­ром про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


38
Тип Д24 C1 № 17342
i

Фак­то­ри­а­лом на­ту­раль­но­го числа N (обо­зна­ча­ет­ся N!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до N. На­при­мер, 4!  =  1 · 2 · 3 · 4 = 24. Даны целые по­ло­жи­тель­ные числа A и B, 0 < AB. Не­об­хо­ди­мо найти ко­ли­че­ство таких на­ту­раль­ных K, для ко­то­рых AK! ≤ B. На­при­мер, при A = 5, B = 25 ответ дол­жен быть равен 2 (под­хо­дя­щие зна­че­ния K  — 3 и 4, их фак­то­ри­а­лы 6 и 24 по­па­да­ют в за­дан­ный ин­тер­вал). Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, B, K, F, D AS INTEGER

INPUT A: INPUT B

F = 1

K = 0

D = 0

WHILE F < B

    IF F >=A THEN

        D = D + 1

    END IF

    K = K + 1

    F = F * K

WEND

PRINT D

END

a = int(input())

b = int(input())

f = 1

k = 0

d = 0

while f < b:

    if f >= a:

        d += 1

    k += 1

    f *= k

print(d)

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

var a, b, k, f, d: integer;

begin

    read(a, b);

    f := 1;

    k := 0;

    d := 0;

    while f < b do begin

        if f >= a then

            d := d + 1;

        k := k + 1;

        f := f * k

    end;

    writeln(d)

end.

алг

нач

    цел a, b, k, f, d

    ввод a, b

    f := 1

    k := 0

    d := 0

    нц пока f < b

        если f >=a

            то d := d + 1

        все

        k := k + 1

        f := f * k

    кц

    вывод d

кон

С++

#include <iostream>

using namespace std;

int main(){

    int a, b, k, f, d;

    cin >> a >> b;

    f = 1;

    k = 0;

    d = 0;

    while (f < b) {

        if (f >= a)

            ++d;

        ++k;

        f *= k;

    }

    cout << d;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 2 и 6.

2.  При­ве­ди­те при­мер вход­ных дан­ных, при ко­то­рых про­грам­ма вы­ве­дет ответ, ко­то­рый боль­ше пра­виль­но­го.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


39
Тип Д24 C1 № 17388
i

Фак­то­ри­а­лом на­ту­раль­но­го числа N (обо­зна­ча­ет­ся N!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до N. На­при­мер, 4!  =  1 · 2 · 3 · 4 = 24. Даны целые по­ло­жи­тель­ные числа A и B, 0 < AB. Не­об­хо­ди­мо найти ко­ли­че­ство таких на­ту­раль­ных K, для ко­то­рых AK! ≤ B. На­при­мер, при A = 5, B = 25 ответ дол­жен быть равен 2 (под­хо­дя­щие зна­че­ния K  — 3 и 4, их фак­то­ри­а­лы 6 и 24 по­па­да­ют в за­дан­ный ин­тер­вал). Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM A, B, K, F, D AS INTEGER

INPUT A: INPUT B

F = 1

K = 1

D = 1

WHILE F <= B

    IF F >A THEN

        D = D + 1

    END IF

    K = K + 1

    F = F * K

WEND

PRINT D

END

a = int(input())

b = int(input())

f = 1

k = 1

d = 1

while f <= b:

    if f > a:

        d += 1

    k += 1

    f *= k

print(d)

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

var a, b, k, f, d: integer;

begin

    read(a, b);

    f := 1;

    k := 1;

    d := 1;

    while f <= b do begin

        if f > a then

            d := d + 1;

        k := k + 1;

        f := f * k

    end;

    writeln(d)

end.

алг

нач

    цел a, b, k, f, d

    ввод a, b

    f := 1

    k := 1

    d := 1

    нц пока f <= b

        если f >a

            то d := d + 1

        все

        k := k + 1

        f := f * k

    кц

    вывод d

кон

С++

#include <iostream>

using namespace std;

int main(){

    int a, b, k, f, d;

    cin >> a >> b;

    f = 1;

    k = 1;

    d = 1;

    while (f <= b) {

        if (f > a)

            ++d;

        ++k;

        f *= k;

    }

    cout << d;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 5 и 25.

2.  При­ве­ди­те при­мер вход­ных дан­ных, при ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


40
Тип Д24 C1 № 18505
i

Дано целое по­ло­жи­тель­ное число N ≥ 10. Не­об­хо­ди­мо найти наи­боль­шую сумму двух со­сед­них цифр в де­ся­тич­ной за­пи­си N. На­при­мер, для N  =  2018 нужно по­лу­чить ответ 9, а для N  =  2010 ответ 2.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM N,M,D1,D2,S AS INTEGER

INPUT N

M = 0

D1 = 0

WHILE N > 9

    D2 = N MOD 10

    S = D1 + D2

    IF S > M THEN

        M = S

    END IF

    N = N \ 10

    D1 = N MOD 10

WEND

PRINT M

n = int(input())

m = 0

d1 = 0

while n>9:

    d2 = n % 10

    s = d1 + d2

    if s > m:

        m = s

    n //= 10

    d1 = n % 10

print(m)

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

var n,m,d1,d2,s: integer;

begin

    readln(n);

    m := 0;

    d1 := 0;

    while n > 9 do begin

        d2 := n mod 10;

        s := d1 + d2;

        if s > m then

            m := s;

        n := n div 10;

        d1 := n mod 10

    end;

    writeln(m)

end.

алг

нач

    цел n,m,d1,d2,s

    ввод n

    m := 0

    d1 := 0

    нц пока n > 9

        d2 := mod(n,10)

        s := d1 + d2

        если s > m

            то m := s

        все

        n := div(n,10)

        d1 := mod(n,10)

    кц

    вывод m

кон

С++

#include <iostream>

using namespace std;

    int main() {

    int n,m,d1,d2,s;

    cin >> n;

    m = 0;

    d1 = 0;

    while (n > 9) {

        d2 = n % 10;

        s = d1 + d2;

        if (s > m)

            m = s;

        n /= 10;

        d1 = n % 10;

    }

    cout << m;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2018.

2.  При­ве­ди­те при­мер числа N, при ко­то­ром про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

 

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


41
Тип Д24 C1 № 18572
i

Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо найти наи­боль­шее ко­ли­че­ство под­ряд иду­щих еди­ниц в де­ся­тич­ной за­пи­си N. На­при­мер, для N  =  2019 нужно по­лу­чить ответ 1, а для N  =  21011 ответ 2.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния

 

Бей­сикPython

DIM N, M, K AS INTEGER

INPUT N

M = 0

K = 0

WHILE N >= 10

    IF N MOD 10 = 1 THEN

        K = K + 1

    ELSE

        K = 1

    END IF

    IF K > M THEN

        M = M + 1

    END IF

    N = N \ 10

WEND

PRINT M

n = int(input())

m = 0

k = 0

while n>=10:

    if n % 10 == 1:

        k += 1

    else:

        k = 1

    if k > m:

        m += 1

    n //= 10

print(m)

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

var n, m, k: integer;

begin

    readln(n);

    m := 0;

    k := 0;

    while n >= 10 do begin

        if n mod 10 = 1

            then k := k + 1

        else k := 1;

        if k > m then

            m := m + 1;

    n := n div 10;

    end;

    writeln(m)

end.

алг

нач

    цел n, m, k

    ввод n

    m := 0

    k := 0

    нц пока n >= 10

        если mod(n,10) = 1

            то k := k + 1

        иначе k := 1

        все

        если k > m

            то m := m + 1

        все

        n := div(n,10)

    кц

    вывод m

кон

С++

#include <iostream>

using namespace std;

int main() {

    int n, m, k;

    cin >> n;

    m = 0;

    k = 0;

    while (n >= 10) {

        if (n % 10 == 1)

            k += 1;

        else

            k = 1;

        if (k > m)

            m += 1;

        n /= 10;

    }

    cout << m;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  При­ве­ди­те при­мер числа N, при ко­то­ром про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

2.  При­ве­ди­те при­мер числа N, при ко­то­ром про­грам­ма вы­ве­дет не­вер­ный ответ. Ука­жи­те вер­ный ответ и ответ про­грам­мы.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

 

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


42
Тип Д24 C1 № 18636
i

Дано целое по­ло­жи­тель­ное число N ≥ 10. Не­об­хо­ди­мо найти наи­боль­шую сумму двух со­сед­них цифр в де­ся­тич­ной за­пи­си N. На­при­мер, для N  =  2018 нужно по­лу­чить ответ 9, а для N  =  2010 ответ 2.

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM N,M,D1,D2,S AS INTEGER

INPUT N

M = 0

D1 = N MOD 10

WHILE N > 0

    D2 = N MOD 10

    S = D1 + D2

    IF S > M THEN

        M = S

    END IF

    D1 = N MOD 10

    N = N \ 100

WEND

PRINT M

n = int(input())

m = 0

d1 = n%10

while n>0:

    d2 = n % 10

    s = d1 + d2

    if s > m:

        m = s

    d1 = n%10

    n //= 100

print(m)

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

var n,m,d1,d2,s: integer;

begin

    readln(n);

    m := 0;

    d1 := n mod 10;

    while n > 0 do begin

        d2 := n mod 10;

        s := d1 + d2;

        if s > m then

            m := s;

        d1 := n mod 10;

        n := n div 100

    end;

    writeln(m)

end.

алг

нач

    цел n,m,d1,d2,s

    ввод n

    m := 0

    d1 := mod(n,10)

    нц пока n > 0

        d2 := mod(n,10)

        s := d1 + d2

        если s > m

            то m := s

        все

        d1 := mod(n,10)

        n := div(n,100)

    кц

    вывод m

кон

С++

#include <iostream>

using namespace std;

int main() {

    int n,m,d1,d2,s;

    cin >> n;

    m = 0;

    d1 = n % 10;

    while (n > 0) {

        d2 = n % 10;

        s = d1 + d2;

        if (s > m)

            m = s;

        d1 = n % 10;

        n /= 100;

    }

    cout << m;

    return 0;

}

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

 

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2018.

2.  При­ве­ди­те при­мер числа N, при ко­то­ром про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

 

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


43
Тип Д24 C1 № 27282
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4!  =  1 · 2 · 3 · 4  =  24. Даны целые по­ло­жи­тель­ные числа A и B, 0 < A < B < 109 (вы­пол­не­ние этого не­ра­вен­ства га­ран­ти­ру­ет­ся и не долж­но про­ве­рять­ся). Не­об­хо­ди­мо найти и вы­ве­сти ко­ли­че­ство точ­ных фак­то­ри­а­лов, рас­по­ло­жен­ных стро­го между этими чис­ла­ми, то есть ко­ли­че­ство таких N, что A < N! < B. На­при­мер, при A  =  1 и B  =  10 нужно вы­ве­сти число 2 (воз­мож­ные зна­че­ния K  — 2 и 3).

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A, B, C, N, F AS INTEGER

INPUT A, B

C = 0

N = 2

F = 2

WHILE F < B

    IF F >= A THEN

        C = C + 1

    END IF

    F = F * N

    N = N + 1

WEND

PRINT C

a = int(input())

b = int(input())

c = 0

n = 2

f = 2

while f < b:

    if f >= a:

        c += 1

    f *= n

    n += 1

print(c)

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

var a, b, c, n, f: integer;

begin

    readln(a,b);

    c := 0;

    n := 2;

    f := 2;

    while f < b do begin

        if f >= a then

            c := c + 1;

        f := f * n;

        n := n + 1

    end;

    write(c)

end.

алг

нач

    цел a, b, c, n, f

    ввод a, b

    c := 0

    n := 2

    f := 2

    нц пока f < b

        если f >= a то

            c := c + 1

        все

        f := f * n

        n := n + 1

    кц

    вывод c

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

    int a, b, c, n, f;

    cin >> a >> b;

    c = 0;

    n = 2;

    f = 2;

    while (f < b) {

        if (f >= a)

            ++c;

        f *=n;

        ++n;

    }

    cout << c;

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 1 и 15.

2.  В про­грам­му ввели зна­че­ние A  =  4. На­зо­ви­те ми­ни­маль­ное зна­че­ние B, при вводе ко­то­ро­го про­грам­ма вы­ве­дет пра­виль­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


44
Тип Д24 C1 № 27309
i

Фак­то­ри­а­лом на­ту­раль­но­го числа n (обо­зна­ча­ет­ся n!) на­зы­ва­ет­ся про­из­ве­де­ние всех на­ту­раль­ных чисел от 1 до n. На­при­мер, 4!  =  1 · 2 · 3 · 4  =  24. Даны целые по­ло­жи­тель­ные числа A и B, 0 < A < B < 109 (вы­пол­не­ние этого не­ра­вен­ства га­ран­ти­ру­ет­ся и не долж­но про­ве­рять­ся). Не­об­хо­ди­мо найти и вы­ве­сти ко­ли­че­ство точ­ных фак­то­ри­а­лов, рас­по­ло­жен­ных стро­го между этими чис­ла­ми, то есть ко­ли­че­ство таких N, что A < N! < B. На­при­мер, при A  =  1 и B  =  10 нужно вы­ве­сти число 2 (воз­мож­ные зна­че­ния K  — 2 и 3).

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM A, B, C, N, F AS INTEGER

INPUT A, B

C = 0

N = 1

F = 1

WHILE F <= B

    IF F > A THEN

        C = C + 1

    END IF

    F = F * N

    N = N + 1

WEND

PRINT C

a = int(input())

b = int(input())

c = 0

n = 1

f = 1

while f <= b:

    if f > a:

        c += 1

    f *= n

    n += 1

print(c)

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

var a, b, c, n, f: integer;

begin

    readln(a,b);

    c := 0;

    n := 1;

    f := 1;

    while f <= b do begin

        if f > a then

            c := c + 1;

        f := f * n;

        n := n + 1

    end;

    write(c)

end.

алг

нач

    цел a, b, c, n, f

    ввод a, b

    c := 0

    n := 1

    f := 1

    нц пока f <= b

        если f > a то

            c := c + 1

        все

        f := f * n

        n := n + 1

    кц

    вывод c

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

    int a, b, c, n, f;

    cin >> a >> b;

    c = 0;

    n = 1;

    f = 1;

    while (f <= b) {

        if (f > a)

            ++c;

        f *=n;

        ++n;

    }

    cout << c;

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 3 и 15.

2.  В про­грам­му ввели зна­че­ние A  =  1. На­зо­ви­те ми­ни­маль­ное зна­че­ние B, при вводе ко­то­ро­го про­грам­ма вы­ве­дет ответ, ко­то­рый на 2 боль­ше вер­но­го.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


45
Тип Д24 C1 № 27393
i

Даны 4 целых по­ло­жи­тель­ных числа. Не­об­хо­ди­мо вы­брать из них и вы­ве­сти на экран наи­боль­шее чётное число. Если чётных чисел среди за­дан­ных нет, не­об­хо­ди­мо вы­ве­сти слово «NO». Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM M, X AS INTEGER

M = 1

FOR I = 1 to 4

    INPUT X

    IF X MOD 2 = 0 THEN

        IF X > M THEN

            M = X

        END IF

    END IF

NEXT I

IF M > 0 THEN

    PRINT X

ELSE

    PRINT "NO"

END IF

m = 1

for i in range(4):

    x = int(input())

    if x%2 == 0:

        if x > m:

            m = x

if m>0:

    print(x)

else:

    print("NO")

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

var m, x, i: integer;

begin

    m := 1;

    for i:=1 to 4 do begin

        readln(x);

        if x mod 2 = 0 then begin

            if x > m then

                m := x

        end

    end;

    if m > 0 then

        write(x)

    else

        write('NO')

end.

алг

нач

    цел m, x, i

    m := 1

    для i от 1 до 4

        ввод x

        если mod(x,2) = 0 то

            если x > m то

                m := x

        все

    все

    кц

    если m > 0 то

        вывод x

    иначе

        вывод "NO"

    все

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

    int m, x, i;

    m = 1;

    for (i=1; i<=4; ++i) {

        cin >> x;

        if (x%2 == 0) {

            if (x > m)

                m = x;

        }

    }

    if (m > 0)

        cout << x;

    else

        cout << "NO";

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 6, 8, 2, 3.

2.  При­ве­ди­те при­мер ис­ход­ных дан­ных, со­дер­жа­щих хотя бы одно чётное число, при вводе ко­то­рых про­грам­ма, не­смот­ря на ошиб­ки, вы­ве­дет вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


46
Тип Д24 C1 № 28560
i

Даны 4 целых по­ло­жи­тель­ных числа. Не­об­хо­ди­мо вы­брать из них и вы­ве­сти на экран наи­боль­шее нечётное число. Если нечётных чисел среди за­дан­ных нет, не­об­хо­ди­мо вы­ве­сти слово «NO». Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM M, X AS INTEGER

M = 1

FOR I = 1 to 4

    INPUT X

    IF X MOD 2 >= 0 THEN

        IF X > M THEN

            M = X

        END IF

    END IF

NEXT I

IF M > 0 THEN

    PRINT M

ELSE

    PRINT "NO"

END IF

m = 1

for i in range(4):

    x = int(input())

    if x%2 >= 0:

        if x > m:

            m = x

if m>0:

    print(m)

else:

    print("NO")

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

var m, x, i: integer;

begin

    m := 1;

    for i:=1 to 4 do begin

        readln(x);

        if x mod 2 >= 0 then begin

            if x > m then

                m := x

        end

    end;

    if m > 0 then

        write(m)

    else

        write('NO')

end.

алг

нач

    цел m, x, i

    m := 1

    для i от 1 до 4

        ввод x

        если mod(x,2) >= 0 то

            если x > m то

                m := x

        все

    все

    кц

    если m > 0 то

        вывод m

    иначе

        вывод "NO"

    все

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

    int m, x, i;

    m = 1;

    for (i=1; i<=4; ++i) {

        cin >> x;

        if (x%2 >= 0) {

            if (x > m)

                m = x;

        }

    }

    if (m > 0)

        cout << m;

    else

        cout << "NO";

    return 0;

}

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе чисел 3, 8, 5, 4.

2.  При­ве­ди­те при­мер ис­ход­ных дан­ных, со­дер­жа­щих хотя бы одно нечётное число, при вводе ко­то­рых про­грам­ма, не­смот­ря на ошиб­ки, вы­ве­дет вер­ный ответ.

3.  Най­ди­те в про­грам­ме все ошиб­ки (из­вест­но, что их не боль­ше двух) и ис­правь­те их. Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей

Завершить работу, свериться с ответами, увидеть решения.