Решение на Домашно 03 от Основи на програмирането с Java - декември 2016
Задача 01 (Проверка за отлична оценка):
Първата задача от тази тема е да се напише конзолна програма, която въвежда оценка (десетично число) и отпечатва “Excellent!”, ако оценката е 5.50 или по-висока.
Задача 02 (Отлична оценка или не):
Следващата задача от тази тема е да се напише конзолна програма, която въвежда оценка (десетично число) и отпечатва “Excellent!”, ако оценката е 5.50 или по-висока, или “Not excellent.” в противен случай.
Задача 03 (Четно или нечетно):
Да се напише програма, която въвежда цяло число и печата дали е четно или нечетно.
Задача 04 (Намиране на по-голямото число):
Да се напише програма, която въвежда две цели числа и отпечатва по-голямото от двете.
Задача 05 (Изписване на число до 10 с думи):
Да се напише програма, която въвежда цяло число в диапазона [0…10] и го изписва с думи на английски език. Ако числото е извън диапазона, изписва “number too big”.
Дадено е цяло число – брой точки. Върху него се начисляват бонус точки по правилата, описани по-долу. Да се напише програма, която пресмята бонус точките за това число и общия брой точки с бонусите.
- Ако числото е до 100 включително, бонус точките са 5.
- Ако числото е по-голямо от 100, бонус точките са 20% от числото.
- Ако числото е по-голямо от 1000, бонус точките са 10% от числото.
- Допълнителни бонус точки (начисляват се отделно от предходните):
- За четно число + 1 т.
- За число, което завършва на 5 + 2 т.
Задача 07 (Сумиране на секунди):
Трима спортни състезатели финишират за някакъв брой секунди (между 1 и 50). Да се напише програма, която въвежда времената на състезателите и пресмята сумарното им време във формат "минути:секунди". Секундите да се изведат с водеща нула (2 > "02", 7 > "07", 35 > "35").
Задача 08 (Конвертор за мерни единици):
Да се напише програма, която преобразува разстояние между следните 8 мерни единици: m, mm, cm, mi, in, km, ft, yd. Използвайте съответствията от таблицата по-долу:
входна единица |
изходна единица |
1 meter (m) |
1000 millimeters (mm) |
1 meter (m) |
100 centimeters (cm) |
1 meter (m) |
0.000621371192 miles (mi) |
1 meter (m) |
39.3700787 inches (in) |
1 meter (m) |
0.001 kilometers (km) |
1 meter (m) |
3.2808399 feet (ft) |
1 meter (m) |
1.0936133 yards (yd) |
Входните данни се състоят от три реда:
- Първи ред: число за преобразуване
- Втори ред: входна мерна единица
- Трети ред: изходна мерна единица (за резултата)
Да се напише програма, която въвежда парола (един ред с произволен текст) и проверява дали въведеното съвпада с фразата “s3cr3t!P@ssw0rd”. При съвпадение да се изведе “Welcome”. При несъвпадение да се изведе “Wrong password!”.
задача: 01, 02, 03. 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, v
Задача 10 (Число от 100 до 200):
Да се напише програма, която въвежда цяло число и проверява дали е под 100, между 100 и 200 или над 200. Да се отпечатат съответно съобщения като в примерите по-долу:
вход |
изход |
вход |
изход |
вход |
изход |
|
|
95 |
Less than 100 |
120 |
Between 100 and 200 |
210 |
Greater than 200 |
Да се напише програма, която въвежда две думи и проверява дали са еднакви. Да не се прави разлика между главни и малки думи. Да се изведе “yes” или “no”.
Задача 12 (Информация за скоростта):
Да се напише програма, която въвежда скорост (десетично число) и отпечатва информация за скоростта. При скорост до 10 (включително) отпечатайте “slow”. При скорост над 10 и до 50 отпечатайте “average”. При скорост над 50 и до 150 отпечатайте “fast”. При скорост над 150 и до 1000 отпечатайте “ultra fast”. При по-висока скорост отпечатайте “extremely fast”.
Да се напише програма, която въвежда размерите на геометрична фигура и пресмята лицето й. Фигурите са четири вида: квадрат (square), правоъгълник (rectangle), кръг (circle) и триъгълник (triangle). На първия ред на входа се чете вида на фигурата (square, rectangle, circle или triangle). Ако фигурата е квадрат, на следващия ред се чете едно число – дължина на страната му. Ако фигурата е правоъгълник, на следващите два реда четат две числа – дължините на страните му. Ако фигурата е кръг, на следващия ред чете едно число – радиусът на кръга. Ако фигурата е триъгълник, на следващите два реда четат две числа – дължината на страната му и дължината на височината към нея. Резултатът да се закръгли до 3 цифри след десетичната точка.
Задача 14 (Време + 15 минути):
Да се напише програма, която въвежда час и минути от 24-часово денонощие и изчислява колко ще е часът след 15 минути. Резултатът да се отпечата във формат hh:mm. Часовете винаги са между 0 и 23, а минутите винаги са между 0 и 59. Часовете се изписват с една или две цифри. Минутите се изписват винаги с по две цифри, с водеща нула когато е необходимо.
Да се въведат 3 числа и да се отпечата дали са еднакви (yes / no).
Задача 16 (Изписване на число до 100 с думи):
Да се напише програма, която превръща число [0…100] в текст: 25 à “twenty five”. Ако числото не е в диапазона, принтирайте „invalid number”.
Задача 17 (Цена за транспорт):
Студент трябва да пропътува n километра. Той има избор измежду три вида транспорт:
- . Начална такса: 0.70 лв. Дневна тарифа: 0.79 лв. / км. Нощна тарифа: 0.90 лв. / км.
- . Дневна / нощна тарифа: 0.09 лв. / км. Може да се използва за разстояния минимум 20 км.
- . Дневна / нощна тарифа: 0.06 лв. / км. Може да се използва за разстояния минимум 100 км.
Напишете програма, която въвежда броя километри n и период от деня (ден или нощ) и изчислява цената на най-евтиния транспорт.
Вход
От конзолата се четат два реда:
- Първият ред съдържа числото n – брой километри – цяло число в интервала [1…5000].
- Вторият ред съдържа дума “day” или “night” – пътуване през деня или през нощта.
Изход
Да се отпечата на конзолата най-ниската цена за посочения брой километри.
Басейн с обем V има две тръби от които се пълни. Всяка тръба има определен дебит (литрите вода минаващи през една тръба за един час). Работникът пуска тръбите едновременно и излиза за N часа. Напишете програма, която изкарва състоянието на басейна, в момента, когато работникът се върне.
Вход
От конзолата се четат четири реда:
- Първият ред съдържа числото V – Обем на басейна в литри – цяло число в интервала [1…10000].
- Вторият ред съдържа числото P1 – дебит на първата тръба за час – цяло число в интервала [1…5000].
- Третият ред съдържа числото P2 – дебит на втората тръба за час– цяло число в интервала [1…5000].
- Четвъртият ред съдържа числото H – часовете които работникът отсъства – число с плаваща запетая в интервала [1.0…24.00]
Изход
Да се отпечата на конзолата едно от двете възможни състояния:
- До колко се е запълнил басейна и коя тръба с колко процента е допринесла. Всички проценти се свеждат до цяло число (без закръгляне).
- The pool is [x]% full. Pipe 1: [y]%. Pipe 2: [z]%."
· Aко басейнът се е препълнил – с колко литра е прелял за даденото време, число с плаваща запетая
- "For [x] hours the pool overflows with [y] liters."
* Имайте предвид, че поради свеждането до цяло число се губят данни и нормално сборът на процентите да е 99%, а не 100%.
Има ли spoiler таг във форума? Иначе и аз си го мисля това, че темите стават твърде дълги.
Нямах предвид да добавиш още текст, а вместо code-snippets да слагаш pastebin
Ще едитна така, че да ви харесва.
Благодаря ти, оценяме го :)