- •Понятие потока данных в java. Виды потоков:
- •Общая схема записи данных в поток:
- •Общая схема чтения данных из потока:
- •Байтовый поток :свойства, связь потока с файлом, чтение, запись закрытие:
- •Потоки символов: свойства, связь потока с файлом, чтение, запись, закрытие:
- •Потоки строк: свойства, связь потока с файлом, чтение, запись, закрытие:
- •Исключения при работе с потоками:
- •Понятие рекурсии, рекурсивное вычисление факториала:
- •Понятие рекурсии, рекурсивное вычисление суммы элементов массива:
- •Понятие рекурсии, рекурсивное вычисление максимального элемента массива:
- •Формулировка задачи о ханойских башнях:
- •Применение рекурсии при определении связного списка:
- •Понятие списка. Объявление элемента списка:
- •Структура объявления двусвязного списка:
- •Типовые операции для односвязных списков:
- •Кольцевой и двусвязный списки: отличия от односвязного списка:
- •Порядок добавления элемента в односвязный список:
- •Основные типы коллекций, имеющиеся в Java Collection Framework:
- •Составные части jcf и их назначение:
- •Назначение интерфейсов и алгоритмов jcf:
- •Примеры (двух) интерфейсов и (двух) реализаций: сходства и различия:
- •Преимущества, получаемые от применения jcf в программах:
- •Коллекции: списки – основные методы интерфейса List:
- •Коллекции: множества – основные элементы интерфейса Set:
- •Выполнение стандартных операций теории множеств:
- •Списки и множества: сходства и различия:
- •Цикл for-each и его применение в коллекциях:
- •Математическая идея, представленная элементом Map:
- •Вопрос 29. Сравнительный анализ реализаций ArrayList и LinkedList.
- •Вопрос 30. Параметры по которым сравнивают реализации коллекций.
- •Вопрос 31. Понятие и назначение итератора
- •Вопрос 33. Comparable и Comparator
- •Вопрос 34. Сортировка со стандартным и нестандартным отношением порядка.
- •Вопрос 35. Вопрос 36. Вопрос 37. Вопрос 38 Поиск элемента в коллекции. Двоичный и прямой поиск. Способ идентификации ситуации «Элемент не найден».
- •Вопрос 39. Графический интерфейс пользователя. Составные элементы фрейма.
- •Вопрос 40. Библиотеки Java, поддерживающие графический интерфейс.
- •Вопрос 41. Компонент и контейнер.
- •Вопрос 42. Jframe — в иерархии объектов графики.
- •Ответы к экзамену по программированию часть 5 (вопр. 57-69)
- •События мышки. Общая схема обработки событий мышки:
- •Методы интерфейса MouseListener и их назначение:
- •Методы интерфейса MouseMotionListener:
- •Методы класса MouseEvent. Получение координат события:
- •Управляющие элементы графического интерфейса – внешний вид и назначение:
- •Кнопка. Состояния кнопки. События кнопки, их обработка и идентификация:
- •Структура программы, имеющей интерфейс с двумя кнопками:
- •Элементы интерфейса «Условие» («флажок») и его конструкторы:
- •События элемента «флажок» и их обработка.
- •Структура программы с интерфейсом, содержащим два элемента «условие»:
- •67. Элемент интерфейса «радиокнопка» и его конструкторы:
- •Группировка радиокнопок и задание начального состояния в группе.
- •События элемента «радиокнопка» и их обработка.
Понятие рекурсии, рекурсивное вычисление факториала:
Рекурсия – прием, при котором нечто выражается через такое же. Рекурсия как прием часто применяется : в математике, в дискретной математике, в программировании. Применяется для построения и описания данных, для формулирования методов решения задач, для построения алгоритмов и программ. Наиболее успешные результаты получаются, если рекурсия применяется как для определения данных, так и для решения задач с этими данными.
N!=N*(N-1)!
При рекурсии должен быть предусмотрен вариант, в котором рекурсия не нужна: 1!=1.
Факториал:
public class Factorials {//рекурсия
public static long factR (int n) {
if (n<2) return 1L;
else return n*factR (n-1) ;
////////////второй вариант рекурсии////
другой вариант функции
public static long factR (int n) {
long r = 1L;
if (n >1) r = n * factR (n-1);
return r;
}
//////////////////////////////////////////////////
}
public static long factNr ( int n ){ //нерекурсивный
long r = 1L;
for(int i = 2; i <= n; i++) r *= i;
return r;
}
public static void main (String[ ] args) { //проверка функций
long fr, fnr;
for(int i=5; i<22; i++) { fr = factR(i); fnr = factNr ( i );
System.out.println(" “ + i + "! =“ +fr + " “ + fnr);
}
}
Понятие рекурсии, рекурсивное вычисление суммы элементов массива:
Рекурсия – прием, при котором нечто выражается через такое же. Рекурсия как прием часто применяется : в математике, в дискретной математике, в программировании. Применяется для построения и описания данных, для формулирования методов решения задач, для построения алгоритмов и программ. Наиболее успешные результаты получаются, если рекурсия применяется как для определения данных, так и для решения задач с этими данными.
При рекурсии должен быть предусмотрен вариант, в котором рекурсия не нужна: 1!=1.
Public class RecSum{
Public static intarSum(int [] B, intsart, int end){
Int res=0;
If(start<=end){
If(start==end)res=B[start]; // нерекурсивнаячасть
Else res=B[start]+arSum(B,start+1,end);//рекурсивнаячасть
}
Return res;
}
Public static void (){
Intn,sum;
Int[]A= new int[]{1,2,3,4,5};
n=A.length;
sum=arSum(A,0,n-1);
}
}
Понятие рекурсии, рекурсивное вычисление максимального элемента массива:
Рекурсия – прием, при котором нечто выражается через такое же. Рекурсия как прием часто применяется : в математике, в дискретной математике, в программировании. Применяется для построения и описания данных, для формулирования методов решения задач, для построения алгоритмов и программ. Наиболее успешные результаты получаются, если рекурсия применяется как для определения данных, так и для решения задач с этими данными.
При рекурсии должен быть предусмотрен вариант, в котором рекурсия не нужна: 1!=1.
Public class Max{
public static intarMin( int[ ] B, int start, int end) {
intres=0;
if (start<=end) { res = B[start];
if (start<end) {
int min = arMin (B,start+1,end);
if (res<min) res=min;
};
};
return res;
}
public static void main ( String[ ] args ) {
int[ ] A = { 10, 3, 5, 1, 6, 4, 2, 8 }; //создание массива
intamin = arMin (A,0,A.length-1);
System.out.println (amin); //вызов метода и печать результата
}
}