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

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

По-сложни логически проверки

Дата: 21-ви януари 2017

 

Задача 01 ( Обръщение според възраст и пол )

За тази задача опитвах някакви варианти с char вместо String, но се отказах.

Задача 02 ( Квартално магазинче )

Ако желаете вместо вложен if може да се ползва switch, но целта на задачата беше да упражним вложени if конструкции, за това съм я направил така.

Задача 03 ( Точка в правоъгълник )

Използвах модифицирана версия на сорса от тази задача за 13-та задача. Няма нужда да "откриваме" велосипеда след като сме го направили 10 задачи по-рано ;-)

Задача 04 ( Плод или зеленчук? )

Използвах switch защото кодът е много по-чист и лесно четим.

Задача 05 ( Невалидно число )

Единственото "по-сложно" в тази задача е смесената проверска с || (логическо ИЛИ) и &&(логическо И), и отрицанието с ! (взимаме обратното на булевата променлива/израз в if).

Задача 06 ( Точка върху страната на правоъгълник )

Тук проверяваме дали точката е на някоя от линиите(граници) чрез сравняване на булевите резултати с || (логическо ИЛИ). Отново използвам модифициран код за 13-та задача.

Задача 07 ( Магазин за плодове )

Същата логика като в 4-та задача. Само добаваме цените на продуктите.

Задача 08 ( Търговски комисионни )

Като 7-ма задача, но с if проверка за интервал от чила, за да изчислим комисионната според интервала.

Задача 09 ( Ден на седмицата )

По скоро като 4-та задача. Може би тук се е очаквало да използваме swith за първи път в домашното.

Задача 10 ( Тип на животно )

Едно към едно с 4-та задача.

Задача 11 ( Кино )

Като 7-ма задача.

Задача 12 ( Волейбол )

Интересна задача. Обърнете внимание на това, че е задължително в изразите от тип double да използвате поне едно double число (каквото и да е число с десетична запетая).

Задача 13 ( * Точка във фигурата )

Много забавна задача. Изтормозих се, но не колкото с трабите в басейна. Тук използвам много булеви променливи, които надявам се говорят сами за себе си. Сорса на 3-та и 6-та задача ги използвам като функции, а използвам функции за да е по-лесно четима main() функцията/методът. Сложната фигува мислено и проиграмно я разделям на две прости фигури. Използвам два идентични по идея, но различни по съдържание, целочислени масива. В масивите записвам координатите на двете фигури (x1,y1 и x2,y2) и координатите на точката (x,y) която проверяваме. Координатите на търсената точка реално ги има и в двата масива, но това е с цел да опростя използването на функциите с които определяме къде е точката спрямо двете прости фигури. Тъй като двете прости фигури са долепени и имат обща стена, изключваме тази стена от проверката за "точка на границата". правим това чрез отрицание на булевата променлива с ! (логическо отрицание, или иначе казано взимаме обратната стойност на булевата променлива/израз).

Задача 14 ( Навреме за изпит )

Използваме същите похвати като в 7-ма и 14-та задаза от миналата лекция.

Задача 15 ( Пътешествие )

Тази задача май трябва да я напиша на ново за да си личи по-добре за какво става дума. Иначе си пработи :) Поради някаква причина съм решил да разделя изходният резултат на 3 стринга, което съвзем не е нужно или наложително. Трябва да се обърне внимание, че в заданието се иска резултатът да е на два реда.

2
Programming Basics
torosian88 avatar torosian88 6 Точки

Супер ! Благодаря , че сподели  !

0