Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка з програмування (школа).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.36 Mб
Скачать

Var a,b,c,s:word;

K,K1,K2 : word;

Begin

Clrscr; {Очищення екрану}

Write('Введіть розміри кімнати: ');

Readln(a,b);

Write('Введіть розміри килима: ');

Readln(c);

If (с > a) or (с > b)

Then writeln ('Кімнату неможливо накрити такими килимами')

Else

Begin

Kl:=а div с; К2:=b div с;

К := К1*К2; S := а*b - К*с*с;

Writeln('Кількість куплених килимів ', К);

Writeln('Площа кімнати, що не накрита килимами ', S);

End;

Readkey;

End.

Задача № 89

Умова задачі: Від річкового вокзалу відійшли одночасно у протилежних напрямках теплохід та турист. Теплохід рухався зі швидкістю V1 км/ год, а турист по стежці вздовж річки зі швидкістю V2 км/год. Якщо через N годин турист передумає і вирішить попливти річкою назад за теплоходом зі швидкістю V3 км/год, то чи встигне він підсісти на теплохід, який має за графіком зупинку через Y годин після початку руху і стоїть на цій зупинці Z годин? Вважати на те, що всі події відбувалися протягом однієї доби.

Якщо турист на протязі N годин рухався в протилежному напрямку від теплоходу, то відстань між ними в той момент, коли турист вирішив наздогнати теплохід, була наступна:

S=(V1+ V2)*N

де V1 та V2 — швидкості теплоходу та туриста відповідно.

Швидкість, з якою турист почне наздоганяти теплохід, — (V3-V1)km за годину, де V3—швидкість, з якою турист попливе навздогін теплохода. Час, який буде у туриста для наздоганяння, (Y-N + Z) годин, тому що зупинка в теплохода буде за розкладом через Угодин після початку руху, але N годин він уже плив, а Z годин теплохід буде стояти на цій зупинці. Тоді за цей час турист пройде відстань:

St=(V3-V1)*(Y-N+Z)

Вочевидь, турист встигне підсісти на теплохід тільки в тому випадку, якщо відстань St буде не менше, ніж відстань, на яку теплохід перегнав туриста. Програма, що реалізує запропонований алгоритм, має вигляд:

Program Example_89;

Uses crt;

Var Vl,v2,v3:real;

N,Y,Z : real;

Begin

Clrscr;

Write('Введіть швидкості теплоходу та туриста: ');

Readln(VI,V2);

Write ('Введіть час, через який турист підсів на теплохід:') ;

Readln(N);

Write('Введіть швидкість, з якою турист плив за теплоходом,

час зупинки теплоходу, та тривалість зупинки:') ;

Readln(V3,Y,Z);

If (Vl<=0)or(V2<=0)or(V3<=0)or(N<=0)or(Y<=0)or(Z<=0)

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

Else

Begin

S: = (V1+V2)*N;

St: = (V3-Vl)*(Y-N+Z) ;

If St>=S

Then writeln('Турист встигне на теплохід.')

Else writeln(хТурист не встигне на теплохід.');

End;

Readkey;

End.

Задача № 90

Умова: Жили собі дід і баба, і був у них город прямокутної форми. Довжина городу була А м, а ширина складала В м. Якось дід посварився з бабою і вирішив поділити город порівну. Тепер у діда квадратний город зі стороною С м, відрізаний скраю, а решта дісталася бабі. Визначити, чи не залишилася баба ошуканою та якої форми дістався їй город - прямокутної чи квадратної?

Взагалі задача має дуже простий розв'язок: адже бабуся не буде ошуканою в тому випадку, якщо площа городу, що залишилася для неї, не буде меншою, ніж площа дідусевого городу, тобто

C2<=а В-С2

Та це тільки на перший погляд. Насправді в даній задачі може бути велика кількість винятків.

Наприклад, якщо дідусь захоче відрізати собі город зі стороною більшою, ніж сторона загального городу, то це неможливо зробити взагалі. Якщо ж він відріже, то город, що залишиться, може мати квадратну (варіант А), прямокутну (варіант Б) або іншу форми (вариант В) (дивись малюнок):

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

Program Example_90;

Uses crt;