
- •Раздел 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.
УДК 373.1
ББК 32. 973
К 19
Е.Г. Канель, В.М. Фрайман
Сборник задач
по курсу «Введение в компьютерные науки
для учеников 10–11 классов средней школы.
Язык Java»
Содержание
Раздел 1 Переменные и основные типы переменных. Объявление и инициализация переменных. 3
Раздел 2 Команды вывода. Команды ввода. 5
Раздел 3 Присвоение данных между разными типами переменных. Инициализация переменных. Специальные операторы 11
Раздел 4 Операторы «вычисление остатка» и «вычисление частного» 13
Раздел 5 Логический тип (булевы значения – «истина» и «ложь») 17
Раздел 6 Простой if (без else и с единственным условием) 19
Раздел 7 Простой if (с else и с единственным условием) 23
Раздел 8 Простой if с блоком (блоками) 26
Раздел 9 Оператор if со сложным условием 35
Раздел 10 Наиболее используемые функции библиотеки Math. Работа со случайными числами 41
Раздел 11 Цикл for 45
Раздел 12 Цикл for – использование счетчика 55
Раздел 13 Цикл for – использование сумматора 58
Раздел 14 Цикл for – определение максимума и минимума 64
Раздел 15 Структура и работа цикла while 66
Раздел 16 Вложенные циклы 75
Раздел 17 Использование методов в программах на языке Java 78
Раздел 18 Массив – описание, инициализация, свойства 85
Раздел 19 Массивы и методы 89
Раздел 20 Массивы счетчиков и массивы сумматоров 100
Раздел 21 Работа со строковыми и символьными данными 105
Раздел 22 Двумерные массивы 109
Раздел 23 Приложение Государственные экзамены на аттестат зрелости по специальности «Основы компьютерных наук» за 1993–2011 годы 114
Экзамен на аттестат зрелости 1993 года 115
Экзамен на аттестат зрелости 1994 года 119
Экзамен на аттестат зрелости 1995 года 122
Экзамен на аттестат зрелости 1996 года 125
Экзамен на аттестат зрелости 1997 года 129
Экзамен на аттестат зрелости 1998 года 133
Экзамен на аттестат зрелости 1999 года 136
Экзамен на аттестат зрелости 2000 года 140
Экзамен на аттестат зрелости 2001 года 144
Экзамен на аттестат зрелости 2002 года 148
Экзамен на аттестат зрелости 2003 года 152
Экзамен на аттестат зрелости 2004 года 156
Экзамен на аттестат зрелости 2005 года 160
Экзамен на аттестат зрелости 2006 года 165
Экзамен на аттестат зрелости 2007 года 170
Экзамен на аттестат зрелости 2008 года 175
Экзамен на аттестат зрелости 2009 года 180
Экзамен на аттестат зрелости 2010 года 185
Экзамен на аттестат зрелости 2011 года 190
Раздел 1Переменные и основные типы переменных. Объявление и инициализация переменных. Задание 1.1*
Перед вами примеры объявления переменных. Укажите, какие из них правильные, а какие – ошибочные. Обоснуйте каждый ответ.
Объявление переменных |
Ответ (с объяснением) |
int 1x; |
|
double t; int t; |
|
int f,f; |
|
int x,X; double a; a1; |
|
String kniga1; kniga2; |
|
char znak1,znak2,znak_1; |
|
int x,a,b; double y,z,x; |
|
int x; double X; |
|
Задание 1.2*
Перед вами примеры объявления переменных и их инициализации. Укажите, какие из них правильные, а какие – ошибочные. Обоснуйте каждый ответ.
Объявление и инициализация переменных |
Ответ (с объяснением) |
int x; x=-5; |
|
inta=0.0, b=7; |
|
int b=3; double c; c=5.0; |
|
int a,b,c=5; b=5*с; a=-b; |
|
double a=3.6,b; int b=4; |
|
Задание 1.3*
Перед вами словесные описания объявления и инициализации переменных. Запишите их в правилах языка Java – в разных допустимых вариантах.
Словесное описание |
Ответ |
Переменная х (типа «простое целое») получает значение 16 |
|
Переменные х и t относятся к типу «простое целое», при этом значение переменной х равно -2 |
|
Переменные t и f относятся к «вещественному типу», при этом переменная t имеет значение 5.5, а значение переменной f в 10 раз больше значения переменной t |
|
Задание 1.4*
Напишите фрагмент класса (группу команд), который будет присваивать значения 5 и 9 двум переменным, а затем третья переменная будет получать значение, равное сумме значений первых двух переменных.
Задание 1.5*
Напишите фрагмент класса, который будет присваивать значение 7.5 переменной х, а затем переменным a и b будет присваивать значения вдвое и второе (соответственно) большие значения переменной х.
Задание 1.6*
Напишите фрагмент класса, в котором переменным а и b будут присваиваться числовые значения из диапазона «однозначное положительное число». Затем следует присвоить переменной с значение, составленное следующим образом: значение переменной а является числом десятков, значение переменной b является числом единиц.
Например, если переменной а присваивается значение 4, а переменной b – значение 7, то переменная с получает значение 47.
Задание 1.7*
Напишите фрагмент класса, который присваивает переменной х целочисленное значение, а затем присваивает переменной y треть от значения переменной х.
Раздел 2Команды вывода. Команды ввода.
Примечание: в каждом задании любое вычисляемое или просто «новое» значение следует сначала заносить в отдельную переменную, а затем выводить на экран значение этой переменной.
Задание 2.1*
Напишите класс, который выводит на экран надпись "Hello, world!"
Задание 2.2*
Напишите класс, который выводит на экран надпись
"H-e-l-l-o-,-f-r-i-e-n-d!"
Задание 2.3*
Напишите класс, который выводит на экран в первой строке три знака «+», во второй – четыре знака «!», в третьей – два знака «*».
Задание 2.4*
Напишите класс, который выводит на экран тем же количеством команд знаки, которые выводились в задании № 3, но все знаки должны выводиться в одной строке.
Задание 2.5*
Дан класс:
importjava.util.*;
class targil2
{
static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{
int a=reader.nextInt();
System.out.println("a*a="+(a*a));
System.out.println("a*10="+(a*10));
}
}
Укажите, какая информация будет выводиться на экран, если с клавиатуры введено значение 6? Объясните ответ.
Укажите, какая информация будет выводиться на экран, если с клавиатуры введено значение -6? Объясните ответ.
Предложите изменения в программе, чтобы ввод и вывод выглядели более «дружественно».