Qbasic как найти среднее арифметическое

Petro29

197 / 9 / 3

Регистрация: 30.04.2016

Сообщений: 733

1

Определить среднее арифметическое элементов массива

14.01.2017, 13:05. Показов 2957. Ответов 3

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Дан массив из 15 случайных целых чисел, лежащих в пределах от 10 до 50.
Определить среднее арифметическое элементов массива, а также значение эле-
мента, ближайшего к среднему, и его номер.

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
CLS
RANDOMIZE TIMER
INPUT “ Кол. эл-тов массива: “, N
DIM A(N)
FOR I = 1 TO N
A(i) = INT(RND * 40) + 10
    PRINT A(i);
    S = S + A(i)
NEXT i
      PRINT
PRINT “ Сумма чисел массива: “; S
    K = INT((S / N) * 100 / 100
PRINT “ Ср. арифм. суммы: “; K
QBasic/QuickBASIC
1
2
3
4
Кол. эл-тов массива:  15
15  34  19  37  48  17  34  22  11  28  37  43  29  22  36
Сумма чисел массива:   432
Ср. арифм. суммы:   28.8

А как определить значение элемента, ближайшего к среднему, и его номер – это слишком
мудрёная задача. Интересно, как это можно сделать.
Использовать условие , а как его записать? Вопрос!



0



echs

Регистрация: 23.10.2013

Сообщений: 5,076

Записей в блоге: 8

14.01.2017, 14:39

2

Petro29,
Смотрите на мир проще…

В строке 4 как раз и записано то самое условие, которое
и позволяет найти ближайший по модулю элемент массива
к среднему арифметическому. Сам индекс этого элемента
сохраняется в переменной j

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
min = 100
 
FOR i = 1 TO N
   IF ABS(A(i) - K) < min THEN
      min = ABS(A(i) - K)
      j = i
   END IF
NEXT
 
PRINT A(j); j
END



0



Petro29

197 / 9 / 3

Регистрация: 30.04.2016

Сообщений: 733

05.03.2017, 11:10

 [ТС]

3

Ответ получен такой: Смотрите на мир проще…
В строке 4 как раз и записано то самое условие, которое и позволяет найти ближайший по модулю элемент массива к среднему арифметическому. Сам индекс этого элемента сохраняя-
ется в переменной J. И дан фрагмент программы:

Pascal
1
2
3
4
5
6
7
8
9
10
11
min = 100
 
FOR i = 1 TO N
   IF ABS(A(i) - K) < min THEN
      min = ABS(A(i) - K)
      j = i
   END IF
NEXT
 
PRINT A(j); j
END

Откуда взялся цикл j? Да и K – это что – счётчик что ли; min = 100 тоже вопрос.



0



Регистрация: 23.10.2013

Сообщений: 5,076

Записей в блоге: 8

05.03.2017, 11:36

4

Petro29
1) буквой K вы обозначили среднее арифметическое
2) j – это я ввел индекс искомого элемента
3) Чтобы найти элемент ближайший к среднему
арифметическому мы должны найти минимум величины
ABS(A(i) – K)
То есть для каждого элемента массива А(i) мы вычитаем
из него К (среднее арифметическое) и берем эту разность
по модулю (нам ведь знак разности не нужен)
4) min – это мы обозначили минимум разности
5) При поиске минимума мы параллельно сохраняем индекс
j передавая ему значение i (j = i)
6)
при выходе из цикла мы будем знать индекс (j) элемента
ближайшего к среднему арифметическому (К), а значит и
сам элемент A(j)
7)
надеюсь вы поняли откуда взялся цикл – мы его задали
для поиска элемента наиболее близкого к К.
А это значит, что мы должны проверить ВСЕ ЭЛЕМЕНТЫ
Что возможно только в цикле.



0



Ответы Mail.ru


Программирование


Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование

Другие языки и технологии

Вопросы – лидеры.

frenky

Нормальные алгоритмы Маркова


1 ставка

frenky

Помогите с qb64


1 ставка

Лидеры категории

Лена-пена


Лена-пена

Искусственный Интеллект

М.И.


М.И.

Искусственный Интеллект

Y.Nine


Y.Nine

Искусственный Интеллект

king71alex
Куклин Андрей
Gentleman
Dmitriy
•••

Анастасия Ангел



Знаток

(414),
закрыт



11 лет назад

Лучший ответ

Vladimir Belenko

Мастер

(1629)


12 лет назад

INPUT a, b, c
d = (a + b + c) / 3
PRINT d

Остальные ответы

Jurii

Высший разум

(175098)


12 лет назад

Легко!
(A + B + C)/3

Похожие вопросы

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

Из массива вещественных чисел T(10) выписать в новую таблицу элементы,значения которых меньше 100.
Найти их среднее арифметическое значение.

Помогите пожалуйста

Код к задаче: «Найти среднее арифметическое значение массива.»

textual

CLS
DIM t(10)
FOR i = 1 TO 10
    INPUT t(i)
NEXT
CLS
PRINT "massiv:"
FOR i = 1 TO 10
    PRINT t(i);
NEXT
PRINT
PRINT "novay tablica"
FOR i = 1 TO 10
    IF t(i) < 100 THEN PRINT t(i);: k = k + 1: s = s + t(i)
NEXT
PRINT
PRINT "sred. znach"; s / k

Полезно ли:

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

Procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
 n:=StrToInt(Edit1.Text);
 if (n mod 5 = 0) and (n mod 7 = 0) then
   Edit2.Text:=’Это верно, число делится на 5 и на 7′
 else
   Edit2.Text:=’Число не делится на 5 и на 7′;
end;
end.  

Формула в ячейке C1 должна быть такая:
=A1/B1

Скрин таблицы прилагается:

const n=5; m=3;

var a:array [1..n,1..m] of integer;

i,j,e:integer;

begin

for i:= 1 to n do

begin

for j:=1 to m do

begin

a[i,j]:=Random(51)+50;

write(a[i,j]:4)

end;

writeln;

end;

e:=a[1,1];

for i:= 1 to n do

for j:=1 to m do

if a[i,j]<e then e:=a[i,j];

writeln (‘Наименьший элемент: ‘,e)

end.

string = ‘Вырежьте два первых символа символьной строки и поместите их в конец данной строки’

print(string)

string = string + string[0] + string[1]

print(string[2:])

В скобках указывала основание системы счисления.

OBRAZOVALKA.COM

OBRAZOVALKA.COM – образовательный портал
Наш сайт это площадка для образовательных консультаций, вопросов и ответов для школьников и студентов .

  • Наша доска вопросов и ответов в первую очередь ориентирована на школьников и студентов из России и стран СНГ, а также носителей русского языка в других странах.
  • Для посетителей из стран СНГ есть возможно задать вопросы по таким предметам как Украинский язык, Белорусский язык, Казакхский язык, Узбекский язык, Кыргызский язык.
  • На вопросы могут отвечать также любые пользователи, в том числе и педагоги.


    Консультацию по вопросам и домашним заданиям может получить любой школьник или студент.

    Добавить комментарий