Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434

Открыть новую тему     Написать ответ в эту тему

buffy



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи и Программирование на языке Pascal/Object Pascal (Turbo, Delphi и Free Pascal)

 
Перед тем, как задать вопрос: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Большинство типовых задач уже решались, причем неоднократно!  
ВНИМАНИЕ!

Текст всех программ обязательно заключайте в теги [code][/code].
Большие тексты (более 15 строк) обязательно прячутся в [more]ВАШ ТЕКСТ и/или Ваш КОД[/more]


Альтернативный компилятор
Free Pascal Compiler (FPC) -- мощный компилятор Паскаля
 - девиз: пишешь единожды, компилируешь где хошь...
 - на 99% совместим по коду с ТР и Object Pascal (Delphi)
 - межплатформенный
 - свободный  
Lazarus -- среда разработки для FPC (аналог среды Delphi7)
 
Файлы
Русская справка
Turbo Pascal 7.1 добавлены некоторые модули из Borland Pascal, русская справка.
Borland Pascal 7.0 Полный (13-дискетный, вкл. исходники), никем не модифицированный  дистрибутив.
 
Учебники:
В.В.Фаронов - Turbo Pascal. Начальный курс
В.В.Фаронов - Turbo Pascal. Наиболее полное руководство
Д.М.Ушаков, Т.А.Юркова - Паскаль для школьников
С.М.Окулов - Основы программирования
С.М.Окулов - 2 главы из школьного учебника по информатике
В.М.Котов - Олимпиадные задачи по информатике с решениями
Никитин - набор исходников для типовых задач
Мансуров - Основы программирования в среде Lazarus - основы паскаля, много примеров, блоксхем, алгоритмов. 2010. 772 с. примеры к книге
Деревенец - Песни о Паскале - паскаль для школьников и студентов-первокурсников
Епанешниковы - Программирование в среде Turbo Pascal
Паскаль для школьников. Подготовка к ЕГЭ (2011)
Фадеев - Паскаль для школы
Потопахин - Turbo Pascal Решение сложных задач (2006)
Полезные линки
библиотека алгоритмов (есть и на Паскале)
библиотека алгоритмов (ещё одна)
библиотека алгоритмов (и ещё одна)
Разбор олимпиадных задач по информатике от Михаила Густокашина
 
Проблема с набором русского текста в консоли/Turbo Pascal
решение проблемы с набором русского текста в консоли Windows  скриптом (командным файлом)
 
Построение блок-схем
FCEditor -- Программа для автоматического построения блок-схем программ из исходного текста на языке Pascal (Delphi)
 - для правильной работы исходный текст должен начинаться со слова program или unit

Всего записей: 4 | Зарегистр. 24-10-2002 | Отправлено: 12:46 11-01-2003 | Исправлено: akaGM, 23:06 21-11-2019
omohka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Задача
 
Хакеру необходимо составить программу "KeyGenerator", позволяющую подобрать пароли для запуска программного обеспечения "Программа 1". Известо, что пароль (комбинация нулей и единиц) должен состоять из 2*N разрядов. Верным является такой, у которого сумма первых V цифр равна сумме V последних цифр. Помогите хакеру решить эту несложную задачу.
 
Пример входных и выходных файлов:
Input.txt
2 2
Output.txt
4
 
Условию удовлетворяют пароли: 0101,0110,1001,1010
 
 
2. Задача
 
N пиратов нашли клад. Первый из них взял себе одну монету и еще N-ую часть оставшихся монет. Точно таким же образом поступили все остальные пираты. Оставшиеся после этого монеты (как ни странно, такие еще были!) они смогли разделить поровну. Найти наименьшее количество K монет, которое удовлетворяет описанному алгоритму раздела.
 
Входные данные: N.
Выходные данные: K.
 
Например, если N=2, то K=11. При этом 1-ый пират взял сначала одну и еще 5 (половина оставшихся), т.е всего 6 монет. 2-ой — 1 + 2 = 3 монеты. После чего останется 2 монеты, которые и подлежат разделу.
 
 
Народ, помоги срочно сделать 2 задачи по Pascal. У меня послезавтра экзамен. Если не пренесу крышка! Помогите плиз!

Всего записей: 6 | Зарегистр. 22-12-2008 | Отправлено: 06:31 22-12-2008 | Исправлено: omohka, 08:48 22-12-2008
Mandor Sawall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omohka
Вторая задача:

Код:
K := N;
for I := 1 to N do
  K := 1 + 2*K;


