В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
overmaker
overmaker
28.03.2021 09:57 •  Информатика

Определите псевдокод.
Если n = 5, каков результат выполнения псевдокода?
Алгоритм является произведением чисел
(arg целое число n, результат целое число P)
заданный | n> 0
требуется | P = 1 * 2 * 3 * ... * n
начало целое і
введите n; P: = 1
нц i от 1 до n
P=P*i
кц
вывод “P=“,P
конец

Показать ответ
Ответ:
Snihdsfg
Snihdsfg
11.11.2022 08:07
Алгоритм решения предполагает, что если в массиве не будет найдено элемента, большего 10, то позиции этого элемента не существует и средние арифметические членов, располагающихся как после этой позиции, так и до нее, тоже не могут существовать.

"Современное решение"
// PascalABC.NET 3.0, сборка 1076
begin
  var n:=ReadInteger('Количество элементов в массиве: ');
  var x:=ArrRandom(n,-20,20);
  Writeln('Массив Х'); x.Println;
  Write('Ср. арифм. отрицательных элементов после первого, большего 10: ');
  var a1:=x.SkipWhile(x->x<=10).Where(x->x<0);
  if a1.Count=0 then Writeln('пусто')
  else Writeln(a1.Average);
  Write('Ср. арифм. всех элементов до первого, большего 10: ');
  a1:=x.TakeWhile(x->x<=10);
  if a1.Count=0 then Writeln('пусто')
  else Writeln(a1.Average)
end.

Тестовые просчеты:
Количество элементов в массиве: 15
Массив Х
-11 11 16 -7 11 -8 10 -16 15 -15 -10 -8 -6 -13 -17
Ср. арифм. отрицательных элементов после первого, большего 10: -11.1111111111111
Ср. арифм. всех элементов до первого, большего 10: -11

Количество элементов в массиве: 13
Массив Х
14 -9 1 2 12 -15 0 16 -19 16 -11 -15 -12
Ср. арифм. отрицательных элементов после первого, большего 10: -13.5
Ср. арифм. всех элементов до первого, большего 10: пусто

Количество элементов в массиве: 5
Массив Х
-11 2 0 15 7
Ср. арифм. отрицательных элементов после первого, большего 10: пусто
Ср. арифм. всех элементов до первого, большего 10: -3

Количество элементов в массиве: 3
Массив Х
15 10 8
Ср. арифм. отрицательных элементов после первого, большего 10: пусто
Ср. арифм. всех элементов до первого, большего 10: пусто

"Школьный вариант решения"
// PascalABC.NET 3.0, сборка 1076
const
  nmax=50; { максимальное кол-во элементов }
var
  i,n,p,s1,s2,k2:integer;
  x:array[1..nmax] of integer;
begin
  Write('Количество элементов в массиве: '); Read(n);
  Randomize;
  Writeln('Массив Х');
  p:=0;
  for i:=1 to n do begin
    x[i]:=Random(41)-20;
    Write(x[i],' ');
    if p=0 then
      if x[i]>10 then p:=i;
    end;
  Writeln;
  Write('Ср. арифм. отрицательных элементов после первого, большего 10: ');
  if p=0 then Writeln('пусто')
  else begin
    s2:=0; k2:=0;
    for i:=p+1 to n do
      if x[i]<0 then begin s2:=s2+x[i]; Inc(k2) end;
    if k2=0 then Writeln('пусто')
    else Writeln(s2/k2)
  end;
  Write('Ср. арифм. всех элементов до первого, большего 10: ');
  if p=0 then Writeln('пусто')
  else begin
    s1:=0;
    for i:=1 to p-1 do s1:=s1+x[i];
    Writeln(s1/(p-1))
  end
end. 

Этот вариант существенно длиннее, но главное, что нужно долго вглядываться в текст программы, чтобы понять, что именно она делает.
0,0(0 оценок)
Ответ:
tyty55
tyty55
28.07.2020 22:10
Var
    N, s, i: Integer;
    s1: real;

begin
    readln(N); {общий ввод для всех задач}
    
    if N < 0 then
        writeln('Задача 1. N=', 0)
    else writeln('Задача 1. N=', N + 4);
    
    s := 0;
    for i := 1 to n do
        s := s + i;
    writeln('Задача 7. 1+2+3+…+N=', s);
    
    write('Задача 9. Последовательность от N до 1 = ');
    for i := n downto 1 do
        write(i, ' ');
    writeln();
    
    s1 := 0;
    for i := 1 to n do
        s1 := s1 + i / 10;
    writeln('Задача 12. 0,1+0,2+0,3+..+N/10=', s1);
    
    write('Задача 13. Последовательность квадратов от 1 до N = ');
    for i := 1 to n do
        write(i * i, ' ');
    writeln();
    
    write('Задача 14. Последовательность первых N нечетных чисел = ');
    for i := 1 to n do
        write(2 * i - 1, ' ');
    writeln();
    
    if N > 0 then
        writeln('Задача 20. N степень 3 = ', frac(ln(n) / ln(3)) = 0);
    
    s := 0;
    for i := 1 to n do
        if n mod i = 0 then
            s := s + i;
    writeln('Задача 24. Сумма всех натуральных делителей числа N (сключая 1 и N) = ', s);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота