Сформировать массив из чисел, больших среднего - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Проверьте, правильно ли работает программа. А именно PROCEDURE BSr, и правильность передачи переменных в основную программу.

ЗАДАНИЕ:

Сформировать массив из чисел, больших среднего.

Листинг программы
  1. Program oMassiv;
  2. TYPE MAS=ARRAY [1..100] OF REAL;
  3. VAR A,X:MAS;
  4. VAR RA:INTEGER;
  5. PROCEDURE VVOD (VAR kol:INTEGER; VAR X:MAS);
  6. VAR I,K,N,M: INTEGER;
  7. BEGIN
  8. WRITE(' НОМЕР ВАРИАНТА= ');
  9. READLN (M);
  10. kol :=M+50;
  11. FOR I:=1 TO (kol) DO
  12. BEGIN
  13. N:=(-(20+M));
  14. K:=(20+M);
  15. X[I]:=N+(K-N)*RANDOM(I);
  16. END;
  17. END;
  18. PROCEDURE VIVOD (N:INTEGER; X: MAS);
  19. VAR I,M:INTEGER;
  20. BEGIN
  21. FOR I:=1 TO N DO WRITE (' (',i:2,')=',x[i]:5:2);
  22. WRITELN()
  23. END;
  24. PROCEDURE BSr (N:INTEGER; X: MAS);
  25. VAR I,M,KOL:INTEGER; S,SRAR:REAL;
  26. BEGIN
  27. S:=S+X[I];
  28. SRAR:=S/KOL;
  29. WRITELN(SRAR);
  30. FOR I:=1 TO N DO
  31. IF X[I] >SRAR THEN WRITE (' (',i:2,')=',x[i]:5:2);
  32. WRITELN()
  33. END;
  34. {Основная программа}
  35. BEGIN
  36. VVOD(RA, A);
  37. WRITELN ('massiv a');
  38. VIVOD (RA, A);
  39. BSr(RA, A);
  40. END.

Решение задачи: «Сформировать массив из чисел, больших среднего»

textual
Листинг программы
  1. program oMassiv;
  2.  
  3. type
  4.   MAS = ARRAY [1..100] OF REAL;
  5.  
  6. var
  7.   A, b: MAS;
  8.  
  9. var
  10.   RA: INTEGER;
  11.  
  12. procedure VVOD(var kol: INTEGER; var X: MAS);
  13. var
  14.   I, K, N, M: INTEGER;
  15. begin
  16.   WRITE(' НОМЕР ВАРИАНТА= ');
  17.   READLN(M);
  18.   kol := M + 50;
  19.   for I := 1 TO kol DO
  20.   begin
  21.     N := (-(20 + M));
  22.     K := (20 + M);
  23.     X[I] := N + (K - N) * RANDOM(I);
  24.   end;
  25.  
  26. end;
  27.  
  28. procedure VIVOD(N: INTEGER; X: MAS);
  29. var
  30.   I, M: INTEGER;
  31. begin
  32.   for I := 1 TO N DO
  33.     WRITE(' (', i:2, ')=', x[i]:8:2);
  34.   WRITELN;
  35. end;
  36.  
  37. procedure BSr(N: INTEGER; X: MAS; var y: mas);
  38. var
  39.   I, M, KOL: INTEGER;
  40.   S, SRAR: REAL;
  41. begin
  42.   for I := 1 TO N DO
  43.     S := S + X[I];
  44.   SRAR := S / n;
  45.   WRITELN('Среднее число: ', SRAR);
  46.   m := 0;
  47.   for I := 1 TO N DO
  48.     if X[I] > SRAR THEN
  49.     begin
  50.       inc(m);
  51.       y[m] := x[i];
  52.     end;
  53.   for I := 1 TO m DO
  54.     WRITE(' (', i:2, ')=', y[i]:8:2);  
  55.   WRITELN;      
  56. end;
  57.  
  58.  {Основная программа}
  59. begin
  60.   VVOD(RA, A);
  61.   WRITELN('massiv a');
  62.   VIVOD(RA, A);
  63.   BSr(RA, A, b);
  64. end.

Объяснение кода листинга программы

Этот код написан на языке Pascal ABC и выполняет следующие действия:

  1. Создает тип данных MAS, который представляет собой массив из 100 чисел с плавающей точкой.
  2. Объявляет две переменные типа MAS: A и b.
  3. Вызывает процедуру VVOD, которая формирует массив A из чисел, больших среднего значения, определенного переменной RA.
  4. Выводит на экран НОМЕР ВАРИАНТА=, а затем считывает значение RA с помощью функции READLN.
  5. Увеличивает значение RA на 50 и формирует массив A из 100 чисел, используя вложенный цикл for.
  6. Выводит на экран massiv a и выводит массив A с помощью функции VIVOD.
  7. Вызывает процедуру BSr, которая вычисляет среднее значение чисел в массиве A и сохраняет его в переменной SRAR.
  8. Использует вложенный цикл for для подсчета количества чисел в массиве A, которые больше среднего значения.
  9. Сохраняет эти числа в массив y.
  10. Выводит на экран Среднее число:, значение SRAR, а затем выводит массив y с помощью функции VIVOD.
  11. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы