Skip to content

taleksei/ruby_practice

Repository files navigation

Практика по Ruby

  1. number_counter.rb
  2. checker.rb
  3. random_queue.rb
  4. digtolcd.rb
  5. iptocountry.rb

Задание

  1. Даны два списка (массива) из различных (возможно повторяющихся) целых чисел, а также могут быть и “дырки” - nil’ы, при этом каждый из массивов может в качестве элементов содержать подмассивы также из целых чисел. Пример: массив a = [[4, 19], nil, [32, 41], 65], b = [234, 0, 21, [54]]. Необходимо написать программу на ruby, на выходе которой будет хеш, ключами которого будут числа из обоих массивов a и b, а соотв. значениями - сумма, сколько раз встречается число как в первом, так и во втором массиве.

  2. Существует точка на карте с координатами x и y (например, x = 60.597223, y = 56.837992), эта точка находится в центре окружности, радиусом в r. Необходимо написать программу на ruby, на входе которой будет массив из N точек [[x0, y0], [x1, x2], …], а на выходе массив содержащий точки, которые входят в данную область (окружность). При решении разрешается смотреть в google для поиска формул.

  3. Существует множество из N целых чисел (массив из N уникальных целых чисел). Необходимо написать метод (программу), при N вызовах которого каждый раз будет выдаваться случайное, неповторяющееся число из этого массива. Чтобы было удобнее, представьте, что эти числа - баннеры клиентов, которые необходимо выводить в случайном порядке, но при этом нельзя повторяться, чтобы не обидеть никого из этих клиентов.

  4. Напишите программу, на входе которой некторое целое число, а на выходе его представление как на LCD дисплее калькулятора, например: $ digtolcd.rb 654 _ _ |_ |_ || || _| |

  5. Для этого задания вам необходимо будет скачать файл по ссылке https://goo.gl/uaZfG1 Итак, это файл Ip_to_country в формате text/csv. Необходимо написать простую утилиту, на входе которой будет некий IP адрес, а на выходе код страны, к которой этот IP принадлежит. Программа должна использовать данный файл в качестве базы данных. Примечание: IP адреса зашифрованы в этом csv файле, будьте внимательны, подробности шифрования увидете в заголовке этого файла. Пример использования вашей утилиты может быть таким: $ iptocountry.rb 85.12.221.146 RU

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages