ГЛАВНАЯ | HTML | CSS | PHP | JS | ЕЩЁ |

Задача о трех банках php, задача для начинающих

2019/01/20 Марат 194 0 PHP | TASK |

Поскольку задача не имеет название, а задачу по php надо как-то называть, то я назвал эту задачу,  как  «Задача о трёх банках.

Условие задачи:

Кредит предлагают 3 банка, и все на разных условиях:

Общая сумма кредита 40.000 рублей

1 Банк

кредит за 4% и (мелким шрифтом) 500 р комиссии в месяц от HomoCredit

2 Банк

кредит за 3% и 1000 р комиссии в месяц от того же банка (Softbank)

3 Банк

предложение от StrawberryBank за 2% в месяц, без комиссии, но с платой в размере 7777 р за открытие счета (эту сумма прибавляется к сумме долга)

Вопрос:

Какой из этих кредитов самый дорогой, какой из этих кредитов самый дешёвый?

Сколько заплатил человек всего.

Данную информацию вывести на экран.

Решение задачи по Php погасить кредит.

Данную задачку, я решал в самом начале пути - изучения php, но когда мы переходили на новый дизайн, то мы пересматривали все страницы, анализируя содержание и тут мы пришли в некоторое замешательство, потому, что понять, как решается данная задачка я не смог! Поэтому, мы её решим заново и с новыми знаниями!

Первое,

что вы всегда должны делать – это внятно и понятно писать названия переменных. И если вы только начинаете изучать php, то делайте подсказки по коду.

Потому, что потом, пройдет неделя, и уверяю вас – вы забудете напрочь о чем это тут вы писали!

Второе -

это создание алгоритма, либо на бумаге, либо в компьютере.

И давайте создадим алгоритм.

Когда я её решал в первый раз, то потратил довольно много времени, а сейчас заново решил и написал страницу примерно за 1 час… Задача довольно простая, и мы не будем создавать огромные конструкции и вам не советую, делайте как можно проще! И если честно, то особого алгоритма здесь я не наблюдаю…

Создадим 3 цикла, в которых рассчитаем по очереди наши проценты для каждого банка…

Введем переменную - $summa она равна сумме кредита. Эта переменная у нас должна остаться без изменений к концу работы скрипта.

Далее нам нужно создать еще несколько переменных, которые будут также равны верхней переменной, но уже с ними мы будем работать в цикле.

Для работы в цикле нам нужно две переменные для первого банка такие:

Для первого банка $summa_bank_1_res = $summa = 40000.

Где $summa_bank_1_res – это та же сумма кредита, только будем её использовать в цикле, как изменяемую, также поступим со вторым банком, но с третьим эта конструкция немного изменится, потому, что начальная сумма уменьшится на сумме первого платежа 7777 руб.

Наши начальные переменные:

$summa_bank_2_res = $summa_bank_1_res = $summa = 40000;

$summa_bank_3_res = $summa - 7777;

И давайте напишем первый цикл , переменная $month – месяцы, начинаются с нуля, возьмем количество месяцев 100, чтобы точно не ошибиться.

Напишем - если $summa_bank_1_res меньше нуля, то останавливаем цикл break

Из основного условия сумма после первого месяца платежа должна уменьшится на 4% + 500 рублей ежемесячного платежа.

$summa_bank_1_res = $summa_bank_1_res - (($summa * 0.04) + 500);

И для удобства добавим счетчик

$n_bank_1 = $n_bank_1 + 1;

Наш код для первого банка:

for ($month=0; $month < 100; $month++) {      

    if ($summa_bank_1_res < 0 ) 

    {

    echo "<br>УРА месяцев прошло $month : $summa_bank_1_res".' - это  bank 1<br>' ; break;

    }

    else

    {

    $summa_bank_1_res = $summa_bank_1_res - (($summa * 0.04) + 500);  

    $n_bank_1 =  $n_bank_1 + 1; 

    echo $n_bank_1.' '.$summa_bank_1_res.'<br>' ;   

    }     

}

Смотрим результат работы скрипта…

1 37900
2 35800
3 33700
4 31600
5 29500
6 27400
7 25300
8 23200
9 21100
10 19000
11 16900
12 14800
13 12700
14 10600
15 8500
16 6400
17 4300
18 2200
19 100
20 -2000

УРА месяцев прошло 20 : -2000 - это bank 1

далее для второго и третьего банка...

for ($month=0; $month < 100; $month++) {          

    if ($summa_bank_2_res < 0 ) 

    {

    echo "<br>УРА месяцев прошло $month : $summa_bank_2_res".' - это  bank 2<br>' ; break;

    }

    else

    {

    $summa_bank_2_res = $summa_bank_2_res - (($summa * 0.03) + 1000); 

    $n_bank_2 =  $n_bank_2 + 1; 

    echo $n_bank_2.' '.$summa_bank_2_res.'<br>' ;

    }   

}

for ($month=0; $month < 100; $month++) {       

    if ($summa_bank_3_res < 0 ) 

    {

    echo "<br>УРА месяцев прошло $month : $summa_bank_3_res".' - это  bank 3 <br>' ; break;

    }

    else

    {

    $summa_bank_3_res = $summa_bank_3_res  -($summa *0.03);

    $n_bank_3 =  $n_bank_3 + 1; 

    echo $n_bank_3.' '.$summa_bank_3_res.'<br>' ;

    }  

}

Результат:

1 37800
2 35600
3 33400
4 31200
5 29000
6 26800
7 24600
8 22400
9 20200
10 18000
11 15800
12 13600
13 11400
14 9200
15 7000
16 4800
17 2600
18 400
19 -1800

УРА месяцев прошло 19 : -1800 - это bank 2

1 31023
2 29823
3 28623
4 27423
5 26223
6 25023
7 23823
8 22623
9 21423
10 20223
11 19023
12 17823
13 16623
14 15423
15 14223
16 13023
17 11823
18 10623
19 9423
20 8223
21 7023
22 5823
23 4623
24 3423
25 2223
26 1023
27 -177

УРА месяцев прошло 27 : -177 - это bank 3

Кто сколько заплатил

$N1 = $summa -$summa_bank_1_res;

$N2 = $summa -$summa_bank_2_res;

$N3 = $summa -$summa_bank_3_res;

echo 'Месяцев'. $n_bank_1.' Переплата '.$summa_bank_1_res.' ЗАПЛАТИЛ '.$N1.'<br>' ; 

echo 'Месяцев'. $n_bank_2.' Переплата '.$summa_bank_2_res.' ЗАПЛАТИЛ '.$N2.'<br>' ;  

echo 'Месяцев'. $n_bank_3.' Переплата '.$summa_bank_3_res.' ЗАПЛАТИЛ '.$N3.'<br>' ;  

Результат:

Месяцев 20 Переплата -2000 ЗАПЛАТИЛ банку №1 42000
Месяцев 19 Переплата -1800 ЗАПЛАТИЛ банку №2 41800
Месяцев 27 Переплата -177 ЗАПЛАТИЛ банку №3 40177

Ну и последнее какой кредит самый дешевый и какой самый дорогой...

if (($summa_bank_1_res > $summa_bank_2_res) && ($summa_bank_1_res > $summa_bank_3_res)){

    echo 'Кредит банка №1 - Самый дешевый';

}

if (($summa_bank_2_res > $summa_bank_1_res) && ($summa_bank_2_res > $summa_bank_3_res)){

    echo 'Кредит банка №2 - Самый дешевый';

}

if (($summa_bank_3_res > $summa_bank_1_res) && ($summa_bank_3_res > $summa_bank_2_res)){

    echo 'Кредит банка №3 - Самый дешевый';

}

//ЕСЛИ ЦИФРА МЕНЬШЕ, ТО ЭТО САМЫЙ ДЕШЕВЫЙ

if (($summa_bank_1_res < $summa_bank_2_res) && ($summa_bank_1_res < $summa_bank_3_res)){

    echo 'Кредит банка №1 - Самый дорогой';

}

if (($summa_bank_2_res < $summa_bank_1_res) && ($summa_bank_2_res < $summa_bank_3_res)){

    echo 'Кредит банка №2 - Самый дорогой';

}

if (($summa_bank_3_res < $summa_bank_1_res) && ($summa_bank_3_res < $summa_bank_2_res)){

    echo 'Кредит банка №3 - Самый дорогой';

}

 

Результат:

Кредит банка №3 - Самый дешевый
Кредит банка №1 - Самый дорогой
С вашими куками, что-то не то..., попробуете перезагрузить страницу..
Теги:
задачи по phpphp задачи для начинающихзадачи по php с решениямизадачи по php для начинающих с решениямипрограммирование php задачиphp задачи на русскомзадача о трёх банках PHPСпособы решения о трех банкахкак решитть PHP о трех банках

Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2019