- •Практическая часть. Задание 3 Билет 1
- •Билет 2
- •Билет 3
- •Билет 4
- •Билет 5
- •Билет 7
- •Билет 8
- •Билет 9
- •Билет 10
- •Билет 11
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Билет 16
- •Билет 17
- •Билет 18
- •Билет 19
- •Билет 20
- •Билет 21
- •Билет 22
- •Билет 23
- •Билет 24
- •Билет 25
- •Билет 26
- •Билет 27
- •Билет 28
- •Билет 29
- •Билет 30
Билет 23
Напишите программу на языке программирования (или составьте алгоритм). На конференцию приехало N человек. Для их перевоза выделили автомобили вместимостью К и М человек (без водителя). К гостинице автомобили подаются в таком порядке: сначала вместимостью К человек, потом – М человек и так далее. В автомобиле можно перевозить не более максимально допустимого количества пассажиров. Определить, сколько необходимо автомобилей для перевозки всех делегатов конференции.
Пример
Входные данные |
Результат |
20 3 4 |
6 |
Program z3_b23;
Var N,M,K,x:integer;
Begin
writeln ('Введите количество участников');
readln(N);
writeln ('Введите вместимость первого автомобиля');
readln(K);
writeln ('Введите вместимость второго автомобиля');
readln(M);
x:=0;
while N>0 do
begin
x:=x+1;
if x mod 2<>0 then N:=N-K else N:=N-M;
end;
writeln (x);
end.
Алг z3_b23 (цел N,M,K, x)
арг N,M,K
рез x
нач
x:=0;
пока N>0
нц
x:=x+1
если mod (x ,2)<>0
то N:=N-K
иначе N:=N-M
все
кц
кон
Билет 24
Напишите программу на языке программирования (или составьте алгоритм). Король Флатландии решил вырубить некоторые деревья, растущие перед его дворцом. Деревья перед дворцом короля посажены в ряд, всего там растет N деревьев, расстояния между соседними деревьями одинаковы. После вырубки перед дворцом должно остаться M деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Помогите королю выяснить, сколько существует способов вырубки деревьев.
Требуется написать программу, которая по заданным числам N и M определит, сколько существует способов вырубки некоторых из N деревьев так, чтобы после вырубки осталось M деревьев и соседние деревья находились на равном расстоянии друг от друга.
Пример
Входные данные |
Результат |
N=5 M=3 |
4 |
Program z3_b24;
var
n, m ,k: longint;
i, d, s: longint;
Begin
readln(n);
readln(m);
s := 0;
k:=(n-1) div (m-1);
d:=m-1;
s:=(2+(k-1)*d)*k div 2;
writeln (‘Количество способов вырубки деревьев=’, s);
end.
Алг z3_b24( цел n, m ,s)
арг n, m
рез s
нач цел i, d, k
s := 0;
k:= div((n-1) , (m-1))
d:=m-1
s:= div((2+(k-1)*d)*k, 2)
кон
Билет 25
Напишите программу на языке программирования (или составьте алгоритм). Дан прямоугольник, длины сторон которого равны натуральным числам А и В. Составить программу, которая будет находить на сколько квадратов можно разрезать данный прямоугольник, если от него каждый раз отрезать квадрат наибольшей площади.
Пример
Входные данные |
Результат |
7 5 |
5 * 5 - 1 2 * 2 - 2 1 * 1 - 2 5 |
Program z3_b25;
var
a,b,k,c:real;
begin
readln(a);
readln(b);
k:=0;
while (a<>0)and (b<>0) do
begin
IF a<b THEN
begin
c:=int(b/a);
writeln(a, ' * ', a, ' - ', c);
b:=b-c*a
end
ELSE
begin
c:=INT(a/b);
writeln(b, ' * ', b, ' - ', c);
a:=a-c*b;
end;
k:=k+c;
end;
writeln('Количество квадратов-',k);
end.
Алг z3_b25 ( вещ a,b,k)
арг a,b
рез k
нач вещ c
k:=0 {Количество квадратов-}
пока (a<>0)и (b<>0)
нц
если a<b
то c:=int(b/a);
вывод(a, ' * ', a, ' - ', c);
b:=b-c*a
иначе
c:=int(a/b);
вывод(b, ' * ', b, ' - ', c);
a:=a-c*b;
все
k:=k+c;
кц
кон
