04 Exercises Java

Задачи для повторения и закрепления материала #

Первая партия задач #

  1. Давайте попробуем написать методы для вычисления площади и периметра фигур: квадрата, прямоугольника, треугольника, круга. И один раз напишем их исполняющими, а один раз возвратными. В обоих случаях методы должны принимать необходимые данные для вычисления: как радиус, длину сторон или прочее.
  2. Давайте напишем генератор паролей. Методу передаётся длина пароля. И метод генерирует пароль используя латиницу, цифры и некоторые спецсимволы(на ваш выбор). Подсказка - использовать только те знания, которые были уже изучены. Существует как минимум два(на самом деле 222) разных подхода к решению этой проблемы. Не бойтесь пробовать.
  3. Даны натуральные числа от a = 35 до b = 87. Вывести на консоль те из них, которые при делении на 7 дают остаток 1, 2 или 5. а и b должны приниматься методом.
  4. Напишите метод(ы)- программу с описанием человеческих действий через комментирование кода или через систему вывода сообщений на экран, из которой понятно как получить утреннюю чашку кофе, а в пятницу вечером бутылку холодного пива.
  5. Программу перевода десятичных чисел в двоичные, где пользователь вводит значения через клавиатуру.
  6. Мастеру плиточнику Сергею Ивановичу Золотыеруки задают часто один и тот же вопрос. Сколько будет стоить положить плитку на определённом участке.
  • Нам известно, что в час он кладёт примерно один квадратный метр плитки.
  • Его час стоит 27€ без НДС.
  • Стандартная плитка 30 на 20 сантиметров.

Сергей Иванович обратился к нам за помощью и вам надо написать для него программу.
Которая будет принимать размеры стены/пола, стоимость плитки и выдавать:

  • Количество требуемых плиток, как целых, так и тех которые надо будет резать. Учтите, что плитку можно класть как вдоль, так и поперёк и только на месте мастер узнает, как именно её надо класть.
  • Стоимость материала
  • Стоимость рабочего времени
  • Итоговую ориентировочную стоимость

Вторая партия задач #

  1. Дано два числа (a и b). Написать метод, который вернет сумму всех чисел между (a и b). Если a равно b, метод должен вернут a+b
    Пример: sum(2,4) -> 9
  2. Реализовать метод печатающий таблицу умножения для заданного числа Пример: multiplicationTable(3)->
    3x1=3
    3x2=6
    ….
    3x10=30
    
  3. Реализовать метод, печатающий все високосные годы в интервале от year1 до year2
    Пример: printLeapYears(2000,2009) ->
    2000 
    2004
    2008
    
  4. Реализовать метод, считающий все високосные годы в интервале от year1 до year2
    Пример: countLeapYears(2000,2009) -> 3
  5. Напишите метод, который выводит на экран квадрат с заданной стороной символами “*”
    Пример: printSquare(4) ->
    ****
    ****
    ****
    ****
    
  6. Реализовать метод, который принимает целое положительное число и выводит на экран все положительные числа, на которые заданное число делится без остатка и отображает количество найденных делителей.
    Пример: printDivisors(32) ->
    32
    16
    8
    4
    2
    1
    Total divisors: 6
    
  7. Дано два целых положительных числа от 1 до 99. Реализовать метод, который для каждого числа от a до b печатает строку вида “23 рубля”
    Пример: printSumInRub(1,5) ->
    1 рубль
    2 рубля
    3 рубля
    4 рубля
    5 рублей
    

Третья партия задач #

  1. В одном KByte(килобайт) - 1000 Byte(10^3). В одном KiB(кикибайт) - 1024 Byte(2^10).
    • Напишите программу, которая например из 100.000 байтов вычисляет сколько это целых KByte(килобайт) и оставшихся Byte.
    • Напишите программу подсчёта (обмана) разницы маркетинговых гигабайт с гигибайтами. Сколько “программистских” или двоичных мебибайт в десятичных гигабайтах.
  2. Написать программу, которая нам переводит любое десятичное число в двоичное.
  3. Напишите программу для перевода из двоичных в десятичные.
  4. Написать программу перевода десятичных чисел в восьмеричную систему.
  5. Напишите программу перевода чисел из любой(X) системы в любую(Y) систему. Сделайте ограничение для систем выше 16.