2.1. Двоє веселих жабенят відпочивали на березі річки. Одне жабенятко, стрибаючи навипередки з другим , зробило n1 стрибків довжиною x1 cм кожний. Друге маленьке жабенятко, зробило n2 стрибків довжиною x2 cм.
Хто з цих двох спортсменів здолав більшу відстань?
Приклад
Вхідні дані
| Вихідні дані
|
n1=5,s1=10см, n2=20, s2=2см
| Перше жабенятко здолало більшу відстань
|
n1=3,s1=40см, n2=20, s2=8см
| Друге жабенятко здолало більшу відстань
|
n1=6,s1=20см, n2=30, s2=4см
| Спортсмени здолали однакову відстань
|
Алгоритм рішення :
Відстань, яку здолало перше жабенятко s1=n1*x1, тоді друге – s2=n2*x2
Якщо s1 > s2 товивести (’ Перше жабенятко здолало більшу відстань’)
інакшеякщо s1 = s2
товивести (’ Спортсмени здолали однакову відстань’)
інакшевивести (’ Друге жабенятко здолало більшу відстань’)
Приведемо програму:
Program frog;
Var n1, s1, n2, s2:integer;
Begin
Readln(n1, s1,n2,s2);
If s1 > s2 then writeln(’ Перше жабенятко здолало більшу відстань’) else
If s1 = s2 then writeln (’Спортсмени здолали однакову відстань’) else
writeln(’Друге жабенятко здолало більшу відстань’);
readln;
end.
2.2. Друзі, сидячи в чагарнику, спостерігали за хижаками, визначаючи за допомогою секундоміра час руху кожного. Коли небезпека минула, за допомогою вимірювальної стрічки друзі виміряли відстань, яку здолав кожен хижак за час спостережень. Друзі визначили, що швидкість ягуара становить v1 км/год, а швидкість тигра - v2 м/сек. Визначте, хто з цих хижаків має більшу швидкість?
Приклад
Вхідні дані
| Вихідні дані
|
v1=100 км/год, v2=8м/с
| Швидкість ягуара більше
|
v1=72 км/год, v2=20м/с
| Хижаки мають рівні швидкості
|
v1=36 км/год, v3=15м/с
| Швидкість тигра більше
|
Алгоритм рішення:
Спочатку переведемо км/год в м/с. Наприклад, v1(км/год)= (v1*1000)/3600м/с. Шукаємо максимальне із двох згідно алгоритму, приведеному в попередній задачі.
Program tiger;
Var v1, v2 :real;
Begin
Readln(v1,v2);
V1:=(v1*1000)/3600;
If v1 > v2 then writeln(’Швидкість ягуара більше’) else
If v1 = v2 then writeln (‘Хижаки мають рівні швидкості’) else
writeln(‘Швидкість тигра більше’);
readln;
end.
2.3. На борт теплохода на невеликому човні приплили індіанці. Вони хотіли подарувати пасажирам теплоходу чарівні амулети. Індіанці привези з собою х амулетів. Чи вистачить сувенірів на всіх присутніх на борту, якщо на теплоході пливуть a вчених та c членів команди, але в даний момент y вчених та членів команди перебувають на березі?
Приклад
Вхідні дані
| Вихідні дані
|
Х=100; a=46; c=64:y=10
| Амулетів вистачить на всіх присутніх на борту
|
Х=25; a=18; c=20:y=2
| Амулетів не вистачить на всіх присутніх на борту
|
Х=48; a=12; c=13:y=3
| Амулетів вистачить на всіх присутніх на борту
|
Алгоритм рішення якщо x>=(a+c-y) то < Амулетів вистачить на всіх присутніх на борту> інакше < Амулетів не вистачить на всіх присутніх на борту>.
Приведемо програму:
Program present;
Var x, a, c, y: integer;
Begin
Readln(x,a,c,y);
If x>=(a+c-y) then writeln(‘Амулетів вистачить на всіх присутніх на борту’)else
Writeln(‘Амулетів не вистачить на всіх присутніх на борту’);
Readln;
end.
2.4. На лівій шальці терезів дуже зручно вмостилися х мавпочок масою m1 грамів кожна, на правій шальці ледве змогли розташуватися y слоненят, кожне з яких має масу m2 тонн. Визначте, яка шалька терезів переважить.
Приклад
Вхідні дані
| Вихідні дані
|
Х=1000; m1=800 г; y=2;m2=0,5 т
| Переважить права шалька терезів
|
Х=100; m1=8000 г; y=2;m2=0,4 т
| Терези будуть зрівноважені
|
Х=200; m1=10000 г; y=1;m2=0,8 т
| Переважить ліва шалька терезів
|
Необхідно порівнювати величини в однакових величинах вимірювання(переводимо в кг).
Алгоритм рішення якщо x*m1/1000=y*m2*1000то < Терези будуть зрівноважені > інакше якщо x*m1/1000>y*m2*1000< Переважить ліва шалька терезів > інакше
< Переважить права шалька терезів >.
Приведемо програму:
Program monkey;
Var x,m1,y,m2:real;
Begin
Readln (x,m1,y,m2) ;
m1:=m1/1000;
m2:=m2*1000;
If x*m1=y*m2 then writeln(‘Терези будуть зрівноважені’)
Else if x*m1>y*m2 then writeln(‘Переважить ліва шалька терезів’)
Else writeln(‘Переважить права шалька терезів’);
Readln;
End.
2.5. Призначаючи чергового по класу, друзі грали у таку гру. Кожен з хлопців записував на папірці число і передавав старості класу. Той з хлопців, чиє число виявиться найменшим, мав чергувати протягом дня. Якщо з когось з хлопців числа збігалися, гра починалася з початку. Допоможіть старості визначити, хто з друзів має чергувати.
Приклад
Вхідні дані
| Вихідні дані
|
Х1=2; Х2=5; Х3=-4
| Черговим потрібно призначити хлопця №3
|
Х1=-9; Х2=0; Х3=6
| Черговим потрібно призначити хлопця №1
|
Х1=3; Х2=-3; Х3=7
| Черговим потрібно призначити хлопця №2
|
Знайдемо мінімальне із трьох чисел. Алгоритм пошуку мінімального із трьох слідуючий:
Якщо <перше число> менше <друге число> то <мінімальне перше>інакше<мінімальне друге> ;
Якщо<третє число> менше <мінімального із двох>
то <мінімальне третє>.
Самостійно напишіть алгоритм, в якому при збігу чисел у когось із хлопців, гра починається з початку.
Приведемо програму:
Program boys;
Var x1,x2,x3,min:integer;
Begin
Readln(x1,x2,x3);
if (x1<x2) then min:=x1 else min:=x2;if x3<min then min:=x3;
if min=x1 then writeln(' Черговим потрібно призначити хлопця №1 ');
if min=x2 then writeln(' Черговим потрібно призначити хлопця №2 ');
if min=x3 then writeln(' Черговим потрібно призначити хлопця №3 ');
readln;
end.
2.6. Відомі три відстані. Перша визначена у метрах, друга - у кілометрах, а третя - у футах. Визначте, яка відстань найбільша. Урахуйте, що 1 фут дорівнює 0.30 метра.
Приклад
Вхідні дані
| Вихідні дані
|
X1=100м, x2=0.5км,X3=9футів
| Друга відстань найбільша
|
X1=400м, X2=0.3км,X3=100футів
| Перша відстань найбільша
|
X1=30.98м, X2=0.23км,X3=800футів
| Третя відстань найбільша
|
Необхідно порівнювати величини в однакових величинах вимірювання(переводимо в метри).
Алгоритм рішення:
Якщо <х1> більше <x2*1000> то <максимальне x1>інакше<максимальне x2> ;
Якщо<x3*0.3> більше <максимального із двох>
то <максимальне x3>.
Приведемо програму:
Program line;
Var x1,x2,x3,max: real;
Begin
Readln(x1,x2,x3);
X2:=x2*1000;
X3:=x3*0.3;
If x1>x2 then max:=x1 else max:=x2;
If x3>max then max:=x3;
if max=x1 then writeln (‘Перша відстань найбільша’);
if max=x2 then writeln (‘Друга відстань найбільша’);
if max=x3 then writeln (‘Третя відстань найбільша’);
readln;
end.
2.7. Двоє друзів, стоячи на палубі теплохода, побачили, як алігатори налякали а пасажирів теплоходу, піраньї – с пасажирів, а величезна анаконда змогла залякати у три рази більше пасажирів, ніж алігатори та піраньї разом узяті. Визначте, чи всім х пасажирам, що пливуть, довелося пити заспокійливі краплі?
Приклад
Вхідні дані
| Вихідні дані
|
a=2; c=5; x=40
| Краплі доведеться пити не всім пасажирам
|
a=4; c=5; x=36
| Краплі доведеться пити всім пасажирам
|
Алгоритм рішення якщо a+c+3*(a+c) =x то < Краплі доведеться пити всім пасажирам > інакше < Краплі доведеться пити не всім пасажирам>.
Приведемо програму:
Program crocodile;
Var a, c,x: integer;
Begin
Readln(a, c,x);
If (a+c+3*(a+c)) =x then writeln(‘Краплі доведеться пити всім пасажирам’) else writeln(‘Краплі доведеться пити не всім пасажирам’);
Readln;
End.
2.8. Збираючи гербарій для наукових досліджень, Богдан, Сергій та Дмитро працювали три дні. У перший день Богдан назбирав х1 зразків, Сергій – а1 листочків, а Дмитро – с1 квіточок. Другого дня Богдан зірвав х2 рослин, Сергій знайшов а2 дуже дивних квіточок, а внесок Дмитра склав с2 листочків. На третій день успіхи друзів склали х3,а3,с3 рослин відповідно. Визначте, хто з друзів зібрав найбільший гербарій, а хто найбільше пожалів природу джунглів.