Then writeln(‘Город залишився іншої форми’)

Else

If ((A=C)and(B/2=C))or((B=C)and(A/2=C))

then writeln(‘У бабусі квадратний город.’)

else writeln(‘У бабусі прямокутний город.’);

end;

End; Readkey;

End.

ЗАДАЧА № 91

Умова: Трьом Товстунам подали на десерт кремові тістечка. Маса одного тістечка —Хкг, а маса Товстунів відповідно X1 кг,Х2 кг та Х3 кг. Перший Товстун з’їв N тістечок. Кожний наступний Товстун з’їдав у два рази більше від попереднього, але при цьому він не міг з’їсти більше половини своєї власної ваги. Скільки тістечок було з’їдено Товстунами за обідом?

Зверніть увагу на те, що другий та третій Товстуни за умовою можуть з’їсти тістечок у два рази більше, ніж попередній Товстун, але не можуть з’їсти більше половини своєї ваги. Тому фактично в задачі необхідно перевірити, чи не перевищує кількість тістечок, що може з’їсти кожний Товстун, дозволену масу, і у відповідності до цього підрахувати кількість тістечок, що були з’їдені.

Наприклад, якщо другий Товстун може з’їсти 2 N тістечок, то вага цієї їжі буде 2 N Хкг. Але за умовою він не може з’їсти більше половини своєї ваги, тобто більше ніж X1 /2 кг. Тому якщо вага тих тістечок, що Товстун може з’їсти, не перевищує поріг X1 /2 кг, то ми до загальної кількості тістечок додаємо всі можливі, тобто 2 N, якщо ж перевищує, то ми додаємо тільки ту кількість тістечок, що не дозволяє перевищити припустимий поріг, тобто X1 /2 /X (дозволена вага їжі поділена на вагу одного «тістечка). Якщо в цьому випадку число вийде нецілим, то це означає, що Товстун з’їв тістечко не повністю. Щоб такого не трапилось, ми робимо відкидання дробової частини після ділення за допомогою функції trunc.

Програма, що реалізує цей алгоритм, має наступний вигляд:

Program Example_91;

Uses crt;

Var X,X1,X2,X3:real;

N,Counter : integer; {N - кількість тістечок, що з’їв перший Товстун; Counter - загальна кількість з’їдених тістечок}

Begin

Clrscr;

Write(‘Введіть вагу тістечка: ‘);

Readln(X);

Write(‘Введіть вагу Товстунів (1-го, 2-го та 3-го): ‘);

Readln(X1, Х2, ХЗ);

Write(‘Введіть кількість тістечок, що з’їв перший Товстун ‘) ;

Readln(N);

If (X<=0)or(X1<=0)or(X2<=0)or(X3<=0)or(N<=0)

Then writeln(‘Помилкові вхідні дані’)

Else

Begin

Counter:=N; {3’їв перший Товстун}

If N*2*X<=X2/2 Then Counter:=Counter+2*N

Else Counter:= Counter+ trunc(X2/2/X);

If N*4*X<=X3/2 Then Counter:=Counter+4*N

Else Counter:= Counter+ trunc(X3/2/X);

Writeln(‘Кількість з’їдених тістечок: ‘, Counters

End;

Readkey;

End.

Домашнє завдання:

• Прочитати сторінки 59 - 65 запропонованого підручника;

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату