Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

 

ЮФУ SMBU

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2024

 

PT for Exam | Группы заданий | ExamChk

PrevNext


ЕГЭ по информатике: задачи на исправление программы

В данном разделе в качестве образцов ошибочных программ приводятся программы на языке Python. При выполнении заданий на языках Pascal или C++ задачник автоматически генерирует заготовку с аналогичным образцом ошибочной программы на используемом языке программирования.

Анализ точек на плоскости

ExamChk1°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck1.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if x*x + y*y >= 4:
        if x >= -2:
            if (y <= -x):
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk2°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck2.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if x*x + y*y >= 4:
        if y >= -2:
            if y <= x:
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk3°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck3.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y >= x:
        if y >= 0:
            if y <= 2 - x*x:
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk4°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck4.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= 2*x*x:
        if x >= -1:
            if y >= 1:
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk5°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck5.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= 1:
        if y >= 0:
            if x >= -1:
                if y >= x*x:
                    print("Inside")
                else:
                    print("Outside")
    print("Program finishes")

ExamChk6°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck6.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= x:
        if y <= -x:
            if y >= x*x - 2:
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk7°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck7.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= 1 - x:
        if y >= 0:
            if x >= 0:
                if x*x + y*y <= 1:
                    print("Inside")
                else:
                    print("Outside")
    print("Program finishes")

ExamChk8°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck8.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y >= -1:
        if y <= x:
            if y <= 0:
                if x*x + y*y <= 1:
                    print("Inside")
                else:
                    print("Outside")
    print("Program finishes")

ExamChk9°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck9.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= 1:
        if y >= x:
            if x >= -1:
                if x*x + y*y <= 1:
                    print("Inside")
                else:
                    print("Outside")
    print("Program finishes")

ExamChk10°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck10.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= x + 2:
        if x <= 0:
            if x*x + y*y <= 25:
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk11°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck11.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y >= x*x - 6:
        if x*x + y*y <= 16:
            print("Inside")
        else:
            print("Outside")
    print("Program finishes")

ExamChk12°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck12.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= math.sin(x):
        if x <= 3.14/2:
            if y >= 0:
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk13°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck13.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= 1:
        if x >= 0:
            if y >= math.sin(x):
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

ExamChk14°. Требовалось написать программу, которая вводит два вещественных числа X, Y и определяет, принадлежит ли точка с координатами (XY) выделенной области (включая ее границы).

C:\Program Files (x86)\PT4\LIB\Graph\GExamCheck14.png

Каждое число вводится с новой строки. Программа должна печатать текст «Inside» (если точка принадлежит области) или «Outside» (если точка не принадлежит), после чего на новой строке выводить сообщение «Program finishes». Исправьте предложенный неправильный вариант программы.

    x = float(input())
    y = float(input())
    if y <= 0:
        if y >= -1:
            if y <= math.cos(x):
                print("Inside")
            else:
                print("Outside")
    print("Program finishes")

Решение уравнений и неравенств

ExamChk15°. Требовалось написать программу, которая решает уравнение x2 + c = 0 относительно x для любого числа c. Все числа считаются вещественными и выводятся с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    c = float(input())
    if c > 0:
        print("no solutions")
    else:
        print("x = %0.2f or x = %0.2f" % (math.sqrt(-c), -math.sqrt(-c)))

ExamChk16°. Требовалось написать программу, которая решает уравнение ax + b = 0 относительно x для любых чисел a и b. Все числа считаются вещественными, каждое исходное число вводится с новой строки, при выводе все числа отображаются с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    a = float(input())
    b = float(input())
    if b == 0:
        print("x = 0.00")
    else:
        if a == 0:
            print("no solutions")
        else:
            print("x = %0.2f" % -b/a)

ExamChk17°. Требовалось написать программу, которая решает уравнение a|x| = b относительно x для любых чисел a и b. Все числа считаются вещественными, каждое исходное число вводится с новой строки, при выводе все числа отображаются с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    a = float(input())
    b = float(input())
    if a == 0:
        if b == 0:
           print("any number")
        else:
           print("no solutions")
    else:
        if b == 0:
           print("x = 0.00")
        else
           print("x = %0.2f or x = %0.2f" % (b/a, -b/a))

ExamChk18°. Требовалось написать программу, которая решает неравенство ax + b > 0 относительно x для любых чисел a и b. Все числа считаются вещественными, каждое исходное число вводится с новой строки, при выводе все числа отображаются с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    a = float(input())
    b = float(input())
    if a == 0:
        if b > 0:
            print("any number")
        else:
            print("no solutions")
    else:
        print("x = %0.2f" % -b/a)

