Презентация за стар проблем с вложени цикли

Подобни презентации

Презентация на тема: "Вложени цикли. Стар проблем. Колко бикове, крави и телета могат да бъдат закупени, при условие че плащането за бик е 10 рубли, за крава - 5 рубли, за теле." — Препис:

1 Вложени цикли Стар проблем. Колко бикове, крави и телета могат да бъдат закупени, при условие че плащането за бик е 10 рубли, за крава - 5 рубли, за теле - петдесет долара (0,5 рубли). За 100 рубли трябва да купите 100 глави добитък.

2 Решение. Означаваме с b - броя на биковете; k - брой крави; t е броят на телетата. След това могат да бъдат записани две уравнения: 10b + 5k + 0,5t = 100 и b + k + t = 100.

3 Нека ги преобразуваме: 20b + 10k + t = 200 и b + k + t = 100 Според условието на задачата за 100 рубли можете да купите: не повече от 10 бика, т.е. 0

4 Така получаваме: program old_task; var b, k, t : цяло число; begin for b := 0 до 10 do for k := 0 до 20 do for t := 0 to 200 do If (20*b+10*k+t=200) and (b+k+t=100) then writeln ('Bulls ',b,' cows ',k,' calves ',t); край. Резултат: Бикове 1 крави 9 телета 90

5 Колко пъти ще бъде проверено условието в тази програма (оператор If)? Стойността на променливата b се променя 11 пъти (от 0 до 10), за всяка стойност на променливата k се променя 21 пъти, а за всяка стойност на променливата k променливата t се променя 201 пъти. Така условието ще бъде проверено = пъти.

6 Но ако броят на биковете и кравите е известен, тогава броят на телетата може да се изчисли по формулата t = (b + k) и цикълът върху променливата t се елиминира. програма стара_задача; var b, k, t : цяло число; begin for b := 0 до 10 do for k := 0 to 20 do begin t := 100 - (b+k); Ако(20*b+10*k+t=200) тогава writeln ('Бикове',b,'крави',k,'телета',t); край; край.

7 Покажете цели числа в следната форма:

8 програма cikl_v_cikle; var i, j, n : цяло число; започнете readln(n); for i := 1 to n do begin for j := 1 to i do write (n, ' '); writeln; край; край.

9 програмна таблица_Pyfagor; var i,j:integer; начало на запис(' ':4); за j:=1 до 10 направете write(j:4); writeln; за i:=1 до 10 започнете запис(i:4); за j:=1 до 10 направете запис (i*j:4); writeln; край; край.