Всего записей: 119 | Зарегистр. 20-03-2003 | Отправлено: 09:13 22-12-2008
s2kperm



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить задачу, решил все кроме последней, а сессия уже не за горами (((
С использованием циклических структур вычислить и вывести на экран сумму/произведение   членов ряда. Число членов ряда   и параметра   задается с клавиатуры.
 
http://img1.immage.de/221279703.jpg

Всего записей: 18 | Зарегистр. 13-11-2007 | Отправлено: 10:33 22-12-2008 | Исправлено: s2kperm, 10:35 22-12-2008
eHappy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плз;
Вводица квадратная матрица 19х19.
Строки паралельные побочной диогонали и расположенные слева выше неё,упорядочить по убыванию.Побочную диогональ не изменять.
т.е должно получится что-то типа этого:
|5551|
|4421|
|3222|
|2421|

Всего записей: 1 | Зарегистр. 22-12-2008 | Отправлено: 10:52 22-12-2008
omohka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mandor Sawall

Цитата:
Код:
K := N;
for I := 1 to N do
  K := 1 + 2*K;  

 
Спасибо!!!
 
 

Цитата:
1. Задача
 
Хакеру необходимо составить программу "KeyGenerator", позволяющую подобрать пароли для запуска программного обеспечения "Программа 1". Известо, что пароль (комбинация нулей и единиц) должен состоять из 2*N разрядов. Верным является такой, у которого сумма первых V цифр равна сумме V последних цифр. Помогите хакеру решить эту несложную задачу.
 
Пример входных и выходных файлов:
Input.txt
2 2
Output.txt
4
 
Условию удовлетворяют пароли: 0101,0110,1001,1010  

 
Помогите с этой задачей
 
 
 
 
Добавлено:
И вот еще одна задачка
 
3. Задача
Условие
План города размером m*n состоит из квадратных районов. В каждом районе утром передвигается определенное количество автомобилей.
Некоторый водитель выезжает утром из самого крайнего соверо-западного района (Левый верхних угол ).
Задачей водителя явлаяется как можно быстрее добраться до крайнего юго-восточного района (нижний правый угол). Естественно предположить, что оптимальным путем в этом случае будет передвижение через те районы, в которых передвигается минимальное количество машин. В городе существуют ограничения относительно способа передвижения: автомобиль может двигаться из текущего района только в один из двух соседних ( Правый либо нижний ).
Составьте программу, которая вычисляет количество машин в районах, составляющих оптимальный путь!!!
 
Технические условия:
План города задан таблицей Town содержащей m строк и n столбцов. Элемент town[i,j] (район города) таблицы указывает количество передвигающихся в район машин.
Текстовый файл "input.txt" содержит в первой строке числа m,n разделенные пробелом. В каждом из следующих m строк содержит по n чисел town[i,j] разделенных пробелами.
Файл "output.txt" должен содержать одно натуральное число.
 
Пример входных и выходных файлов:
Input.txt
3 3
1 1 3
2 2 1
3 2 1
 
Output.txt
6
 
 
Input.txt
4 5
3 4 1 1 2
1 3 4 3 1
4 5 1 5 4
5 1 2 3 1
 
Output.txt
17
 
Добавлено:
Очень срочно, На все про все Ночь... Я из хабаровска +10
сейчас 20:29 мне надо все дорешать до 9:00 Помогите!!!

Всего записей: 6 | Зарегистр. 22-12-2008 | Отправлено: 12:05 22-12-2008
I am not Liar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
И вот еще одна задачка  
 
3. Задача  
Условие  
План города размером m*n состоит из квадратных районов. В каждом районе утром передвигается определенное количество автомобилей.

 
Вот решение:
 
Подробнее...

Всего записей: 87 | Зарегистр. 07-11-2007 | Отправлено: 14:42 22-12-2008 | Исправлено: I am not Liar, 14:43 22-12-2008
omohka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
I am not Liar
 
Я от души тебя благодарю, Ты мне помог, СПАСИБО.
Я перелазил столько форумов проклятых
И лишь нашелся здесь ответ,  Спасибо I am not Liar

Всего записей: 6 | Зарегистр. 22-12-2008 | Отправлено: 16:13 22-12-2008
I am not Liar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Странно. Задача то, в принципе, несложная. Это основы динамического программирования

Всего записей: 87 | Зарегистр. 07-11-2007 | Отправлено: 16:28 22-12-2008
PrettyOdd

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
******************************************************
 
Дана вещественная матрица 20*30. Упорядочить её строки по неубыванию:
а) * их первых элементов.
 
******************************************************
кто может помогите пожалуйста...

Всего записей: 2 | Зарегистр. 22-12-2008 | Отправлено: 16:34 22-12-2008
omohka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1. Задача
 
Хакеру необходимо составить программу "KeyGenerator", позволяющую подобрать пароли для запуска программного обеспечения "Программа 1". Известо, что пароль (комбинация нулей и единиц) должен состоять из 2*N разрядов. Верным является такой, у которого сумма первых V цифр равна сумме V последних цифр. Помогите хакеру решить эту несложную задачу.
 
Пример входных и выходных файлов:
Input.txt
2 2
Output.txt
4
 
Условию удовлетворяют пароли: 0101,0110,1001,1010  

 
Я попрошу вас сделать мне пожалуйста задачу! Осталось времени чуть чуть!  
Ну помогите же студенту, который хочет от экзамена увильнуть!
 
 
Добавлено:
У меня осталось времени всего то ничего, сейчас показывает 00:12, а мне в 9:00 надо сдавать!

Всего записей: 6 | Зарегистр. 22-12-2008 | Отправлено: 16:51 22-12-2008
nick444



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Объясните пожалуйста как написана программа:
 

Код:
program V46_N6;
uses crt;
var
sum,fy,y,y0,yk,dy:real;
a:integer;
begin
clrscr;
sum:=0;
writeln ('‚ўҐ¤ЁвҐ y0,yk,dy: ');
read(y0,yk,dy);
y:=y0;
while y<=yk do begin
if y<=(yk/2) then a:=2
else a:=3;
fy:=(1-y)/sqr(y)+a*y;
y:=y+dy;
writeln(fy:0:4);
sum:=sum+fy;
end;
writeln ('Љ®-Ґз- п б㬬 : ');
write(sum:0:4);
end.

 
Условие - задача 6.

Всего записей: 704 | Зарегистр. 04-11-2005 | Отправлено: 18:28 22-12-2008
dh008

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, помогите кто-нибудь решить задачки на Turbo Pascal, плиз! Они не очень сложные, но я смог осилить только половину, завтра зачет... Вот те, что мне не удались:
1)Получить массив, в котором элементы расположены в обратном порядке.
4) Определить наибольшее число подряд идущих одинаковых элементов.
5) Дан массив размерности n и массив размерности k, где k>n. Получить массив размерности (n+k), в котором сначала идут элементы первого массива, а затем второго. Например, n=3, k=5. A={1,2,3}, B={4,5,6,7,8}, тогда новый массив будет иметь следующий вид: C={1,2,3,4,5,6,7,8}.
7)В массиве заменить значения всех элементов на модули соответствующих чисел.
10)Из двух массивов одинаковой длины получить третий, в котором каждый элемент равен сумме соответствующих элементов первых двух массивов.
15)Посчитать количество элементов в массиве, которые равны "3".

Всего записей: 1 | Зарегистр. 22-12-2008 | Отправлено: 18:36 22-12-2008 | Исправлено: dh008, 19:15 22-12-2008
I am not Liar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omohka, я не совсем понял условие задачи. Сумма первых и последних V чисел равны какому-то конкретному числу? Если нет, то почему в ответе не учли варианты 0000 и 1111?

Всего записей: 87 | Зарегистр. 07-11-2007 | Отправлено: 18:46 22-12-2008
omohka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Mandor Sawall
 
Цитата:
Код:
K := N;
for I := 1 to N do
  K := 1 + 2*K;  

 
 
Не совсем верно! Можешь посмотреть, что не так! Башка ваще не варит!
 
При N=2 да а вот при выше нет!  
Кто может посмотрите!, Мне отсрочку дали до завтра!

Всего записей: 6 | Зарегистр. 22-12-2008 | Отправлено: 13:33 23-12-2008
EXSUL

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omohka
попробуйте такой цикл

Код:
 
x:=n+1;
k:=n;
for i:=1 to n do begin
   k:=k+x;
   x:=2*x
                       end;
 

Всего записей: 60 | Зарегистр. 04-10-2008 | Отправлено: 14:32 23-12-2008
I am not Liar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить задачу.
 
Даны два числа a и b. Выяснить, можно ли из числа a получить число b не более чем за 6 операций. Операции могут быть только двух видов:
1) прибавить к a три.
2) умножить a на 4.
Если нельзя - вывести -1.
 
Я сделал так:

Код:
 
 
var
  a,b,i:integer;
