Skip to content

kgeorgiy/java-intro-2015

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Тесты к факультативу «Введение в Java»

Домашнее задание 3. Коллекции

Задача E. Подсчет слов

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

Пример входного файла

This is the house that Jack built.
This is the malt 
That lay in the house that Jack built.
This is the rat,
That ate the malt
That lay in the house that Jack built.
This is the cat,
That killed the rat,
That ate the malt
That lay in the house that Jack built.
This is the dog,
That worried the cat,
That killed the rat,
That ate the malt
That lay in the house that Jack built.

Пример выходного файла

15 that
15 the
5 built
5 house
5 is
5 jack
5 this
4 in
4 lay
4 malt
3 ate
3 rat
2 cat
2 killed
1 dog
1 worried

Задача F. Мультимножество

Напишите программу, которая реализует операции с мультимножеством строк:

  • + <string> -- добавить строку;
  • - <string> -- удалить один экземпляр строки. Если мультимножесто не содержала указанную строку, то оно не изменется;
  • * <string> -- вывести число вхождений строки в мультимножество;
  • ? -- вывести общее число строк;
  • ?? -- вывести число различных строк.

Пример входного файла

+ Good bye
+ this
+ cruel
+ world
?
??
+ This is
+ very
+ cruel
?
??
- bye
?
- Good bye
- cruel
?
??

Пример выходного файла

4
4
7
6
7
5
5

Домашнее задание 2. Введение в ООП

Задача С. Модернизированный сканнер

  1. Модернизируйте класс Scanner
  • добавьте метод nextDouble();
  • добавьте методы hasNextDouble() и hasNextInt();
  • добавьте в конструктор параметр -- список символов-разделителей.
  1. Реализуйте класс C.java
  • cписок разделителей передается первым аргументом командной строки;
  • в файле c.in содержатся целые числа и числа с плавающей точкой;
  • первая строка файла c.out должна содержать сумму целых чисел, а вторая -- сумму чисел с плавающей точкой с погрешностью не более 1e-10;
  • программа должна работать быстро даже при длинном списке разделителей.

Пример входного файла

123introduction1e-3to7oop

Пример выходного файла

При запуске java C "abcdefghijklmnopqrstuvwxyz"

128
0

При запуске java C "abcdfghijklmnopqrstuvwxyz"

130
0.001

Тесты

CheckC.java

Задача D. Персистентный стек с минимумом и максимумом

Реализуйте персистентный стек с операциями нахождения минимума и максимума. Все операции со стеком должны выполняться за O(1).

Формат входного файла

Каждая строка входного файла содержит описание одной операции над стеком. В результате выполнения операции создается новая версия стека (возможно, совпадающая со старой), и имеющая номер, соответствующей номеру строки во входном файле. Стек версии 0 -- пустой стек.

Поддерживаемые операции:

  • + <version> <value> -- добавить значение в стек и вывести число элементов;
  • - <version> -- вывести значение на вершине стека и удалить его;
  • max <version> -- вывести максимальное значение в стеке;
  • min <version> -- вывести минимальное значение в стеке.

Гарантируется, что при выполнении операций -, max и min стек не пуст.

Все числа во входном файле целые.

Пример входного файла

+ 0 10
+ 1 -20
+ 2 30
+ 2 -30
max 3
min 4
max 6
- 4
- 8
min 9

Пример выходного файла

1
2
3
3
30
-30
10
-30
-20
10

Тесты

CheckD.java и PersistentStack.class

Домашнее задание 1. Процедурное программирование

Для того, чтобы протестировать исходную программу:

  1. Скачайте тесты (CheckA.java) и (CheckB.java) в тот же каталог, где находятся ваши решения. Решения должны называться A.java и B.java
  • Откомпилируйте тесты
  • Проверьте, что создался CheckA.class / CheckB.class
  • В каталоге, в котором находится CheckA.class выполните команду java -cp . CheckA

About

Tests for Introduction to Java 2015

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages