Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

If (OA) or (OB)




Begin

Else

Begin

End.

Begin

Else

Begin

End.

Begin

Else

Begin

End.

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

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

• Задачі № 96 (2), 97 (3), 99, 100 (4), 101 (5), 102 (1), 104, 105.


ЗАНЯТТЯ 15. Використання вказівки розгалуження

Мета заняття: навчити створювати математичні моделі задач, складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.

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

ЗАДАЧА № 86

Умова задачі: Чебурашка вирішив купити килими, щоб застелити кімнату, в якій він мешкав разом з Геною. їхня прямокутна кімната виявилася розмірами а х b, де а та b —цілі числа. Коли Чебурашка запитав у магазині, які килими є у продажу, то продавець повідомив, що є квадратні килими зі стороною с, де с — ціле число. Яку кількість килимів необхідно придбати Чебурашці, щоб накрити максимальну площу кімнати? Килими не можна накладати та підгинати. Визначити, яка площа кімнати буде не накритою килимами. Передбачити ситуацію, коли розміри килиму перевищують розміри кімнати.

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

К = K1 * К2,

де K1 та К2 — кількості килимів, що вміщуються вздовж двох суміжних сторін кімнати.

Площа, що не закрита килимами, визначається як різниця між площею кімнати та площею всіх куплених килимів.

Використані змінні: a, b - розміри кімнати; с - розмір килиму; К1, К2 - кількість килимів вздовж однієї та другої стінки відповідно; К — загальна кількість килимів; S - площа кімнати, що не накрита килимами.

Програма, що реалізує алгоритм розв’язку даної задачі, має вигляд:

Program Example_86;

Uses crt;

Var a,b,c,S:word;

K,K1,K2: word;

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

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

Readln(a,b);

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

Readln(c);

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

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

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

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

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

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

End;

Readkey;

ЗАДАЧА № 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;

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(‘Помилкові вхідні дані’)

S: = (V1+V2)*N;

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

If St>=S

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

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

End;

Readkey;

ЗАДАЧА № 90

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

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

C2<=а В-С2

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

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

а) б) в)

 

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

Program Example_90;

Uses crt;

Var А,В,С:real;

Clrscr;

Write (‘Введіть розміри городу: ‘);

Readln(А,В);

Write(‘Введіть довжину сторони дідусевого городу: ‘);

Readln(С);

If (A<=0)or(B<=0)or(C<=0) Then writeln (‘Помилкові вхідні дані’)

then writeln(‘Дідусь не зможе відрізати город такого розміру’)




Поделиться с друзьями:


Дата добавления: 2014-10-22; Просмотров: 526; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.