Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 28.06.2010, 21:48   #1 (permalink)
tiffany
Новичок
 
Регистрация: 28.06.2010
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Среднее значение элементов массива.

привет)
помогите пожал-та,нужно :
найти среднее значение положительных элементов массива [1..12] через константу задать массив
tiffany вне форума   Ответить с цитированием

Старый 28.06.2010, 21:48
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Можете узнать больше информации о этой проблеме, почитав похожие темы

Количество элементов массива С++
Количество элементов массива

Старый 28.06.2010, 22:09   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от tiffany Посмотреть сообщение
привет)
помогите пожал-та,нужно :
найти среднее значение положительных элементов массива [1..12] через константу задать массив
Как модератор, начну с замечания: не цепляйтесь к старым темам, создавайте свои.
Теперь по программе:
Код:
CONST
 A:ARRAY[1..12] of Real=(23.8, -7.5, -345.4, 26.0, 20.0, -17.9,
                         28.0, -3.1, -555.6, 22.0, 24.2, -89.1);
VAR
 Sum:Real;
 N_pos, i:Integer;

BEGIN
 N_pos:=0;
 Sum:=0;
 For i:=1 to 12 do
  If A[i]>0 then
   begin
    Sum:=Sum+A[i];
    Inc(N_pos);
   end;
 WriteLn('The medium value is ', Sum/N_pos:4:1);
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 28.06.2010, 22:14   #3 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Задача простейшая, могли бы и сами решить...
Код:
const
a:array[1..12] of integer=(0,1,-1,2,-2,3,-3,4,-4,5,-5,6);
var i:byte;
    n:byte;
    s:real;
begin
s:=0;
n:=0;
for i:=1 to 12 do
if a[i]>0 then
 begin
 s:=s+a[i];
 n:=n+1;
 end;
s:=s/n;
write(s:5:2);
end.
Эх,Vladimir_S опередил.
DDS вне форума   Ответить с цитированием
Старый 28.06.2010, 22:23   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от DDS Посмотреть сообщение
Эх,Vladimir_S опередил.
Зато какая синхронность программистского мышления при разрешении сией сложнейшей проблемы!
Vladimir_S вне форума   Ответить с цитированием
Старый 28.06.2010, 22:24   #5 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Что есть, то есть.
Кстати, уже не первый раз так
DDS вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 29.08.2010, 00:47   #6 (permalink)
tiffany
Новичок
 
Регистрация: 28.06.2010
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое)
может легко,но я не могу понять ((
tiffany вне форума   Ответить с цитированием
Старый 29.08.2010, 00:52   #7 (permalink)
tiffany
Новичок
 
Регистрация: 28.06.2010
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

http://www.tehnari.ru/picture.php?pi...025065&thumb=1

можете решить уравнение через WHILE и REPEAT ??)))пожал-та
tiffany вне форума   Ответить с цитированием
Старый 29.08.2010, 06:48   #8 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Вообще-то желательно более определённо обозначить верхний предел суммирования, а то получается неопределённость вида бесконечность деленная на бесконечность. И ещё, согласно определению уравнения, в его записи должен присутствовать знак равенства, поэтому в вашем случае не уравнение, а выражение.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 29.08.2010, 10:09   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Вообще-то желательно более определённо обозначить верхний предел суммирования, а то получается неопределённость вида бесконечность деленная на бесконечность. И ещё, согласно определению уравнения, в его записи должен присутствовать знак равенства, поэтому в вашем случае не уравнение, а выражение.
Да нет, Alex, это просто вычисление косинуса через ряд, и никаких неопределенностей там не возникает. Tiffany, уточните задание. Очевидно, нужно либо (как указывает Alex) ввести ограничение на число членов, либо задать точность результата.

Вообще, подобные задачи многократно решались на форуме. Вот, например:
Как вычислить значение аргумента Х?
Vladimir_S вне форума   Ответить с цитированием
Старый 29.08.2010, 10:16   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от tiffany Посмотреть сообщение
спасибо большое)
может легко,но я не могу понять ((
Ну хорошо, распишу алгоритм.
1. Как требуется в условии, задается некий массив из 12 чисел, положительных и отрицательных, в форме массива-константы.
2. Организуется цикл для подсчета суммы только положительных членов массива (S) и количества таких членов (N).
3. Выводится результат - число S/N.
И чего тут не понять?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:02.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.