Вхідні дані
| Вихідні дані
|
X1=10,a1=6,c1=7,x2=2,a2=11,c2=5,x3=6,a3=13,c3=10
| Найбільший гербарій зібрав Сергій, найбільше пожалів природу Богдан
|
X1=8,a1=2,c1=9,x2=10,a2=15,c2=8,x3=3,a3=2,c3=6
| Найбільший гербарій зібрав Дмитро,
найбільше пожалів природу Сергій
|
X1=12,a1=8,c1=7,x2=5,a2=8,c2=9,x3=1,a3=1,c3=10
| Найбільший гербарій зібрав Дмитро,
найбільше пожаліли природу Богдан і Сергій
|
Знайдемо максимальне із трьох чисел. Алгоритм пошуку максимального із трьох слідуючий:
Якщо <перше число> більше <друге число> то <максимальне перше>інакше<максимальне друге> ;
Якщо<третє число> більше <максимального із двох>
то <максимальне третє>.
Але в програмі необхідно визначити, хто із друзів зібрав найбільший гербарій. Виконаємо пошук шляхом порівняння максимального зі кількістю зразків кожного і виведемо відповідне повідомлення.
Як визначити, хто найбільше пожалів природу? Той із друзів, хто зібрав найменше зразків. Алгоритм пошуку мінімального із трьох виконаємо аналогічно пошуку максимального із трьох, змінивши знак більше(>) на менше(<).
Приведемо програму:
Program list;
var x1,a1,c1,x2,a2,c2,x3,a3,c3,s1,s2,s3,max,min:integer;
begin
readln(x1,a1,c1,x2,a2,c2,x3,a3,c3);
s1:=x1+x2+x3;s2:=a1+a2+a3;s3:=c1+c2+c3;
if (s1>s2) then max:=s1 else max:=s2;if s3>max then max:=s3;
if max=s1 then writeln ('Найбільший гербарій зібрав Богдан');
if max=s2 then writeln ('Найбільший гербарій зібрав Сергій');
if max=s3 then writeln ('Найбільший гербарій зібрав Дмитро');
if (s1<s2) then min:=s1 else min:=s2;if s3<min then min:=s3;
if min=s1 then writeln('Найбільше пожалів природу Богдан ');
if min=s2 then writeln('Найбільше пожалів природу Сергій ');
if min=s3 then writeln('Найбільше пожалів природу Дмитро ');
readln;
end.
2.9.Друзі натрапили на старовинний скарб, що складався з х золотих монет. Кожна монета містила m грамів чистого золота. Хлопці вирішили скарб між усіма учасниками експедиції. Визначте, чи буде задоволений цим боцман, якщо для його повного щастя необхідно не менше с грамів золота, а у плаванні бере а дослідників.
Приклад
Вхідні дані
| Вихідні дані
|
х=500; m=12г; a=20 ; с=100г
| Боцман буде задоволений
|
х=100; m=20г; a=50 ; с=200г
| Боцман буде незадоволений
|
На кожного учасника експедиції приходиться (m*x)/a грамів золота. Алгоритм рішення якщо (m*x)/a > с то < Боцман буде задоволений> інакше < Боцман буде незадоволений>. Для порівняння величин застосуємо функцію round (округлення), яка перетворить змінну типа real в ціле число типа integer.
Приведемо програму:
Program ship;
Var x, m, a, c: integer;
Begin
Readln(x, m, a, c);
If round (m*x/a )>= c then writeln(‘Боцман буде задоволений’) else writeln(‘Боцман буде незадоволений’);
Readln;
End.
2.10. У кока на нашому теплоході схована банка дуже смачних цукатів, у якій на початку подорожі було m грамів ласощів. Корабельне щуреня дізналося, де кок ховає цукати, і кожен день бігало у шафку, де містилася банка, та з’їдало по n цукатів масою m1 грамі кожний. Чи знайде кок залишки цукатів у банці, коли наприкінці подорожі вирішить приготувати святковий тортик, якщо ми мандруватимемо на теплоході х днів? Якщо цукати все ж залишаться, визначте, чи вистачить їх коку для прикрашення торта, якщо для цього потрібно y цукатів?