ExamChk19°. Требовалось написать программу, которая решает неравенство (ax)/(x + b) > 0 относительно x для любого ненулевого числа a и любого неотрицательного числа b. Все числа считаются вещественными, каждое исходное число вводится с новой строки, при выводе все числа отображаются с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    a = float(input())
    b = float(input())
    if b == 0:
        print("x > 0.00 or x < 0.00")
    else:
        if a > 0:
            print("x > 0.00 or x < %0.2f" % -b)
        else:
            print("%0.2f < x < 0.00" % -b)

ExamChk20°. Требовалось написать программу, которая решает неравенство (x + a)/(bx) ≤ 0 относительно x для любого неотрицательного числа a и любого ненулевого числа b. Все числа считаются вещественными, каждое исходное число вводится с новой строки, при выводе все числа отображаются с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    a = float(input())
    b = float(input())
    if a == 0:
        if b > 0:
            print("no solutions")
        else:
            print("x > 0.00 or x < 0.00")
    else:
        print("%0.2f < x < 0.00" % -a)

ExamChk21°. Требовалось написать программу, которая решает неравенство (x − a)/(bx) > 0 относительно x для любых ненулевых чисел a и b. Все числа считаются вещественными, каждое исходное число вводится с новой строки, при выводе все числа отображаются с двумя дробными знаками. Исправьте предложенный неправильный вариант программы.

    a = float(input())
    b = float(input())
    if b > 0:
        print("x > %0.2f or x < 0.00" % a)
    else:
        if a > 0:
            print("0.00 < x < %0.2f" % a)
        else:
            print("%0.2f < x < 0.00" % a)

Обработка целых чисел

ExamChk22°. Требовалось написать программу, которая вводит целое положительное число N и выводит его первую (старшую) цифру. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    while N > 10:
        N = N % 10
    print(N)

ExamChk23°. Требовалось написать программу, которая вводит целое число N (> 9) и выводит двузначное число, образованное двумя первыми (старшими) цифрами исходного числа. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    while N > 10:
        N = N % 100
    print(N)

ExamChk24°. Требовалось написать программу, которая вводит целое положительное число N и выводит максимальную цифру этого числа. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    maxdigit = 10
    while N >= 10:
        digit = N % 10
        if maxdigit < digit:
            maxdigit = digit
        N = N // 10
    }
    print(maxdigit)

ExamChk25°. Требовалось написать программу, которая вводит целое положительное число N и выводит произведение цифр этого числа. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    p = N % 10
    while N >= 10:
        digit = N % 10
        p = p * digit
        N = N // 10
    print(p)

ExamChk26°. Требовалось написать программу, которая вводит целое положительное число N и выводит сумму нечетных цифр этого числа или 0, если число не содержит нечетных цифр. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    s = 1
    while N > 1:
        if N % 10 != 0:
            s = s + N % 10
        N = N // 10
    print(s)

ExamChk27°. Требовалось написать программу, которая вводит целое положительное число N и выводит максимальную цифру числа, кратную 3, или текст «NO», если в числе нет цифр, кратных 3. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    maxdigit = N % 10
    while N > 0:
        digit = N % 10
        if digit % 3 == 0:
            if digit > maxdigit:
                maxdigit = digit
        N = N // 10
    if maxdigit == 0:
        print("NO")
    else:
        print(maxDigit)

ExamChk28°. Требовалось написать программу, которая вводит целое положительное число N и выводит количество значащих цифр в двоичной записи этого числа. Исправьте предложенный неправильный вариант программы.

    N = int(input())
    cnt = 0
    while N > 0:
        cnt = cnt + N % 2
        N = N // 10
    print(cnt)

ExamChk29°. Требовалось написать программу, которая вводит целое положительное число N и выводит число, которое получается из N в результате удаления всех цифр, равных 2; порядок остальных цифр при этом не меняется (ведущие нули не выводятся; если в числе N нет цифр, кроме 0 и 2, то выводится 0). Исправьте предложенный неправильный вариант программы.

    N = int(input())
    r = 0
    t = 0
    while N > 0:
        d = N % 10
        if d != 2:
            r = r + d * t
            t += 1
        N = N // 10
    print(r)

ExamChk30°. Требовалось написать программу, которая вводит целое положительное число N и выводит число, которое получается из N в результате удаления всех цифр, равных 1, и записи оставшихся цифр в обратном порядке (ведущие нули при этом не выводятся; если в числе N нет цифр, кроме 0 и 1, то выводится 0). Исправьте предложенный неправильный вариант программы.

    N = int(input())
    r = 0
    while N > 0:
        d = N % 10
        if d > 1:
            r = d + r
        N = N // 10
    print(r)

PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2024