Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zada4nik-Канель-Фрайман.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.8 Mб
Скачать

Часть 2

Необходимо ответить на 2 вопроса из вопросов 6–8. Каждый вопрос – 15 баллов.

6.

Следующий отрывок программы должен прочитать имя ученика и его отметку и проверить, не является ли отметка ошибочной (отметка не может быть больше 100 и не может быть меньше 0).

Отрывок программы читает данные для 40 учеников одиннадцатого класса и печатает для каждой ошибочной отметки имя ученика и сообщение об ошибке.

Scanner input=new Scanner(System.in);

for(int i=1; i<=40; i++)

{

String name=input.nextLine();

int z=input.nextInt();

if (z>100 && Z<0)

System.out.println (name+ " ОШИБКА");

}

А. В программе есть логическая ошибка. Укажите, в чем ошибка, и исправьте ее.

Б. Решено, что правильная оценка может принимать значения от 40 до 100.

Измените приведенный отрывок программы так, чтобы был напечатан список учеников, для которых введены правильные оценки.

7.

Согласно правилам авиакомпании, каждый пассажир может взять с собой 20 кг багажа. Каждый килограмм сверх установленной нормы считается перегрузом.

А. Напишите программу, которая читает вес багажа всех пассажиров, улетающих из аэропорта. Ввод данных заканчивается, когда вводится вес 999,9.

Программа должна напечатать среднее значение перегруза.

Б. За каждый килограмм перегруза пассажир должен заплатить 15 шекелей. Добавьте в программу расчет дохода авиакомпании от перегруза.

8.

А. Напишите программу, которая читает числа от 25 до 90 и сохраняет их в массиве размером 100 элементов. После заполнения массива программа читает дополнительное число, меньшее 90, и печатает все элементы массива, большие, чем введенное дополнительное число.

Примечание: Можно предположить, что введенные числа отвечают условиям задачи.

Б. Добавьте в написанную программу проверку того, что дополнительное число отвечает условию задачи.

Часть 3 (20 баллов)

Необходимо ответить на 1 вопрос из вопросов 9–10.

9.

50 учеников сдают экзамен, состоящий из 20 вопросов. Из четырех возможных ответов на каждый вопрос только один является правильным.

Дан одномерный массив размером 20 ячеек, который содержит правильные ответы на каждый вопрос.

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

10.

А. Напишите программу, которая читает 50 строк символов и заносит их в одномерный массив А. После заполнения массива программа создает новый массив B, содержащий все строки символов из массива А, по следующему принципу: в начале массива В размещаются строки символов из массива А, длина которых не превышает трех, а затем – все остальные строки.

Программа также должна напечатать оба массива.

Примечание: Порядок следования внутри блоков «коротких» и «длинных» строк не важен.

Б. Сколько раз программа «пробегает» по массиву А для того, чтобы построить массив В?

В. Возможно ли построить массив В в результате только одного «прохода» по массиву А? Если да – то как? Если нет – то почему?

Раздел 24

        1. Экзамен на аттестат зрелости 2000 года

Часть 1

Необходимо ответить на все вопросы 1–5. Каждый вопрос – 10 баллов.

1.

Дан алгоритм:

  1. Прочитать двузначное число в переменную NUM

  2. Сохранить в переменной SIF случайное целое число в интервале от 0 до 9.

  3. Если цифра единиц NUM равна SIF

    1. тогда – сохранить в R значение NUM

    2. иначе – сохранить в R значение NUM % 10 + SIF

  4. Напечатать значение R

А. Приведите пример значений SIF и NUM, для которых будет выполнена строка (3.1). Запишите, что будет напечатано в результате работы алгоритма.

Б. Приведите пример значений SIF и NUM, для которых будет выполнена строка (3.2). Запишите, что будет напечатано в результате работы алгоритма.

В. Какому требованию должны отвечать вводимые значения, чтобы выполнялась строка (3.2)?

2.

Дан следующий алгоритм:

  1. Обнулить переменную PULL

  2. Прочитать число в переменную X

  3. Прочитать число в переменную Y

  4. Пока X>Y выполнять

    1. Увеличить Y на 1

    2. Сохранить в PULL значение PULL + Y

  5. Напечатать значения X, Y, PULL

А. Введите в переменную X число 6, а в переменную Y – число 3. Проследите с помощью таблицы трассировки за выполнением вышеприведенного алгоритма и укажите, что будет напечатано в результате его выполнения.

Б. Как можно охарактеризовать вводимые значения, для которых НЕ будет выполняться цикл?

3.

Ученики получили следующее задание: «Разработать алгоритм, который читает целое число в переменную N и печатает все четные числа от 2 до 2*N включительно. Перед вами решения двух учениц. Проследите с помощью таблицы трассировки за выполнением каждого из них и отметьте, является ли данное решение верным.

Решение Зои:

  1. Прочитать число в переменную N

  2. Для J от 1 до N выполнять:

    1. Сохранить в переменной B значение J*2

    2. Напечатать B

Решение Лили:

  1. Прочитать число в переменную N

  2. Обнулить переменную X

  3. Пока X<N*2 выполнять:

    1. Увеличить X на 2

    2. Напечатать X

4.

Напишите программу, которая заполняет массив размером 100 элементов целыми случайными числами от 1 до 20 включительно. Программа должна дважды распечатать массив: от начала к концу и от конца к началу.

5.

Напишите программу, которая читает 100 чисел и печатает каждое число, которое больше предыдущего (первое число не печатается).

Например: для чисел 7, 9, 18, 6, 15, 3, 3, 19, 2, 1 будут напечатаны числа 9, 18, 15, 19.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]