Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 15:30   #1
Andrey35
Пользователь
 
Аватар для Andrey35
 
Регистрация: 15.10.2011
Сообщений: 18
По умолчанию Программа Угадай

Program Ugaday;
var L,R,N,C:integer;
Y:0..1;
begin
writeln('Vvedite znachenie, v predelah kotorogo Vi zadumali chislo');
readln(N);
L:=1; R:=N;
while L<R do
begin
C:=(L+R) div 2;
writeln('Vashe chislo > ',C,'? Vvedite 1, esli Da i 0,esli Net');
readln(Y);
if Y=1
then L:=C+1
Else R:=C
end;
writeln('Vi zadumali', L)
end.

1. Нужно чтобы выводилось количество шагов, потребовавшихся для угадывания числа.
2. Разработать программу угадывания числа, задуманного компьютером , используя метод половинного деления .

Подсказка:использовать функцию Random(N). В программе должен быть организован диалог человека с компьютером.
Мнения автора могут не совпадать с его точкой зрения.
Andrey35 вне форума Ответить с цитированием
Старый 25.12.2011, 16:59   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

учись код оформлять!
2)
Код:
{3.14 Отгадай число}
program guessDigit;

var
	l, k, r, m : Word;

begin
	l := 1;
	r := 1000;
	while l < r do
	begin
		m := (l + r) div 2;
		WriteLn ('Ваше число больше ', m, '?');
		ReadLn (k);
		if k = 1 then
			l := m + 1
		else
			r := m;
	end;
	WriteLn (l)
end.
Poma][a вне форума Ответить с цитированием
Старый 25.12.2011, 17:32   #3
Andrey35
Пользователь
 
Аватар для Andrey35
 
Регистрация: 15.10.2011
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
учись код оформлять!
2)
Код:
{3.14 Отгадай число}
program guessDigit;

var
	l, k, r, m : Word;

begin
	l := 1;
	r := 1000;
	while l < r do
	begin
		m := (l + r) div 2;
		WriteLn ('Ваше число больше ', m, '?');
		ReadLn (k);
		if k = 1 then
			l := m + 1
		else
			r := m;
	end;
	WriteLn (l)
end.
Спасибо !!!
а первую можно ?
Мнения автора могут не совпадать с его точкой зрения.
Andrey35 вне форума Ответить с цитированием
Старый 25.12.2011, 17:41   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
Program Ugaday;
var L,R,N,C, count :integer;
Y:0..1;
begin
writeln('Vvedite znachenie, v predelah kotorogo Vi zadumali chislo');
readln(N);
L:=1; R:=N;
count := 0;
while L<R do
begin
C:=(L+R) div 2;
writeln('Vashe chislo > ',C,'? Vvedite 1, esli Da i 0,esli Net');
readln(Y);
if Y=1
then L:=C+1
Else R:=C;
Inc (count);
end;
writeln('Vi zadumali', L, '   ', count)
end.
Poma][a вне форума Ответить с цитированием
Старый 25.12.2011, 19:43   #5
Andrey35
Пользователь
 
Аватар для Andrey35
 
Регистрация: 15.10.2011
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Код:
Program Ugaday;
var L,R,N,C, count :integer;
Y:0..1;
begin
writeln('Vvedite znachenie, v predelah kotorogo Vi zadumali chislo');
readln(N);
L:=1; R:=N;
count := 0;
while L<R do
begin
C:=(L+R) div 2;
writeln('Vashe chislo > ',C,'? Vvedite 1, esli Da i 0,esli Net');
readln(Y);
if Y=1
then L:=C+1
Else R:=C;
Inc (count);
end;
writeln('Vi zadumali', L, '   ', count)
end.
спасибо большое)))
Мнения автора могут не совпадать с его точкой зрения.
Andrey35 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
игра УГАДАЙ ЖИВОТНОЕ midiss Общие вопросы Delphi 4 17.01.2013 11:37
игра угадай число афродита Помощь студентам 18 27.10.2011 08:22
Игра,угадай задуманное число,Ошибка деления на ноль!!! Rid Помощь студентам 4 22.10.2009 21:12
Помогите написать программу игры угадай число!!! Oleg Olegovi4 Паскаль, Turbo Pascal, PascalABC.NET 6 21.05.2009 21:54