vadimsheglov0
24.04.2023 04:04

Ваня придумал новый алгоритм сортировки и сейчас тренируется на кубиках с цифрами, чтобы понять, как он работает. перед ним на столе лежат кубики с числами от 1 до 10 (на каждом кубике записано одно число), выложенные в таком порядке: 8 9 10 4 5 6 1 7 2 3 за одну операцию ваня берет несколько рядом стоящих кубиков как одну конструкцию, переворачивает и кладет на прежнее место. например, если бы кубики лежали в таком порядке: 1 2 3 4 5 6 7 8 9 10, а ваня взял бы кубики начиная с кубика с цифрой 4 и заканчивая кубиком с цифрой 9 и перевернул бы, то получилась бы такая последовательность: 1 2 3 9 8 7 6 5 4 10. то, что какие-то кубики после выполнения подобных операций окажутся лежащими вверх ногами, ваню не смущает. кроме того, ваня различает кубик с цифрой 6 и кубик с цифрой 9 (они разного цвета, поэтому невозможно одну цифру получить из другой при перевороте). ване понять, какое наименьшее количество таких операций потребуется, чтобы кубики стали лежать в порядке возрастания: 1 2 3 4 5 6 7 8 9 10. комментарий. если бы у него было всего 4 кубика и они лежали в таком порядке: 4 1 3 2, то наименьшее количество операций было бы равно двум: сначала переворачиваем кусок из первых двух кубиков слева, получаем 1 4 3 2, затем переворачиваем кусок из трех кубиков справа, получаем 1 2 3 4.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
АружанкаЛав
12.10.2021 15:37

Предполагается, что вводимые числа - целые.

1) С цикла Repeat Until

 

Program n1;
Uses CRT;
Var s,k,i: integer;
sr: real;
begin
Writeln('Vvodite chisla. Vvedite 0 dlya okoncania vvoda');
Repeat
Readln(i);
s:=s+i;
inc(k);
Until i=0;
sr:=s/(k-1);
Writeln('Srednee arifmeticheskoe = ',sr:4:4);
readln
end.

 

2) С цикла While

Program n1;
Uses CRT;
Var s,k,i: integer;
sr: real;
begin
Writeln('Vvodite chisla. Vvedite 0 dlya okoncania vvoda');
i:=1;
While i<>0 do
begin
Readln(i);
s:=s+i;
inc(k);
end;
sr:=s/(k-1);
Writeln('Srednee arifmeticheskoe = ',sr:4:4);
readln
end.

 

3) С цикла For

 

Program n1;
Uses CRT;
Var s,j,k,i: integer;
sr: real;
begin
Writeln('Vvedite kolichestvo chisel');
Readln(k);
Writeln('Vvodite chisla');
For j:=1 to k do
begin
readln(i);
s:=s+i;
end;
sr:=s/k;
writeln('Srednee arifmeticheskoe = ',sr:4:4);
readln
end.

 

 

0,0(0 оценок)
Ответ:
Машасом1442
15.10.2020 03:03

Program weight;
Var
a,b: real;
Begin
writeln('Введите ваш вес P');
readln(a);
writeln('Введите ваш рост R');
readln(b);
if a<=b-100
then writeln('Поздравляю. Ваш вес в норме')
Else writeln('Хорошо бы вам немного похудеть');
End.

 

 

В приложении рабочий файл программы 

Пояснения:

1. Переменным a, b присваивается значение real, так как рост и вес могут быть не целыми числами, а дробными.

2. окончания команд writeln, readln, сортируют этапы решения и ввода по строчкам, вместо вывода всё в одну строку.

3.  После условия  a<=b-100 НЕ ставится точка с запятой, так как это часть одного цикла условия (IF - если). если поставить точку с запятой, то программа будет не верна

 

P.s. Почему-то сервис не возволяет скачать файл программы. В общем скопируйте просто из начала решения тогда 


Надо! составить программу, которая запрашивает вес пользователя р и его рост r в см, а затем, если в
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота