Презентація на тему Вкладені цикли Старовинне завдання

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

Презентація на тему: "Вкладені цикли Старовинне завдання. Скільки можна купити бугаїв, корів і телят, за умови, що плата за бика 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: integer; begin for b := 0 to 10 do for k := 0 to 20 do for t := 0 to 200 do If (20*b+10*k+t=200) and (b+k+t=100) then writeln ( "Биков", b, "корів", k, "телят", t); end. Результат: Биків 1 корів 9 телят 90

5 Скільки разів перевірятиметься умова в цій програмі (оператор If)? Значення змінної b змінюється 11 разів (від 0 до 10), кожного її значення змінна k змінюється 21 раз, а кожного значення змінної k змінна t змінюється 201раз. Таким чином, умова перевірятиметься = раз.

6 Але якщо відомо кількість бугаїв і корів, то кількість телят можна обчислити за формулою t = (b + k) і цикл змінної t виключається. program old_task; var b, k, t: integer; begin for b := 0 to 10 do for k := 0 to 20 do begin t := 100 – (b+k); If(20*b+10*k+t=200) then writeln ('Биков ',b,' корів ',k,' телят ',t); end; end.

7 Вивести на екран цілі числа у такому вигляді:

8 program cikl_v_cikle; var i, j, n: integer; begin readln (n); for i := 1 to n do begin for j := 1 to i do write (n, ''); writeln; end; end.

9 program tabl_Pifagor; var i,j:integer; begin write('':4); for j:=1 to 10 do write(j:4); writeln; for i:=1 to 10 do begin write(i:4); for j:=1 to 10 do write(i*j:4); writeln; end; end.