Карева Даниил1537
?>

Программа паскаль. в диапазоне чисел, введеных клавиатурой, выбрать все нечетные числа и посчитать их кол-во. если их больше 10, то показать наибольшее из них, иначе - показать сумму четных чисел.

Информатика

Ответы

info2471
Var
 min, summ, count, maxn, max, i:integer;
begin
 summ:=0;
 count:=0
 maxn:=0;
 writeln('Введите диапазон чисел: ');
 read(min, max);
 for i:=min to max do
 begin
  if ((i mod 2) = 0) then
   summ:=summ+i
  else
  begin
   if (i>maxn) then
    maxn:=i;
   count:=count+1;
  end;
 end;
 if (count>10) then
  writeln(maxn)
 else
 writeln(summ);
end.

Если нужны какие-то объяснения - пиши в комментарии.
preida-2

Из комбинаторики известно, что, в случае непозиционного кода, количество комбинаций (кодов) n-разрядного кода является числом сочетаний с повторениями, равно биномиальному коэффициенту:

{\displaystyle {n+k-1 \choose k}=(-1)^{k}{-n \choose k}={\frac {\left(n+k-1\right)!}{k!\left(n-1\right)!}}}{n+k-1 \choose k}=(-1)^{k}{-n \choose k}={\frac  {\left(n+k-1\right)!}{k!\left(n-1\right)!}}, [возможных состояний (кодов)], где:

{\displaystyle n}n — количество элементов в данном множестве различных элементов (количество возможных состояний, цифр, кодов в разряде),

{\displaystyle k}k — количество элементов в наборе (количество разрядов).

В двоичной системе кодирования (n=2) количество возможных состояний (кодов) равно :

{\displaystyle {\frac {\left(n+k-1\right)!}{k!\left(n-1\right)!}}={\frac {\left(2+k-1\right)!}{k!\left(2-1\right)!}}={\frac {\left(k+1\right)!}{k!1!}}=k+1}\frac{\left(n+k-1\right)!}{k!\left(n-1\right)!}=\frac{\left(2+k-1\right)!}{k!\left(2-1\right)!}=\frac{\left(k+1\right)!}{k!1!}=k+1, [возможных состояний (кодов)], то есть

описывается линейной функцией:

{\displaystyle N_{kp}(k)=k+1}N_{{kp}}(k)=k+1, [возможных состояний (кодов)], где

{\displaystyle k}k — количество двоичных разрядов.

Например, в одном 8-битном байте (k=8) количество возможных состояний (кодов) равно:

{\displaystyle N_{kp}(k)=k+1=8+1=9}N_{{kp}}(k)=k+1=8+1=9, [возможных состояний (кодов)].

В случае позиционного кода, число комбинаций (кодов) k-разрядного двоичного кода равно числу размещений с повторениями:

{\displaystyle N_{p}(k)={\bar {A}}(2,k)={\bar {A}}_{2}^{k}=2^{k}}N_{{p}}(k)={\bar  {A}}(2,k)={\bar  {A}}_{2}^{k}=2^{k}, где

{\displaystyle \ k}\ k — число разрядов двоичного кода.

Объяснение:

Sergeevich-Novikov

Объясню на примере первой задачи.

Перед нами написана программа (алгоритм) на языке псевдокода.

В начале программы объявляются переменные, с которыми мы будем работать. В данном случае, объявляются переменные s и n целочисленного типа (цел). Дальше идет присвоение переменной s значения 1. нц говорит о том, что дальше идет цикл. Каждую его итерацию (шаг) будет выполняться его тело (все, что между нц и кц).  Конструкция для x от n до m говорит о том, что каждую итерацию переменная x будет увеличиваться на единицу (если указан шаг, т.е. конструкция выглядит так: для x от n до m шаг y, то будет увеличиваться на y) от числа n до числа m. Как только x будет равна m, цикл прекратится и будут выполняться действия после него. В нашем случае переменной n присваивается 3, выполняется тело s:=s*3. Т.е. после этого шага s будет равна 9. Теперь новая итерация. Переходим в начало цикла. Переменной n присваивается 4 (в предыдущий раз было 3). И опять выполняется действие s:=s*3. s становится равной 27. Потом опять новая итерация. И так далее. Когда n будет равна 5 ,то произойдет последняя итерация. Дальше пойдет вывод s, который после 4 итераций (n от 2-х до 5-ти включительно) будет равна 81.

Итерации более детально:

1. n = 2; s = 1*3 = 3

2. n = 3; s = 3*3 = 9

3. n = 4; s = 9*3 = 27

4. n = 5; s = 27*3 = 81

Все, цикл завершился.

ответы:

1) 81

2) 50

Итерации более детально:

1. n = 3; s = 0+2*3 = 6

2. n = 4; s = 6+2*4= 14

3. n = 5; s = 14+2*5 = 24

4. n = 6; s = 24+2*6 = 36

5. n = 7; s = 36+2*7 = 50

3) 13

4) 11

5) 121

6) 120

7) 38

8) 20

9) 40

Заметим, что в данной задаче указан шаг (step 2). Это значит, что каждую итерацию k будет увеличиваться не на 1-цу, а на 2-ку.

Итерации более детально:

1. k = 6; s = 0+10 = 10

2. k = 8; s = 10+10 = 20

3. k = 10; s = 20+10 = 30

4. k = 12; s = 30+10 = 40

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программа паскаль. в диапазоне чисел, введеных клавиатурой, выбрать все нечетные числа и посчитать их кол-во. если их больше 10, то показать наибольшее из них, иначе - показать сумму четных чисел.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

happygal5224
Anshel2018534
zakupki
npdialog66
alexey
kovansckaya201313
Vlad Petr531
YekaterinaAbinskov
Gaziev1636
alyonafialka
larson96
TrofimovAnastasiya828
tarkhanovilya
ViktorovnaKraeva634
VadimovnaIgor