Професионална програма
Loading...
joto_to avatar joto_to 39 Точки

Решение на Домашно 03 от Основи на програмирането с Java - декември 2016

Задача 01 (Проверка за отлична оценка):

Първата задача от тази тема е да се напише конзолна програма, която въвежда оценка (десетично число) и отпечатва “Excellent!”, ако оценката е 5.50 или по-висока.

 

Задача 02 (Отлична оценка или не):

Следващата задача от тази тема е да се напише конзолна програма, която въвежда оценка (десетично число) и отпечатва “Excellent!”, ако оценката е 5.50 или по-висока, или “Not excellent.” в противен случай.

 

Задача 03 (Четно или нечетно):

Да се напише програма, която въвежда цяло число и печата дали е четно или нечетно.

 

Задача 04 (Намиране на по-голямото число):

Да се напише програма, която въвежда две цели числа и отпечатва по-голямото от двете.

 

Задача 05 (Изписване на число до 10 с думи):

Да се напише програма, която въвежда цяло число в диапазона [0…10] и го изписва с думи на английски език. Ако числото е извън диапазона, изписва “number too big”.

Алтернативно решение.

 

Задача 06 (Бонус точки):

Дадено е цяло число – брой точки. Върху него се начисляват бонус точки по правилата, описани по-долу. Да се напише програма, която пресмята бонус точките за това число и общия брой точки с бонусите.

  • Ако числото е до 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)

Входните данни се състоят от три реда:

  • Първи ред: число за преобразуване
  • Втори ред: входна мерна единица
  • Трети ред: изходна мерна единица (за резултата)

 

Задача 09 (Познай паролата):

Да се напише програма, която въвежда парола (един ред с произволен текст) и проверява дали въведеното съвпада с фразата “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

 

Задача 11 (Еднакви думи):

Да се напише програма, която въвежда две думи и проверява дали са еднакви. Да не се прави разлика между главни и малки думи. Да се изведе “yes” или “no”.

 

Задача 12 (Информация за скоростта):

Да се напише програма, която въвежда скорост (десетично число) и отпечатва информация за скоростта. При скорост до 10 (включително) отпечатайте “slow”. При скорост над 10 и до 50 отпечатайте “average”. При скорост над 50 и до 150 отпечатайте “fast”. При скорост над 150 и до 1000 отпечатайте “ultra fast”. При по-висока скорост отпечатайте “extremely fast”.

 

Задача 13 (Лица на фигури):

Да се напише програма, която въвежда размерите на геометрична фигура и пресмята лицето й. Фигурите са четири вида: квадрат (square), правоъгълник (rectangle), кръг (circle) и триъгълник (triangle). На първия ред на входа се чете вида на фигурата (square, rectangle, circle или triangle). Ако фигурата е квадрат, на следващия ред се чете едно число – дължина на страната му. Ако фигурата е правоъгълник, на следващите два реда четат две числа – дължините на страните му. Ако фигурата е кръг, на следващия ред чете едно число – радиусът на кръга. Ако фигурата е триъгълник, на следващите два реда четат две числа – дължината на страната му и дължината на височината към нея. Резултатът да се закръгли до 3 цифри след десетичната точка.

 

Задача 14 (Време + 15 минути):

Да се напише програма, която въвежда час и минути от 24-часово денонощие и изчислява колко ще е часът след 15 минути. Резултатът да се отпечата във формат hh:mm. Часовете винаги са между 0 и 23, а минутите винаги са между 0 и 59. Часовете се изписват с една или две цифри. Минутите се изписват винаги с по две цифри, с водеща нула когато е необходимо.

 

Задача 15 (Еднакви 3 числа):

Да се въведат 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” – пътуване през деня или през нощта.

Изход

Да се отпечата на конзолата най-ниската цена за посочения брой километри.

 

Задача 18 (Тръби в басейн):

Басейн с обем 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%.

 

-2
Programming Basics 21/01/2017 15:15:10
Sim0o0na avatar Sim0o0na Trainer 566 Точки

За да не става темата ти излишно дълга колкото беше, използвай pastebin другия път или можеш да си ги качиш в гитхъб профил и да споделиш него вместо всяка задача по отделно. 

1
joto_to avatar joto_to 39 Точки

Има ли spoiler таг във форума? Иначе и аз си го мисля това, че темите стават твърде дълги.

1
Sim0o0na avatar Sim0o0na Trainer 566 Точки

Нямах предвид да добавиш още текст, а вместо code-snippets да слагаш pastebin

 

0
joto_to avatar joto_to 39 Точки

Ще едитна така, че да ви харесва.

1
Sim0o0na avatar Sim0o0na Trainer 566 Точки

Благодаря ти, оценяме го :)

0