Loading...
joto_to avatar joto_to 40 Точки

Решение на Домашно 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 567 Точки

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

1
joto_to avatar joto_to 40 Точки

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

1
Sim0o0na avatar Sim0o0na Trainer 567 Точки

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

 

0
joto_to avatar joto_to 40 Точки

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

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.