
- •Раздел 1Переменные и основные типы переменных. Объявление и инициализация переменных. Задание 1.1*
- •Задание 1.2*
- •Задание 1.3*
- •Задание 1.4*
- •Задание 1.5*
- •Задание 1.6*
- •Задание 2.6*
- •Задание 2.7*
- •Задание 3.10*
- •Задание 4.19*
- •Задание 4.20*
- •Задание 5.2*
- •Задание 5.3*
- •Задание 6.2*
- •Задание 6.3*
- •Задание 7.2*
- •Задание 7.3*
- •Задание 7.4*
- •Задание 8.2*
- •Задание 8.3*
- •Задание 8.4*
- •Задание 8.5*
- •Задание 8.6*
- •Задание 8.7*
- •Задание 8.8*
- •Задание 8.9*
- •Задание 8.29*
- •Задание 8.30*
- •Задание 9.2*
- •Задание 9.3*
- •Задание 9.4*
- •Задание 9.5*
- •Задание 9.6*
- •Задание 9.7*
- •Задание 9.13*
- •Задание 9.14*
- •Задание 9.15*
- •Задание 9.16*
- •Задание 10.9*
- •Задание 10.10*
- •Задание 10.11
- •Задание 10.21*
- •Раздел 11Цикл for Задание 11.1*
- •Задание 11.2*
- •Задание 11.3*
- •Задание 11.4*
- •Задание 11.5*
- •Задание 11.6*
- •Задание 11.22*
- •Задание 11.23*
- •Задание 11.24*
- •Задание 12.12*
- •Задание 12.13*
- •Задание 13.12*
- •Задание 13.13*
- •Задание 13.14*
- •Задание 13.29*
- •Задание 13.30*
- •Задание 13.31*
- •Задание 15.2*
- •Задание 15.3*
- •Задание 15.46*
- •Задание 15.47*
- •Задание 15.48*
- •Задание 15.49*
- •Задание 15.50*
- •Задание 15.51*
- •Задание 15.52*
- •Задание 16.21*
- •Раздел 17Использование методов в программах на языке Java
- •Задание 17.1*
- •Задание 17.2*
- •Задание 17.3*
- •Задание 17.4*
- •Задание 17.5*
- •Задание 17.6*
- •Задание 17.7*
- •Задание 18.11*
- •Задание 18.12*
- •Задание 18.13*
- •Задание 18.14*
- •Задание 18.15*
- •Задание 18.16*
- •Задание 18.17*
- •Задание 18.18*
- •Раздел 19Массивы и методы
- •Задание 19.1*
- •Задание 19.2*
- •Задание 19.3*
- •Задание 19.4*
- •Задание 19.5*
- •Задание 19.66*
- •Задание 19.67*
- •Задание 19.68*
- •Задание 19.69*
- •Задание 20.12*
- •Задание 20.13*
- •Задание 20.14*
- •Задание 20.15*
- •Задание 20.16*
- •Задание 20.17*
- •Задание 20.18*
- •Задание 20.19*
- •Задание 20.20*
- •Задание 20.21*
- •Задание 20.22*
- •Задание 20.23*
- •Задание 21.2*
- •System.Out.Println(twice("Мама");
- •Задание 21.21*
- •Задание 21.22*
- •Задание 22.2*
- •Задание 22.3*
- •Раздел 23Приложение Государственные экзамены на аттестат зрелости по специальности «Основы компьютерных наук» за 1993–2011 годы
- •Экзамен на аттестат зрелости 1993 года Часть 1
- •А. Дайте словесную интерпретацию этой блок-схеме. Б. Дано следующее утверждение: «в любом случае будет напечатано большее из двух введенных значений». Верно ли это утверждение? Объясните свой ответ.
- •Часть 2
- •Часть 2
- •Часть 3 (20 баллов)
- •Часть 2
- •Часть 3 (20 баллов)
- •Экзамен на аттестат зрелости 1996 года Часть 1
- •Часть 2
- •А. Проследите с помощью таблицы трассировки за выполнением алгоритма для двух пар вводимых чисел:
- •Б. Замените команду в строке 2 алгоритма на следующую команду:
- •Часть 2
- •Б. Дано следующее утверждение: «в результате выполнения алгоритма будет напечатано хотя бы одно число».
- •Часть 3 (20 баллов)
- •Б. Напишите программу, которая вводит целые положительные числа от 1 до 9 включительно. Ввод закончится, когда будет введено число, большее 9.
- •А. Дан одномерный массив м.
- •Часть 2
- •Часть 2
- •Часть 2
- •Часть 3 (20 баллов)
- •В. Определите и обоснуйте, какой из алгоритмов более эффективный.
- •Часть 3 (20 баллов)
- •Часть 2
- •А. Напишите метод. Б. Дан массив change размером 19 ячеек, заполненный целыми положительными числами, меньшими 100.
- •А. Выберите для переменной а три значения, для каждого из которых будет выведено свое сообщение. Объясните свой выбор.
- •Б. Заполните пропущенные сообщения. Часть 3 (20 баллов)
- •А. Разработайте алгоритм, позволяющий автоматизировать работу фирмы.
- •Б. Напишите программу, которая реализует разработанный алгоритм, используя написанные в пункте а методы.
- •А. Дан следующий массив a:
- •А. Напишите метод, который получает в качестве параметров стаж работы и уровень образования, вычисляет индекс sel и возвращает:
- •Часть 3 (20 баллов)
- •А. Напишите метод, который получает в качестве параметров:
- •Экзамен на аттестат зрелости 2006 года Часть 1
- •А. Проследите с помощью таблицы трассировки за исполнением алгоритма для следующего ввода: 10, 4. Запишите, каким будет вывод. Б. Приведите пример ввода, для которого цикл не будет выполняться.
- •Часть 2
- •А. Перед вами входные параметры и результат метода bigSums:
- •Б. Дан массив размером 23 ячейки. Каждое число в массиве – двузначное, положительное, с отличными друг от друга цифрами.
- •Б. Для другого массива a после исполнения фрагмента программы на экране было получено значение 0.
- •Часть 3 (20 баллов)
- •А. Напишите метод, получающий в качестве параметров:
- •Б. Дан массив размером 1010, элементами которого являются числа 0 или 1. Напишите фрагмент программы, который подсчитает и выведет на экран число «окруженных» элементов массива.
- •А. Разработайте алгоритм, обеспечивающий ввод заказов и расчет необходимых сумм.
- •Б. Напишите программу, которая реализует разработанный алгоритм, используя написанные в пункте а методы.
- •Экзамен на аттестат зрелости 2007 года Часть 1
- •Часть 2
- •А. Разработайте алгоритм, обеспечивающий управление стоянкой в определенный день. Алгоритм должен включать в себя следующие подзадачи:
- •Экзамен на аттестат зрелости 2008 года Часть 1
- •А. Проследите с помощью таблицы трассировки за выполнением алгоритма и запишите, каким будет его вывод для следующего ввода: 2, 3.
- •Б. Приведите пример ввода, при котором выводится сообщение «equals»
- •Часть 2
- •Часть 3 (20 баллов)
- •Часть 2
- •А. Проследите с помощью таблицы трассировки за выполнением метода для данного массива arr, и запишите, что вернет данный метод.
- •Б. Приведите пример массива из 9 ячеек, для которого метод вернет 3. В. Приведите пример массива из 9 ячеек, для которого метод вернет 0.
- •Часть 3 (20 баллов)
- •А. Напишите метод, который получит:
- •Экзамен на аттестат зрелости 2010 года Часть 1
- •Б. Приведите пример значений переменных X и y, для которых будет выведена только одна строка.
- •Часть 2
- •Б. Приведите пример значений переменных a и b, для которых вывод будет отличаться от вывода, полученного в пункте а.
- •Часть 2
- •А. Дан массив names длиной 5.
- •Б. Приведите пример массива длиной 5, для которого данный метод вернет значение, отличное от того, что он вернул в пункте а.
- •Часть 3 (20 баллов)
- •Б. Напишите метод, который получит первую введенную клиентом цифру (одну из цифр 1–8).
- •А. Напишите метод, который получит массив, содержащий целые числа. Метод вернет длину отрицательной группы, первой от начала массива.
- •Б. Напишите программу, которая 672 раза выполнит прием с клавиатуры целых чисел в массив длиной 83.
Экзамен на аттестат зрелости 2010 года Часть 1
Необходимо ответить на все вопросы 1–5. Каждый вопрос – 10 баллов.
1.
Дан алгоритм:
m ← 0
Ввести число в переменную a
Ввести число в переменную b
Для k от a до b (включительно) выполнить
Ввести число в переменную x
Если (x > a) и (x < b)
m ← m + 1
Вывести значение переменной m
Проследите с помощью таблицы трассировки за выполнением алгоритма для следующего ввода: 8, 12, 4, 11, 9, 8, 35.
Запишите, каким будет вывод алгоритма.
Таблица трассировки должна включать:
– столбец для каждой из переменных алгоритма;
– столбец, показывающий, выполняется ли условие (4.2);
– столбец для выводимых данных.
2.
Напишите метод, который получит целое число, большее, чем 0, обозначающее количество колес транспортного средства. Метод вернет символ, обозначающий тип транспортного средства:
«c» – для транспортного средства с 4 колесами;
«b» – для транспортного средства с 8 колесами;
«n» – для любого другого транспортного средства.
3.
Перед вами фрагмент программы:
x, y, temp – переменные целого типа.
y = x + y;
x = x - y;
y = y - x;
System.out.println (“x=” + x + “y=” + y);
if ( x > = y )
{
temp = x;
x = y;
y = temp;
System.out.println (“x=” + x + “y=” + y);
}
А. Проследите с помощью таблицы трассировки за выполнением данного фрагмента и запишите, каким будет его вывод для следующих значений переменных: x=3, y=7. Запишите, каким будет вывод.
Таблица трассировки должна включать:
– столбец для каждой из переменных алгоритма;
– столбец, показывающий выполняется ли условие команды if;
– столбец для выводимых данных.
Б. Приведите пример значений переменных X и y, для которых будет выведена только одна строка.
4.
Дан одномерный массив a из 821 ячейки, содержащий целые числа.
Напишите фрагмент программы, который примет с клавиатуры целое число k.
Фрагмент программы выведет на экран индексы всех элементов массива, значение которых равно k.
Примечание: Нет необходимости заполнять массив.
Нет необходимости проверять корректность вводимых данных.
5.
Напишите фрагмент программы, который будет получать пары целых чисел.
Для каждой полученной пары данный фрагмент вычислит их произведение и будет накапливать полученные произведения.
Ввод данных прекратится, когда будет введена пара чисел, произведение которых равно 0.
Фрагмент программы выведет на экран сумму всех произведений.
Примечание: Нет необходимости проверять корректность вводимых данных.
Часть 2
Необходимо ответить на 2 вопроса из вопросов 6–8. Каждый вопрос – 15 баллов.
6.
В буфете продают два вида бутербродов – один вид с творогом, а другой вид с сыром. К каждому виду бутерброда можно добавить зелень.
Каждый заказ в буфете включает в себя: количество бутербродов, вид бутерброда (с творогом или сыром), а также добавлена или не добавлена зелень.
В один заказ можно включить только один вид бутерброда. Все бутерброды в заказе будут с добавлением зелени или же все бутерброды будут без зелени.
Цена бутерброда с творогом составляет 100 руб.
Цена бутерброда с сыром составляет 120 руб.
Добавка зелени к одному бутерброду стоит 10 руб.
При заказе 10 или более бутербродов дается скидка от цены всего заказа в размере 200 руб.
Напишите программу, которая примет с клавиатуры заказы, сделанные в течение одного дня. Для каждого заказа программа вычислит его стоимость и выведет ее на экран.
Ввод данных прекратится, когда будет введено число 0 как количество бутербродов.
Программа также подсчитает, сколько всего заказов сделано в этот день, и выведет это число на экран.
Примечание: Нет необходимости проверять корректность вводимых данных.
7.
В кабинете матери и ребенка решили проверить, сколько мальчиков и девочек из 1000 детей, записанных в кабинете, родились в первые шесть месяцев 2009 года.
А. Напишите метод, который получит два целых числа. Метод вернет, если первое число – один из проверяемых месяцев (1–6), а второе число – проверяемый год (2009).
Б. Напишите фрагмент программы, который примет с клавиатуры для каждого из 1000 детей, записанных в кабинете, месяц его рождения, год рождения и его пол (мальчик или девочка).
Фрагмент программы подсчитает и выведет на экран, сколько мальчиков и сколько девочек родилось в первые шесть месяцев 2009 года.
Вы должны использовать метод, написанный вами в пункте А.
Примечание: Нет необходимости проверять корректность вводимых данных.
8.
Перед вами фрагмент программы:
Scanner input=new Scanner(System.in);
int[] arr = new int[8];
int i, k;
int num;
i = 0;
k = arr.length – 1;
while (i <= k)
{
num = in.nextInt();
if (num % 2 == 0)
{
arr[i] = num;
i++;
}
else
{
arr[k] = num;
k--;
}
}
System.out.println(“i = “ + i + “ k = “+ k);
А. Проследите с помощью таблицы трассировки за выполнением данного фрагмента для следующего ввода: 33, 78, 12, 4, 3, 7, 6, 8. Запишите, каким будет вывод.
Таблица трассировки должна включать:
– столбцы для i, k, num, arr[i], arr[k];
– столбец, показывающий выполняется ли условие команды if;
– столбец для вывода.
Б. Приведите пример ввода, для которого после выполнения данного фрагмента значение i будет равно 4.
В. Приведите пример ввода, для которого после выполнения данного фрагмента значение i будет равно 0.
Часть 3 (20 баллов)
Необходимо ответить на 1 вопрос из вопросов 9–10.
9.
Дан двумерный массив размером m×n, содержащий целые числа.
Определим правую диагональную тройку массива, которая начинается в позиции [i][j] следующим образом:
– первый элемент – в позиции [i][j];
– второй элемент – на одну строку вниз и на один столбец вправо от первого элемента;
– третий элемент – на одну строку вниз и на один столбец вправо от второго элемента.
Например, в приведенном ниже массиве размером 5×6 обозначена правая диагональная тройка, которая начинается в позиции [1][3].
0 |
3 |
6 |
7 |
1 |
0 |
17 |
1 |
1 |
2 |
5 |
1 |
23 |
8 |
9 |
6 |
7 |
1 |
1 |
1 |
85 |
9 |
1 |
12 |
0 |
43 |
1 |
31 |
4 |
1 |
Дан двумерный массив размером m×n, содержащий только числа 0 и 1.
Определим единичную правую диагональную тройку массива, которая начинается в позиции [i][j] следующим образом: существует правая диагональная тройка, начинающаяся в позиции [i][j], и значения всех элементов этой тройки равны 1.
Например, в приведенном ниже массиве размером 5×6 обозначена единичная правая диагональная тройка, которая начинается в позиции [1][2].
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
А. Напишите метод, который получит:
– двумерный массив, содержащий только числа 0 и 1;
– два целых числа, обозначающих позицию элемента массива (первое число обозначает строку, второе число обозначает столбец).
Метод проверит, существует ли правая диагональная тройка, начинающаяся в этой позиции. Если да, метод вернет значение true, иначе вернет значение false.
Б. Напишите метод, который получит:
– двумерный массив, содержащий только числа 0 и 1;
– два целых числа, обозначающих позицию элемента массива (первое число обозначает строку, второе число обозначает столбец).
Метод проверит, существует ли единичная правая диагональная тройка, начинающаяся в этой позиции. Если да, метод вернет значение 1, иначе вернет значение 0.
Вы должны использовать метод, написанный в пункте А.
В. Дан двумерный массив размером 36×52, содержащий только числа 0 и 1. Напишите программу, которая подсчитает и выведет на экран количество единичных правых диагональных троек в данном массиве. Вы должны использовать метод, написанный в пункте Б.
Примечание: Нет необходимости вводить данные в массив.
Нет необходимости проверять корректность данных в массиве.
10.
В бассейне есть три разных аттракциона: трамплин, джакузи и сауна. Прыгать с трамплина можно, начиная с 12 лет. Пользоваться джакузи можно с 16 лет. Пользоваться сауной можно с 18 лет.
А. Напишите метод, который получит возраст посетителя бассейна. Метод вернет одномерный массив из 3 целых чисел, каждое из которых соответствует одному из аттракционов бассейна. В массиве будет содержаться число 1 для тех аттракционов, которые разрешены данному посетителю, и число 0 для запрещенных ему аттракционов.
Б. Напишите программу, которая для определенного дня примет с клавиатуры возраст каждого из посетителей бассейна. Программа подсчитает число посетителей, которые имели право пользоваться каждым из аттракционов, и выведет полученные числа на экран.
Ввод данных завершится, когда будут введены данные о посетителе, которому нельзя пользоваться ни одним из аттракционов.
Вы должны использовать метод, написанный вами в пункте А.
Примечание: Нет необходимости проверять корректность вводимых данных.
Экзамен на аттестат зрелости 2011 года
Часть 1
Необходимо ответить на все вопросы 1–5. Каждый вопрос – 10 баллов.
1.
Дан алгоритм:
s ← 0
Ввести число в переменную n
Для i от 1 до n (включительно) выполнить
Ввести число в переменную a
Если (a > 10) то
Если (a >= 20) то
Вывести сообщение «boom»
Иначе
s ← s+1
Вывести значение переменной s
Проследите с помощью таблицы трассировки за выполнением алгоритма для следующего ввода: 5, 25, 18, 20, 10, 13.
Запишите, каким будет вывод алгоритма.
Таблица трассировки должна включать:
– столбец для каждой из переменных алгоритма;
– столбец, показывающий выполняется ли условие (3.2);
– столбец, показывающий выполняется ли условие (3.2.1);
– столбец для выводимых данных.
2.
Напишите метод, который получит целое число от 1 до 12 (включительно), обозначающее номер месяца в году. Если номер месяца равен 7 или 8, метод вернет «vacation», иначе метод вернет «school».
3.
Перед вами фрагмент программы. a, b, x, y – переменные целого типа.
y = Math.abs(a – b);
x = b - a;
if ( x = = y )
System.out.println (“print1”);
else
System.out.println (“print2”);
}
А. Проследите с помощью таблицы трассировки за выполнением данного фрагмента и запишите, каким будет его вывод для следующих значений переменных: a=25, b=10. Запишите, каким будет вывод.
Таблица трассировки должна включать:
столбец для каждой из переменных алгоритма;
столбец, показывающий выполняется ли условие;
столбец для выводимых данных.