разбор заданий первой части экзамена
Теория по заданию 6
ПРОГРАММА С УСЛОВНЫМ ОПЕРАТОРОМ
    • Сложные условия – это условия состоящие из двух или нескольких простых условий, которые объединяются с помощью логических операций.
  • Логические операции:
    or логическое сложение ИЛИ
     and логическое умножение И
     not логическое отрицание НЕ
  • Таблицы логических опираций
    Подробнее о таблицах логических .операций
    вы можете посмотреть в разборе задания №3
В этих заданиях на условный оператор все достаточно просто, если стоят конкретные условия, например, s > 10 или t > 11, то находим пары, для которых хотя бы одно условие выполняется. Тогда программа печатает «Да». Если вместо союза «Или» стоит союз «И», то программа печатает «Да», если выполняются оба условия. Сложнее выполнить поиск, если задание с параметром А.
Рассмотрим такие примеры:
Решение. Необходимо указать количество целых значений параметра А, при которых для указанных входных данных программа напечатает «NO» три раза. Т.к. было 9 запусков программы, то «YES» программа должна напечатать 6 раз.
Заметим, что программа напечатает «YES», если переменная s будет больше 10 или переменная t будет больше А.
Условие s > 10 (s - первое вводимое число) выполняется для двух пар: 2-й (11,2) и 4-й (11,12). Таким образом, надо найти такое значение параметра А, при котором программа напечатает «YES» еще 4 раза, т.е. условие t > A выполнится всего 4 раза.
Построим координатную прямую и на этой прямой отметим все значения переменной t из всех пар, кроме уже выбранных (11,2), (11,12).
12
12
11
10
Видим, что число 12 встречается 2 раза, 11 - 1 раз, 10 - 1 раз. Итого 4 раза. Значит, А надо выбрать числа от 5 до 9. Это числа 5,6,7,8,9. Всего 5 значений.
ПРОВЕРКА:
например, А=5. Тогда результат выполнения программы будет следующий:
1 пара: 2>5 - нет, 3 пара: 12>5 - да, 5 пара: -12>5 - нет, 6 пара 12>5 - да, 7 пара: 11>5 - да, 8 пара: 10>5 - да, 5>5 - нет. Аналогично проверяется выполнение программы, если А = 6,7,8,9. Программа напечатает «YES». Если взять значение для параметра А меньше 5, т.е.4, то «YES» будет напечатано еще 1 раз для пары (10,5). Если взять А=10, то для пары (10,10) будет напечатано «NO». Таким образом, ответ в задаче 5.
Ответ: 5.
Если в задании надо указать наибольшее число, то его выбираем из промежутка от 5 до 10: наибольшее - 9. 10 нельзя брать, т.к. «мы 10 посчитали». Если наименьшее, то 5.
Теория ясна, приступим к практике.
Попробуйте решить 5 заданий, проверьте, на сколько хорошо вы разобрались в теме (после у вас будет возможность посмотреть правильные решения и ответы).
  • 1.Ниже приведена программа, записанная на пяти языках программирования.

    Бейсик

    Python

    DIM k, s AS INTEGER

     INPUT s

     IF s MOD 9 = k THEN

    PRINT "YES"

     ELSE

     PRINT "NO"

     END IF

    s = int(input())

     k = int(input())

    if s % 9 == k:

    print("YES")

    else:

    print("NO")

    Паскаль

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

    var s, k: integer;

    begin

    readln(s);

    readln(k);

    if s mod 9 = k:

    then

    writeln ('YES')

    else

    writeln ('NO')

    end.

    алг

    нач

    цел s, k

    ввод s

    ввод k

    если mod(s, 9) = k

    то вывод "YES"

    иначе вывод "NO"

    все

    кон

    С++

    #include <iostream>

    using namespace std;

    int main() {

    int s, k;

    cin >> s;

    cin >> k;

    if (s % 9 == k)

    cout << "YES";

    else

    cout << "NO";

    return 0;

    }

     Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел:

    (9, 0); (10, 10); (18, 9); (22; 4); (27, 3); (12, 9); (29; 2); (4, 2); (3, 3).

    Сколько было запусков, при которых программа напечатала «YES»?
    Ответ:
  • 2.Ниже приведена программа, записанная на пяти языках программирования.

    Бейсик

    Python

    DIM s, t AS INTEGER

     INPUT s

     INPUT t

     IF s < 7 OR t > 5 THEN

    PRINT ‘YES’

     ELSE

    PRINT ‘NO’

     ENDIF

    s = int(input())

    t = int(input())

    if s < 7 or t > 5:

    print("YES")

    else:

    print("NO")

    Паскаль

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

    var s, t: integer;

    begin

    readln(s);

    readln(t);

    if (s < 7) or (t > 5)

    then writeln('YES')

    else writeln('NO')

    end.

    алг

    нач

    цел s, t

    ввод s

    ввод t

    если s < 7 или t > 5

    то вывод "YES"

    иначе вывод "NO"

    все

    кон

    С++

    #include <iostream>

    using namespace std;

    int main() {

    int s, t;

    cin >> s;

    cin >> t;

    if (s < 7 || t > 5)

    cout << "YES";

    else

    cout << "NO";

    return 0;

    }

     Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:

    (9, 5); (11, 2); (4, 5); (7, –2); (4, 4); (7, 7); (1, –1); (3, 9); (2, 2).

    Сколько было запусков, при которых программа напечатала «NO»?
    Ответ:
  • 3.Ниже приведена программа, записанная на пяти языках программирования.

    Бейсик

    Python

    DIM s, t AS INTEGER

     INPUT s

     INPUT t

     IF s > 8 OR t > 8 THEN

    PRINT ‘YES’

     ELSE

    PRINT ‘NO’

     ENDIF

    s = int(input())

    t = int(input())

    if s > 8 or t > 8:

    print('YES')

    else:

    print('NO')

    Паскаль

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

    var s, t: integer;

    begin

    readln(s);

    readln(t);

    if (s > 8) or (t > 8)

    then writeln('YES')

    else writeln('NO')

    end.

    алг

    нач

    цел s, t

    ввод s

    ввод t

    если s > 8 или t > 8

    то вывод "YES"

    иначе вывод "NO"

    все

    кон

    С++

    #include <iostream>

    using namespace std;

    int main() {

    int s, t;

    cin >> s;

    cin >> t;

    if (s > 8 || t > 8)

    cout << "YES";

    else

    cout << "NO";

    return 0;

    }

     Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:

    (8, 8); (9, 6); (4, 7); (6, 6); (–9, –2); (–5, 9); (–10, 10); (6, 9); (10, 6).

    Сколько было запусков, при которых программа напечатала «YES»?
    Ответ:
  • 4.Ниже приведена программа, записанная на пяти языках программирования.

    Бейсик

    Python

    DIM s, t AS INTEGER

     INPUT s

     INPUT t

     IF NOT (s > 5 AND t <= 3) THEN

    PRINT ‘YES’

     ELSE

    PRINT ‘NO’

     ENDIF

    s = int(input())

    t = int(input())

    if not ((s > 5) and (t <= 3)):

    print("YES")

    else:

    print("NO")

    Паскаль

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

    var s, t: integer;

    begin

    readln(s);

    readln(t);

    if not ((s > 5) and (t <= 3))

    then

     writeln('YES')

    else

     writeln('NO')

    end.

    алг

    нач

    цел s, t

    ввод s

    ввод t

    если не (s > 5 и t <= 3)

    то вывод "YES"

    иначе вывод "NO"

    все

    кон

    С++

    #include <iostream>

    using namespace std;

    int main() {

    int s, t;

    cin >> s;

    cin >> t;

    if !((s > 5) && (t <= 3))

    cout << "YES" << endl;

    else

    cout << "NO" << endl;

    return 0;

    }

     Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:

    (2; –2), (5; 3), (14; 1), (–12; 5), (5; 7), (10; 3), (8; 2), (3; 0), (− 4; 9).

    Сколько было запусков, при которых программа напечатала «NO»?
    Ответ:
  • 5.Ниже приведена программа, записанная на пяти языках программирования.

    Бейсик

    Python

    DIM s, t AS INTEGER

     INPUT s

     INPUT t

     IF s < 10 OR t < 10 THEN

    PRINT ‘YES’

     ELSE

    PRINT ‘NO’

     ENDIF

    s = int(input())

    t = int(input())

    if s < 10 or t < 10:

    print("YES")

    else:

    print("NO")

    Паскаль

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

    var s, t: integer;

    begin

    readln(s);

    readln(t);

    if (s < 10) or (t < 10)

    then writeln('YES')

    else writeln('NO')

    end.

    алг

    нач

    цел s, t

    ввод s

    ввод t

    если s < 10 или t < 10

    то вывод "YES"

    иначе вывод "NO"

    все

    кон

    С++

    #include <iostream>

    using namespace std;

    int main() {

    int s, t;

    cin >> s;

    cin >> t;

    if (s < 10 || t < 10)

    cout << "YES";

    else

    cout << "NO";

    return 0;

    }

     Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:

    (6, 4); (7, 8); (12, 10); (5, 6); (11, 10); (–5, 7); (–2, 2); (4, 5); (8, 6).

    Сколько было запусков, при которых программа напечатала «NO»?
    Ответ:
Made on
Tilda