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

Часть 2

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

6.

В соревнованиях по многоборью участвуют как мужчины, так и женщины. Мужчины соревнуются в 10 дисциплинах, женщины – в трех дисциплинах. Каждый из участников получает оценку в каждой из дисциплин, итоговая оценка равна сумме этих оценок.

Напишите фрагмент программы для ввода данных каждого из 50 участников соревнований. Программа запрашивает пол участника («M» для мужчины, «F» для женщины), а затем оценки по всем дисциплинам. Для каждого участника программа выводит итоговую оценку.

7.

Перед вами описание метода:

Параметры: метод получает в качестве параметра целое положительное число n меньшее 100;

Результат: метод возвращает сумму всех чисел от 1 до n (не включая n), делящихся на 3 без остатка

А. Напишите метод. Б. Дан массив change размером 19 ячеек, заполненный целыми положительными числами, меньшими 100.

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

Например: В ячейке массива находится число 7. После работы программы в ячейке должно находиться число 9 (3+6=9)

8.

Перед вами фрагмент программы для решения некой задачи:

Scanner in=new Scanner (System.in);

a=in.nextInt();

if(( a>=18) && (a<60))

System.out.println(“Сообщение А”);

else if(a>=60)

System.out.println(“Сообщение Б”);

else

System.out.println(“Сообщение В”);

А. Выберите для переменной а три значения, для каждого из которых будет выведено свое сообщение. Объясните свой выбор.

Перед вами фрагмент другой программы, решающую ту же задачу:

Scanner in=new Scanner (System.in);

a=in.nextInt();

if(a<18)

System.out.println(“_______________”);

else if(a<60)

System.out.println(“______________”);

else

System.out.println(“______________”);

Б. Заполните пропущенные сообщения. Часть 3 (20 баллов)

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

9.

Туристическая фирма предлагает организованные туры за границу на июль 2004 года. Фирма предлагает 100 различных маршрутов, каждый из которых имеет свой код (1–100). Количество мест в группе ограничено и не превышает 50. Фирма сохраняет информацию о количестве свободных мест в каждой группе.

При записи на тур проверяется наличие свободных мест в группе и действительность заграничного паспорта (срок действия паспорта должен быть не менее чем до 1.12.2004). Если запись на тур является возможной, число свободных мест в группе обновляется.

А. Разработайте алгоритм, позволяющий автоматизировать работу фирмы.

Алгоритм должен включать в себя следующие подзадачи:

– инициализация в начале сезона: все группы свободны для записи;

– ввод данных для каждого туриста: срок действия паспорта (день, месяц, год) и номер маршрута;

– проверка годности паспорта и наличия свободных мест.

Определите для каждой подзадачи необходимые параметры и реализуйте метод для ее решения.

Б. Напишите программу, которая реализует разработанный алгоритм, используя написанные в пункте а методы.

После инициализации в начале сезона программа принимает данные туристов, сообщает о возможности записи или причине отказа.

Ввод данных завершается после ввода 999 как номера маршрута.

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

Примечание: Нет необходимости проверять правильность вводимых данных.

10.

Назовем «квартетом k» массив размером 22, все элементы которого имеют значение k.

Например, перед вами массив размером 55, в котором есть «квартет 9»:

1

3

2

2

8

2

9

9

6

1

12

9

9

1

4

17

6

8

5

2

1

3

5

7

1

А. Напишите метод, который получает в качестве параметров двумерный массив целых чисел mas и целое число k. Метод возвратит 1, если в массиве mas существует «квартет k». В противном случае, метод возвратит 0.

Б. Дан двумерный массив m размером 1212, содержащий целые числа от 1 до 30 включительно.

Напишите программу, которая найдет максимальное число k, для которого в массиве m существует «квартет k» и напечатает его. Если в массиве нет ни одного числа, для которого существует «квартет», программа выведет соответствующее сообщение.

Примечание: Нет необходимости вводить массив или проверять правильность его заполнения.

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

Часть 1

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

1.

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

  1. 0 sum

  2. Для k от 1 до 6 выполнить

    1. Если k нечетное, тогда

      1. k*2+sum sum

  3. Вывести значение sum

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

2.

Перед вами заголовок метода: public static int sub(int a, int b)

Входные параметры: метод получает два целых числа.

Результат: метод возвращает абсолютное значение разности чисел.

А. Напишите тело метода.

Б. Напишите вызов метода, результатом которого будет вывод числа 0.

3.

Переменная tel переменная строкового типа.

А. Напишите команду чтения с клавиатуры в переменную tel.

Б. Напишите команду для создания новой строки, путем присоединения к строке «abc» другой строки, содержащейся в переменной tel. Результат должен сохраняться в переменной str.

В. Напишите фрагмент программы для печати двух последних символов строки tel. Каждый символ должен быть напечатан в отдельной строчке.

4.

Дан массив размером 57 ячеек, содержащий целые числа от 100 до 999 включительно. Напишите фрагмент программы, выводящий на экран все элементы массива, в которых цифра сотен в два раза больше цифры единиц.

Примечание: Нет необходимости заполнять массив.

5.

Перед вами фрагмент программы:

Scanner in=new Scanner (System.in);

count=0;

num1=in.nextInt();

num2=in.nextInt();

while(num1>num2)

{

num1=num2;

num2=in.nextInt();

count++;

}

System.out.println(count);

А. Используя таблицу трассировки, проследите за исполнением алгоритма и запишите, какое значение будет выведено на экран для следующей последовательности вводимых значений: 15, 8, 7, 3, 4 .

Б. Приведите пример вводимой последовательности чисел, для которой на экран будет выведено число 0.

Часть 2

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

6.

Перед вами фрагмент программы:

Scanner in=new Scanner(System.in);

n=in.nextInt();

if(a[0]==n)

{

for(k=0; k<4; k++)

{

System.out.println(a[k]+” “+a[k+1]);

if((a[k]-1)!=a[k+1])

(*) flag=0;

}

}

else

(**) flag=0;

if(flag==1)

System.out.println(“Сообщение А”);

else

System.out.println(“Сообщение B”);

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