Как оформлять код?

Как оформлять код?

Оформление кода на Java похоже на С/С++. Но есть и особенности. Например, вместо подчёркиваний в многословных (last_event) идентификаторах обычно используются заглавные буквы (lastEvent — т.н. верблюжья нотация). Советую попрактиковаться в английском и почитать как это принято делать в компании Google или Oracle. Последняя инструкция довольно старенькая, но Oracle так давно существует… Если с чтением у … Continue reading

Ввод данных: Scanner vs StreamTokenizer

Ввод данных: Scanner vs StreamTokenizer

Разберемся с одним из подходов к вводу данных из стандартного потока через класс java.util.Scanner. Сделаем это на примере простой задачи с очень полезного сайта e-olimp.com Задача Введите из стандартного потока одно число. В предположении, что это положительное двузначное целое число выведите в стандартный поток вывода каждую его цифру отдельно (через пробел). Порядок цифр менять не следует. Тесты … Continue reading

Hello, World!

Hello, World!

Задача Конечно начнем с самой известной задачи (если не считать квайнов). Необходимо вывести в стандартный поток вывода текст «Hello, World!» Тесты Решение любой задачи правильно начинать с подготовки тестов. Тесты устанавливают какой должна быть правильная реакция программы на различные входные данные. В нашей первой программе никаких входных данных нет и тесты будут очень простыми: input … Continue reading

7 вещей, которым нужно научиться, чтобы найти работу на Java

7 вещей, которым нужно научиться, чтобы найти работу на Java

В первую очередь необходимо быть хорошо знакомым с JavaSE. Под знакомством я понимаю не только чтение документации по тому или иному пакету, но и умение написать небольшой иллюстративный код. Второе. Необходимо иметь правильное представление об объектно ориентированном проектировании (OOD), языке UML и шаблонах. По крайней мере в пределах книги Крэг Ларман. Применение UML 2.0 и … Continue reading

e-olymp 913. Используй подпрограмму

Задача Вычислить сумму и произведение $n$ пар заданных вещественных чисел, воспользовавшись подпрограммой $SumDob$ для вычисления суммы и произведения двух вещественных чисел. Входные данные В первой строке задано натуральное число $n$ — количество пар чисел. В последующих $n$ строках через пробел задано по $2$ вещественных числа. Все входные данные по модулю не превышают $100$. Выходные данные … Continue reading

e-olymp 2814. Быстрое возведение в степень

Задача Очень часто возникает задача эффективного вычисления $x^{n}$ по данным $x$ и $n$, где $n$ — положительное целое число. Предположим, например, что необходимо вычислить $x^{16}$. Можно просто начать с $x$ и 15 раз умножить его на $x$. Но тот же ответ можно получить всего за четыре умножения, если несколько раз возвести в квадрат получающийся результат, … Continue reading

e-olymp 219. Центральное отопление

Задача Кар Карыч с Пином восемнадцать часов подряд распивали холодные молочные коктейли и закусывали их мороженым. После этого Кар Карыч свалился со страшной простудой, а Пин решил провести в домик своему другу центральное отопление. Расчет количества отопительных приборов необходимо производить строго по ГОСТу 800333-90-06*. Для простоты Пин решил купить простые батареи. Согласно таблице 14.1.3 этого … Continue reading

e-olymp 920. Использование функций min и max

Задача Задано три вещественных числа [latex]x, y[/latex] и [latex]z[/latex]. Определить [latex]\min\left(\max\left(x,y\right), \max\left(y,z\right), x+y+z\right)[/latex], воспользовавшись вспомогательными функциями для вычисления минимального и максимального элементов из двух заданных. Входные данные В одной строке задано три вещественных числа [latex]x, y[/latex] и [latex]z[/latex]. Значения чисел не превышают по модулю [latex]100[/latex]. Выходные данные Вывести ответ с двумя десятичными знаками. Тесты # Входные данные Выходные … Continue reading

Ю4.8

Условие задачи В массиве [latex]C(m)[/latex] заменить каждый третий элемент полусуммой двух предыдущих, а стоящий перед ним — полусуммой соседних с ним элементов. Алгоритм решения 1.Инициализируем переменную [latex]n[/latex], которая будет размером массива и сам массив [latex]a[/latex]; 2.С помощью ввода задаем длину массива; 3.С помощью цикла и ввода заполняем массив; 3.Меняем каждый третий элемент начиная со второго; … Continue reading

А701б

Условие задачи Даны квадратная матрица [latex]A[/latex] порядка [latex]n[/latex] и вектор [latex]b[/latex] c [latex]n[/latex] элементами. Получить вектор \[A^{2} \cdot b\] Алгоритм решения Считываем матрицу. Возводим ее в квадрат ( перемножение матрицы осуществляется при помощи циклов). Считываем вектор. Умножаем матрицу на вектор. Выводим ответ. Фактически, умножение матриц пишется по определению. Сумма произведений элементов строки на элементы столбцов. … Continue reading

Ю1.19

Условие задачи Найти координаты вершины параболы \[y = ax^{2}+bx+c\] Алгоритм решения Мы знаем координаты вершины параболы вычисляются по формулам: 1) \[x_{0} = — \frac{b}{2 \cdot a}\] 2) \[y_{0} = ax_{0}^{2}+bx_{0}+c\] (Для простоты в программе [latex]x_{0}[/latex] и [latex]y_{0}[/latex] заменены на [latex]x[/latex] и [latex]y[/latex] соответственно). Теперь учтем ситуации в проработке которых могут возникнуть сложности: Если [latex]a=0[/latex], то … Continue reading

ML11

Условие задачи Определить время падения камня на поверхность земли с высоты [latex]h[/latex]. Алгоритм решения Для начала оговорим трактовку условия задачи. 1. Поскольку в условии ничего не говорится про начальную скорость камня, будем считать ее равной нулю. 2. Аналогично в условии ничего не говорится про точность результата. От этого зависит как округление до определенного количества знаков … Continue reading

e-olymp 419. Задача 3n + 1

Задача Рассмотрим следующий алгоритм генерации последовательности чисел:

Например, для [latex]n = 22[/latex] будет сгенерирована следующая последовательность чисел: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 Полагают (но это еще не доказано), что этот алгоритм сойдется к [latex]n = 1[/latex] для любого целого [latex]n[/latex]. По крайней мере, … Continue reading

e-olymp 1780. Коды Грея

Задача Коды Грея получили своё название по имени Франка Грея (Frank Gray), физика из Bell Telephone Laboratories, который в 1930-х годах изобрёл метод, в настоящее время используемый для передачи цветного телевизионного сигнала, совместно с существующими методами передачи и получения чёрно-белого сигнала; т.е. при получении цветного сигнала чёрно-белым приёмником изображение выводится оттенками серого цвета. Хотя существует … Continue reading