Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 67
1

Задача для тренировки ЕГЭ С1

10.09.2012, 16:40. Просмотров 3040. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста с задачками, не понимаю по информатике ничего абсолютно. ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО))))

9)Рассматривается стандартная шахматная доска размером 8х8. Примем, что i – номер вертикали (может принимать значения от 1 до 8), j – номер горизонтали (также может принимать значения от 1 до 8). В левом нижнем углу, т.е. на поле i=1, j=1 (это поле черного цвета) стоит черный король. Напомним, что король может ходить на 1 клетку в любом направлении (по горизонтали, вертикали или диагонали). В правом нижнем углу, т.е. на поле i=8, j=1 (это поле белого цвета) стоит белый король. Введены обозначения: P(i,j) минимальное число ходов, за которое черный король может попасть на поле (i,j); V(i,j)минимальное число ходов, за которое белый король может попасть на поле (i,j).
Программист написал программу, в которой требовалось определить все такие поля (i,j), для которых P(i,j)=V(i,j), и выдать на экран соответствующие значения i,j (текст программы приведен ниже).
Pascal
1
2
3
4
5
6
7
8
9
10
var i,j: integer;
begin
writeln('искомые поля');
for j:=5 to 8 do
for i:=1 to 8 do
begin
 if (i=9-j) OR (i=j)
 then writeln('i=',i, 'j=',j);
end;
end.
Последовательно ответьте на вопросы:
1. Выдаст ли программа, написанная программистом, поле, для которого i=4, j=5?
2. Указать все из перечисленных ниже полей, которые удовлетворяют постановке задачи, т.е. для таких полей должно быть выполнено P(i,j)=V(i,j):
(i=1, j=8), (i=2, j=8), (i=1, j=7), (i=5, j=5), (i=8, j=6)
3. Видно, что программист допустил ошибку в программе. Укажите, какую доработку программы нужно провести, чтобы она соответствовала постановке задачи (такая доработка может быть проведена неединственным образом – годится любой правильный вариант доработки).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2012, 16:40
Ответы с готовыми решениями:

Задача для тренировки ЕГЭ С1: найти ошибки в задании
Помогите пожалуйста с задачками, не понимаю по информатике ничего абсолютно. ЗАРАНЕЕ БОЛЬШОЕ...

Задача для тренировки ЕГЭ С1: сортировать три переменные по возрастанию
Помогите пожалуйста с задачками, не понимаю по информатике ничего абсолютно. ЗАРАНЕЕ БОЛЬШОЕ...

Для изучения asp.net и тренировки подойдет такая задача?
Здравствуйте!Подскажите пожалуйста, может технология asp.net реализовать мою задумку: хочу создать...

Задача на циклы. Начав тренировки, спортсмен в первый день пробежал 10 км.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму...

6
Master of Orion
Эксперт .NET
6074 / 4930 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.09.2012, 17:19 2
есть 2 клеток:
d6,e6
Pascal
1
2
3
4
5
6
var j: integer;
begin
writeln('искомые поля');
writeln('i=',4, 'j=',6);
writeln('i=',5, 'j=',6);
end.
1
Модератор
61598 / 46118 / 31831
Регистрация: 18.05.2008
Сообщений: 111,171
10.09.2012, 17:44 3
Цитата Сообщение от ELINA16 Посмотреть сообщение
не понимаю по информатике ничего абсолютно.
Да особо и понимать не нужно, возьми шахматную доску или нарисуй поле 8х8 и посчитай поля, до которых можно добраться за минимальное число ходов, одинаковое из левого и правого нижних углов доски.
И выяснишь что первой горизонталью может быть только номер 5. А начиная от нее это все поля от главной диагонали до побочной включительно. Напиши программу так
Pascal
1
2
3
4
5
6
7
8
9
10
 var i,j: integer;
begin
writeln('искомые поля');
for j:=5 to 8 do
for i:=1 to 8 do
begin
 if(i+j>=9)and(i+j<=2*j)
 then writeln('i=',i, 'j=',j);
end;
end.
запусти и все увидишь, заодно ответишь на вопросы 1 и2. Конечно на экзамене программу делать не дадут, но для понимания смысла этой задачи можно. А лучше попробуй без программы.
1
Master of Orion
Эксперт .NET
6074 / 4930 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.09.2012, 17:48 4
Puporev, а теоретическое обоснование алгоритма можно? Особенно смущает строчка
Pascal
1
2
for j:=5 to 8 do
for i:=1 to 8 do
Конечно понятно, что в задании было, но эти "магические числа" задолбали уже
0
Модератор
61598 / 46118 / 31831
Регистрация: 18.05.2008
Сообщений: 111,171
10.09.2012, 18:03 5
У меня только одно
Цитата Сообщение от Puporev Посмотреть сообщение
возьми шахматную доску или нарисуй поле 8х8
только я это в голове делаю.
А вообще, если короли пойдут по своим диагоналям вперед, то получим 2 первых поля [4,5] и [5,5].
Ну а дальше от этих полей все поля из треугольника 8,1;8,8;5,5;4,5. если два последних поля считать вершиной.

Добавлено через 7 минут
Вообще король не такая уж и простая фигура, при анализе эндшпилей в нем разбираться нужно. С одного поля на другое король может попасть за минимальное число ходов разными способами, а может и изменить количество ходов для выигрыша темпа.
0
Master of Orion
Эксперт .NET
6074 / 4930 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.09.2012, 18:55 6
Puporev, ну то что по диагонали к центру, это я догадался, а дальше - нет
0
Модератор
61598 / 46118 / 31831
Регистрация: 18.05.2008
Сообщений: 111,171
10.09.2012, 18:59 7
Pascal
1
2
3
for j:=5 to 8 do//первая горизонталь где есть поля до которых оба короля смогут
                   // добраться за одинакое число ходов это номер 5(4 хода)
for i:=1 to 8 do//и такие поля есть на всех вертикалях
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2012, 18:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Задача из ЕГЭ
Написать алгоритм подсчета количества уникальных элементов в целочисленном массиве длины N&lt;1000...

Задача С5 по ЕГЭ
Доброго времени суток! Помогите решить задачу. Я незнаю как это решается. Так что, если можно мне...

Задача по ЕГЭ
Помогите решить задачу. Для автоматизированной системы управления движением городских...

Задача по егэ
Помогите дописать задачку пожалуйста. Не могу вывести все элементы List. На вход программе в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.