Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГИА-9_решение задач (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
94.97 Кб
Скачать

Билет 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;

кц

кон