begin
readln(a,b);
i:=6;
if a<>b then begin
repeat
if b mod 4=0 then begin
if b div 4>=a then begin
b:=b div 4;
dec(i);
end;
end;
if ((b mod 4>0) or (b div 4<a)) and (b>a) then begin
b:=b-3;
dec(i);
end;
until (a=b) or (i=0) or (b<a);
end;
if a=b then write(6-i);
if a<>b then write('-1');
end.
 

Но почему то работает не всегда. Где ошибка?

Всего записей: 87 | Зарегистр. 07-11-2007 | Отправлено: 16:07 23-12-2008 | Исправлено: I am not Liar, 16:09 23-12-2008
omohka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
I am not Liar
Программа должна читать данные из файла input.txt, и выводить полученное число в файл.
Во входном файле находятся два числа разделенных пробелом: первое -N [2<=N<=50] второе V
кол-во суммируемых цифр в пароле (2<=V<=N).
ответ кол во правельных ответов.
 
 
К ЗАДАЧЕ ПРО KEYGENERATOR плиз инет отрубили пишу с кпк! срочняк
 
EXSUL
 
Не верно про пиратов! попробуй еще, сделай проверку с 3 или 4 и п очти еще раз условие! Плиз ребята!

Всего записей: 6 | Зарегистр. 22-12-2008 | Отправлено: 16:27 23-12-2008
Dimak24

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста решить задачку, Завтра уже Зачет... нужно очень срочно..SoS!!  
 
Матрица A состоит из 8 строк и 6 столбцов. Нужно вычесть из всех её строк, начиная со второй, первую строку.
Буду очень благодарен...

Всего записей: 2 | Зарегистр. 12-12-2008 | Отправлено: 17:22 23-12-2008
andreylkn



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SERGE_BLIZNUK
Можно ли в этой проограмме не использовать Тип String и написать всё программу с помощью repit ... until?

Цитата:
{Для заданного K, вычислить K-тую цифру последовательности  
2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 0 2 2 2 4 2 6 2 8 3 0 ...}  
var  
  k,i,m,LenAll : integer;  
  s : string;  
begin  
 Write(' Введите k: ');  
 readln(k);  
 
 LenAll := 0;  
 i:=2;  
 
 while LenAll<k do begin  
   Str(i:1, s);  
   if (LenAll+Length(S))>=k then  
   begin  
     m := k - LenAll;  
     WriteLn(k:1,'-я цифра = ',Copy(S,m,1));  
   end;    
   LenAll := LenAll+Length(S);  
   i := i + 2  
 end;  
   
 readln;  
end.

 
Прошу!!!! Можете кто-нибудь, помочь решить пару задач... я уже в безнадёжном положении... Могу оплатить ваши старания!.... Но очень желательно сегодня помочь...
Задания:  
1. Задана последовательность из N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами  
Примечание : методы сортировки (например по возрастанию)
 A) Выбором : отыскивается максимальный элемент и переносится в ко-
    нец массива, затем этот метод применяется ко всем элементам
    массива кроме последнего, т.к. Он уже на своем месте и т.д.
 B) Обменом (метод пузырька) : последовательно сравниваются пары
    соседних элементов X(I) и X(I+1) (I=1,N-1), если X(I)>X(I+1),
    то они меняются местами, делается шаг назад (т.е. уменьшается
    значение индекса текущего элемента I), иначе проверяются сле-
    дующие элементы, тем самым наибольший элемент окажется в конце
    массива, этот метод применяется ко всем элементам кроме пос-
    леднего и т.д.
 C) Вставками : пусть первые K элементов массива уже упорядоченны
    по возрастанию, берется (K+1)-й элемент и размещается среди
    первых K элементов так, чтобы упорядоченными оказались уже
    (K+1) первых элементов, этот метод применяется при K от 1 до
    N-1.
 
2. Осуществить поворот матрицы против часовой стрелки на 90 градусов. (решение с помощью двумерного массива не используя )

Всего записей: 18 | Зарегистр. 26-10-2008 | Отправлено: 17:43 23-12-2008
I am not Liar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
Программа должна читать данные из файла input.txt, и выводить полученное число в файл.  
Во входном файле находятся два числа разделенных пробелом: первое -N [2<=N<=50] второе V  
кол-во суммируемых цифр в пароле (2<=V<=N).  
ответ кол во правельных ответов.

Я понял. Но тогда в тесте ответ неверный.

Всего записей: 87 | Зарегистр. 07-11-2007 | Отправлено: 17:45 23-12-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru