<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://courses.cs.taltech.ee/w/index.php?action=history&amp;feed=atom&amp;title=ITI0011RUS%3Atask_04</id>
	<title>ITI0011RUS:task 04 - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://courses.cs.taltech.ee/w/index.php?action=history&amp;feed=atom&amp;title=ITI0011RUS%3Atask_04"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011RUS:task_04&amp;action=history"/>
	<updated>2026-05-14T05:34:19Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0011RUS:task_04&amp;diff=1761&amp;oldid=prev</id>
		<title>Aleksandr: Uus lehekülg: &#039;Срок сдачи упражнения &#039;&#039;&#039;6-е занятие (24-е февраля)&#039;&#039;&#039;.  Общая информация об упражнениях: ITI0011RUS_Practice.&lt;...&#039;</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011RUS:task_04&amp;diff=1761&amp;oldid=prev"/>
		<updated>2015-02-18T22:08:46Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;Срок сдачи упражнения &amp;#039;&amp;#039;&amp;#039;6-е занятие (24-е февраля)&amp;#039;&amp;#039;&amp;#039;.  Общая информация об упражнениях: &lt;a href=&quot;/pages/ITI0011RUS_Practice&quot; title=&quot;ITI0011RUS Practice&quot;&gt;ITI0011RUS_Practice&lt;/a&gt;.&amp;lt;...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Срок сдачи упражнения &amp;#039;&amp;#039;&amp;#039;6-е занятие (24-е февраля)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Общая информация об упражнениях: [[ITI0011RUS_Practice]].&amp;lt;br/&amp;gt;&lt;br /&gt;
Обратно на [[ITI0011RUS|страницу предмета]].&lt;br /&gt;
&lt;br /&gt;
=== Описание ===&lt;br /&gt;
&lt;br /&gt;
Вам предстоит написать игру, которая просит пользователя угадать число. Игра проходит таким образом, что компьютер &amp;quot;загадывает&amp;quot; случайное число &amp;#039;&amp;#039;&amp;#039;в интервале [10..99]&amp;#039;&amp;#039;&amp;#039; (9 и 100 уже не подходят). Игрок начинает угадывать это число. Для этого программа просит пользоваетля ввести число, которое должно быть числом в допустимом диапазоне. Верные попытки угадать число (в случае корректного ввода) суммируются. Программа сообщает пользователю, его число больше, либо меньше загаданного. Когда число угадано, программа завершает работу.&lt;br /&gt;
&lt;br /&gt;
В этот раз вам предстоит реализовать несколько методов. Ниже находится описание того, какой функционал где следует реализовать:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;generateRandomNumber()&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Этот метод должен генерировать число в допустимом диапазоне [10..99] и сохранять его в переменной класса (для того, чтобы позже это значение можно было бы прочитать из другого метода/функции).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;guess()&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Здесь происходит основной процесс игры. Шаги, которые следует выполнить:&lt;br /&gt;
# программа просит пользователя ввести число&lt;br /&gt;
# программа проверяет пользовательский ввод (чтобы введенное значение было числом в допустимом диапазоне)&lt;br /&gt;
# в случае неверного ввода пользователю выводится соответствующее сообщение об ошибке.&lt;br /&gt;
# в случае корректного ввода функцией &amp;lt;code&amp;gt;evaluate(int)&amp;lt;/code&amp;gt; осуществляется проверка угадал ли пользователь число.&lt;br /&gt;
# если пользователь угадал число функция, возвращает true: &amp;lt;code&amp;gt;return true;&amp;lt;/code&amp;gt;.&lt;br /&gt;
# если пользователь не угадал число, программа дает подсказку, &amp;quot;загаданное&amp;quot; число больше/меньше того, что предложил пользователь&lt;br /&gt;
# в случае угадывания, все предложенные пользователем корректные варианты чисел складываются (если пользователь введет число 107, то это число не учитывается, поскольку не является корректным вводом - ввод является числом, но выходит за рамки допустимого диапазона значений)&lt;br /&gt;
&lt;br /&gt;
Важно:&lt;br /&gt;
* функция должна &amp;#039;&amp;#039;&amp;#039;считывать только одну строку&amp;#039;&amp;#039;&amp;#039; из потока ввода. Если ввод неверный, функция прекращает работу и в методе main эта функция вызывается снова (эта часть в предложенном вам шаблоне кода уже присутствует).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ввод следует проверять&amp;#039;&amp;#039;&amp;#039; (не число, некорректный ввод не учитывается)&lt;br /&gt;
* функция возвращает значение &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; лишь если пользователь верно угадал число. Во всех остальных случаях пользователю выводится либо подсказка, либо сообщение об ошибке и возвращается значение &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Все попытки пользователя подсчитываются.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;evaluate(int)&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
В качестве параметра принимает пользовательский ввод (число, предложенное пользователем) и сравнивает его с тем числом, которое &amp;quot;загадала&amp;quot; программа. В случае если число, предложенное пользователем, верно (число == &amp;quot;загаданное&amp;quot; число), функция возвращает 0. Если число, предложенное пользователем, больше чем &amp;quot;загаданное&amp;quot; число (число &amp;gt; &amp;quot;загаданное&amp;quot; число), функция возвращает значение -1. Во всех остальных случаях возвращаемое значение 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;getCount()&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Возвращает количество совершенных попыток (считаются только попытки в случае корректного ввода). Программа должна хранить это значение в какой-либо переменной и увеличивать на единицу с каждой последующей верной попыткой отгадать число.&lt;br /&gt;
&lt;br /&gt;
== Шаблон ==&lt;br /&gt;
&lt;br /&gt;
Внимание, в этот раз вам задана в шаблоне также функция &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;. Важно, чтобы все методы делали в точности то, что требуется. Реализованный в шаблоне метод &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; верно работает когда все остальные части программы правильно реализованы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Home assignment 04.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Guessing game.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Computer thinks of a number. Human has to guess the number.&lt;br /&gt;
 * Every time the human guesses a number, computer lets her know&lt;br /&gt;
 * whether the actual numbers is smaller, greater or equal to the&lt;br /&gt;
 * guessed number. The program counts valid guesses made by the human.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Read more: https://courses.cs.ttu.ee/pages/ITI0011:harjutus_04&lt;br /&gt;
 */&lt;br /&gt;
public class Task04 {&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * The main method, which is the entry point of the program.&lt;br /&gt;
	 * !!IMPORTANT!! You have to keep the main method in order&lt;br /&gt;
	 * to get your solution tested.&lt;br /&gt;
	 * &amp;lt;p&amp;gt;&lt;br /&gt;
	 * For this assignment, the main method implementation is&lt;br /&gt;
	 * provided. If you want, you can modify it. But remember&lt;br /&gt;
	 * that your code will be tested automatically. All the other&lt;br /&gt;
	 * methods should do exactly what is required. Otherwise, if you&lt;br /&gt;
	 * will have the main loop inside another method, the tester&lt;br /&gt;
	 * might break.&lt;br /&gt;
	 * @param args Arguments from the command line&lt;br /&gt;
	 */&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		// First, the computer &amp;quot;thinks&amp;quot; of a number&lt;br /&gt;
		generateRandomNumber();&lt;br /&gt;
		// if you want, you can print out the generated number here&lt;br /&gt;
		&lt;br /&gt;
		while (true) { // what? we have an endless loop here...&lt;br /&gt;
			// this loop would never stop as the condition is always true&lt;br /&gt;
			// ...&lt;br /&gt;
			// not to worry, we can break out from this loop&lt;br /&gt;
&lt;br /&gt;
			// let the user guess a number&lt;br /&gt;
			boolean result = guess();&lt;br /&gt;
			if (result) {&lt;br /&gt;
				// if the result was true, we can end the &amp;quot;game&amp;quot;.&lt;br /&gt;
				System.out.println(&amp;quot;Correct! Number of guesses:&amp;quot; + getCount());&lt;br /&gt;
				// breaks out from the while(true) loop&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
			// if result is false, then the user did not guess the actual number&lt;br /&gt;
			// therefore we will just continue with our endless loop.&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Generates a random number and stores it internally.&lt;br /&gt;
	 */&lt;br /&gt;
	public static void generateRandomNumber() {&lt;br /&gt;
		// generate a random number and store it in the class variable		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * This method should ask user the the input (guess a number),&lt;br /&gt;
	 * read one line and return. If the guessed number is correct, &lt;br /&gt;
	 * the method should return true, otherwise return false.&lt;br /&gt;
	 * &amp;lt;p&amp;gt;&lt;br /&gt;
	 * Implement the following steps:&lt;br /&gt;
	 * &amp;lt;ol&amp;gt;&lt;br /&gt;
	 * &amp;lt;li&amp;gt;ask user to enter a number&lt;br /&gt;
	 * &amp;lt;li&amp;gt;validate the input&lt;br /&gt;
	 * &amp;lt;li&amp;gt;if the input is not correct, return false&lt;br /&gt;
	 * (we will ask again next time we come to this method from main loop)&lt;br /&gt;
	 * &amp;lt;li&amp;gt;if the input is correct, evaluate the guessed number&lt;br /&gt;
	 * using evaluate(int) method.&lt;br /&gt;
	 * &amp;lt;li&amp;gt;print out the hint for the user depending on the evaluate result&lt;br /&gt;
	 * (actual number is bigger or smaller).&lt;br /&gt;
	 * &amp;lt;li&amp;gt;you should count the correct guesses. So, if the input&lt;br /&gt;
	 * was correct, you should increment the counter.&lt;br /&gt;
	 * &amp;lt;/ol&amp;gt;&lt;br /&gt;
	 * &amp;lt;p&amp;gt;&lt;br /&gt;
	 * Remember:&lt;br /&gt;
	 * &amp;lt;ul&amp;gt;&lt;br /&gt;
	 * &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;read only one line&amp;lt;/strong&amp;gt; within this method&lt;br /&gt;
	 * &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;validate the input&amp;lt;/strong&amp;gt;&lt;br /&gt;
	 * &amp;lt;li&amp;gt;return true only if the guessed value was correct,&lt;br /&gt;
	 * otherwise print out the hint and return false.&lt;br /&gt;
	 * &amp;lt;li&amp;gt;count correct guesses&lt;br /&gt;
	 * &amp;lt;/ul&amp;gt;&lt;br /&gt;
	 * @return True, if the guessed value was correct, false otherwise.&lt;br /&gt;
	 */&lt;br /&gt;
	public static boolean guess() {&lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Compares guessed number with the actual number.&lt;br /&gt;
	 * @param guess Guessed number&lt;br /&gt;
	 * @return 0 if the guessed number and the actual number are equal, &lt;br /&gt;
	 * 		1 if the actual number is greater than the guessed number, &lt;br /&gt;
	 * 		-1 if the actual number is smaller than the guessed number.&lt;br /&gt;
	 */&lt;br /&gt;
	public static int evaluate(int guess) {&lt;br /&gt;
		return -100;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of guesses made.&lt;br /&gt;
	 * You have to store internally the number&lt;br /&gt;
	 * of guesses made. Note, that only correct&lt;br /&gt;
	 * guesses (check the requirements from the web)&lt;br /&gt;
	 * are counted.&lt;br /&gt;
	 * @return Number of guesses.&lt;br /&gt;
	 */&lt;br /&gt;
	public static int getCount() {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aleksandr</name></author>
	</entry>
</feed>