maxon-86
17-01-2010, 02:53
Здравствуйте! Мне очень нужна ваша помощь!
Есть схема базы данных:
utQ (Q_ID int,Q_NAME varchar(35))
utV (V_ID int,V_NAME varchar(35),V_COLOR char(1))
utB (B_Q_ID int,B_V_ID int,B_VOL tinyint, B_DATETIME datetime)
Таблица utQ содержит идентификатор и название квадрата, цвет которого первоначально черный.
Таблица utV содержит идентификатор, название и цвет баллончика с краской.
Таблица utB содержит информацию об окраске квадрата баллончиком: идентификатор квадрата, идентификатор баллончика, количество краски и время окраски.
При этом следует иметь в виду, что:
- баллончики с краской могут быть трех цветов - красный V_COLOR='R', зеленый V_COLOR='G', голубой V_COLOR='B' (латинские буквы).
- объем баллончика равен 255 и первоначально он полный;
- цвет квадрата определяется по правилу RGB, т.е. R=0,G=0,B=0 - черный, R=255, G=255, B=255 - белый;
- запись в таблице закрасок utB уменьшает количество краски в баллончике на величину B_VOL и соответственно увеличивает количество краски в квадрате на эту же величину;
- значение 0 < B_VOL <= 255
- Количество краски одного цвета в квадрате не превышает 255, а количество краски в баллончике не может быть меньше нуля.
Задание, которое мне дали для части проекта:
Все имеющиеся квадраты отсортированы по идентификаторам в порядке возрастания и представлены в виде шахматной доски. Квадраты выкладываются построчно, начиная с первого ряда:
A1 -> B1 ... -> H1 -> A2 -> B2 ... -> H2 ... A8 -> B8 ... -> H8.
А1 - черная клетка.
Найти:
1. количество квадратов на своих местах (цвет клетки шахматной доски и квадрата совпадают);
2. количество квадратов, которые должны быть черными, но таковыми не являются;
3. количество белых клеток, для которых не хватило квадратов;
4. количество черных клеток, для которых не хватило квадратов;
5. количество краски, необходимое для окраски существующих квадратов до необходимого белого цвета;
6. координаты последнего квадрата на доске.
7. Решение должно начинаться с Select...
Уточнение к 2 и 5 условию: 2)если квадрат стоит на черной клетке, но на самом деле не черный, только тогда его надо учитывать для результата...5) "Существующих"-значит надо учитывать только квадраты, что стоят на белых клетках, но не белые...
Не получается у меня, уже не знаю, что делать(:( помогите с решением или опишите алгоритм
Буду оооооочень благодарен!!!
Есть схема базы данных:
utQ (Q_ID int,Q_NAME varchar(35))
utV (V_ID int,V_NAME varchar(35),V_COLOR char(1))
utB (B_Q_ID int,B_V_ID int,B_VOL tinyint, B_DATETIME datetime)
Таблица utQ содержит идентификатор и название квадрата, цвет которого первоначально черный.
Таблица utV содержит идентификатор, название и цвет баллончика с краской.
Таблица utB содержит информацию об окраске квадрата баллончиком: идентификатор квадрата, идентификатор баллончика, количество краски и время окраски.
При этом следует иметь в виду, что:
- баллончики с краской могут быть трех цветов - красный V_COLOR='R', зеленый V_COLOR='G', голубой V_COLOR='B' (латинские буквы).
- объем баллончика равен 255 и первоначально он полный;
- цвет квадрата определяется по правилу RGB, т.е. R=0,G=0,B=0 - черный, R=255, G=255, B=255 - белый;
- запись в таблице закрасок utB уменьшает количество краски в баллончике на величину B_VOL и соответственно увеличивает количество краски в квадрате на эту же величину;
- значение 0 < B_VOL <= 255
- Количество краски одного цвета в квадрате не превышает 255, а количество краски в баллончике не может быть меньше нуля.
Задание, которое мне дали для части проекта:
Все имеющиеся квадраты отсортированы по идентификаторам в порядке возрастания и представлены в виде шахматной доски. Квадраты выкладываются построчно, начиная с первого ряда:
A1 -> B1 ... -> H1 -> A2 -> B2 ... -> H2 ... A8 -> B8 ... -> H8.
А1 - черная клетка.
Найти:
1. количество квадратов на своих местах (цвет клетки шахматной доски и квадрата совпадают);
2. количество квадратов, которые должны быть черными, но таковыми не являются;
3. количество белых клеток, для которых не хватило квадратов;
4. количество черных клеток, для которых не хватило квадратов;
5. количество краски, необходимое для окраски существующих квадратов до необходимого белого цвета;
6. координаты последнего квадрата на доске.
7. Решение должно начинаться с Select...
Уточнение к 2 и 5 условию: 2)если квадрат стоит на черной клетке, но на самом деле не черный, только тогда его надо учитывать для результата...5) "Существующих"-значит надо учитывать только квадраты, что стоят на белых клетках, но не белые...
Не получается у меня, уже не знаю, что делать(:( помогите с решением или опишите алгоритм
Буду оооооочень благодарен!!!