Упр.83 ГДЗ Рабочая тетрадь Босова 9 класс (Информатика)
Рассмотрим вариант решения задания из учебника Босова 9 класс, Просвещение: 83. 0т острова Буяна до царства славного Салтана месяц (30 дней) пути. Капитан корабля записывает в вахтенный журнал количество миль, пройденных за день. Составьте блок-схему алгоритма для определения, в какую из трех десятидневок пройден больший путь. Напишите соответствующую программу на языке Паскаль. Решение: Задачу можно решить с формированием масса и последующей его обработкой, или без массива. В нижеприведенном решении массив не используется. Условные обозначения: i – текущий день; p1 – путь, пройденный за текущий день; pd1 – путь, пройденный за 1-ю десятидневку; pd2 – путь, пройденный за 2-ю десятидневку; pd3 – путь, пройденный за 3-ю десятидневку; max – максимальный путь, пройденный за десятидневку. n – номер десятидневки. program Z_83; var p1, max, n: integer; i, pd1, pd2, pd3: integer; begin pd1 := 0; pd2 := 0; pd3 := 0; for i := 1 to 30 do begin write(‘Введи путь, пройденный за ‘,i,’ день > ‘); readln(p1); if i < 11 then pd1 := pd1 + p1; if (i > 10) and (i < 21) then pd2 := pd2 + p1; if i > 20 then pd3 := pd3 + p1 end; max := pd1; n := 1; if pd2 > max then begin max := pd2; n := 2 end; if pd3 > max then begin max := pd3; n := 3 end; writeln(‘Больший путь пройдет в ‘, n, ‘ десятидневку ‘); end.
Суммируем путь, пройденный за каждый день, отдельно для трёх десятидневок:
- первая десятидневка — дни с 1-го по 10-й;
- вторая десятидневка — дни с 11-го по 20-й;
- третья десятидневка — дни с 21-го по 30-й.
После этого сравниваем три суммы и определяем, в какой десятидневке путь наибольший.
Обозначим:
- $$p1$$ — путь за текущий день;
- $$pd1$$ — путь за 1-ю десятидневку;
- $$pd2$$ — путь за 2-ю десятидневку;
- $$pd3$$ — путь за 3-ю десятидневку;
- $$max$$ — максимальный путь;
- $$n$$ — номер десятидневки.
Алгоритм блок-схемы:
- Обнулить $$pd1$$, $$pd2$$, $$pd3$$.
- Для $$i$$ от 1 до 30 ввести $$p1$$.
- Если $$i \le 10$$, прибавить $$p1$$ к $$pd1$$.
- Если $$11 \le i \le 20$$, прибавить $$p1$$ к $$pd2$$.
- Если $$21 \le i \le 30$$, прибавить $$p1$$ к $$pd3$$.
- Сравнить $$pd1$$, $$pd2$$ и $$pd3$$, запомнить наибольшую сумму и номер десятидневки.
Программа на языке Pascal:
program Z_83;
var
p1, max, n: integer;
i, pd1, pd2, pd3: integer;
begin
pd1 := 0; pd2 := 0; pd3 := 0;
for i := 1 to 30 do
begin
write(‘Введи путь, пройденный за ‘, i, ‘ день > ‘);
readln(p1);
if i < 11 then pd1 := pd1 + p1;
if (i > 10) and (i < 21) then pd2 := pd2 + p1;
if i > 20 then pd3 := pd3 + p1;
end;
max := pd1; n := 1;
if pd2 > max then begin max := pd2; n := 2 end;
if pd3 > max then begin max := pd3; n := 3 end;
writeln(‘Больший путь пройден в ‘, n, ‘ десятидневку’);
end.
Ответ
Нужно сложить путь за 1–10, 11–20 и 21–30 дни, затем сравнить три суммы и вывести номер десятидневки с наибольшим путём.